TOC 
dispatchR. Jesske
Internet-DraftL. Liess
Intended status: InformationalDeutsche Telekom
Expires: February 20, 2010August 19, 2009


Use of the Reason header filed in Session Initiation Protocol (SIP) responses
draft-jesske-dispatch-reason-in-responses-00

Status of this Memo

This Internet-Draft is submitted to IETF in full conformance with the provisions of BCP 78 and BCP 79. 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.

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 February 20, 2010.

Copyright Notice

Copyright (c) 2009 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 in effect on the date of publication of this document (http://trustee.ietf.org/license-info). Please review these documents carefully, as they describe your rights and restrictions with respect to this document.

Abstract

Although the use of the Reason header in responses is considered in RFC3326, doing so is not specified for any existing response code. This document specifies the use of the Reason header field in SIP responses to carry Q.850 reason codes for the failure of an INVITE. 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.



Table of Contents

1.  Terminology
2.  Overview
3.  Requirements
    3.1.  Used Cases for the requirements
4.  Overall Applicability
5.  Procedures
    5.1.  Procedures at the UA
    5.2.  Procedures at a SIP proxy
    5.3.  Procedures at an application server
6.  Procedures at an interworking point with ISUP
7.  Example
8.  Security Considerations
9.  IANA Considerations
10.  Acknowledgments
11.  Normative References
§  Authors' Addresses




 TOC 

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] (Bradner, S., “Key words for use in RFCs to Indicate Requirement Levels,” March 1997.).

This document uses terms from [RFC3261] (Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A., Peterson, J., Sparks, R., Handley, M., and E. Schooler, “SIP: Session Initiation Protocol,” June 2002.).



 TOC 

2.  Overview

With introducing the Session Initiation Protocol [RFC3261] (Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A., Peterson, J., Sparks, R., Handley, M., and E. Schooler, “SIP: Session Initiation Protocol,” June 2002.)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] (International Telecommunications Union, “Interworking between Session Initiation Protocol (SIP) and Bearer Independent Call Control protocol or ISDN User Part [ITU-T Recommendation Q.1912.5 (2005)],” April 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] (Camarillo, G., Roach, A., Peterson, J., and L. Ong, “Integrated Services Digital Network (ISDN) User Part (ISUP) to Session Initiation Protocol (SIP) Mapping,” December 2002.) and other Interworking specifications like [3GPP.29.163] (3GPP, “Interworking between the IP Multimedia (IM) Core Network (CN) subsystem and Circuit Switched (CS) networks,” June 2009.) 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:

[RFC3398] (Camarillo, G., Roach, A., Peterson, J., and L. Ong, “Integrated Services Digital Network (ISDN) User Part (ISUP) to Session Initiation Protocol (SIP) Mapping,” December 2002.) 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.



 TOC 

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 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] (, “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],” April 1998.) 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



 TOC 

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] (, “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],” April 1998.) 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.



 TOC 

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 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] (, “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],” April 1998.). (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 4xx, 5xx and 6xx and in addition for 199 Responses as defined within [I‑D.ietf‑sipcore‑199] (Holmberg, C., “Response Code for Indication of Terminated Dialog,” April 2009.).



 TOC 

5.  Procedures



 TOC 

5.1.  Procedures at the UA

A UA that supports the Reason header field can process the [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],” April 1998.) 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.



 TOC 

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.



 TOC 

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)



 TOC 

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.



 TOC 

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.




         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 the SIP network.



 TOC 

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] (Jennings, C., Peterson, J., and M. Watson, “Private Extensions to the Session Initiation Protocol (SIP) for Asserted Identity within Trusted Networks,” November 2002.).



 TOC 

9.  IANA Considerations

This document describes the use of the Reason header field described within [RFC3326] (Schulzrinne, H., Oran, D., and G. Camarillo, “The Reason Header Field for the Session Initiation Protocol (SIP),” December 2002.) . No additional SIP elements are defined within this document. Therefore, this document does not provide any action to IANA.



 TOC 

10.  Acknowledgments

The author would like to thank the members of the ETSI TISPAN WG3 for their comments to this memo.



 TOC 

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 (TXT).
[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 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 (TXT, HTML, XML).
[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 (TXT).
[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 (TXT).
[RFC3326] Schulzrinne, H., Oran, D., and G. Camarillo, “The Reason Header Field for the Session Initiation Protocol (SIP),” RFC 3326, December 2002 (TXT).
[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 (TXT).


 TOC 

Authors' Addresses

  Roland Jesske
  Deutsche Telekom
  Heinrich-Hertz-Strasse 3-7
  Darmstadt, 64307
  Germany
Phone:  +4961516282766
Email:  r.jesske@telekom.de
  
  Laura Liess
  Deutsche Telekom
  Heinrich-Hertz-Strasse 3-7
  Darmstadt, 64307
  Germany
Phone:  +4961516282761
Email:  Laura.Liess@telekom.de