HELD Routing Request: A Routing Request Extension for the HTTP-Enabled Location Delivery (HELD) Protocol
Lets a device ask a location server for emergency call routing in the same request that asks for its location.
Winterbottom, J., Tschofenig, H., and L. Liess, "A Routing Request Extension for the HTTP-Enabled Location Delivery (HELD) Protocol", RFC 7840, DOI 10.17487/RFC7840, May 2016, <https://www.rfc-editor.org/info/rfc7840>.
@misc{rfc7840,
series = {Request for Comments},
number = 7840,
howpublished = {RFC 7840},
publisher = {RFC Editor},
doi = {10.17487/RFC7840},
url = {https://www.rfc-editor.org/info/rfc7840},
author = {J. Winterbottom and H. Tschofenig and L. Liess},
title = {{A Routing Request Extension for the HTTP-Enabled Location Delivery (HELD) Protocol}},
pagetotal = 16,
year = 2016,
month = may,
} RFC text
Contents
Internet Engineering Task Force (IETF) J. Winterbottom
Request for Comments: 7840 Winterb Consulting Services
Updates: 5985, 6881 H. Tschofenig
Category: Standards Track
ISSN: 2070-1721 L. Liess
Deutsche Telekom
May 2016
A Routing Request Extension for
the HTTP-Enabled Location Delivery (HELD) Protocol
Abstract
For cases where location servers have access to emergency routing
information, they are able to return routing information with the
location information if the location request includes a request for
the desired routing information. This document specifies an
extension to the HTTP-Enabled Location Delivery (HELD) protocol that
updates RFC 5985 to support this function. Allowing location and
routing information to be acquired in a single request response
exchange updates RFC 6881, as current location acquisition and route
determination procedures are separate operations.
Status of This Memo
This is an Internet Standards Track document.
This document is a product of the Internet Engineering Task Force
(IETF). It represents the consensus of the IETF community. It has
received public review and has been approved for publication by the
Internet Engineering Steering Group (IESG). Further information on
Internet Standards is available in Section 2 of RFC 5741.
Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at
http://www.rfc-editor.org/info/rfc7840.
Copyright Notice
Copyright (c) 2016 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. Motivation . . . . . . . . . . . . . . . . . . . . . . . . . 3
3.1. LoST Reuse Considerations . . . . . . . . . . . . . . . . 6
4. Mechanism . . . . . . . . . . . . . . . . . . . . . . . . . . 6
5. Modification to Phone BCP . . . . . . . . . . . . . . . . . . 7
6. HELD Schema Extension . . . . . . . . . . . . . . . . . . . . 8
7. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . 10
8. Privacy Considerations . . . . . . . . . . . . . . . . . . . 12
9. Security Considerations . . . . . . . . . . . . . . . . . . . 12
10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13
10.1. URN Sub-Namespace Registration for
'urn:ietf:params:xml:ns:geopriv:held:ri' . . . . . . . . 13
10.2. XML Schema Registration . . . . . . . . . . . . . . . . 13
11. References . . . . . . . . . . . . . . . . . . . . . . . . . 14
11.1. Normative References . . . . . . . . . . . . . . . . . . 14
11.2. Informative References . . . . . . . . . . . . . . . . . 14
Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 15
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 16
1. Introduction
The general Emergency Context Resolution with Internet Technology
(ECRIT) calling models described in [RFC6443] and [RFC6881] require a
local Location-to-Service Translation (LoST) server or network of
forest guides in order to determine the address of the Public Safety
Answering Point (PSAP) in the best position to handle a call.
Networks of forest guides have not materialized and while PSAPs are
moving towards IP networks, LoST server deployment is not ubiquitous.
Some regions and countries have expressed reluctance to deploy LoST
servers making aspects of the current ECRIT architecture hard to
realize.
To address regulatory requirements, such as [M493], evolving
architectures in Europe couple location and routing information in
the access network while using a softswitch-centric approach to
emergency call processing. This document describes an extension to
the HELD protocol [RFC5985], so that a location information server
can provide emergency routing information in the absence of a LoST
server or network of forest guides.
2. Terminology
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119].
The terms "Location Information Server (LIS)", "Emergency Services
Routing Proxy (ESRP)", "Voice Service Provider (VSP)", and "Public
Safety Answering Point (PSAP)" are used as defined in [RFC6443].
The term "Access Network Provider" is used as defined in [RFC5687]
and encompasses both the Internet Access Provider (IAP) and Internet
Service Provider (ISP).
The term "forest guide" is used as defined in [RFC5582].
3. Motivation
The Internet emergency calling architecture specified in [RFC6881]
describes two main models for emergency call processing. The first
is a device-centric model, where a device obtains location
information using a location configuration protocol, such as HELD
[RFC5985], and then proceeds to determine the address of the next hop
closer to the local PSAP using LoST [RFC5222]. Figure 1 shows this
model in a simplified form.
+---Location Request---+
| (1) |
+---+----+ +---V---+
| |<--Location--| LIS |
| Caller | (2) +-------+ +--------+
| | | ESRP/ |
| |----Find Service-------+ | PSAP |
+------^-+ (3) | +--------+
| | +--------V----+ ^
| +-----Service----| LoST Server | |
| (4) +-------------+ +---+---+
+-------------Call Initiation------------>| VSP |
(5) +-------+
Figure 1: Device-Centric Emergency Services Model
The second approach is a softswitch-centric model, where a device
initiates an emergency call, and the serving softswitch detects that
the call is an emergency and initiates retrieving the caller's
location from a LIS using HELD [RFC5985] with identity extensions
[RFC6155] [RFC6915] and then determines the route to the local PSAP
using LoST [RFC5222]. Figure 2 shows the high-level protocol
interactions.
+---Location Request---+
| (2) |
+---V---+ |
| LIS | |
+----+--+ +----+----+
| | |
+----Location--->| Soft- |
+--------+ (3) | switch |
| Caller |------Call Initiation------------> | |
+--------+ (1) +-+-^---+-+
+-------------+ | | |
| LoST Server |<-Find Service--+ | |
+------+------+ (4) | |
| | |
+----------Service--------+ |
(5) |
+-----------+ |
| ESRP/PSAP |<------Call----+
+-----------+ (6)
Figure 2: Softswitch-Centric Calling Model
In the softswitch-centric model, when a VSP receives an emergency
call, it performs two tasks. The first task is to determine the
correct LIS to ask for location information; this is done using a
combination of reverse DNS lookup described in [RFC7216] to acquire
the serving domain name and then using [RFC5986] to determine the LIS
URI. Once the location is obtained from the LIS, the VSP determines
the LoST server associated with the domain serving the caller and
queries it for the correct PSAP address.
LoST server discovery is a domain-based activity, similar to the LIS
discovery technique. However, unlike the LIS that is a domain-bound
service, a LoST server is a geographically bound service. This means
that for a domain that spans multiple geographic regions, the LoST
server determined may not be able to provide a route to the necessary
PSAP. When this occurs, the contacted LoST server invokes the help
of other LoST servers, and this requires the deployment of forest
guides.
At the time of writing, several countries have expressed a reluctance
to deploy public LoST servers. In countries amenable to the use of
LoST and forest guides, no public forest guides have been deployed.
There appears to be little interest from the public sector in
establishing a global forest-guide network. These issues pose
threats to the ability of both the device-centric and the softswitch-
centric calling approaches to operate everywhere.
The device-centric and softswitch-centric calling models both involve
the notion of a LIS bound to the serving access network. In many
cases, the LIS already knows the destination PSAP URI for any given
location. In [RFC6881], for example, the LIS validates civic
locations using a location validation procedure based on the LoST
protocol [RFC5222]. The LoST validation request is similar to a LoST
routing request and provides the LIS with the same PSAP routing
information that a routing request would. In other cases, the LIS
knows the correct PSAP for a given location at provisioning time, or
the access network might always route to the same emergency provider.
Irrespective of the way in which the LIS learns the PSAP URI for a
location, the LIS will, in a great many cases, already have this
information.
This document specifies an extension to the HELD protocol, so that
emergency routing information can be requested from the LIS at the
same time that location information is requested. This document
updates [RFC6881] by requiring devices and softswitches that
understand this specification to always request routing information
to avoid the risk of query failure where no LoST server or forest-
guide network is deployed.
3.1. LoST Reuse Considerations
The LoST protocol [RFC5222] defines a <mapping> element that
describes a service region and associated service URLs. Reusing this
element from LoST to provide the routing URIs was considered.
However, this would have meant that several of the mandatory
components in the <mapping> element would have had to contain
ambiguous or misleading values. Specifically, the "source" attribute
is required to contain a LoST application-unique string for the
authoritative server. However, in the situations described in this
specification, there may not be an authoritative LoST server, so any
value put into this attribute would be misleading. In addition to
this, routing information received in the manner described in this
specification should not be cached by the receiver, so detailing when
the routing information expires or was last updated is irrelevant.
4. Mechanism
The mechanism consists of adding an element to the HELD
locationRequest and an element to the locationResponse.
The request element indicates that the requestor wants the LIS to
provide routing information based on the location of the end device.
If the routing request is sent with no attribute, then URIs for
urn:service:sos are returned. If the requestor wants routing
information for a specific service, then they may include an optional
service URN. This service MUST exist in the IANA "Service URN
Labels" repository created by [RFC5031]. If a service is specified,
and the LIS does not understand the requested service, then URIs for
urn:service:sos are returned.
If the LIS understands the routing request and has routing
information for the location, then it includes the information in a
routingInformation element returned in the locationResponse. How the
LIS obtains this information is left to implementation.
Possibilities are described in Section 3.
A LIS that does not understand the routing request element ignores it
and returns the location information in the normal manner.
A LIS that does support the routing request element MUST support
returning URIs for urn:service:sos and any regionally defined sub-
services while following the URN traversal rules defined in
[RFC5031].
A LIS that does understand the routing request element but can't
obtain any routing information for the end-device's location MUST set
the defaultRoute attribute to "true" and return a default PSAP or
gateway URI along with the determined location information in the
locationResponse.
A LIS that understands the routing request element but not the
specified service URN MUST follow the URN traversal rules defined in
[RFC5031].
A LIS that receives a request for emergency routing information that
it understands MUST return the correct emergency routing information
if it has or is able to acquire the routing information for the
location of the target device.
The routing information in the location response consists of a
service element identified by a service name. The service name is a
URN and might contain a general emergency service URN such as
urn:service:sos or a specific service URN depending on what was
requested and what the LIS is able to provide. A list of one or more
service destinations is provided for the service name. Each
destination is expressed as a URI, and each URI scheme should only
appear once in this list. The routing URIs are intended to be used
at the time they are received. To avoid any risks of using stale
routing URIs, the values MUST NOT be cached by the receiving entity.
5. Modification to Phone BCP
This section describes the normative updates to Phone BCP [RFC6881].
It is important for devices and intermediaries to take all steps
possible to ensure that emergency calls are routed to the correct
PSAP. An alternative to providing routing information via global
forest guides or local LoST servers is for local networks to
configure the PSAP address information in the network location
server. This specification updates Phone BCP [RFC6881] to provide
this option. The update requires devices and intermediaries using
the HELD protocol to always include the HELD routing extension. If
the LIS is configured with the routing information, it can provide
it; if it is not, then the device or intermediary tries LoST to
acquire the PSAP URI.
Section 6.5 of [RFC6881] defines "End System Location Configuration".
Requirement ED-23/INT-18/SP-14 is updated when HELD is used as the
Location Configuration Protocol (LCP) such that "the request MUST
include the requestRoutingInformation element." The remainder of the
requirement remains unchanged.
This document adds a new requirement to Section 7 of [RFC6881].
"ED-51a : Endpoints MUST support the HELD requestRoutingInformation
element and be able to interpret and use any routing information
returned in the locationResponse."
This document adds two new requirements to Section 8 of [RFC6881].
"ED-52a : Endpoints that acquire routing information in a HELD
locationResponse SHOULD use this routing information but MAY perform
a LoST findService request if they have a location value."
"ED-52b : Endpoints that acquire routing information in a HELD
locationResponse with a defaultRoute attribute of "true" MUST perform
a LoST findService request if they have a location value. If a route
is provided by the LoST server, then this route MUST be used,
otherwise the routing information provided in the HELD response
SHOULD be used."
This document amends SP-26 from Section 8 of [RFC6881] such that a
LoST mapping need not be requested if non-default routing information
is provided in the HELD locationResponse.
6. HELD Schema Extension
This section describes the schema extension to HELD.
<?xml version="1.0"?>
<xs:schema
targetNamespace="urn:ietf:params:xml:ns:geopriv:held:ri"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:ri="urn:ietf:params:xml:ns:geopriv:held:ri"
xmlns:xml="http://www.w3.org/XML/1998/namespace"
elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="requestRoutingInformation">
<xs:complexType name="empty">
<xs:attribute name="service" type="xs:anyUri"
use="optional" default="urn:service:sos"/>
</xs:complexType>
</xs:element>
<xs:complexType name="service">
<xs:complexContent>
<xs:restriction base="xs:anyType">
<xs:sequence>
<xs:element name="dest" type="xs:anyURI"
maxOccurs="unbounded"/>
<xs:any namespace="##other" processContents="lax"
minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="defaultRoute" type="xs:boolean"
use="optional" default="false"/>
<xs:attribute name="serviceUri" type="xs:anyURI"
use="required"/>
<xs:anyAttribute namespace="##any" processContents="lax"/>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
<xs:element name="routingInformation" type="ri:riType"/>
<xs:complexType name="riType">
<xs:complexContent>
<xs:restriction base="xs:anyType">
<xs:sequence>
<xs:element name="service" type="ri:service"/>
<xs:any namespace="##other" processContents="lax"
minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:anyAttribute namespace="##any" processContents="lax"/>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
</xs:schema>
7. Examples
Figure 3 illustrates a <locationRequest> example that contains IP
flow information in the request.
<locationRequest xmlns="urn:ietf:params:xml:ns:geopriv:held"
responseTime="emergencyRouting">
<requestRoutingInformation
xmlns="urn:ietf:params:xml:ns:geopriv:held:ri"/>
<flow xmlns="urn:ietf:params:xml:ns:geopriv:held:flow"
layer4="tcp" layer3="ipv4">
<src>
<address>192.0.2.12</address>
<port>1024</port>
</src>
<dst>
<address>192.0.2.195</address>
<port>80</port>
</dst>
</flow>
</locationRequest>
Figure 3: Example Location Request
Figure 4 illustrates the <locationResponse> message containing two
location URIs: an HTTPS and a SIP URI. Additionally, the response
contains routing information.
<locationResponse xmlns="urn:ietf:params:xml:ns:geopriv:held">
<locationUriSet expires="2006-01-01T13:00:00.0Z">
<locationURI>
https://ls.example.com:9768/357yc6s64ceyoiuy5ax3o
</locationURI>
<locationURI>
sip:9769+357yc6s64ceyoiuy5ax3o@ls.example.com
</locationURI>
</locationUriSet>
<routingInformation
xmlns="urn:ietf:params:xml:ns:geopriv:held:ri">
<service serviceUri="urn:service:sos">
<dest>sip:112@example.com</dest>
<dest>sips:112@example.com</dest>
<dest>xmpp:112@example.com</dest>
</service>
</routingInformation>
</locationResponse>
Figure 4: Example Location Response
Figure 5 illustrates the <locationResponse> message containing
default routing information and an HTTPS location URI.
<locationResponse xmlns="urn:ietf:params:xml:ns:geopriv:held">
<locationUriSet expires="2016-01-01T13:00:00.0Z">
<locationURI>
https://ls.example.com:9768/357yc6s64ceyoiuy5ax3o
</locationURI>
</locationUriSet>
<routingInformation
xmlns="urn:ietf:params:xml:ns:geopriv:held:ri">
<service defaultRoute="true" serviceUri="urn:service:sos">
<dest>sip:112@example.com</dest>
<dest>sips:112@example.com</dest>
<dest>xmpp:112@example.com</dest>
</service>
</routingInformation>
</locationResponse>
Figure 5: Example Location Response with Default Routing Information
8. Privacy Considerations
This document makes no changes that require privacy considerations
beyond those already described in [RFC5985]. It does, however,
extend those described in [RFC6155].
[RFC5985] describes the privacy considerations surrounding the HELD
location configuration protocol, and this document makes no specific
changes to these considerations.
[RFC6155] extends HELD beyond a simple LCP by enabling authorized
third parties to acquire location information and describing the
issues in Section 4. The HELD routing extension supports returning
URIs that represent specific services operating in the Target's
vicinity. This represents additional information about the Target;
as a consequence, it is recommended that this option only be used
when the LIS returns a location URI, not a location value.
9. Security Considerations
This document imposes no additional security considerations beyond
those already described in [RFC5985] and [RFC6155].
10. IANA Considerations
10.1. URN Sub-Namespace Registration for
'urn:ietf:params:xml:ns:geopriv:held:ri'
Per this document, IANA has registered a new XML namespace, following
the guidelines in [RFC3688].
URI: urn:ietf:params:xml:ns:geopriv:held:ri
Registrant Contact: IETF ECRIT working group (ecrit@ietf.org),
James Winterbottom (a.james.winterbottom@gmail.com).
XML:
BEGIN
<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<title>HELD Routing Information Extensions</title>
</head>
<body>
<h1>Additional Element for HELD Routing Information</h1>
<h2>urn:ietf:params:xml:ns:geopriv:held:ri</h2>
<p>See <a href="http://www.rfc-editor.org/rfc/rfc7840.txt">
RFC 7840</a>.</p>
</body>
</html>
END
10.2. XML Schema Registration
This section registers an XML schema as per the procedures in
[RFC3688].
URI: urn:ietf:params:xml:schema:geopriv:held:ri
Registrant Contact: IETF ECRIT working group (ecrit@ietf.org),
James Winterbottom (a.james.winterbottom@gmail.com).
XML: The XML for this schema can be found as the entirety of
Section 6 of this document.
11. References
11.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<http://www.rfc-editor.org/info/rfc2119>.
[RFC5985] Barnes, M., Ed., "HTTP-Enabled Location Delivery (HELD)",
RFC 5985, DOI 10.17487/RFC5985, September 2010,
<http://www.rfc-editor.org/info/rfc5985>.
[RFC6881] Rosen, B. and J. Polk, "Best Current Practice for
Communications Services in Support of Emergency Calling",
BCP 181, RFC 6881, DOI 10.17487/RFC6881, March 2013,
<http://www.rfc-editor.org/info/rfc6881>.
11.2. Informative References
[M493] European Telecommunications Standards Institute,
"Functional architecture to support European requirements
on emergency caller location determination and transport",
ES 203 178, V1.1.1, February 2015.
[RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688,
DOI 10.17487/RFC3688, January 2004,
<http://www.rfc-editor.org/info/rfc3688>.
[RFC5031] Schulzrinne, H., "A Uniform Resource Name (URN) for
Emergency and Other Well-Known Services", RFC 5031,
DOI 10.17487/RFC5031, January 2008,
<http://www.rfc-editor.org/info/rfc5031>.
[RFC5222] Hardie, T., Newton, A., Schulzrinne, H., and H.
Tschofenig, "LoST: A Location-to-Service Translation
Protocol", RFC 5222, DOI 10.17487/RFC5222, August 2008,
<http://www.rfc-editor.org/info/rfc5222>.
[RFC5582] Schulzrinne, H., "Location-to-URL Mapping Architecture and
Framework", RFC 5582, DOI 10.17487/RFC5582, September
2009, <http://www.rfc-editor.org/info/rfc5582>.
[RFC5687] Tschofenig, H. and H. Schulzrinne, "GEOPRIV Layer 7
Location Configuration Protocol: Problem Statement and
Requirements", RFC 5687, DOI 10.17487/RFC5687, March 2010,
<http://www.rfc-editor.org/info/rfc5687>.
[RFC5986] Thomson, M. and J. Winterbottom, "Discovering the Local
Location Information Server (LIS)", RFC 5986,
DOI 10.17487/RFC5986, September 2010,
<http://www.rfc-editor.org/info/rfc5986>.
[RFC6155] Winterbottom, J., Thomson, M., Tschofenig, H., and R.
Barnes, "Use of Device Identity in HTTP-Enabled Location
Delivery (HELD)", RFC 6155, DOI 10.17487/RFC6155, March
2011, <http://www.rfc-editor.org/info/rfc6155>.
[RFC6443] Rosen, B., Schulzrinne, H., Polk, J., and A. Newton,
"Framework for Emergency Calling Using Internet
Multimedia", RFC 6443, DOI 10.17487/RFC6443, December
2011, <http://www.rfc-editor.org/info/rfc6443>.
[RFC6915] Bellis, R., "Flow Identity Extension for HTTP-Enabled
Location Delivery (HELD)", RFC 6915, DOI 10.17487/RFC6915,
April 2013, <http://www.rfc-editor.org/info/rfc6915>.
[RFC7216] Thomson, M. and R. Bellis, "Location Information Server
(LIS) Discovery Using IP Addresses and Reverse DNS",
RFC 7216, DOI 10.17487/RFC7216, April 2014,
<http://www.rfc-editor.org/info/rfc7216>.
Acknowledgements
We would like to thank Wilfried Lange for sharing his views with us.
We would also like to thank Bruno Chatras for his early review
comments and Keith Drage for his more detailed review. Thanks to
Roger Marshall and Randy Gellens for their helpful suggestions.
Authors' Addresses
James Winterbottom
Winterb Consulting Services
Gwynneville, NSW 2500
Australia
Phone: +61 448 266004
Email: a.james.winterbottom@gmail.com
Hannes Tschofenig
Hall in Tirol 6060
Austria
Email: Hannes.Tschofenig@gmx.net
URI: http://www.tschofenig.priv.at
Laura Liess
Deutsche Telekom Networks
Deutsche Telekom Allee 7
Darmstadt, Hessen 64295
Germany
Email: L.Liess@telekom.de
URI: http://www.telekom.de
AI ELI5
On this page
§1Introduction
The emergency calling models in RFC 6443 and RFC 6881 expect a local LoST (Location-to-Service Translation) server, or a network of forest guides, to find the PSAP (Public Safety Answering Point) best placed to handle a call. The RFC notes that networks of forest guides have not materialized and that LoST deployment is not ubiquitous. Some regions and countries have expressed reluctance to deploy LoST servers.
This document extends the HELD protocol (RFC 5985) so that a location information server can provide emergency routing information when no LoST server or forest-guide network exists. It is aimed at architectures, such as those behind regulatory requirements in Europe, that couple location and routing in the access network.
Normally you ask one office where you are and a second office who to call. Some places do not have the second office, so this lets the first office answer both.
§2Why Routing Comes From the LIS
RFC 6881 describes two calling models. In the device-centric model the phone gets its location with HELD and then asks LoST for the next hop toward the local PSAP. In the softswitch-centric model the serving softswitch notices an emergency call, fetches the caller's location from the LIS, and then asks LoST for the route.
LoST servers are geographically bound, while a LIS is bound to a domain. When a domain spans several regions, the LoST server found may not be able to route to the right PSAP and needs forest guides, and the RFC says no public forest guides have been deployed in the countries it discusses. Meanwhile the LIS often already knows the PSAP URI: it may validate civic locations using LoST, learn the PSAP at provisioning time, or always route to the same emergency provider.
The authors also considered reusing the LoST mapping element. They rejected that because its mandatory source attribute would be misleading when there is no authoritative LoST server, and expiry details are irrelevant because the routing data must not be cached.
The office that knows where you are often already knows the right emergency centre too. Making you visit a second office that may not exist is a waste.
§3The Request and Response Mechanism
The mechanism adds one element to the HELD locationRequest and one to the locationResponse. The request element, requestRoutingInformation, says the requestor wants routing information based on the end device's location. With no attribute, URIs for urn:service:sos are returned. The requestor may add an optional service URN, which MUST exist in the IANA Service URN Labels repository. If the LIS does not understand the requested service, it returns urn:service:sos URIs.
If the LIS has routing information, it returns a routingInformation element in the response. How the LIS obtains it is left to the implementation. A LIS that does not understand the request element ignores it and returns location normally. A LIS that supports it MUST support urn:service:sos and regionally defined sub-services, and MUST return correct routing information if it has or can acquire it.
If the LIS understands the request but cannot find routing information for the location, it MUST set the defaultRoute attribute to true and return a default PSAP or gateway URI together with the location. The response holds a service element named by a service URN, with one or more dest URIs, each URI scheme appearing only once. Routing URIs are meant for use when received and MUST NOT be cached.
You tick a box saying you also want to know who to call. If the office has an answer it writes it down, and if it only has a general answer it marks it as a fallback.
§4Changes to the Emergency Calling BCP
This document updates the Phone BCP, RFC 6881. Devices and intermediaries that use HELD must always include the routing extension. If the LIS is configured with routing information it supplies it; otherwise the device or intermediary tries LoST to get the PSAP URI.
- Requirement ED-23/INT-18/SP-14 is updated so that, when HELD is the location configuration protocol, the request MUST include the
requestRoutingInformationelement. - New ED-51a: endpoints MUST support the element and be able to use any routing information returned.
- New ED-52a: endpoints that get routing information SHOULD use it but MAY still perform a LoST
findServicerequest if they have a location value. - New ED-52b: if the response has
defaultRouteset totrue, endpoints with a location value MUST perform a LoSTfindServicerequest. A route from LoST MUST be used; otherwise the HELD routing information SHOULD be used.
SP-26 is also amended so a LoST mapping need not be requested when non-default routing information is provided.
The rulebook now says: always ask for the who-to-call answer along with where-you-are. If the answer is only a fallback, double-check with the second office when you can.
| defaultRoute | LoST findService | Which route wins |
|---|---|---|
| false or absent THIS RFC | MAY perform it | HELD routing information SHOULD be used |
| true THIS RFC | MUST perform it (with a location value) | LoST route MUST be used; otherwise HELD route SHOULD be used |
§5The Schema Extension
Section 6 of the RFC gives an XML schema in the namespace urn:ietf:params:xml:ns:geopriv:held:ri. It defines three pieces.
requestRoutingInformation: an empty element with an optionalserviceattribute, defaulting tourn:service:sos.routingInformation: holds oneserviceelement, plus optional elements from other namespaces.service: one or moredestURIs, an optionaldefaultRouteboolean that defaults tofalse, and a requiredserviceUriattribute.
IANA has registered the namespace and the schema, using the guidelines of RFC 3688. The schema XML is the whole of section 6 of the RFC.
The RFC adds two new boxes to the form: one to ask for the answer and one to hold it. The answer box lists the phone addresses to try.
§6Worked Examples
- locationRequest + requestRoutingInformationAsks for location and emergency routing together.
- locationResponse + routingInformationReturns location and service destination URIs.
The RFC gives three examples. The first is a locationRequest with responseTime set to emergencyRouting, a requestRoutingInformation element and IP flow information.
The second is a locationResponse with two location URIs (one HTTPS, one SIP) plus a routingInformation element for urn:service:sos listing sip:, sips: and xmpp: destinations. The third is similar, with one HTTPS location URI and defaultRoute set to true on the service.
The examples show a filled-in form asking the question, and two filled-in answers: one normal, one marked as a fallback.
<routingInformation
xmlns="urn:ietf:params:xml:ns:geopriv:held:ri">
<service serviceUri="urn:service:sos">
<dest>sip:112@example.com</dest>
<dest>sips:112@example.com</dest>
<dest>xmpp:112@example.com</dest>
</service>
</routingInformation>§7Privacy and Security Considerations
The RFC says it makes no changes needing privacy considerations beyond those in RFC 5985, though it does extend those in RFC 6155. RFC 6155 lets authorized third parties acquire location from a LIS. Because the routing extension returns URIs for services near the target, it reveals extra information about the target. The RFC therefore recommends using this option only when the LIS returns a location URI, not a location value.
On security, the document adds no considerations beyond those already in RFC 5985 and RFC 6155.
Knowing which emergency centre is near you tells people a little about where you are. So the RFC suggests handing out a pointer to your location instead of the location itself.