dispatch R. Jesske Internet-Draft L. Liess Intended status: Informational Deutsche Telekom Expires: May 15, 2010 November 11, 2009 Use of the Reason header filed in Session Initiation Protocol (SIP) responses draft-jesske-dispatch-reason-in-responses-01 Abstract Although the use of the Reason header field in responses is considered in RFC3326, doing so is not specified for any existing response code. Nonetheless, the Reason header field has been widely used in responses to carry Q.850 reason codes for failure responses to INVITEs that have been gatewayed to PSTN systems. This document specifies and formally permits the use of the Reason header field in SIP responses to carry Q.850 reason codes for this and other purposes. Status of this Memo This Internet-Draft is submitted to IETF in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt. The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. This Internet-Draft will expire on May 15, 2010. Copyright Notice Copyright (c) 2009 IETF Trust and the persons identified as the document authors. All rights reserved. Jesske & Liess Expires May 15, 2010 [Page 1] Internet-Draft Reason Header November 2009 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 BSD License. This document may contain material from IETF Documents or IETF Contributions published or made publicly available before November 10, 2008. The person(s) controlling the copyright in some of this material may not have granted the IETF Trust the right to allow modifications of such material outside the IETF Standards Process. Without obtaining an adequate license from the person(s) controlling the copyright in such materials, this document may not be modified outside the IETF Standards Process, and derivative works of it may not be created outside the IETF Standards Process, except to format it for publication as an RFC or to translate it into languages other than English. Jesske & Liess Expires May 15, 2010 [Page 2] Internet-Draft Reason Header November 2009 Table of Contents 1. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3. Requirements . . . . . . . . . . . . . . . . . . . . . . . . . 4 3.1. Used Cases for the requirements . . . . . . . . . . . . . 5 4. Overall Applicability . . . . . . . . . . . . . . . . . . . . 5 5. Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . 6 5.1. Procedures at the UA . . . . . . . . . . . . . . . . . . . 6 5.2. Procedures at a SIP proxy . . . . . . . . . . . . . . . . 6 5.3. Procedures at an application server . . . . . . . . . . . 6 6. Procedures at an interworking point with ISUP . . . . . . . . 7 7. Example . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 8. Security Considerations . . . . . . . . . . . . . . . . . . . 9 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9 10. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 9 11. Normative References . . . . . . . . . . . . . . . . . . . . . 9 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 10 Jesske & Liess Expires May 15, 2010 [Page 3] Internet-Draft Reason Header November 2009 1. Terminology 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]. This document uses terms from [RFC3261]. 2. Overview With introducing the Session Initiation Protocol [RFC3261]into the IP Multimedia Subsystem (IMS) which is defined by the 3rd Generation Partnership Project the it was required to interoperate with the PSTN/ISDN. The European Telecommunication Standards Institute (ETSI) has defined a Next Generation Network (NGN) where a substantial part of it is based on the IMS. ETSI has developed a number of requirements to support the usage of SIP in Next Generation Networks that interoperate, at the service level, with the Public Switched Telephone Network (PSTN), the Integrated Services Digital Network (ISDN), the 3GPP IP Multimedia Subsystem (IMS), and SIP networks and terminals that implement the service logic. Also ITU-T has specified an interworking between SIP and PSTN/ISDN networks [ITU.Q1912.5.2004] where reason within responses are allready supported. In order to provide full support in SIP of existing services, extensions to SIP are needed. This document proposes the use of the Reason header field in responses. This is needed for creating services that must be interoperable with the PSTN/ISDN network and the interoperability of traversing communications through SIP not using SIP-I. The main used case for reason header within responses are interworking situations with PSTN/ISDN networks where the ISUP cause In many cases the mapping of specific cause values will result in a generic SIP Response like it is shown below. [RFC3398] and other Interworking specifications like [3GPP.29.163] are describing the mapping of ISUP Cause Values to SIP and vice versa. Looking on the specific mapping shows that information will be lost when the call traverses ISUP without using SIP-T. Example: Jesske & Liess Expires May 15, 2010 [Page 4] Internet-Draft Reason Header November 2009 [RFC3398] describes the mapping of following ISUP Causes to 503 and 408 like follows. ISUP Cause value SIP response ---------------- ------------ 34 no circuit available 503 Service unavailable 38 network out of order 503 Service unavailable 41 temporary failure 503 Service unavailable 42 switching equipment congestion 503 Service unavailable 47 resource unavailable 503 Service unavailable 58 bearer capability not presently 503 Service unavailable Available 88 incompatible destination 503 Service unavailable 18 no user responding 408 Request Timeout The mapping back is shown as follows: Response received Cause value in the REL ----------------- ---------------------- 503 Service unavailable 41 Temporary failure 408 Request timeout 102 Recovery on timer expiry The Example with 503 shows that a couple of different ISUP Cause values are interworked to only one SIP response. With 408 the meaning of the release cause is changed when interworked back to ISUP. Also Services built on Cause 18 (e.G. a 2nd call attempt on an other number, this service is like a sequential forking) will not work. 3. Requirements REQ-1: It should be possible to support PSTN-SIP-PSTN scenarios where the reason of a call release can be transferred though the SIP domain without any loss of information and no change of reason. REQ-2: It should be possible to provide correct announcements to a SIP user based on the reason for call clearing within the PSTN network or the PSTN user. The PSTN does normally not provide announcements to Jesske & Liess Expires May 15, 2010 [Page 5] Internet-Draft Reason Header November 2009 originating user when clearing the call. REQ-3: A UA may have the ability to display ISUP specific release causes or show a equivalent text. A inclusion of [Q.850] causes is out of scope. REQ-4: A application server providing specific PSTN like services may have the possibility to include ISUP specific release causes 3.1. Used Cases for the requirements REQ-1 shows the scenario between two ISUP Gateways where SIP-I is not a solution to be used. A IMS network defined by 3GPP where SIP-I is not part of the framework is such an example. A used case is shown in Figure 2. REQ-2 identifies the scenario the gateway passes on the cause and some announcement server translates the cause into the appropriate announcement. REQ-3 excludes that a SIP UA includes [Q.850] cause values because that is not needed due to the different context of a SIP UA and of course the existing SIP response codes. Also the possibility of displaying Q.850 causes should be used very restrictive and is not recommended. A used case could be a used case could be a Integrated Access Device where a POTS Phone is connected to. It is recommended to ignore the cause value if received be a UA. REQ-4: allows an Apllication Server that is providing specific Services simulating PSTN services to include Q.850 Causes. This is needed specific for IMS operartors which are substituting their PSTN to IMS. These operators may run Services in the SIP domain that are provided to PSTN endusers. 4. Overall Applicability The SIP procedures specified in this document are foreseen for networks providing simulation services and/or interworking to the PSTN/ISDN. The document is describing the use of the Reason header in SIP responses. These procedures are only valuable if the reason contained in the element "protocol" is "Q.850". A inclusion of a SIP Jesske & Liess Expires May 15, 2010 [Page 6] Internet-Draft Reason Header November 2009 reason (protocol="SIP") is not helpful due to the fact that the response already provides the SIP reason. The Release Causes are described within [Q.850]. (Note: The ETSI specifications can be downloaded under http://pda.etsi.org/pda/queryform.asp free of charge.) The appearance of the Reason header is applicable to final responses 3xx, 4xx, 5xx and 6xx and 18x and 199 provisional responses [I-D.ietf-sipcore-199]. 5. Procedures 5.1. Procedures at the UA A UA that supports the Reason header field can process the [Q.850] Cause Value and display it or an equivalent text. The inclusion of a Reason header field by UA is only for B2B UA interworking with the PSTN/ISDN or providing services foreseen. 5.2. Procedures at a SIP proxy SIP proxies that receive a response containing a Reason header field is forwarding the response without changing the reason. A SIP proxy receiving a request that includes a Reason header field can route the request to an application server for further analysis and base services on it. Based on network policy a Proxy can remove a Reason header field send from a UAC. 5.3. Procedures at an application server An application server that receives a SIP request that contains a response including a Reason header MAY analyze the SIP Reason and base further procedures on this analyses. For Example the application server could use the reason for sending a announcement towards the originating entity of the session. As an example the Anonymous Communication Rejection (ACR) service defined by ETSI Telecommunications and Internet converged Services and Protocols for Advanced Networking (TISPAN) Jesske & Liess Expires May 15, 2010 [Page 7] Internet-Draft Reason Header November 2009 6. Procedures at an interworking point with ISUP For interoperability reasons the Q.850 Cause Value of a Release shall be mapped to the Reason Header. 7. Example Figure 1 shows the example of SIP interworking with the PSTN/ISDN. Cause #87 is sent when the connecting user is not member of a Closed User Group. A Gateway Proxy AS | IAM | | | |------------------>| INVITE | | | |----------------->| INVITE | | | 100 Trying |----------------->| | |<-----------------| 100 Trying | | | |<-----------------| | ACK SDP held | | | |<------------------| | 603 Decline | | | 603 Decline | Reason Q850 #87 | | | Reason Q850 #87 | | | REL Cause #87 | |<-----------------| | |<-----------------| | |<----------------- | | | | | | | | | | | | | | | Figure 1: ISUP-SIP Call Figure 2 shows the example where the SIP network is used as transit between PSTN/ISDN networks. This avoids that the Mapping back to the Q.850 cause within ISUP change the meaning of the reason for release of the call. Jesske & Liess Expires May 15, 2010 [Page 8] Internet-Draft Reason Header November 2009 A Gateway Gateway B | IAM | | | |------------------>| INVITE | | | |----------------->| IAM | | | 100 Trying |----------------->| | |<-----------------| 100 Trying | | | 603 Decline | | | | Reason Q850 #87 | REL Cause #87 | | REL Cause #87 | |<-----------------| | |<-----------------| | |<----------------- | | | | | | | | | | | | | | | Figure 2: Transit case Figure 3 shows the example where the SIP network puts an announcement towards the UAB. The AS sends an announcement with a specific text back. After some Time the Response will be sent back to the UA A and closes all open transactions. With this possibility the SIP user can informed with more specific information than only the Response code. A AS Gateway B | INVITE | | | |------------------>| INVITE | | | |----------------->| IAM | | | 100 Trying |----------------->| | |<-----------------| | | | 503 Decline | | | | Reason Q850 #41 | REL Cause #41 | | | |<-----------------| | Announcement |<-----------------| | |< ================ | | | | | | | | 503 after Timeout| | | |<----------------- | | | Figure 3: Transit case Figure 3: Call Release within the PSTN with an announce played within Jesske & Liess Expires May 15, 2010 [Page 9] Internet-Draft Reason Header November 2009 the SIP network. 8. Security Considerations The presence of the Reason header in a response does not affect the treatment of the response. Including such a header by an untrusted entity could adulterate the reactions of the originating entities. E.G. sending back a cause value "87" can cause an announcement within the PSTN/ISDN saying that the call was rejected due to the Closed User Group service. Therefore it is RECOMMENDED to include the Reason header information in Responses only by trusted entities as it is described within [RFC3325]. 9. IANA Considerations This document describes the use of the Reason header field described within [RFC3326] . No additional SIP elements are defined within this document. Therefore, this document does not provide any action to IANA. 10. Acknowledgments The author would like to thank the members of the ETSI TISPAN WG3 for their comments to this memo. 11. Normative References [3GPP.29.163] 3GPP, "Interworking between the IP Multimedia (IM) Core Network (CN) subsystem and Circuit Switched (CS) networks", 3GPP TS 29.163 6.12.0, June 2009. [I-D.ietf-sipcore-199] Holmberg, C., "Response Code for Indication of Terminated Dialog", draft-ietf-sipcore-199-00 (work in progress), April 2009. [ITU.Q1912.5.2004] International Telecommunications Union, "Interworking between Session Initiation Protocol (SIP) and Bearer Independent Call Control protocol or ISDN User Part [ITU-T Jesske & Liess Expires May 15, 2010 [Page 10] Internet-Draft Reason Header November 2009 Recommendation Q.1912.5 (2005)]", ITU Recommendation Q.1912.5, April 2004. [Q.850] "Usage of cause and location in the Digital Subscriber Signalling System No. 1 and the Signalling System No. 7 ISDN User Part [ITU-T Recommendation Q.850]", ITU Recommendation Q.850, April 1998. [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [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. [RFC3325] Jennings, C., Peterson, J., and M. Watson, "Private Extensions to the Session Initiation Protocol (SIP) for Asserted Identity within Trusted Networks", RFC 3325, November 2002. [RFC3326] Schulzrinne, H., Oran, D., and G. Camarillo, "The Reason Header Field for the Session Initiation Protocol (SIP)", RFC 3326, December 2002. [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, December 2002. Authors' Addresses Roland Jesske Deutsche Telekom Heinrich-Hertz-Strasse 3-7 Darmstadt, 64307 Germany Phone: +4961516282766 Email: r.jesske@telekom.de Jesske & Liess Expires May 15, 2010 [Page 11] Internet-Draft Reason Header November 2009 Laura Liess Deutsche Telekom Heinrich-Hertz-Strasse 3-7 Darmstadt, 64307 Germany Phone: +4961516282761 Email: Laura.Liess@telekom.de Jesske & Liess Expires May 15, 2010 [Page 12]