Network Working Group M. Mohali Internet-Draft France Telecom Orange Intended status: Standards Track October 18, 2010 Expires: April 21, 2011 Extending the Session Initiation Protocol (SIP) Reason Header for Call Forwarding draft-mohali-sipcore-reason-call-forwarding-00 Abstract This document defines a new protocol value "CDIV" for the Reason Header field and a new IANA Registry for registering Call Forwarding service reasons. This new value enables signaling that a request has been retargeted as a result of a Call Forwarding service invocation. Requirements Language 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]. Status of this Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at http://datatracker.ietf.org/drafts/current/. 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." This Internet-Draft will expire on April 21, 2011. Copyright Notice Copyright (c) 2010 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 Mohali Expires April 21, 2011 [Page 1] Internet-Draft Reason extension for Call Forwarding October 2010 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 . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3. Reason header extension . . . . . . . . . . . . . . . . . . . . 4 4. Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 7 6. Security Considerations . . . . . . . . . . . . . . . . . . . . 9 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 9 8. Normative References . . . . . . . . . . . . . . . . . . . . . 9 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 9 Mohali Expires April 21, 2011 [Page 2] Internet-Draft Reason extension for Call Forwarding October 2010 1. Introduction The Reason header field defined in [RFC3326] provides a mechanism to signal the reason why a Session Initiation Protocol (SIP) request or response was issued. This document requests IANA registration of a new protocol value "CDIV" for the Reason Header field and a new IANA Registry for registering Call Forwarding reasons. This extension enables to indicate that a request has been retargeted as a result of a Call Forwarding service invocation. [RFC4244] defines a SIP header field, History-Info, to provide a standard mechanism for capturing requests history information. This allows receiving applications to determine hints about how and why the call arrived at the application/user. The History-Info header field can contain an optional reason, by including the Reason Header [RFC3326] escaped in the hi-targeted-to-uri field. There are situations where a call is retargeted as a result of receiving a SIP response (e.g. 3XX response) in which case the Reason Header contains the SIP status code. There are other situations where a call is retargeted as a result of a Call Forwarding service invocation by an application server (e.g. Call Forwarding Unconditional). The extension of the Reason header defined in the present document covers the second type of situation and allows to convey the identification of such service in the signalling. This might help other applications/entities invoked downstream to take appropriate decisions to avoid undesired service interactions or to take advantage of this information (eg. delivering the appropriate voicemail announcement). Note: [RFC3326] states that a SIP message MAY contain more than one Reason value (i.e., multiple Reason lines), but all of them MUST have different protocol values and an implementation is free to ignore Reason values that it does not understand. 2. Terminology o Call Forwarding: the term "Call Forwarding" is used in this document to refer to the supplementary service defines, among others, in [TS_24.604] and also called "Communication Diversion (CDIV)". Both terminologies are considered identical in this document. o Retargeting: the term "retargeting" is used in this document to refer to the process of changing a Uniform Resource Identifier (URI) in a request during a session establishment as described in [RFC4244]. Mohali Expires April 21, 2011 [Page 3] Internet-Draft Reason extension for Call Forwarding October 2010 3. Reason header extension The syntax of the Reason Header as defined in [RFC3326] is as follows: Reason = "Reason" HCOLON reason-value *(COMMA reason-value) reason-value = protocol *(SEMI reason-params) protocol = "SIP" / "Q.850" / token reason-params = protocol-cause / reason-text / reason-extension protocol-cause = "cause" EQUAL cause cause = 1*DIGIT reason-text = "text" EQUAL quoted-string reason-extension = generic-param This document adds a new protocol value for the protocol field of the Reason header : "CDIV": The cause parameter contains a Call Forwarding cause code. When this protocol value is used, the protocol-cause and the reason- text fields shall be set to values registered in a new IANA Registry for registering Call Forwarding types. We define the following Call Forwarding cause codes: Mohali Expires April 21, 2011 [Page 4] Internet-Draft Reason extension for Call Forwarding October 2010 Value Default Text Description ----- ------------ ------------- 1 Unknown/not available The call has been diverted for an unknow/not available reason. 2 User Busy The call has been diverted because the UE was determined busy. 3 No reply The call has been diverted because the UE has not replied within a defined period of time. 4 Unconditional The call has been diverted unconditionally. 5 Deflection during alerting The call has been diverted because the UE requested the redirection during the alerting phase. 6 Deflection immediate response The call has been diverted because of an immediate redirecting response to the INVITE. 7 Mobile subscriber not reachable The call has been diverted because the UE is not reachable. 8 Not Logged-in The call has been diverted because the UE is not registered (logged-in). For retargets that are the result of a Call Forwarding service, a Reason MUST be associated with the hi-targeted-to-uri field of the diverting user in the History-Info header. If the Call Forwarding invocation is the result of a SIP response, a Reason header containing the SIP response code MUST also be included in the same History-Info entry. 4. Example The following example illustrates the case where the Reason header is inserted in the History-Info header during a retargeting by a Call Forwarding service running in a SIP Application Server. Reason: CDIV ;cause=6 ;text="Deflection immediate response" Mohali Expires April 21, 2011 [Page 5] Internet-Draft Reason extension for Call Forwarding October 2010 In this example, Alice calls Bob. Bob answers with an immediate redirecting request. Bob's proxy determines that Bob wants to forward Alice to Bob's voicemail. Alice Proxy Bob Voicemail | | | | | INVITE F1 | | | |--------------->| INVITE F2 | | | |---------------->| | | | | | | |302 Moved Temporarily F3 | | |<----------------| | | | | | |(181 Call is Being Forwarded) F4 | | |<---------------| | | | | INVITE F5 | | |--------------------------------->| | | | | * Rest of flow not shown * F1: INVITE Alice -> proxy.example.com INVITE sip:+15551002@example.com;user=phone SIP/2.0 Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bK-klj79f From: Alice ; tag=1234567 To: sip:+15551002@example.com;user=phone Supported: histinfo Call-ID: c3x842276298220188511 CSeq: 1 INVITE Max-Forwards: 70 Contact: Content-Type: application/sdp Content-Length: F2: INVITE proxy.example.com -> Bob INVITE sip:+15551002@192.0.2.2 SIP/2.0 Via: SIP/2.0/TCP 192.0.2.4:5060;branch=z9hG4bK-ik80k7g-1 Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bK-klj79f From: Alice ; tag=1234567 To: sip:+15551002@example.com;user=phone Call-ID: c3x842276298220188511 CSeq: 1 INVITE Max-Forwards: 69 Contact: Mohali Expires April 21, 2011 [Page 6] Internet-Draft Reason extension for Call Forwarding October 2010 Content-Type: application/sdp Content-Length: F3: 302 Bob -> proxy.example.com SIP/2.0 302 Moved Temporarily Via: SIP/2.0/TCP 192.0.2.4:5060;branch=z9hG4bK-ik80k7g-1 Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bK-klj79f From: Alice ; tag=1234567 To: sip:+15551002@example.com;user=phone;tag=765432 Call-ID: c3x842276298220188511 Contact: CSeq: 1 INVITE Content-Length: 0 F5: INVITE proxy.example.com -> Voicemail INVITE sip:voicemail@example.com SIP/2.0 Via: SIP/2.0/TCP 192.0.2.4:5060;branch=z9hG4bK-ik80k7g-2 Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bK-klj79f From: Alice ; tag=1234567 To: sip:voicemail@example.com Call-ID: c3x842276298220188511 Record-Route: History-Info: ;index=1, ;index=1.1;mp=1 CSeq: 1 INVITE Max-Forwards: 68 Contact: Content-Type: application/sdp Content-Length: 5. IANA Considerations This document adds to one existing IANA Registry and creates one new Registry according to Section 27 of [RFC3261]. The existing IANA Registry for the SIP Reason Header is as follows: Mohali Expires April 21, 2011 [Page 7] Internet-Draft Reason extension for Call Forwarding October 2010 Protocol Value Protocol Cause Reference -------------- -------------- --------- SIP Status code RFC 3261 Q.850 Cause value in decimal ITU-T Q.850 Preemption Cause value in decimal RFC 4411 This document adds to that Registry with the following entry: Protocol Value Protocol Cause Reference -------------- -------------- --------- CDIV Cause value in decimal [RFCXXXX] Below is a new IANA Registry for SIP Reason Header reason-text strings and reason-param cause values, associated with the protocol value "CDIV". Per [RFC3326], the reason-text string is a quoted default string with only human understandability meant. These strings can be changed by local policy. The following cause values and associated reason text are defined: Reason- Protocol param Reason-text Reference -------- ------- ------------ --------- CDIV Cause=1 Unknown/Not available [RFCXXXX] CDIV Cause=2 User busy [RFCXXXX] CDIV Cause=3 No reply [RFCXXXX] CDIV Cause=4 Unconditional [RFCXXXX] CDIV Cause=5 Deflection during alerting [RFCXXXX] CDIV Cause=6 Deflection immediate response [RFCXXXX] CDIV Cause=7 Mobile subscriber not reachable [RFCXXXX] CDIV Cause=8 Not Logged-in [RFCXXXX] Note to the RFC-Editor: RFCXXXX should be replaced by this RFC reference when available. The cause values created by the CDIV Protocol namespace in this document are defined in Section 3. Each cause value has a Reason- text string as a general description of what the cause value is for. Section 4 provides an example for the above cause codes with a message flow diagram. The above cause values are included in this registry. New cause values can be added and are allocated as First Come First Served. Mohali Expires April 21, 2011 [Page 8] Internet-Draft Reason extension for Call Forwarding October 2010 6. Security Considerations This specification does not add any security constraint beyond the security considerations for the Reason header field described in [RFC3326] apply. 7. Acknowledgements 8. Normative References [RFC2119] "Key words for use in RFCs to Indicate Requirement Levels", RFC 2119, March 1997. [RFC3261] "SIP: Session Initiation Protocol", RFC 3261, June 2002. [RFC3326] "The Reason Header Field for the Session Initiation Protocol (SIP)", December 2002. [RFC4244] "An Extension to the Session Initiation Protocol (SIP) for Request History Information", RFC 4244, November 2005. [TS_24.604] 3rd Generation Partnership Project, "Technical Specification Group Core Network and Terminals ; Communication Diversion (CDIV) using IP Multimedia (IM)Core Network (CN) subsystem ; Protocol specification (Release 8), 3GPP TS 24.604", December 2008. Author's Address Marianne Mohali France Telecom Orange 38-40 rue du General Leclerc Issy-Les-Moulineaux Cedex 9 92794 France Phone: +33 1 45 29 45 14 Email: marianne.mohali@orange-ftgroup.com Mohali Expires April 21, 2011 [Page 9]