|RFC 8787||Location Parameter||May 2020|
|Winterbottom, et al.||Standards Track||[Page]|
Location Source Parameter for the SIP Geolocation Header Field
There are some circumstances where a Geolocation header field may contain more than one locationValue. Knowing the identity of the node adding the locationValue allows the recipient more freedom in selecting the value to look at first rather than relying solely on the order of the locationValues. This document defines the "loc-src" parameter so that the entity adding the locationValue to the Geolocation header field can identify itself using its hostname. This document updates RFC 6442.¶
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 7841.¶
Copyright (c) 2020 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 (https://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.¶
The SIP Geolocation specification [RFC6442] describes the "Geolocation" SIP header field, which is used to indicate that the SIP message is conveying location information. [RFC6442] specifies that SIP intermediaries should not add locationValues to a SIP request that already contains a locationValue. [RFC6442] also states that if a SIP intermediary adds location, it is fully responsible for addressing the concerns of any 424 (Bad Location Information) SIP response it receives. However, some communications architectures, such as 3GPP [TS23-167] and ETSI [M493], prefer to use information provided by edge proxies or acquired through the use of core-network nodes before using information provided solely by user equipment (UE). These solutions don't preclude the use of UE-provided location but require a means of being able to distinguish the identity of the node adding the locationValue to the SIP message from that provided by the UE.¶
[RFC6442] stipulates that the order of locationValues in the Geolocation header field is the same as the order in which they were added to the header field. Whilst this order provides guidance to the recipient as to which values were added to the message earlier in the communication chain, it does not identify which node added the locationValue. Knowing the identity of the entity that added the location to the message allows the recipient to choose which location to consider first rather than relying solely on the order of the locationValues in the Geolocation header field.¶
This document extends the Geolocation header field of [RFC6442] by allowing an entity adding the locationValue to identify itself using a hostname. This is done by defining a new geoloc-param header field parameter, "loc-src". How the entity adding the locationValue to the header field obtains the location information is out of scope of this document. Please note that the "loc-src" parameter field does not alter the subject of the locationValue.¶
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.¶
The primary intent of the "loc-src" parameter in this specification is for use in emergency calling. There are various architectures defined for providing emergency calling using SIP-based messaging. Each has its own characteristics with corresponding pros and cons. All of them allow the UE to provide location information; however, many also attach other sources of location information to support veracity checks, to provide backup information, or to be used as the primary location.¶
This document does not comment on these various architectures or on the rationale for including multiple locationValues. It does recognize that these architectures exist and that there is a need to identify the entity adding the location information.¶
The "loc-src" parameter adds the location source generating the locationValue to allow recipients to make informed decisions about which of the multiple values to use.¶
The "loc-src" parameter is applicable within a single private administrative domain or between different administrative domains where there is a trust relationship between the domains. Thus, it is intended to use this parameter only in trust domains where Spec(T) as described in [RFC3325] exists.¶
The "loc-src" parameter is not included in a SIP message sent to another network if there is no trust relationship. The "loc-src" parameter is not applicable if the administrative domain manages emergency calls in a way that does not require any generation of the location.¶
The mechanism adds a geoloc-param parameter to the locationValue defined in [RFC6442] that identifies the hostname of the entity adding the locationValue to the Geolocation header field. The Augmented BNF (ABNF) [RFC5234] for this parameter is shown in Figure 1.¶
Only a fully qualified host name is valid. The syntax does not support IP addresses, and if an entity conforming to this specification receives a Geolocation header field with a "loc-src" parameter containing an IP address, it MUST remove the parameter.¶
A SIP intermediary conformant to this specification adding a locationValue to a Geolocation header field SHOULD also add a "loc-src" header field parameter so that it is clearly identified as the node adding the location. A User Agent (UA) MUST NOT insert a "loc-src" header field parameter. If a SIP intermediary receives a message from an untrusted source with the "loc-src" parameter set, then it MUST remove the "loc-src" parameter before passing the message into a trusted network.¶
The following example shows a SIP INVITE message containing a Geolocation header field with two locationValues. The first locationValue points to a Presence Information Data Format Location Object (PIDF-LO) in the SIP body using a content-indirection (cid:) URI per [RFC4483], and this is provided by the UE. The second locationValue is an https URI provided by a SIP intermediary, which identifies itself using the "loc-src" parameter.¶
This document doesn't change any of the privacy considerations described in [RFC6442]. While the addition of the "loc-src" parameter identifies the entity that added the location in the signaling path, this addition provides little more exposure than adding a proxy identity to the Record-Route header field (privacy defined in [RFC3323]).¶
This document introduces the ability of a SIP intermediary to insert a host name indicating that they added the specific locationValue to the Geolocation header field. The intent is for this field to be used by the location recipient in the event that the SIP message contains multiple locationValues. As a consequence, this parameter should only be used by the location recipient in a trusted network. Adding this parameter in an untrusted network serves solely to give location information to untrusted parties and is NOT RECOMMENDED.¶
As already stated in [RFC6442], securing the location hop by hop, using TLS, protects the message from eavesdropping and modification in transit but exposes the information to all SIP intermediaries on the path as well as the endpoint. The "loc-src" parameter is applicable within a single private administrative domain or between different administrative domains where there is a relationship between the domains. If such a trust relationship is not given, it is strongly recommended to delete the location information.¶
The use of this parameter is not restricted to a specific architecture, but using multiple locations and loc-src may end in compatibility issues. [RFC6442] already addresses the issue of multiple locations. To avoid problems of a possible corruption of the location information including the "loc-src" parameter when using an untrusted relationship, it is strongly recommended to delete location information when passed to another domain out of the trust domain.¶
IANA has added a new SIP header field parameter for the Geolocation header field in the "Header Field Parameters and Parameter Values" subregistry (created by [RFC3968]) of the "Session Initiation Protocol (SIP) Parameters" registry found at <https://www.iana.org/assignments/sip-parameters/>.¶
- Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, , <https://www.rfc-editor.org/info/rfc2119>.
- Peterson, J., "A Privacy Mechanism for the Session Initiation Protocol (SIP)", RFC 3323, DOI 10.17487/RFC3323, , <https://www.rfc-editor.org/info/rfc3323>.
- Jennings, C., Peterson, J., and M. Watson, "Private Extensions to the Session Initiation Protocol (SIP) for Asserted Identity within Trusted Networks", RFC 3325, DOI 10.17487/RFC3325, , <https://www.rfc-editor.org/info/rfc3325>.
- Camarillo, G., "The Internet Assigned Number Authority (IANA) Header Field Parameter Registry for the Session Initiation Protocol (SIP)", BCP 98, RFC 3968, DOI 10.17487/RFC3968, , <https://www.rfc-editor.org/info/rfc3968>.
- Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax Specifications: ABNF", STD 68, RFC 5234, DOI 10.17487/RFC5234, , <https://www.rfc-editor.org/info/rfc5234>.
- Polk, J., Rosen, B., and J. Peterson, "Location Conveyance for the Session Initiation Protocol", RFC 6442, DOI 10.17487/RFC6442, , <https://www.rfc-editor.org/info/rfc6442>.
- Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, , <https://www.rfc-editor.org/info/rfc8174>.
- European Telecommunications Standards Institute, "Functional architecture to support European requirements on emergency caller location determination and transport", ES 203 178, V 1.1.1 , .
- Burger, E., Ed., "A Mechanism for Content Indirection in Session Initiation Protocol (SIP) Messages", RFC 4483, DOI 10.17487/RFC4483, , <https://www.rfc-editor.org/info/rfc4483>.
- 3rd Generation Partnership Project, "Technical Specification Group Services and System Aspects; IP Multimedia Subsystem (IMS) emergency sessions", TS 23.167, V12.1.0 , .
The authors would like to thank Dale Worley, Christer Holmberg, and Jean Mahoney for their extensive review of this document. The authors would like to acknowledge the constructive feedback provided by Paul Kyzivat and Robert Sparks.¶