IETF A. Somadder Internet Draft Y. Agarwal Intended status: RFC April 24, 2015 Expires: October 2015 'Urgent' Call Indicator in the Session Initiation Protocol (SIP) draft-individual-ananda-sip-call-indicator-00.txt Status of this Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. This document may not be modified, and derivative works of it may not be created, and it may not be published except as an Internet-Draft. This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. This document may not be modified, and derivative works of it may not be created, except to publish it as an RFC and 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 October 24, 2015. Somadder Expires October 24, 2015 [Page 1] Internet-Draft draft-individual-ananda-sip-call-indicator-00 Copyright Notice Copyright (c) 0000 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 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. Abstract This document proposes an extension to the Session Initiation Protocol (SIP). This extension provides the ability for calling SIP User to specify the call urgency while originating a call and for called SIP user agent to identify that call is an 'Urgent' call. Table of Contents 1. Introduction...................................................2 2. Conventions used in this document..............................3 3. Motivation.....................................................3 4. Usage of the sip.callindicator parameter.......................4 5. UAC Behavior...................................................5 6. Example........................................................5 6.1. Registration Example.........................................5 7. Security Considerations........................................8 8. Grammar........................................................9 9. IANA Considerations............................................9 9.1. Media Feature Tag............................................9 10. Conclusions..................................................10 11. References...................................................11 11.1. Normative References.......................................11 11.2. Informative References.....................................11 12. Acknowledgments..............................................11 1. Introduction Often while using mailing services (like using mail clients such as Outlook), we mark the mails as "Important" to convey to the end user that the mail has high priority and should be considered as urgent. Somadder Expires October 24, 2015 [Page 2] Internet-Draft draft-individual-ananda-sip-call-indicator-00 In normal SIP call establishment it is not possible to indicate to the called SIP user agent if caller is trying to reach the destination UA urgently. This draft recognizes the need of a similar facility during making SIP calls to enable callers to indicate to the destination UA that the call is or urgent or important nature to be answered. This document defines SIP extension which can be used by calling UA to mark call as an 'Urgent' and Called Party SIP Agent can possibly define some different action than for a normal call. Like play different tone or ring even if in 'silent mode'. Note: Action of called SIP user agent in case of receiving a call with call indicator marked as 'Urgent' is informative. 2. Conventions used in this document 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 RFC-2119 [RFC2119]. In this document, these words will appear with that interpretation only when in ALL CAPS. Lower case uses of these words are not to be interpreted as carrying RFC-2119 significance. 3. Motivation In day to day life, we see there is need to make calls to other users and let them know that the call is urgent based on user's situations. However as long as there is no differentiation between a normal call and an urgent or important call, receiving end user cannot make the decision to answer the call or choose to ignore (not answer). The draft discusses the concept of a call indicator which can be set explicitly at the time of initiating a call from a SIP UA. The objective of the draft is to make possible the following: o UA originating an SIP call shall be able to indicate that the call is urgent. o Called UA shall able to identify incoming call as urgent and take one of the required actions, even when in a busy state (in meeting, in driving state, etc): o Play Special ringing o Override Mute mode and play special ringing Somadder Expires October 24, 2015 [Page 3] Internet-Draft draft-individual-ananda-sip-call-indicator-00 o Display special CLI with Urgent indication However, the possible actions are not scope of this draft and are left to the implementation of the SIP application residing on UA. 4. Usage of the sip.callindicator parameter The "sip.callIndicator" media feature tag is a new string parameter, defined in this document that allows a call to indicate the 'Urgency' preference related to the call. A receiving UA includes the "sip.callIndicator" media feature tag in the Contact header field of REGISTER messages to indicate that it is "Call Indicator" selection- capable, and a SIP Registrar includes this tag in the Contact header field of its 200 OK response to confirm the registration of this preference, all as per RFC 3840 [RFC3840]. A calling UA SHOULD include the "sip.callIndicator" media feature tag in the Accept-Contact header of an INVITE request in order to express its desire for a call to be routed to a "Call Indicator" selection- capable UA. Otherwise, without this tag, 'Urgent' call determination is not possible until after the call is connected. If a calling UA includes the "sip.callIndicator" tag and the SIP network elements that process the call (including the called UAs) implement the procedures of RFC 3840 and RFC 3841, the call will be preferentially routed to UAs that have advertised their support for this feature (by including it in the Contact header of their REGISTER requests, as documented above). It is possible for the calling UA to utilize additional procedures defined in RFC 3840 and RFC 3841 to express a requirement (instead of a preference) that its call be delivered to "Urgency" preference selection-capable UAs. However, the calling UA SHOULD NOT require the "sip.callIndicator" media type. Doing so could result in call failure for a number of reasons, not only because there may not be any receiving UAs registered that have advertised their support for this feature, but also because one or more SIP network elements that process the call may not support the processing defined in RFC 3840 and RFC 3841. A calling UA that wishes to express this requirement should be prepared to relax it to a preference if it receives a failure response indicating that the requirement mechanism itself is not supported by the called UAs, their proxies, or other SIP network elements. Somadder Expires October 24, 2015 [Page 4] Internet-Draft draft-individual-ananda-sip-call-indicator-00 When calls do connect through the use of "sip.callIndicator" either as a preference or a requirement, UAs should follow standard SIP call negotiation procedures. 5. UAC Behavior A caller wishing to express preferences for an 'urgent' call request includes Accept-Contact, Reject-Contact, or Request-Disposition header fields in the request, depending on their particular preferences. No additional behavior is required after the request is sent. The Accept-Contact, Reject-Contact, and Request-Disposition header fields in an ACK for a non-2xx final response, or in a CANCEL request, MUST be equal to the values in the original request being acknowledged or cancelled. This is to ensure proper operation through stateless proxies. 6. Example 6.1. Registration Example Bob registers with the "Call Indicator" media feature tag. The message flow is shown in Figure 1: SIP Registrar Bob's SIP UA ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | REGISTER F1 | |<------------------------------| | | | 200 OK F2 | |------------------------------>| | | Figure 1: "Call Indicator" Media Feature Tag SIP Registration Example Somadder Expires October 24, 2015 [Page 5] Internet-Draft draft-individual-ananda-sip-call-indicator-00 F1 REGISTER Bob -> Registrar REGISTER sip:example.com SIP/2.0 Via: SIP/2.0/TCP bob-TP.example.com:5060;branch=z9hG4bK309475a2 From: ;tag=a6c85cf To: Call-ID: a84b4c76e66710 Max-Forwards: 70 CSeq: 116 REGISTER Contact: ;+sip.callIndicator="urgent" Expires: 3600 The registrar responds with a 200 OK: F2 200 OK Registrar -> Bob SIP/2.0 200 OK From: ;tag=a6c85cf To: ;tag=1263390604 Contact: ;+sip.callIndicator="urgent" Expires: 120 Call-ID: a84b4c76e66710 Somadder Expires October 24, 2015 [Page 6] Internet-Draft draft-individual-ananda-sip-call-indicator-00 Via: SIP/2.0/TCP bob-TP.example.com:5060;branch=z9hG4bK309475a2 CSeq: 116 REGISTER Expires: 3600 Callers desiring to express a preference for fax will include the "sip.callIndicator" media feature tag in the Accept-Contact header of their INVITE. INVITE sip:bob@biloxi.example.com SIP/2.0 Via: SIP/2.0/TCP client.atlanta.example.com:5060;branch=z9hG4bK74b43 Max-Forwards: 70 From: Alice ;tag=9fxced76sl To: Bob Accept-Contact: *;+sip.callIndicator="urgent" Call-ID: 3848276298220188511@atlanta.example.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: 151 The use cases and the examples of using "Call Indicator" are described for two scenarios below. Scenario 1: User A gets into a situation and needs to call a close friend / family member user B to inform about some urgent issue Somadder Expires October 24, 2015 [Page 7] Internet-Draft draft-individual-ananda-sip-call-indicator-00 (accident, car broke down with no support around, etc). But B can be at some place (like office) where B is in meeting or driving where B prefers to ignore a normal call from A user - or B can decide to call back later. This will leave user A helpless in case of URGENCY without any fault of B user. Scenario 2: User A calls user B who is busy in another call. If the call that A needs to make to B is an urgent call and Call Waiting is not available in network, then there needs to be some method to indicate the urgency of the call to the B user. However, if call waiting is available, then there should be some specific notification tone of altering the Call Waiting for Urgent Calls - so that the destination may realize the call urgency from A user. As an existing solution, destination SIP UA can set some special ring tone in advance for calls from a specific originating SIP UA and can consider all calls from this specific user as important. In the scenarios mentioned, destination SIP UA can still ignore the call from originating user if B is in the middle of some other activity (in urgent meeting, driving, etc). There are no means for destination SIP UA to identify the call as URGENT call. An alternative solution there are evidences of applications on smart phones and PDAs, where the SIP UA can set one or more of number from contacts as emergency contacts. If this user gets into an accident, then anyone can take his/her phone and call the emergency contact from the phone even if the phone's dial-pad is locked. However, even in such a scenario, it is not possible for user to indicate through any means to the destination that the call is urgent. There are no means for B user to identify the call as URGENT call. To address the concern of indicating the outgoing call as an 'Urgent' call, the "Call Indicator" media feature tag is introduced. This shall allow the originating user to enable the 'Urgent' indicator while making the call; in addition, the indicator shall also be used in the SIP UA of destination user to indicate and perform some actions to show the call needs to be answered. 7. Security Considerations This media feature tag can be used in ways which affect application behaviors for both originating and destination SIP User Agents. For Somadder Expires October 24, 2015 [Page 8] Internet-Draft draft-individual-ananda-sip-call-indicator-00 example, the SIP caller preferences extension [RFC3841] allows for call routing decisions to be based on the values of these parameters. Therefore, if an attacker can modify the values of this tag, they might be able to affect the behavior of applications. As a result, applications that utilize this media feature tag SHOULD provide a means for ensuring its integrity. Similarly, this feature tag should only be trusted as valid when it comes from the user or User Agent described by the tag. As a result, protocols for conveying this feature tag SHOULD provide a mechanism for guaranteeing authenticity. 8. Grammar This specification defines a new Contact header field parameter, "+sip.callIndicator". The grammar includes the definitions from [RFC3261]. The ABNF [RFC5234] is: contact-params =/ c-p-callindicator c-p-callindicator = "+sip.callIndicator" EQUAL DQUOTE "<" callIndicator-tag ">" DQUOTE callIndicator-tag = "default" / "urgent" / "promotional" The value of the callIndicator-tag if not present with the Contact header shall indicate 'default' call indicator. 9. IANA Considerations This specification adds a new media feature tag to the SIP Media Feature Tag Registration Tree per the procedures defined in RFC 2506 [RFC2506] and RFC 3840 [RFC3840]. 9.1. Media Feature Tag This section registers a new media feature tag, per the procedures defined in [RFC2506]. The tag is placed into the sip tree, which is defined in [RFC3840]. This media feature tag specifies caller Somadder Expires October 24, 2015 [Page 9] Internet-Draft draft-individual-ananda-sip-call-indicator-00 preferences for to mark the call as an 'urgent' call. Its value is a list of token, each of which specifies a particular directive. Media feature tag name: sip.callIndicator Token Values: urgent, promotional, default (Normal). Default: default ASN.1 Identifier: Summary of the media feature indicated by this tag: This feature tag contains a token string containing a value that indicates the call indicator associated with the UA instance registering the Contact. Values appropriate for use with this feature tag: Token with an equality relationship. Values are: urgent: The device supports the 'urgent' call indicator as an originating UA. promotional: The device supports the 'urgent' call indicator as an originating UA. default: The device supports the 'normal' call indicator to show that the call is a normal call without any preferences to indicate to destination UA. The feature tag is intended primarily for use in the following applications, protocols, services, or negotiation mechanisms: This feature tag is most useful in a communications application, for describing the necessity of an originating SIP UA (device, such as a phone or PDA) to mark the call as 'urgent' to be answered. Examples of typical use: Allowing the originating SIP UA to mark the call as an 'urgent' call and routing a call to a specific device with the information to display special CLI or play special tone to alert destination SIP UA about the call urgency. 10. Conclusions Somadder Expires October 24, 2015 [Page 10] Internet-Draft draft-individual-ananda-sip-call-indicator-00 11. References 11.1. Normative References [1] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [2] Crocker, D. and Overell, P.(Editors), "Augmented BNF for Syntax Specifications: ABNF", RFC 2234, Internet Mail Consortium and Demon Internet Ltd., November 1997. [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [RFC2234] Crocker, D. and Overell, P.(Editors), "Augmented BNF for Syntax Specifications: ABNF", RFC 2234, Internet Mail Consortium and Demon Internet Ltd., November 1997. 11.2. Informative References [3] Faber, T., Touch, J. and W. Yue, "The TIME-WAIT state in TCP and Its Effect on Busy Servers", Proc. Infocom 1999 pp. 1573- 1583. [Fab1999] Faber, T., Touch, J. and W. Yue, "The TIME-WAIT state in TCP and Its Effect on Busy Servers", Proc. Infocom 1999 pp. 1573-1583. 12. Acknowledgments This document was prepared using 2-Word-v2.0.template.dot. Somadder Expires October 24, 2015 [Page 11] Internet-Draft draft-individual-ananda-sip-call-indicator-00 Authors' Addresses Ananda Somadder Bangalore, India Phone: +91-9980982520 Email: anandasomadder@gmail.com Yogendra Agarwal Bangalore, India Phone: +91-9900085351 Email: yogendra.agarwal@gmail.com Somadder Expires October 24, 2015 [Page 12]