SIP esnet Namespace: Registering a SIP Resource Priority Header Field Namespace for Local Emergency Communications
Priority labels for emergency calls in controlled networks
Polk, J., "Registering a SIP Resource Priority Header Field Namespace for Local Emergency Communications", RFC 7135, DOI 10.17487/RFC7135, May 2014, <https://www.rfc-editor.org/info/rfc7135>.
@misc{rfc7135,
series = {Request for Comments},
number = 7135,
howpublished = {RFC 7135},
publisher = {RFC Editor},
doi = {10.17487/RFC7135},
url = {https://www.rfc-editor.org/info/rfc7135},
author = {J. Polk},
title = {{Registering a SIP Resource Priority Header Field Namespace for Local Emergency Communications}},
pagetotal = 9,
year = 2014,
month = may,
} RFC text
Contents
Internet Engineering Task Force (IETF) J. Polk
Request for Comments: 7135 Cisco Systems
Category: Informational May 2014
ISSN: 2070-1721
Registering a SIP Resource Priority Header Field Namespace for
Local Emergency Communications
Abstract
This document creates the new Session Initiation Protocol (SIP)
Resource Priority header field namespace 'esnet' and registers this
namespace with IANA. The new header field namespace allows for local
emergency session establishment to a public safety answering point
(PSAP), between PSAPs, and between a PSAP and first responders and
their organizations.
Status of This Memo
This document is not an Internet Standards Track specification; it is
published for informational purposes.
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). Not all documents
approved by the IESG are a candidate for any level of Internet
Standard; see 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/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) 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 . . . . . . . . . . . . . . . . . . . . . . . . . 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
This document creates the new Session Initiation Protocol (SIP)
Resource Priority header (RPH) field namespace 'esnet' for local
emergency usage and registers this namespace with IANA. The SIP
Resource-Priority header field is defined in RFC 4412 [RFC4412]. The
new 'esnet' namespace is to be used for inbound calls towards a
public safety answering point (PSAP), between PSAPs, and between a
PSAP and first responders or their organizations within managed IP
networks. This namespace is not for use on the open public Internet
because it can be trivially forged.
Adding an RPH with the 'esnet' namespace can be differentiated from
the marking of an emergency call using a service URN as defined in
[RFC5031] in that the RPH specifically requests preferential
treatment in networks that honor it, while the marking merely
identifies an emergency call without necessarily affecting resources
allocated to it. It is appropriate to use both where applicable.
RPH with 'esnet' may also be used within public safety networks for
SIP sessions that are not emergency calls and thus not marked per RFC
5031.
This new namespace is included in SIP requests to provide an explicit
priority indication within controlled environments, such as an IP
Multimedia Subsystem (IMS) infrastructure or Emergency Services
network (ESInet) where misuse can be reduced to an acceptable level
because these types of networks have controls in place. The function
facilitates differing treatment of emergency SIP requests according
to local policy, or more likely, a contractual agreement between the
network organizations. This indication is used solely to
differentiate certain SIP requests, transactions, or dialogs from
other SIP requests, transactions, or dialogs that do not have the
need for priority treatment. If there are differing, yet still
understandable and valid Resource-Priority header values in separate
SIP requests, then this indication can be used by local policy to
determine which SIP request, transaction, or dialog receives which
treatment (likely better or worse than another).
Application Service Providers (ASPs) that are securely connected to
an ESInet may have sufficient controls policing the header, and a
trust relationship with the entities inside the ESInet. SIP requests
from such ASPs could make use of this 'esnet' namespace for
appropriate treatment when requests are passed from the ASP to the
ESInet.
The 'esnet' namespace may also be used on calls from a PSAP or other
public safety agency on an ESInet towards a private or public
network, ASP or User Agent ("call back") when priority is needed.
Again, the request for priority is not for use on the public Internet
due to the ease of forging the header.
This document merely creates the namespace, per the rules within
[RFC4412] as updated by [RFC7134], which necessitates that new RPH
namespaces and their relative priority-value order be IETF reviewed
before being registered with IANA.
There is the possibility that within emergency services networks,
Multilevel Precedence and Preemption (MLPP)-like behavior can be
achieved (likely without the 'preemption' part), provided the local
policy supports enabling this function. For example, calls placed
between law enforcement agents could be marked similarly to MLPP
systems used by military networks, and some of those calls could be
handled with higher priority than an emergency call from an ordinary
user. Therefore, the 'esnet' namespace is given five priority-levels
instead of just one. This document does not define MLPP-like SIP
signaling for emergency calls like those using emergency service
numbers (such as 911, 112, and 999), but it is not prevented either.
Within the ESInet, there will be emergency calls requiring different
treatments, according to the type of call. Does a citizen's call to
a PSAP require 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 relative to a call from within the ESInet to a national
government's department responsible for public safety, disaster
relief, national security/defense, etc.? For these additional
reasons, the 'esnet' namespace has multiple priority levels.
This document does not define any of these behaviors, outside of
reminding readers that the rules of RFC 4412 apply - though examples
of usage are included for completeness. This document registers the
'esnet' RPH namespace with IANA for use within any emergency services
networks, not just of those 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].
2. Rules of Usage of the Resource Priority Header field
This document retains the behaviors of the SIP Resource Priority
header field, defined in [RFC4412], when choosing between the
treatment options surrounding this new 'esnet' namespace. Given the
environment this is to be used within (i.e., within an ESInet), the
usage of the 'esnet' namespace does not have a 'normal' or routine
call level; that is left for local jurisdictions to define within
their respective parts of the ESInet, which could be islands of local
administration.
The 'esnet' namespace MUST only be used where at least one end of the
signaling, setting aside the placement of B2BUAs (Back-to-Back User
Agents), is within a local emergency organization. In other words,
if either the originating human caller's User Agent (UA) or the
destination human callee's UA is part of the local emergency
organization, this is a valid use of 'esnet'.
The 'esnet' namespace has 5 priority-values, in a specified relative
priority order, and is registered as a queue-based namespace in
compliance with [RFC4412]. SIP entities that support preemption
treatment (see Section 5 of [RFC4412]) can be configured according to
local policy. Display names for the 'esnet' values displayed can
likewise be set according to local policy.
The following network diagram provides one example of local policy
choices when using the 'esnet' namespace:
|<-'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 the figure, the 'esnet' namespace is used within the ESInet on the
right side of the diagram. How it is specifically utilized is out of
scope for this document and is left to local jurisdictions to define.
Whether preemption is implemented in the ESInet and the values
displayed to the ESInet users is likewise out of scope. Adjacent
ASPs to the ESInet may have a trust relationship that includes
allowing this/these neighboring ASP(s) to use the 'esnet' namespace
to differentiate SIP requests and dialogs within the ASP's network.
The exact mapping between the internal and external sides of the edge
proxy at the ESInet boundaries is out of the scope of this document.
3. "esnet" Namespace Definition
The 'esnet' namespace is not generic for all emergencies because
there are a lot of different kinds of emergencies, some on a military
scale ([RFC4412] defines 3 of these), some on a national scale
([RFC4412] defines 2 of these), and some on an international scale.
Each type of emergency can also have its own namespace(s); although
there are many defined for other uses, more are possible -- so using
the public emergency service number (such as 911, 112, or 999) to
call for police officers, firefighters, or emergency medical
technicians (etc.) does not have a monopoly on the word "emergency".
The namespace 'esnet' has been chosen, roughly to stand for
"Emergency Services NETwork", 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. An example of
the latter is a PSAP operator calling back someone who previously
called an emergency service number (such as 911, 112, or 999) and the
communication was terminated before it -- in the PSAP operator's
judgment -- should have been.
Below is an example of a Resource-Priority header field using the
'esnet' namespace:
Resource-Priority: esnet.0
3.1. Namespace Definition Rules and Guidelines
This specification defines one unique namespace for emergency calling
scenarios, 'esnet' and registers this namespace with IANA. This 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 (below) from lowest priority to
highest priority. In an attempt to not limit this namespace's use in
the future, more than one priority-value is assigned to the 'esnet'
namespace. This document does not recommend which Priority-value is
used where in which situation or scenario. That is for another
document to specify. To be effective, the choice within a national
jurisdiction needs to be coordinated by all sub-jurisdictions to
maintain uniform SIP behavior throughout an emergency calling system
of that nation.
The relative priority order for the 'esnet' namespace is as follows:
(lowest) esnet.0
esnet.1
esnet.2
esnet.3
(highest) esnet.4
The 'esnet' namespace will have priority queuing registrations for
these levels per Section 4.5.2 of [RFC4412]. Although no preemption
is specified in this document for any levels 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 originated in RFC 4412 apply with regard to
an RP actor who understands more than one namespace, and 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
The Security considerations that apply to RFC 4412 [RFC4412] apply
here.
For networks that act on the SIP Resource-Priority header field,
incorrect use of namespaces can result in traffic that should have
been given preferential treatment not receiving 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 prevent granting preferential treatment to
unauthorized users not calling for emergency help even if they are in
the ESInet, as well as to prevent misuse by callers outside the
ESInet.
A simple means of preventing this usage is to not allow traffic
marked 'esnet' to get preferential treatment unless the destination
is towards the local/regional ESInet. This is not a consideration
for internetwork traffic within the ESInet, or generated out of the
ESInet. Calling an emergency service number (such as 911, 112, or
999) is fairly local in nature, with a finite number of URIs that are
likely to be considered valid within a portion of a network receiving
SIP signaling.
This namespace is not intended for use on the Internet because of the
difficulty in detecting abuse; specifically, it can trivially be
forged and used on a non-emergency session to obtain resource
priority. Some networks may determine that it can reasonably prevent
abuse and/or that the consequences of undetected abuse is not
significant. In such cases, use of 'esnet' on the Internet MAY be
allowed.
6. Acknowledgements
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 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
AI ELI5
On this page
§1Introduction
SIP (Session Initiation Protocol) is used to set up voice and video calls over IP networks. RFC 7135 defines a new way to mark emergency calls for priority treatment by creating the 'esnet' namespace for the SIP Resource Priority header. The RFC itself does not define how networks should treat these priority calls, but it registers the namespace so emergency systems can use it consistently.
The 'esnet' namespace is designed specifically for use within controlled networks like Emergency Services Networks (ESInets) and IP Multimedia Subsystems, where administrators can enforce policies and prevent misuse. It is not intended for use on the open public Internet because the header can be easily forged.
In an emergency network, important calls need special treatment. This creates a label that says 'this is an emergency call, please prioritize it.'
§2Where and How the Namespace is Used
The 'esnet' namespace has specific rules about when it should be used. It MUST only be used when at least one end of the call is within a local emergency organization—either the caller or the receiver (or someone in between) must be an emergency service provider or first responder. This includes calls to a PSAP (Public Safety Answering Point, the 911-equivalent center), calls between PSAPs, and calls from a PSAP to first responders.
Unlike a simple marking that just identifies an emergency call, the Resource Priority header specifically requests preferential network treatment. Both can be used together: the emergency identifier marks what the call is for, while the Resource Priority namespace requests the network to allocate resources accordingly.
The priority label can only be used when a real emergency organization is involved in the call. It tells the network, 'please treat this call better than normal calls.'
§3The esnet Namespace and Its Priority Levels
The 'esnet' namespace provides five priority levels, numbered 0 (lowest) through 4 (highest): esnet.0, esnet.1, esnet.2, esnet.3, and esnet.4. This allows emergency systems to differentiate between different types of emergency calls according to their local policies. For example, a call from an ordinary citizen to a PSAP might receive priority level 1, while a call from one PSAP to another or from a PSAP to the national emergency management might receive level 4.
The RFC does not prescribe which types of calls should use which priority levels—that is left to each jurisdiction or emergency network to define through local policy. The namespace is registered as a queue-based system, which means calls are placed in priority queues, but preemption (disconnecting a lower-priority call to make room for higher) is optional and requires explicit configuration.
The 'esnet' system gives emergency calls a number from 0 to 4, with 4 being the most important. Each area can decide which types of calls get which numbers based on their needs.
§4How the Namespace Fits into Emergency Networks
RFC 7135 includes a network diagram showing how the 'esnet' namespace is used. Emergency calls originating from regular user networks flow through proxies to the emergency services network (ESInet), where the 'esnet' namespace can be used. Inside the ESInet, all calls between PSAPs and to first responders (police, fire, national agencies) can use the priority marking. Application Service Providers that connect securely to the ESInet may also be allowed to use the namespace if there is a trust relationship with the emergency network.
The namespace may also be used for calls going outbound from the ESInet back to the general network when callback or follow-up communication is needed. The exact handling of priority at the boundaries between the public network and the ESInet is left to local administration.
Emergency networks have special boundaries where calls come in and go out. The priority label can be used inside the emergency network and by trusted partners connected to it.
§5Security and Scope Limitations
The main security concern is that the SIP Resource Priority header is easy to forge on open networks. An attacker could attach the 'esnet' label to a regular call to trick networks into giving it priority. This is why RFC 7135 explicitly limits 'esnet' to use within managed networks like ESInets and IP Multimedia Subsystems, where administrators can monitor and control who is allowed to set these headers.
The RFC clarifies that precautions must be taken to prevent unauthorized users from marking their calls as 'esnet' priority. One simple approach is to not honor 'esnet' priority markings unless the destination is known to be part of the local emergency system. The rules from RFC 4412 (the base Resource Priority specification) apply to everything else about how the header behaves.
Anyone could write a fake priority label on their own messages. To stay safe, emergency networks only trust these labels when they come through special, protected connections.