RFC 5115
Telephony Routing over IP (TRIP) Attribute for Resource Priority
RFC 5115 π Telephony Routing over IP (TRIP) Attribute for Resource Priority
- Request for Comments: 5115 π
- Network Working Group β¨
- Authors: K. Carlberg (G11) and P. O'Hanlon (UCL) π¦
- Category: Standards Track π
- Date: January 2008 πΈ
The title block doesn't list anything this RFC obsoletes or updates, so there's nothing to flag there π
Status of This Memo π
okay so this one is an Internet standards track protocol for the Internet community. It's also asking for discussion and suggestions for improvements π«Ά If you want to know where this protocol stands in standardization, check the current edition of "Internet Official Protocol Standards" (STD 1). And distribution of this memo is unlimited, so share away π
Abstract π¦
this doc adds a new attribute to the Telephony Routing over IP (TRIP) protocol π The attribute links protocols and services in the Public Switched Telephone Network (PSTN) that offer authorized prioritization during call setup, as long as they can be reached through a TRIP gateway. Real-world examples of this preferential service are the Government Emergency Telecommunications Service (GETS) in the U.S. and the Government Telephone Preference Scheme (GTPS) in the U.K. π The new attribute is built on the NameSpace.Value tuple that's defined for the SIP Resource-Priority field.
1. Introduction π·
okay, intro time! An IP telephony gateway lets nodes on an IP network talk to entities on the circuit switched telephone network π The Telephony Routing over IP (TRIP) protocol [rfc3219] helps nodes on the IP network find a suitable gateway by using Location Servers πΊοΈ TRIP is policy-driven and works between administrative domains. It's all about advertising reachability, negotiating capabilities, and specifying the attributes of those gateways. iconic, honestly π§
TRIP is modeled after BGP-4 [rfc4271]. It uses path-vector advertisements that get distributed hop-by-hop (kind of like a Bellman-Ford routing algorithm) through Location Servers π¦ Those Location Servers are grouped into administrative clusters called Internet Telephony Administrative Domains (ITADs). If you want the big-picture framework discussion on TRIP, go check [rfc2871] π
This document defines a new attribute that's been registered with IANA π The reason for it, and the logic behind how it's specified, is explained in the sections that follow.
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]. Those words are the important ones, so read them carefully π
2. Emergency Telecommunications Service π¨
Emergency Telecommunications Service is a broad term for the services provided by systems that support emergency communications π«Ά One example is the U.S. Government Emergency Telecommunications Service (GETS). It currently runs over the U.S. Public Switched Telephone Network (PSTN) as a pay-per-use system for authorized personnel. GETS uses the T1.631-1993 ANSI standard [ANSI] to signal the presence of the National Security / Emergency Preparedness (NS/EP) codepoint in an ISDN User Part (ISUP) Initial Address Message (IAM) for Signaling System No. 7 (SS7). The key thing to know is that a signaling standard in the U.S. PSTN is what carries the activation or request for the GETS service π₯
Other priority standards that can be argued as emergency or disaster related are, from a protocol perspective, the H.460.4 ITU [itu460] standard on Call Priority designation for H.323 calls, and the I.255.3 [itu255] ITU standard on Multi-Level Precedence and Preemption Service π The latter has been built into private telephony systems like AUTOVON. In both cases there are signaling codepoints that tell apart telephony calls from authenticated and prioritized end users versus normal end users β¨ How that distinction works varies, and it's outside the scope of this document. For more on ETS and its requirements, see [rfc3689] and [rfc3690] π
3. SIP Resource-Priority Effort π
The early discussions on the IEPREP working group list, along with the presentation at the Adelaide IETF [ADEL00], produced strawman requirements for augmenting SIP so it could prioritize call signaling π¦ The effort then moved forward formally in the SIPPING working group, so SIP could prioritize access to circuit-switched networks, end systems, and proxy resources for emergency preparedness communication [rfc3487] π
The requirements in [rfc3487] led to the corresponding document [rfc4412] in the SIP working group. That document defines a new SIP header called Resource-Priority. This header is optional, and it's split into two parts: a NameSpace and a Value. The NameSpace uniquely identifies a group of one or more priorities. The Value identifies one of the priorities used for a SIP message π§
3.1. Benefits π
the Resource-Priority header in SIP has three basic benefits π The first is that it lets you signal the priority inside a SIP message to other entities on an IP network. The caveat is that some entities might not recognize or support the priority or the namespace. Still, the ability to signal priority for resources has been specified in SIP, which is the main point π
The second benefit is that telephony-related protocol codepoints from other standards can get a corresponding mapping to SIP NameSpace and Value tokens in the Resource-Priority header. So the current NS/EP codepoint in ANSI standard T1.631-1993 could have a corresponding NameSpace.Value token set for the IETF standards body. That mapping makes it easier to transparently bridge signals (aka codepoints) between standards from different organizations, whether they're private or public π
The third benefit is that the Resource-Priority header defines alphanumeric tokens, which makes it super versatile π¦ The NameSpace lets a wide set of priorities be defined and updated when needed, just by defining a new NameSpace token. That means nothing relies on a single set of priorities for every case β¨
3.2. Issue π€
Once you've defined a way to signal priority through gateways, the follow-up question is how you figure out which gateways support a given NameSpace. Disseminating that kind of information is within the scope of TRIP. However, the current TRIP specification doesn't include a component that advertises which gateways are associated with specific NameSpaces π To fix that omission, the next section defines a new TRIP attribute that associates one or more NameSpaces with a gateway π
4. New Attribute: ResourcePriority π
This section gets into the syntax and semantics of the ResourcePriority TRIP attribute. Its presentation follows the form of the existing attributes presented in Section 5 of [rfc3219] π«Ά
The attribute flags are set to the following:
Conditional Mandatory: False
Required Flags: Not Well-Known, Independent Transitive
Potential Flags: None
TRIP Type Code: 12
There are no dependencies on other attributes, so Conditional Mandatory is set to "False" β¨
Since the Resource-Priority field in SIP, with its corresponding NameSpace token, is optional, the ResourcePriority attribute in TRIP is optional too. That's why it's set to "Not Well-Known" πΈ
The Independent Transitive condition means the attribute is to be forwarded among all ITADs π¦ A Location Server that doesn't recognize the attribute also sets the Partial flag π§
4.1. Syntax of ResourcePriority π
The ResourcePriority attribute contains one or more NameSpace token identifiers. An initial set of identifiers is defined in [rfc4412], and subsequent identifiers can be found in the IANA registry π The syntax of the ResourcePriority attribute is copied from the "namespace" token syntax in [rfc4412], which in turn imported "alphanum" from [rfc3261]. It's an alphanumeric value, as shown below:
namespace = 1*( alphanum / "-" / "!" / "%" / "*" / "_" / "+"
/ "`" / "'" / "~" )
Note that an augmented version of Backus-Naur Form is found in [rfc4234] π
Since NameSpaces are arbitrary in length, each tuple consists of a Length value followed by a NameSpace value, as shown in the figure below. There is no padding between tuples π
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+---------------+---------------+--------------+----------------+
| NameSpace Length | NameSpace Value (variable) |
+---------------+---------------+--------------+----------------+
It's important to note that the priority (aka the "r-priority" token syntax) from [rfc4412] is NOT used in the ResourcePriority attribute π ββοΈ That's because the goal of the attribute is to advertise the NameSpace associated with a gateway, not the individual priorities inside that NameSpace π
4.2. Additional TRIP Considerations π§©
Section 5.12 of TRIP lists a number of considerations that should be addressed when defining new attributes π The first three (use of the attribute, its flags, and syntax) were already covered above in this section. The final three considerations are the ones below π
4.2.1. Route Origination π
The ResourcePriority attribute is not well-known. If a route has a ResourcePriority attribute associated with it, the Location Server (LS) MUST include that attribute in the advertisement it originates π
4.2.2. Route Aggregation π§Ί
Routes with differing ResourcePriority token values MUST NOT be aggregated π ββοΈ Routes with the same token values in the ResourcePriority attribute MAY be aggregated, and the same ResourcePriority attribute can be attached to the aggregated object β¨
4.2.3. Route Dissemination and Attribute Scope π‘
An LS MUST include the ResourcePriority attribute when communicating with peer LSs within its own domain π«Ά
If an LS receives the attribute from a peer LS in another domain, it MUST propagate the ResourcePriority attribute to other LSs within its domain π¦
An LS MAY add the ResourcePriority attribute when propagating routing objects to an LS in another domain. Whether the attribute gets included is a matter of local administrative policy πΈ
5. Security Considerations π
This document defines a new attribute for the TRIP protocol, and it has no direct security considerations of its own π«£ However, the security considerations for TRIP and its messages remain the same, and they're spelled out in Section 14 of [rfc3219]. Read that section, bestie, it's serious π
6. IANA Considerations π
As described in Section 4 above, one new "TRIP attribute" has been defined. Its name and code value are below π
Code Attribute Name
---- ----------------
12 ResourcePriority
These assignments are recorded in the following registry:
http://www.iana.org/assignments/trip-parameters
7. Acknowledgements π«Ά
The authors appreciate the review and comments from James Polk and Henning Schulzrinne π
8. References π
(The reference list continues in part 2 π)
8.1. Normative References π
okay so these are the must-read docs bestie, the ones you need before anything else makes sense π§ (the text itself is still the same, I'm not changing a word of the citations)
[rfc3219] Rosenberg, J., Salama, H., and M. Squire, "Telephony
Routing over IP (TRIP)", RFC 3219, January 2002.
[rfc4412] Schulzrinne, H. and J. Polk, "Communications Resource
Priority for the Session Initiation Protocol (SIP)", RFC
4412, February 2006.
8.2. Informative References π
these are the extra reads, the lore that's super helpful but not required to get the vibe π«Ά
[ADEL00] IETF Proceedings (47th), SIP Working Group, Adelaide,
Australia, June 2000.
[ANSI] ANSI, "Signaling System No. 7 (SS7): High Probability of
Completion (HPC) Network Capability", ANSI T1.631, 1993.
[itu460] ITU, "Call Priority Designation for H.323 Calls", ITU
Recommendation H.460.4, November 2002.
[itu255] ITU, "Multi-Level Precedence and Preemption Service", ITU
Recommendation I.255.3, July 1990.
[rfc2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[rfc2871] Rosenberg, J. and H. Schulzrinne, "A Framework for
Telephony Routing over IP", RFC 2871, June 2000.
[rfc3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston,
A., Peterson, J., Sparks, R., Handley, M., and E. Schooler,
"SIP: Session Initiation Protocol", RFC 3261, June 2002.
[rfc3487] Schulzrinne, H., "Requirements for Resource Priority
Mechanisms for the Session Initiation Protocol (SIP)", RFC
3487, February 2003.
[rfc3689] Carlberg, K. and R. Atkinson, "General Requirements for
Emergency Telecommunication Service (ETS)", RFC 3689,
February 2004.
[rfc3690] Carlberg, K. and R. Atkinson, "IP Telephony Requirements
for Emergency Telecommunications Service (ETS)", RFC 3690,
February 2004.
[rfc4234] Crocker, D., Ed., and P. Overell, "Augmented BNF for Syntax
Specifications: ABNF", RFC 4234, October 2005.
[rfc4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A Border
Gateway Protocol 4 (BGP-4)", RFC 4271, January 2006.
Authors' Addresses π
these are the humans behind the doc, so give them a little wave ππ¦
Ken Carlberg
G11
123a Versailles Circle
Baltimore, MD
USA
EMail: carlberg@g11.org.uk
Piers O'Hanlon
University College London
Gower Street
London
UK
EMail: p.ohanlon@cs.ucl.ac.uk
Full Copyright Statement π
the legal part, so I kept it word for word so nothing gets lost in translation π
Copyright (C) The IETF Trust (2008).
This document is subject to the rights, licenses and restrictions
contained in BCP 78, and except as set forth therein, the authors
retain all their rights.
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Intellectual Property π
the IETF is basically saying "we're not claiming who owns what, go check the official IPR pages" π
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at
ietf-ipr@ietf.org.
π¦ where this page comes from
- ietf: rfc5115 2008-01
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms