SIP                                                         J. Rosenberg
Internet-Draft                                                     Cisco
Intended status: Informational                             July 14, 2008
Expires: January 15, 2009


 Litmus Tests for Usage of the Session Initiation Protocol (SIP)  INFO
                                 Method
                   draft-rosenberg-sip-info-litmus-01

Status of this Memo

   By submitting this Internet-Draft, each author represents that any
   applicable patent or other IPR claims of which he or she is aware
   have been or will be disclosed, and any of which he or she becomes
   aware will be disclosed, in accordance with Section 6 of 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 January 15, 2009.

Copyright Notice

   Copyright (C) The IETF Trust (2008).

Abstract

   The Session Initiation Protocol (SIP) Working Group is considering
   the standardization of a framework for conveying application data
   through the INFO method.  However, the INFO method is just one of
   several techniques available in SIP for the transfer of application
   data.  Others include through the SIP events framework and through a
   media session.  This document provides guidelines and litmus tests
   for determining which is the right technique to use.



Rosenberg               Expires January 15, 2009                [Page 1]


Internet-Draft                 INFO Litmus                     July 2008


Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . . . 3
   2.  Applicability of a Media Plane Solution . . . . . . . . . . . . 4
   3.  Applicability of the SIP Events Framework . . . . . . . . . . . 5
   4.  Applicability of the SIP INFO Framework . . . . . . . . . . . . 5
   5.  Discussion  . . . . . . . . . . . . . . . . . . . . . . . . . . 6
   6.  Security Considerations . . . . . . . . . . . . . . . . . . . . 6
   7.  IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 7
   8.  Informative References  . . . . . . . . . . . . . . . . . . . . 7
   Author's Address  . . . . . . . . . . . . . . . . . . . . . . . . . 7
   Intellectual Property and Copyright Statements  . . . . . . . . . . 9







































Rosenberg               Expires January 15, 2009                [Page 2]


Internet-Draft                 INFO Litmus                     July 2008


1.  Introduction

   The Session Initiation Protocol (SIP) [RFC3261] allows for the
   establishment, management, and termination of interactive sessions
   between user agents.  These sessions are often used for the exchange
   of real time media, such as voice, video or text, using protocols
   such as the Real Time Transport Protocol (RTP).

   Oftentimes, there is a need for agents to exchange non-real time
   application data as part of a communications session.  Examples of
   such data include:

   Camera Controls:  Video conferencing systems often allow a
      participant in the session to control the camera on the far end of
      the call.  This allows them to pan, tilt and zoom in order to see
      the person or people they are talking to.

   Pictures:  During a voice call, a user can snap a picture and send it
      to the other participant in the call.  This requires a mechanism
      to transfer the picture from one end to the other.

   Game Moves:  Users engaging in a real time game may need to exchange
      game moves in addition to having a voice/video chat in concert
      with the game.

   SIP provides three general purpose mechanisms that allow a pair of
   agents to communicate data during a session.  These are:

   SIP Events Framework:  One user agent can send a SUBCRIBE request to
      the other, using an event package specific to the application data
      that is desired.  This subscription is ideally done as part of a
      separate dialog.  This technique is recommended for application
      interaction, and is described in
      [I-D.ietf-sipping-app-interaction-framework].

   Media:  A user agent can use SIP to set up another media session
      whose purpose is to carry the application specific data.  This can
      be done using the TOTE protocol proposed in
      [I-D.rosenberg-sip-tote].

   INFO Framework:  A user agent can send the data in a SIP INFO message
      along the existing SIP dialog.  This technique is described in
      [I-D.kaplan-sip-info-events].

   Each of these mechanisms are different in important ways.  The events
   framework and the INFO framework utilize the signaling plane, while
   TOTE utilizes the media plane.  The INFO framework always follows the
   path of an INVITE dialog, while the events framework allows arbitrary



Rosenberg               Expires January 15, 2009                [Page 3]


Internet-Draft                 INFO Litmus                     July 2008


   connections and can be independent of any dialog.  These differences
   result in differing scopes of applicability.  As a consequence, there
   cannot be just ONE solution for application signaling.  All three are
   needed and serve different purposes.

   [I-D.kaplan-sip-info-use-cases] defines different use cases for
   application transfer in SIP, and suggests whether INFO or other
   mechanisms are appropriate.  However, it doesn't propose any specific
   metrics which could be used to evaluate the options.  This draft
   proposes metrics which can be considered in deciding which of the
   three techniques to apply.


2.  Applicability of a Media Plane Solution

   The following litmus tests can be employed to help determine if an
   application should be based on a media plane solution:

   o  The application is trying to deliver data that has low latency
      requirements.  Since a media plane solution takes the most direct
      path between user agents, it is the ideal choice in these cases.
      Examples would be far end camera controls and active speaker
      indications in a conference.

   o  The data consists of a large number of messages that are likely to
      be sent during the duration of the session.  In the signaling
      plane solutions, these messages would pass through proxies and
      other servers, increasing their load without any value.  Keeping
      them on the media plane allows them to go direct.  Examples of
      applications in this category are game moves in a multiplayer game
      and active speaker indications in a conference.

   o  The data is potentially very large in size.  SIP is a poor data
      transfer mechanism for many reasons.  Large messages can clog
      connections between servers and worsen call setup delays.  Many
      servers were not built to handle large messages.  For this reason,
      the media plane is a better choice.  Examples of applications
      meeting this test are picture sharing and file transfer.

   o  The data is something that intermediaries do not typically need to
      see.  The signaling plane is a better choice in such cases.  Note
      that, it is possible for intermediaries to observe media-plane
      information by acting as a B2BUA; this is common practice for
      multimedia over RTP.  However, if application data will need to be
      seen by an intermediary, it is more efficient to use the signaling
      plan.





Rosenberg               Expires January 15, 2009                [Page 4]


Internet-Draft                 INFO Litmus                     July 2008


3.  Applicability of the SIP Events Framework

   The SIP events framework is the ideal choice when:

   o  The data is not associated with a communications session.  In
      cases where the data is associated with a session, it is better to
      use either a media plane solution or the INFO events framework.
      Presence [RFC3856] is a classic example, as is the registration
      event package [RFC3680].

   o  The entity that wants to receive the data knows with high
      probability that the peer is capable of sending a notification
      with the data, and the entity knows what type of data it needs to
      receive.  In other words, the event framework is ideal where an
      agent needs to ask a question to a source that always knows the
      answer.

   o  The information will need to be communicated between the entities
      for a long period of time, possibly continuously.  The event
      framework is a better choice for these cases; it provides features
      to support long lived associations.

   o  The information exchanged may need to be seen by intermediaries.
      This would argue for a sinaling path solution, which the event
      framework is.


4.  Applicability of the SIP INFO Framework

   The INFO framework is a good solution when:

   o  The information that is exchanged is associated with a
      communications session.  This is almost the definitional property
      of the INFO events framework.

   o  The information that is exchanged may need to be seen by
      intermediaries.

   o  The recipient of the data has no idea if the sender will ever
      generate the data; the recipient is just saying that it knows how
      to handle it, should the sender have something to send.  This is
      an important differentiator with the events framework, which
      assumes that the recipient wants the data.  Examples of this
      include receiving a picture or a vCard during a session.  The
      receiver doesn't explicitly want or need the data; but if the
      sender has it, the receiver is willing to take it.





Rosenberg               Expires January 15, 2009                [Page 5]


Internet-Draft                 INFO Litmus                     July 2008


   o  The recipient could potentially handle many different types of
      data with the above characteristic.  In other words, there are
      lots of things that the receiver could process if the sender were
      to send it.  If the application data is just one more, it is
      likely a fit for the INFO framework.

   o  The size of the data that is to be sent is small and infrequent,
      at most a few times during the session.  This is in contrast to
      the media solutions, which are also session-oriented but are
      better for larger and more frequent data.

   o  The data needs to be sent reliably and latency is not much of an
      issue.  If latency were an issue, the media plane solution would
      be better.

   o  The data has no impact on SIP dialog state, transaction state,
      media session states or intermediate proxy or b2bua states.


5.  Discussion

   The litmus tests do not provide a black and white answer to the
   question of which mechanism to use.  There is overlap between them,
   and certain applications could arguably use multiple techniques.  The
   media-plane solution is the most inclusive, in that it could arguably
   be used for any application.  Though optimized for large and
   frequently sent data, it can handle small and infrequent data too.
   Though optimized for end-to-end communications it can be seen by
   intermediaries too.  Though optimized for usage during media
   sessions, one could set up a session just for application data.
   Indeed, one could go as far as to argue that the media plane solution
   could replace the SIP events framework and the INFO framework
   entirely.  Perhaps, had SIP been earlier in its evolutionary cycle,
   this might make sense.  However, the event framework in particular is
   in wide usage and mature, and signaling-based channels remain the
   most reliable and frequently used.  Consequently, this document
   recommends a pragmatic approach whereby all the mechanisms co-exist,
   and IETF chooses the ideal one for each task.


6.  Security Considerations

   There are no security considerations associated with this
   specification.







Rosenberg               Expires January 15, 2009                [Page 6]


Internet-Draft                 INFO Litmus                     July 2008


7.  IANA Considerations

   None.


8.  Informative References

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

   [I-D.ietf-sipping-app-interaction-framework]
              Rosenberg, J., "A Framework for Application Interaction in
              the Session Initiation Protocol  (SIP)",
              draft-ietf-sipping-app-interaction-framework-05 (work in
              progress), July 2005.

   [I-D.rosenberg-sip-tote]
              Rosenberg, J., "Session Based Trivial Object Transfer and
              Exchange (TOTE)", draft-rosenberg-sip-tote-00 (work in
              progress), February 2008.

   [I-D.kaplan-sip-info-events]
              Kaplan, H. and C. Holmberg, "The SIP INFO Method and Info
              Package Framework", draft-kaplan-sip-info-events-01 (work
              in progress), February 2008.

   [I-D.kaplan-sip-info-use-cases]
              Kaplan, H., "SIP INFO Use Cases",
              draft-kaplan-sip-info-use-cases-01 (work in progress),
              February 2008.

   [RFC3856]  Rosenberg, J., "A Presence Event Package for the Session
              Initiation Protocol (SIP)", RFC 3856, August 2004.

   [RFC3680]  Rosenberg, J., "A Session Initiation Protocol (SIP) Event
              Package for Registrations", RFC 3680, March 2004.













Rosenberg               Expires January 15, 2009                [Page 7]


Internet-Draft                 INFO Litmus                     July 2008


Author's Address

   Jonathan Rosenberg
   Cisco
   Edison, NJ
   US

   Phone: +1 973 952-5000
   Email: jdrosen@cisco.com
   URI:   http://www.jdrosen.net









































Rosenberg               Expires January 15, 2009                [Page 8]


Internet-Draft                 INFO Litmus                     July 2008


Full Copyright Statement

   Copyright (C) The IETF Trust (2008).

   This document is subject to the rights, licenses and restrictions
   contained in BCP 78, and except as set forth therein, the authors
   retain all their rights.

   This document and the information contained herein are provided on an
   "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
   OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
   THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS
   OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
   THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
   WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.


Intellectual Property

   The IETF takes no position regarding the validity or scope of any
   Intellectual Property Rights or other rights that might be claimed to
   pertain to the implementation or use of the technology described in
   this document or the extent to which any license under such rights
   might or might not be available; nor does it represent that it has
   made any independent effort to identify any such rights.  Information
   on the procedures with respect to rights in RFC documents can be
   found in BCP 78 and BCP 79.

   Copies of IPR disclosures made to the IETF Secretariat and any
   assurances of licenses to be made available, or the result of an
   attempt made to obtain a general license or permission for the use of
   such proprietary rights by implementers or users of this
   specification can be obtained from the IETF on-line IPR repository at
   http://www.ietf.org/ipr.

   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights that may cover technology that may be required to implement
   this standard.  Please address the information to the IETF at
   ietf-ipr@ietf.org.


Acknowledgment

   Funding for the RFC Editor function is provided by the IETF
   Administrative Support Activity (IASA).





Rosenberg               Expires January 15, 2009                [Page 9]