RFC 7135
Registering a SIP Resource Priority Header Field Namespace for Local Emergency Communications
RFC 7135: Registering a SIP Resource Priority Header Field Namespace for Local Emergency Communications ๐
Okay bestie, this one is from the IETF, the group that writes the rulebook for how the internet talks to itself ๐. It was written by J. Polk at Cisco Systems and published in May 2014. It's labelled Informational, so it's published for information and isn't an Internet Standards Track spec. The ISSN is 2070-1721 ๐ . Its title block doesn't list any RFC it obsoletes or updates, so it's a standalone moment โจ.
Abstract โจ
Okay so this doc creates a brand new SIP Resource Priority header field namespace called 'esnet' and registers it with IANA ๐ฆ. The namespace lets local emergency sessions get set up to a PSAP (public safety answering point), between PSAPs, and between a PSAP and first responders and their organizations ๐จ. It's giving emergency comms, honestly.
Status of This Memo ๐ง
This document is not an Internet Standards Track specification. It's published for informational purposes ๐.
This is a product of the Internet Engineering Task Force (IETF), and it represents the consensus of the IETF community ๐ซถ. It got public review and was approved for publication by the Internet Engineering Steering Group (IESG). Not every doc the IESG approves is a candidate for any level of Internet Standard, so see Section 2 of RFC 5741 for that ๐.
For the current status, any errata, and how to give feedback, check out http://www.rfc-editor.org/info/rfc7135 ๐.
Copyright Notice ๐
Copyright (c) 2014 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) as they were in effect on the date of publication. Please read these carefully, because they explain your rights and restrictions for this document. Code Components pulled out of this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions, and they come without warranty as described in the Simplified BSD License ๐.
Table of Contents ๐
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Rules of Usage of the Resource Priority Header Field . . . . . 4
3. "esnet" Namespace Definition . . . . . . . . . . . . . . . . . 6
3.1. Namespace Definition Rules and Guidelines . . . . . . . . 6
3.2. The 'esnet' Namespace . . . . . . . . . . . . . . . . . . 6
4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7
4.1. IANA Resource-Priority Namespace Registration . . . . . . 7
4.2. IANA Priority-Value Registrations . . . . . . . . . . . . 7
5. Security Considerations . . . . . . . . . . . . . . . . . . . 8
6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 8
7. Normative References . . . . . . . . . . . . . . . . . . . . . 9
1. Introduction ๐ธ
Okay, this section sets the scene. The doc creates the new SIP Resource Priority header (RPH) field namespace 'esnet' for local emergency usage and registers it with IANA ๐. The SIP Resource-Priority header field itself is defined in RFC 4412 [RFC4412]. The new 'esnet' namespace is meant for inbound calls toward a PSAP, between PSAPs, and between a PSAP and first responders or their organizations, all within managed IP networks ๐ฅ. It is not for the open public Internet, because it can be trivially forged ๐.
Now the vibe check on the difference between this and a regular emergency marking. Adding an RPH with the 'esnet' namespace is different from marking an emergency call with a service URN as defined in [RFC5031] ๐ฆ. The RPH specifically asks for preferential treatment in networks that honor it. The service URN marking just identifies an emergency call and doesn't necessarily change the resources allocated to it. Using both is appropriate where it applies โจ. An RPH with 'esnet' can also be used inside public safety networks for SIP sessions that aren't emergency calls, which means they aren't marked per RFC 5031 ๐.
This new namespace goes into SIP requests to give an explicit priority indication inside controlled environments ๐ซถ. Think an IP Multimedia Subsystem (IMS) infrastructure or an Emergency Services network (ESInet). Misuse can be brought down to an acceptable level there because these networks have controls in place ๐. The function allows different treatment of emergency SIP requests based on local policy, or more likely, a contractual agreement between the network organizations ๐ค. The indication is only used to tell certain SIP requests, transactions, or dialogs apart from other ones that don't need priority treatment. If you've got separate SIP requests with different but still understandable and valid Resource-Priority header values, local policy can use this indication to decide which request, transaction, or dialog gets which treatment (likely better or worse than the others) ๐.
Application Service Providers (ASPs) that are securely connected to an ESInet may have enough controls policing the header, plus a trust relationship with the entities inside the ESInet ๐ง. SIP requests from those ASPs could use the 'esnet' namespace for appropriate treatment when they're passed from the ASP to the ESInet ๐
.
The 'esnet' namespace may also be used on calls from a PSAP, or another public safety agency on an ESInet, toward a private or public network, an ASP, or a User Agent ("call back") when priority is needed ๐. Again, the priority request is not for use on the public Internet, because the header is easy to forge ๐.
This document only creates the namespace, following the rules in [RFC4412] as updated by [RFC7134]. Those rules mean new RPH namespaces and their relative priority-value order have to be IETF reviewed before they get registered with IANA ๐.
Here's the spicy part. Inside emergency services networks, Multilevel Precedence and Preemption (MLPP)-like behavior might be achieved (probably without the "preemption" part), as long as local policy supports it ๐ฅ. For example, calls between law enforcement agents could be marked similarly to MLPP systems used by military networks, and some of those calls could get higher priority than an emergency call from an ordinary user ๐. So the 'esnet' namespace gets five priority levels instead of just one ๐. This document doesn't define MLPP-like SIP signaling for emergency calls, like calls using emergency service numbers (such as 911, 112, and 999). But it isn't prevented either ๐ฆ.
Inside the ESInet, there will be emergency calls that need different treatment depending on the type of call ๐. Does a citizen's call to a PSAP need the same, a higher, or a lower relative priority than a PSAP's call to a police department or the police chief? What about either of those compared with a call from inside the ESInet to a national government's department responsible for public safety, disaster relief, national security/defense, and so on ๐ญ? These are the reasons the 'esnet' namespace has multiple priority levels ๐.
This document doesn't define any of these behaviors. It just reminds readers that the rules of RFC 4412 apply, though examples of usage are included for completeness โจ. It registers the 'esnet' RPH namespace with IANA for use within any emergency services networks, not just the ones carrying calls from citizens to PSAPs ๐ซถ.
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] ๐.
That's the end of part 1, babe, the good stuff is coming up next! ๐๐
2. Rules of Usage of the Resource Priority Header field ๐
okay so bestie, this section is about how you're allowed to use the esnet namespace ๐
. It keeps the same treatment behaviors as the SIP Resource Priority header field from [RFC4412] when it's picking between options. The vibe is an ESInet, and inside one there's no "normal" or routine call level ๐. That's left for local jurisdictions to decide for their own parts of the ESInet, which could be little islands of local administration ๐๏ธ.
The esnet namespace MUST only be used where at least one end of the signaling is inside a local emergency organization ๐จ. Setting aside B2BUAs (Back-to-Back User Agents), if either the originating human caller's User Agent (UA) or the destination human callee's UA belongs to the local emergency organization, then using esnet is totally valid โจ.
esnet has 5 priority-values in a specified relative priority order ๐ถ. It's registered as a queue-based namespace, following [RFC4412]. SIP entities that support preemption treatment (see Section 5 of [RFC4412]) can be configured according to local policy ๐ฅ. The display names for the esnet values can also be set according to local policy ๐.
Here's one example diagram of local policy choices when you're using esnet ๐ฆ:
|<-'esnet' namespace->|
| is used |
'esnet' namespace | ,-------.
usage out of scope | ,' `.
|<------------>|<---'esnet' namespace ---->| / \
+----+ | can be used +-----+ | ESInet |
| UA |--- | --------------------|Proxy|-+ ------ |
+----+ \ | / +-----+ | |
\ ,-------+ ,-------. | | +------+ |
+----+ ,' `. ,' `. | | |PSAP-1| |
| UA |--- / User \ / Application \ | | +------+ |
+----+ ( Network +---+ Service )| | |
\ / \ Provider / | | +------+ |
+----+ /`. ,' `. .+-----+ | |PSAP-2| |
| UA |---- '-------' '-------' |Proxy|-+ +------+ |
+----+ | +-----+ | |
| | | |
+----+ | +-----+ | +------+ |
| UA |--- | --------------------|Proxy|-+ |PSAP-3| |
+----+ \ | / +-----+ | +------+ |
\ ,-------+ ,-------. | | |
+----+ ,' `. ,' `. | | |
| UA |--- / User \ / Application \ | | +------+ |
+----+ ( Network +---+ Service )| | |PSAP-4| |
\ / \ Provider / | | +------+ |
+----+ /`. ,' `. .+-----+ | |
| UA |---- '-------' '-------' |Proxy|-+ ANY can |
+----+ | +-----+ | xfer/call |
| | \ | | | /
`. | | | ,'
'-|-|-|-'
| | |
Police <--------------+ | |
Fire <----------+ |
National Agency <-------+
A Possible Network Architecture Using the 'esnet' Namespace
In that picture, esnet is used inside the ESInet on the right side ๐ข. How it's specifically used is out of scope for this document, so local jurisdictions get to define it ๐บ๏ธ. Whether preemption is implemented in the ESInet, and what values the ESInet users see, is also out of scope ๐. Adjacent ASPs to the ESInet might have a trust relationship that lets neighboring ASP(s) use esnet to tell apart SIP requests and dialogs inside the ASP's own network ๐ค. And the exact mapping between the internal and external sides of the edge proxy at the ESInet boundaries? Also out of scope for this doc ๐ซถ.
3. "esnet" Namespace Definition ๐ง
esnet is not generic for all emergencies, because there are SO many kinds of emergencies ๐ญ. Some are on a military scale ([RFC4412] defines 3 of these), some are on a national scale ([RFC4412] defines 2 of these), and some are international. Each type of emergency can also have its own namespace(s). There are already many defined for other uses, and more are possible ๐. So calling the public emergency service number (like 911, 112, or 999) to get police officers, firefighters, or emergency medical technicians (etc.) doesn't have a monopoly on the word "emergency" ๐.
The name esnet was picked, roughly standing for "Emergency Services NETwork" ๐ธ. It's for a citizen's call for help from a public authority type of organization. This namespace will also be used for communications between emergency authorities, and it MAY be used by emergency authorities to call public citizens ๐. For example, a PSAP operator calling back someone who previously called an emergency service number (like 911, 112, or 999) and whose call ended before it, in the PSAP operator's judgment, should have ended ๐.
Here's an example of a Resource-Priority header field using esnet:
Resource-Priority: esnet.0
3.1. Namespace Definition Rules and Guidelines ๐
This specification defines one unique namespace for emergency calling scenarios, esnet, and registers it with IANA ๐. That IANA registration contains the facets defined in Section 9 of [RFC4412].
3.2. The 'esnet' Namespace ๐
Per the rules of [RFC4412], each namespace has a finite set of relative priority-value(s), listed from lowest priority to highest priority โฌ๏ธ. To avoid limiting this namespace's future use, more than one priority-value is assigned to esnet ๐ฎ. This document does not recommend which Priority-value is used where, in which situation or scenario. That's for another document to specify ๐. To be effective, the choice within a national jurisdiction needs to be coordinated by all sub-jurisdictions, so the SIP behavior stays uniform throughout an emergency calling system of that nation ๐บ๐ณ.
The relative priority order for esnet goes like this:
(lowest) esnet.0
esnet.1
esnet.2
esnet.3
(highest) esnet.4
esnet gets priority queuing registrations for these levels per Section 4.5.2 of [RFC4412] ๐ฆ. Even though no preemption is specified in this document for any level of esnet, local jurisdiction(s) MAY configure their SIP infrastructure to use this namespace with preemption, as defined in RFC 4412 โก.
The remaining rules that came from RFC 4412 still apply to an RP actor who understands more than one namespace, and that actor must maintain its locally significant relative priority order ๐.
4. IANA Considerations ๐
4.1. IANA Resource-Priority Namespace Registration ๐๏ธ
The following entry has been added to the "Resource-Priority Namespaces" registry of the sip-parameters section of IANA (created by [RFC4412]):
Intended New New resp.
Namespace Levels Algorithm Code warn-code Reference
--------- ------ ----------- --------- --------- ---------
esnet 5 queue no no RFC 7135
4.2. IANA Priority-Value Registrations ๐
The following entry has been added to the "Resource-Priority Priority-values" registry of the sip-parameters section of IANA:
Namespace: esnet
Reference: (this document)
Priority-Values (least to greatest): "0", "1","2", "3", "4"
5. Security Considerations ๐
โ ๏ธ Serious business alert, bestie. Read this part carefully ๐.
The Security considerations that apply to RFC 4412 [RFC4412] apply here too ๐ซถ.
For networks that act on the SIP Resource-Priority header field, using namespaces incorrectly can mean traffic that should get preferential treatment doesn't get it, and vice versa ๐ฌ. This document does not define a use case where an endpoint outside the ESInet marks its call for preferential treatment. Precautions need to be taken to stop preferential treatment from being granted to unauthorized users who aren't calling for emergency help, even if they're inside the ESInet ๐ซ. Precautions also need to stop misuse by callers outside the ESInet ๐.
A simple way to prevent this is to not let traffic marked esnet get preferential treatment unless the destination is toward the local/regional ESInet ๐บ๏ธ. This isn't a concern for internetwork traffic inside the ESInet, or traffic generated outside it. Calling an emergency service number (like 911, 112, or 999) is pretty local in nature, with a finite number of URIs likely to be considered valid within a portion of a network receiving SIP signaling ๐.
This namespace is not meant for use on the Internet, because abuse is hard to detect. Specifically, it can trivially be forged and used on a non-emergency session to get resource priority ๐ฑ. Some networks may decide that it can reasonably prevent abuse, and/or that the consequences of undetected abuse are not significant. In those cases, use of esnet on the Internet MAY be allowed ๐.
6. Acknowledgements ๐
Huge thanks to Ken Carlberg, Janet Gunn, Fred Baker, and Keith Drage for help and encouragement with this effort ๐ฅฐ. Thanks to Henning Schulzrinne, Ted Hardie, Hannes Tschofenig, and Marc Linsner for constructive comments ๐. A big thanks to Robert Sparks for being patient with the author, and to Brian Rosen for completing the final edits ๐.
7. Normative References ๐
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC4412] Schulzrinne, H. and J. Polk, "Communications Resource
Priority for the Session Initiation Protocol (SIP)", RFC
4412, February 2006.
[RFC5031] Schulzrinne, H., "A Uniform Resource Name (URN) for
Emergency and Other Well-Known Services", RFC 5031,
January 2008.
[RFC7134] Rosen, B., "The Management Policy of the Resource Priority
Header (RPH) Registry Changed to "IETF Review"", RFC 7134,
March 2014.
Author's Address ๐ฆ
James Polk
Cisco Systems
3913 Treemont Circle
Colleyville, TX 76034
USA
Phone: +1-817-271-3552
EMail: jmpolk@cisco.com
๐ฆ where this page comes from
- ietf: rfc7135 2014-05
- ๐ girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms