RFC 8606
ISDN User Part (ISUP) Cause Location Parameter for the SIP Reason Header Field
RFC 8606: ISUP Cause Location Parameter for the SIP Reason Header Field π
Part 1 of 2 π
Okay bestie, this is RFC 8606 and it's giving "small add-on, huge vibes" π¦. It was written by R. Jesske at Deutsche Telekom π©πͺ and published in June 2019 πΈ. It's a Standards Track document, so it's a real spec the Internet actually follows β¨. It has ISSN 2070-1721 π. The main thing is that it updates RFC 3326 π, which means it adds something new to the SIP Reason header field that RFC 3326 already set up.
Abstract
okay so the SIP Reason header field is built to carry ISUP cause values and SIP response codes π. Some SIP services need to know the ISUP location where a call got released in the PSTN (Public Switched Telephone Network) π , otherwise they can't read the reason of release correctly π. This document updates RFC 3326 by adding a location parameter just for that π₯.
Status of This Memo β¨
This is an Internet Standards Track document π.
It's a product of the Internet Engineering Task Force (IETF) π . It represents the consensus of the IETF community π«Ά. It went through public review and got approved for publication by the Internet Engineering Steering Group (IESG) π. More info on Internet Standards is in Section 2 of RFC 7841 π.
For the current status, any errata, and how to give feedback, check https://www.rfc-editor.org/info/rfc8606 π¦.
Copyright Notice π
Copyright (c) 2019 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) as in effect on the date of publication π. Please read these carefully, because they describe your rights and restrictions for 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 they come without warranty as described in the Simplified BSD License π.
Table of Contents π§
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. Rationale . . . . . . . . . . . . . . . . . . . . . . . . . . 3
4. Mechanism . . . . . . . . . . . . . . . . . . . . . . . . . . 3
5. Example . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
6. Privacy Considerations . . . . . . . . . . . . . . . . . . . 5
7. Security Considerations . . . . . . . . . . . . . . . . . . . 5
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6
8.1. Registration of the Location Parameter for the Reason
Header Field . . . . . . . . . . . . . . . . . . . . . . 6
9. Normative References . . . . . . . . . . . . . . . . . . . . 6
Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 7
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 7
1. Introduction β¨
okay so Section 3.4 of [RFC3326] describes a SIP message flow for canceling an INVITE request when a REL (release) message shows up from the ISUP side π. That document defines the SIP Reason header field [RFC3326], which is used to say what the reason of release was π . The reason of release tells you why a SIP Dialog or a PSTN call got terminated, in cases where the call was interworked to the PSTN π₯. The termination could be normal πΈ, based on a failure inside an entity (like a temporary failure) π, or caused by other stuff (like congestion) π. The reason can be either a SIP response or an ISUP release cause as specified within [Q.850] π. [RFC6432] says an ISUP [Q.850] cause code can ride along inside a SIP response β¨, but the Q.850 location information can't π. That location info tells you which part of the ISUP network the call was released in π¦.
This document adds a location value parameter to the reason-extension parameter defined in [RFC3326] π, so the [Q.850] location value can be interworked from the PSTN π. The interworking from the PSTN only needs to include the location that the interworking gateway received π«Ά. [Q.850] defines the cause code values and the locations used in ISDN and DSS1 (Digital Subscriber Signalling System No. 1) environments π. The cause code tells you the reason a call was released, and the location tells you where it was released π.
2. Terminology π
Here's the key-word situation π₯. 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 π§.
3. Rationale πΈ
The main goal of this parameter is for use in IMS (IP Multimedia Subsystem) networks defined by 3GPP π‘. It's also open to any other networks that have ISUP interworking gateways and use Q.850 reason codes π. The point is to hold the location of the call release, so it can be carried from the originating PSTN entity to the SIP entity, either in a response or in a BYE message β¨. The ISDN location is defined in [Q.850] π.
4. Mechanism π¦
As defined by [RFC6432], any SIP Response message, with the exception of 100 (Trying), MAY contain a Reason header field with a Q.850 [Q.850] cause code π.
This specification adds a parameter with the ISUP location value defined in [Q.850] to the Reason header field π. It identifies where the call got released in ISUP π₯. The location is a 4-bit value that reflects the possible places an ISUP call can be released π. Some values are spare or reserved for national use π. The Augmented BNF (ABNF) [RFC5234] for this parameter is shown in Figure 1 π .
reason-extension =/ isup-cause-location
isup-cause-location = "location" EQUAL isup-location-value
isup-location-value =
"U" / ; for 0 0 0 0 user
"LPN" / ; for 0 0 0 1 private network serving the local user
"LN" / ; for 0 0 1 0 public network serving the local user
"TN" / ; for 0 0 1 1 transit network
"RLN" / ; for 0 1 0 0 public network serving the remote user
"RPN" / ; for 0 1 0 1 private network serving the remote user
"LOC-6" / ; for 0 1 1 0 spare
"INTL" / ; for 0 1 1 1 international network
"LOC-8" / ; for 1 0 0 0 spare
"LOC-9" / ; for 1 0 0 1 spare
"BI" / ; for 1 0 1 0 network beyond interworking point
"LOC-11" / ; for 1 0 1 1 spare
"LOC-12" / ; for 1 1 0 0 reserved for national use
"LOC-13" / ; for 1 1 0 1 reserved for national use
"LOC-14" / ; for 1 1 1 0 reserved for national use
"LOC-15" ; for 1 1 1 1 reserved for national use
Figure 1: ABNF for isup-cause-location
Note: These are the location values defined within [Q.850]. The 'LOC-*' names are the wire codepoints for the values currently left as 'spare' or 'reserved' in [Q.850]; these will continue to be the wire codepoints in the case of future allocation or national usage of the such values. β¨
The UAC or UAS SHALL include the location parameter in a request or response when it sets up the Reason header field with a [Q.850] cause, as long as the ISUP [Q.850] location is available π«Ά.
The use of the location parameter is restricted to Q.850 cause values π. Other values MUST be ignored if present π ββοΈ.
5. Example π
Here's a SIP 404 response with a Reason header field that has a [Q.850] cause value and an isup-cause-location value π. The 404 Response gets sent when a gateway receives an ISUP release with a [Q.850] cause set to 1, which means Unallocated (unassigned) number, i.e., the number isn't known in the PSTN π.
SIP/2.0 404 Not Found
Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bKx5st
Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK4321
From: Alice <sips:alice@atlanta.example.com>;tag=1234567
To: Bob <sips:bob@biloxi.example.com>;tag=765432
Call-ID: 12345600@atlanta.example.com
CSeq: 1 INVITE
Reason: Q.850;cause=1;text="Unallocated (unassigned) number";
location=LN
Content-Length: 0
Figure 2: Example of a Location in the Reason Header Field πΈ
9. Normative References β¨
Okay so this is the reading list for the spec, bestie π Every doc here is a must-read if you want to actually implement this stuff. Here's the squad:
[Q.850] ITU-T, "Usage of cause and location in the Digital Subscriber Signalling System No. 1 and the Signalling System No. 7 ISDN user part", Recommendation ITU-T Q.850, October 2018, <https://www.itu.int/rec/T-REC-Q.850>.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, <https://www.rfc-editor.org/info/rfc2119>.
[RFC3326] Schulzrinne, H., Oran, D., and G. Camarillo, "The Reason Header Field for the Session Initiation Protocol (SIP)", RFC 3326, DOI 10.17487/RFC3326, December 2002, <https://www.rfc-editor.org/info/rfc3326>.
[RFC3398] Camarillo, G., Roach, A., Peterson, J., and L. Ong, "Integrated Services Digital Network (ISDN) User Part (ISUP) to Session Initiation Protocol (SIP) Mapping", RFC 3398, DOI 10.17487/RFC3398, December 2002, <https://www.rfc-editor.org/info/rfc3398>.
[RFC3968] 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, December 2004, <https://www.rfc-editor.org/info/rfc3968>.
[RFC5234] Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax Specifications: ABNF", STD 68, RFC 5234, DOI 10.17487/RFC5234, January 2008, <https://www.rfc-editor.org/info/rfc5234>.
[RFC6432] Jesske, R. and L. Liess, "Carrying Q.850 Codes in Reason Header Fields in SIP (Session Initiation Protocol) Responses", RFC 6432, DOI 10.17487/RFC6432, November 2011, <https://www.rfc-editor.org/info/rfc6432>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, <https://www.rfc-editor.org/info/rfc8174>.
Acknowledgments π«Ά
Huge thanks to the people who gave comments and reviewed this, you're all literally the best π Michael Kreipl, Thomas Belling, Marianne Mohali, Peter Daws, Paul Kyzivat, Dale Worley, Yehoshua Gev, and Keith Drage β¨
Author's Address π
Roland Jesske Deutsche Telekom Heinrich-Hertz Str, 3-7 Darmstadt 64295 Germany
Email: r.jesske@telekom.de URI: www.telekom.de
π¦ where this page comes from
- ietf: rfc8606 2019-06
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms