Internet DRAFT - draft-avasarala-sipping-comm-div-notification

draft-avasarala-sipping-comm-div-notification






SIPPING                                                     R. Avasarala
Internet-Draft                                                   S. Saha
Intended status: Informational                              Motorola Inc
Expires: June 23, 2009                                         J. Bakker
                                          Research In Motion Corporation
                                                       December 20, 2008



  A Session Initiation Protocol (SIP) Event Package for Communication
 Diversion Information in support of the Communication Diversion (CDIV)
                   Notification (CDIVN) CDIV service
          draft-avasarala-sipping-comm-div-notification-01.txt

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 June 23, 2009.

Copyright Notice

   Copyright (c) 2008 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.



Avasarala, et al.         Expires June 23, 2009                 [Page 1]

Internet-Draft  SIP Communication Diversion Notification   December 2008


Abstract

   3GPP and ETSI TISPAN are defining PSTN/ISDN simulation services and
   in particular the Communication Diversion (CDIV) using IP Multimedia
   (IM) core Network (CN) subsystem supplementary service.  As part of
   CDIV, a (SIP) Event Notification Framework-based mechanism is used
   for notifying Users about diversions (re-directions or forwarding) of
   their incoming communication sessions.  A new event package is
   proposed for allowing users to subscribe for and receive such
   notifications.  Users have further capability to define filters
   controlling the selection, rate and content of such notifications.
   This SIP event package is applicable to the IMS and may not be
   applicable to the general Internet.


Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  4
   2.  Terminology  . . . . . . . . . . . . . . . . . . . . . . . . .  6
   3.  Applicability Statement  . . . . . . . . . . . . . . . . . . .  6
   4.  Abbreviations and Definitions  . . . . . . . . . . . . . . . .  6
     4.1.  Abbreviations  . . . . . . . . . . . . . . . . . . . . . .  6
     4.2.  Definitions  . . . . . . . . . . . . . . . . . . . . . . .  6
   5.  Requirements . . . . . . . . . . . . . . . . . . . . . . . . .  6
   6.  Package Definition . . . . . . . . . . . . . . . . . . . . . .  7
     6.1.  Event Package Name . . . . . . . . . . . . . . . . . . . .  7
     6.2.  Event Package Parameters . . . . . . . . . . . . . . . . .  7
     6.3.  SUBSCRIBE bodies . . . . . . . . . . . . . . . . . . . . .  8
     6.4.  Subscription Duration  . . . . . . . . . . . . . . . . . .  8
     6.5.  Notify bodies  . . . . . . . . . . . . . . . . . . . . . .  8
     6.6.  Notifier Processing of SUBSCRIBE requests  . . . . . . . .  9
       6.6.1.  Authentication . . . . . . . . . . . . . . . . . . . .  9
       6.6.2.  Authorization  . . . . . . . . . . . . . . . . . . . .  9
     6.7.  Notifier Generation of NOTIFY requests . . . . . . . . . .  9
     6.8.  Subscriber Processing of NOTIFY Requests . . . . . . . . . 10
     6.9.  Handling of Forked Requests  . . . . . . . . . . . . . . . 10
     6.10. Rate of Notifications  . . . . . . . . . . . . . . . . . . 10
     6.11. State Agents . . . . . . . . . . . . . . . . . . . . . . . 10
     6.12. Examples . . . . . . . . . . . . . . . . . . . . . . . . . 11
     6.13. Use of URIs to Retrieve State  . . . . . . . . . . . . . . 11
   7.  comm-div-info document . . . . . . . . . . . . . . . . . . . . 11
   8.  Security Considerations  . . . . . . . . . . . . . . . . . . . 11
   9.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 12
     9.1.  Communication Diversion Information Event Package
           Registration . . . . . . . . . . . . . . . . . . . . . . . 12
   10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 12
   11. References . . . . . . . . . . . . . . . . . . . . . . . . . . 12
     11.1. Normative References . . . . . . . . . . . . . . . . . . . 12



Avasarala, et al.         Expires June 23, 2009                 [Page 2]

Internet-Draft  SIP Communication Diversion Notification   December 2008


     11.2. Informative References . . . . . . . . . . . . . . . . . . 13
   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 13

















































Avasarala, et al.         Expires June 23, 2009                 [Page 3]

Internet-Draft  SIP Communication Diversion Notification   December 2008


1.  Introduction

   3GPP is currently maintaining and specifying communication diversion
   mechanisms which allow users to forward and/or redirect incoming
   communications to other destinations.  The intention of such
   mechanisms is to provide users with sufficient flexibility to manage
   their incoming communications in a better way.  The most common
   example is Communication Forward On Busy (CFB) where in users can
   forward any incoming calls, whilst they are busy on some other call,
   to their voice mail or a suitable alternative (e.g. some other user).
   Similarly other variants of communication diversion are well defined
   and used in practice such as Communication Forward on No Answer
   (CFNA), Communication Forward Unconditional (CFU).  Similarly 3GPP is
   currently maintaining and specifying a mechanism for Users to
   configure Communication Diversion Services ([1] and [2]) for their
   incoming communications.  The intention of such mechanisms is to
   provide Users with sufficient flexibility to manage their incoming
   communications in a better way.

   However, with the increasing usage of Communication Diversion
   services, users may have many different variants and configurations
   active at the same time.  For e.g. the user may have various CFU
   services configured differently based on the time-of-the-day and the
   Calling party's identity, or CFB based on the time-of-the-day.  This
   is possible by having various such configured diversions by
   subscribing to different Communication Diversion (CDIV) services as
   specified by 3GPP.  Though, there has been quite active work in the
   area of better customization and configuration of such Communication
   Diversion mechanisms, not much attention has been paid to how the
   Users can manage these services in an effective manner.  With the
   various advanced options and high flexibility provided, it is
   possible that the User loses track of the various Communication
   Diversion configurations or services they have registered for.

   One of the basic ways, by which users can manage a CDIV service is to
   be informed of which services they have registered for.  For example,
   [1] and [2] allow for such indications to be received by the user, at
   the time of initiating an outgoing call.  However, simply showing the
   registered services is not sufficient, since each service may be
   customized in numerous and different ways for different criteria.
   For example various instantiations of CFB may be configured for
   different times-of-the-day and different calling party identities.
   Even if users are shown information about all the Communication
   Diversion services and their variants that they are registered for,
   they may not be able to make sense or verify that each of them is
   correct as per their *expectation*.  Such a mismatch in terms of
   service behavior expectation and actual execution, may happen due to
   incorrect configuration on behalf of the User, which cannot be easily



Avasarala, et al.         Expires June 23, 2009                 [Page 4]

Internet-Draft  SIP Communication Diversion Notification   December 2008


   detected if there are various communication diversion services and
   their different configurations for handling incoming communications.

   A probable and suitable instance, when the User may easily judge
   whether a communication diversion is correct, is when it actually
   takes place.  The User is already aware of the current conditions
   (time-of-day, current presence and availability etc) and hence is in
   a position to decide, whether the communication diversion which just
   occurred, was indeed as per their expectation.  For e.g. the User
   wanted to diverted all incoming calls to voice-mail, between 3.00
   p.m. to 4.00 p.m.  Yet, by mistake she configures the time-duration
   as 3.00 to 4.00 p.m.  It would be very difficult for her to spot this
   error while manually reviewing her complete set of communication
   diversion services, with their various configurations.  Instead, if
   the User receives a real-time notification of any communication
   diversion occurring after 4 p.m., she would be able to immediately
   guess that something is 'wrong' or not as per her intention and take
   corrective action.  Such corrective action could be manual
   verification of the specific rule which triggered the communication
   diversion, wherein she will be able to spot the *mistake* more
   easily.

   Thus, for effective user management of multiple configurations of
   various Communication Diversion services, a notification-based
   mechanism may work well.  Such a mechanism would involve notifying
   users about diversions of their incoming communications, as and when
   the communication diversion happens or with a slight delay (as per
   user configuration).  As such diversion-related information is
   conveyed almost instantly or within a small time-frame, the Users can
   verify whether the particular communication diversion is indeed
   correct at that instant of time.

   In this document, We define a SIP event package that allows a SIP
   Event Publication Agent (EPA) to be notified about communication
   diversions enacted on their behalf.  This allows subscribers to
   subscribe to this event package to gather this information.  When
   subscribing to the event package users can control how they want to
   receive such notifications, the content and rate of such
   notifications.  It is believed that the SIP event package defined
   here is not applicable to the general Internet: it has been designed
   to serve the architecture of the CDIV service.  The aim of this memo
   is to follow the procedure indicated in RFC 3427 [3] and to register
   a new event package with event name "comm-div-info" with IANA.

   This document replaces the earlier document
   draft-saklikar-communication-diversion-notification-00.





Avasarala, et al.         Expires June 23, 2009                 [Page 5]

Internet-Draft  SIP Communication Diversion Notification   December 2008


2.  Terminology

   In this document, the key words "MUST", "MUST NOT", "REQUIRED",
   "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY",
   and "OPTIONAL" are to be interpreted as described in RFC 2119 [4] and
   indicate requirement levels for compliant implementations.


3.  Applicability Statement

   The event package defined in this document is intended for use with
   network-based application servers that provide a CDIV service


4.  Abbreviations and Definitions

4.1.  Abbreviations

      CDIV: Communication Diversion.

      CDIVN: Communication Diversion Notification.

      TISPAN: Telecommunications and Internet Converged Services and
      Protocols for Advanced Networking.

4.2.  Definitions

      Diverting User - The user who has configured a Communication.
      Diversion mechanism via subscription to a CDIV service.  This user
      is the original target of the incoming communication, before it is
      diverted to another destination.  When not qualified, the term
      "user" should be referred to as the Diverting User.

      Diverted-To Entity/User - This User (or entity) is the new target
      of the incoming communication, post execution of any configured
      Communication Diversion service.

      Originating User - This refers to the originator of the incoming
      communication, which was initially targeted towards the Diverting
      User, but finally sent to the Diverted-To User.  The Originating
      User is also referred to as the Caller.


5.  Requirements

   A comprehensive description of all the requirements that affect the
   CDIV service developed by TISPAN and 3GPP and can be found in the
   3GPP web page at http://www.3gpp.org and http://www.etsi.org.



Avasarala, et al.         Expires June 23, 2009                 [Page 6]

Internet-Draft  SIP Communication Diversion Notification   December 2008


   For the sake of simplicity, we briefly discuss here those
   requirements that affect the solution described in this document.
   These requirements can be summarized as follows:

   o  There must be a mechanism that allows user-controlled notification
      of communication diversions to the diverting user, including the
      option to control which notifications the user wants to receive
      and to control the rate at which notifications are received.

   o  There must be a mechanism that enables filtering of notifications
      of communication diversion.

   o  There must be a mechanism that enables triggering of notifications
      of communication diversion.

   o  There must be a mechanism that enables selecting information to be
      included in notifications of communication diversion.


   These requirements lead to a solution whereby the user can indicate
   to a network node his interest in receiving certain type of
   notifications of communication diversion.  Pushing these settings to
   a network node allows the network node to conserve scarce resources
   while still notifying the user of communication diversions enacting
   on the user's behalf.


6.  Package Definition

   This section fills in the details needed for an event package as
   defined in Section 4.4 of [5].

6.1.  Event Package Name

   The SIP Events specification requires package definitions to specify
   the name of their package or template-package.

   The name of this package is "comm-div-info".  As specfied in [5],
   this value appears in the Event header present in SUBSCRIBE and
   NOTIFY requests.

6.2.  Event Package Parameters

   The SIP Events specification [5] requires package and template-
   package definitions to specify any package specific parameters of the
   Event header that are used by it.

   No package specific Event header parameters are defined for this



Avasarala, et al.         Expires June 23, 2009                 [Page 7]

Internet-Draft  SIP Communication Diversion Notification   December 2008


   event package.

6.3.  SUBSCRIBE bodies

   The SIP Events specification requires package or template-package
   definitions to define the usage, if any, of bodies in SUBSCRIBE
   requests.

   A SUBSCRIBE for Communication Diversion event MAY contain a body.
   The purpose of the body depends on its type.  Subscriptions to the
   Comm-div-info event package typically include a body of MIME type
   "application/comm-div-info+xml".

   A body of the SUBSCRIBE request with content type set to MIME type
   "application/comm-div-info+xml" contains information about filtering
   communication diversions, trigger communication diversion
   notifications and selecting information to be included in
   communication diversions notifications.

6.4.  Subscription Duration

   The SIP Events specification requires package definitions to define a
   default value for subscription durations, and to discuss reasonable
   choices for durations when they are explicitly specified.

   No expiration time for subscriptions withing this package is defined
   in this document.  The subscriber MAY specify an expiration value in
   the expires header field.

6.5.  Notify bodies

   The SIP Events specification requires package definitions to define a
   default value for subscription durations, and to discuss reasonable
   choices for durations when they are explicitly specified.

   The NOTIFY message contains bodies.  This body is a format listed in
   the Accept header field of the SUBSCRIBE request or a package
   specific default format if the Accept header field was omitted from
   the SUBSCRIBE request.

   In this event package, the body of the notification contains comm-
   div-info information when the diversion notifications occur.  See
   Section 7.

   All subscribers and notifiers of the "comm-div-info" event package
   MUST support the "application/comm-div-info+xml" data format
   described in Section 7.  The SUBSCRIBE request MAY contain an Accept
   header field.  If no such header field is present, it has a default



Avasarala, et al.         Expires June 23, 2009                 [Page 8]

Internet-Draft  SIP Communication Diversion Notification   December 2008


   value of "application/comm-div-info+xml" (assuming Event header has a
   value of "comm-div-info").  If the Accept header field is present, it
   MUST contain the value "application/comm-div-info+xml".

6.6.  Notifier Processing of SUBSCRIBE requests

   The contents of a document containing comm-div-info information can
   contain sensitive information that can reveal some privacy
   information.  Therefore, such comm-div-info documents MUST only be
   sent to authorized subscribers.  In order to determine if a
   subscription originates in an authorized user, the user MUST be
   authenticated as described in Section 6.6.1 and then the user MUST be
   authorized to be a subscriber as described in Section 6.6.2.

6.6.1.  Authentication

   Notifiers MUST authenticate all subscription requests.  This
   authentication can be done using any of the mechanisms defined in [6]
   and other authentication extensions.

6.6.2.  Authorization

   Once authenticated, the notifier makes an authorization decision.  A
   notifier MUST NOT accept a subscription unless authorization has been
   provided by the user.  The means by which authorization are provided
   are outside the scope of this document.  Authorization may have been
   provided ahead of time through access lists, perhaps specified in a
   web page.  Authorization may have been provided by means of uploading
   some kind of standardized access control list document

6.7.  Notifier Generation of NOTIFY requests

   The SIP Events specification details the formatting and structure of
   NOTIFY messages.  However, packages are mandated to provide detailed
   information on when to send a NOTIFY, how to compute the state of the
   resource, how to generate neutral or fake state information, and
   whether state information is complete or partial.  This section
   describes those details for the "comm-div-info" event package.

   A notifier MAY send a NOTIFY at any time.  Typically, it will send
   one when a communication diversion is enacted on behalf of the user.
   The NOTIFY request MAY contain a body containing a comm-div-info
   document.  The times at which the NOTIFY is sent for a particular
   subscriber, and the contents of the body within that notification,
   are subject to any rules specified by the authorization policy that
   governs the subscription and to preferences indicated at the time of
   subscription.




Avasarala, et al.         Expires June 23, 2009                 [Page 9]

Internet-Draft  SIP Communication Diversion Notification   December 2008


   In the case of a pending subscription, when final authorization is
   determined, a NOTIFY can be sent.  If the result of the authorization
   was success and a communication diversion is enacted on behalf of the
   subscriber, a NOTIFY SHOULD be sent and SHOULD contain a complete
   comm-div-info document subject to any rules specified by the
   authorization policy that governs the subscription and to preferences
   indicated at the time of subscription.

   The body of the NOTIFY MUST be sent using the type "application/
   comm-div-info+xml".

   Notifiers will typically detect that a communication diversion was
   enacted on behalf of the subscriber via a "History-Info" header field
   value, per [2] or [1], sent from an application server hosting the
   CDIV application.

6.8.  Subscriber Processing of NOTIFY Requests

   The SIP Events specification expects event packages to describe the
   process followed by the subscriber upon receipt of a NOTIFY request.
   In this specification, each NOTIFY request contains a comm-div-info
   document

6.9.  Handling of Forked Requests

   The SIP Events specification requires each package to describe
   handling of forked Requests.

   This specification only allows a single dialog to be constructed as a
   result of emitting an initial SUBSCRIBE request.  This guarantees
   that only a single notifier is generating notifications for a
   particular subscription to a particular user.

6.10.  Rate of Notifications

   The SIP Events specification requires each package to specify maximum
   rate at which notifications can be sent .

   Comm-div-info notifiers SHOULD NOT generate notifications for a
   single user at a rate of more than once every five seconds.

6.11.  State Agents

   The SIP Events specification requires each package to consider the
   role of state agents in the package and, if they are used, to specify
   how authentication and authorization are done

   This specification does not require state agents to be located in the



Avasarala, et al.         Expires June 23, 2009                [Page 10]

Internet-Draft  SIP Communication Diversion Notification   December 2008


   network

6.12.  Examples

   An example of a comm-div-info document is provided in [2] and [1].
   An instance of a communication diversion notification subscription
   document and an instance of a communication diversion notification
   document can be found in subclause 4.10.1 of either [2] or [1].

6.13.  Use of URIs to Retrieve State

   The SIP Events specification allows packages to use URIs to retrieve
   large state documents.

   Comm-div-info documents are fairly small.  This event package does
   not provide a mechanism to use URIs to retrieve large state
   documents.


7.  comm-div-info document

   Comm-div-info is an XML document [7] that MUST be well-formed and
   SHOULD be valid.  Comm-div-info documents MUST be based on XML 1.0
   and MUST be encoded using UTF-8 [8].

   Comm-div-info documents are identified with the MIME type
   "application/comm-div-info+xml" and are instances of the XML schema
   defined in subclause 4.10.2 of either [2] or [1].


8.  Security Considerations

   Authentication and authorization of subscriptions have been discussed
   in Section 6.6.  Lack of authentication or authorization may provide
   comm-div-info information to unauthorized parties and can reveal
   sensitive information with regards to the user's call receiving
   patterns.  For example, who calls the user and at what time, etc.

   Integrity protection and confidentiality of notifications are also
   discussed in Section 6.7.  If a notifier does not encrypt bodies of
   NOTIFY requests, an eavesdropper could learn the status of a SIP user
   agent and use it to create malicious sessions.  If the notifier does
   not integrity protect the bodies of NOTIFY requests, a man-in- the-
   middle attacker or malicious SIP proxy could modify the contents of
   the comm-div-info event package notification.  Although this does not
   cause harm, it can create annoyances.





Avasarala, et al.         Expires June 23, 2009                [Page 11]

Internet-Draft  SIP Communication Diversion Notification   December 2008


9.  IANA Considerations

   This document registers the new SIP event package.

9.1.  Communication Diversion Information Event Package Registration

   This document registers an event package based on the registration
   procedures defined in [3].  The following is the information required
   for such a registration.


   Package Name: comm-div-info

   Package or Template-Package: This is a package
   Published Document: RFC XXXX (Note to RFC Editor:
   Please fill in XXXX with the RFC number of this specification).
   Person to Contact : Jon Merdith (John.meredith@3gpp.org)



10.  Acknowledgements

   The authors would like to thank Samir Saklikar for editing the
   initial version of the draft and Ban Al-Bakri, Roland Jesske and Jose
   Miguel Torres for their valuable comments and suggestions.


11.  References

11.1.  Normative References

   [1]  3GPP, "Communication Diversion (CDIV) using IP Multimedia
        (IM)Core Network (CN) subsystem;  Protocol specification", 3GPP
        TS 24.604 8.2.0, December 2008.

   [2]  3GPP, "TISPAN; PSTN/ISDN simulation services: Communication
        Diversion (CDIV); Protocol specification", 3GPP TS 24.404 7.3.0,
        December 2008.

   [3]  Mankin, A., Bradner, S., Mahy, R., Willis, D., Ott, J., and B.
        Rosen, "Change Process for the Session Initiation Protocol
        (SIP)", BCP 67, RFC 3427, December 2002.

   [4]  Bradner, S., "Key words for use in RFCs to Indicate Requirement
        Levels", BCP 14, RFC 2119, March 1997.

   [5]  Roach, A., "Session Initiation Protocol (SIP)-Specific Event
        Notification", RFC 3265, June 2002.



Avasarala, et al.         Expires June 23, 2009                [Page 12]

Internet-Draft  SIP Communication Diversion Notification   December 2008


   [6]  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.

11.2.  Informative References

   [7]  Paoli, J., Bray, T., Maler, E., and C. Sperberg-McQueen,
        "Extensible Markup Language (XML) 1.0 (Second Edition)", World
        Wide Web Consortium FirstEdition REC-xml-20001006, October 2000,
        <http://www.w3.org/TR/2000/REC-xml-20001006>.

   [8]  Schulzrinne, H., Tschofenig, H., Morris, J., Cuellar, J., Polk,
        J., and J. Rosenberg, "Common Policy: A Document Format for
        Expressing Privacy Preferences", RFC 4745, February 2007.


Authors' Addresses

   Ranjit Avasarala
   Motorola India Pvt Ltd
   Bagamane Tech Park, C V Raman Nagar
   Bangalore  560093
   India

   Email: ranjit@motorola.com


   Subir Saha
   Motorola India Pvt Ltd
   Bagamane Tech Park, C V Raman Nagar
   Bangalore  560093
   India

   Email: subir.saha@motorola.com


   John Luc Bakker
   Research In Motion Corporation
   5000 Riverside Drive, Building 6, Suite 100
   Irving, Texas  75039
   USA

   Email: jbakker@rim.com








Avasarala, et al.         Expires June 23, 2009                [Page 13]