Internet DRAFT - draft-christou-sip-xmpp-interop

draft-christou-sip-xmpp-interop







Network Working Group                                        C. Christou
Internet-Draft                                               M. Lundberg
Intended status: Informational                                   C. Ross
Expires: September 11, 2013                     Booz Allen Hamilton Inc.
                                                          P. Saint-Andre
                                                     Cisco Systems, Inc.
                                                          March 10, 2013


 Interoperability between the Session Initiation Protocol (SIP) and the
           Extensible Messaging and Presence Protocol (XMPP)
                   draft-christou-sip-xmpp-interop-00

Abstract

   This document is intended to serve as a reference point for
   developers and operators implementing the Session Initiation Protocol
   (SIP) and the Extensible Messaging and Presence Protocol (XMPP)
   within their networks.  This document does not define any new
   protocols but does define the different reference models for
   deployment of combined use of SIP and XMPP ("CUSAX") clients and SIP-
   XMPP interworking to ensure consistency across the community.

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 September 11, 2013.

Copyright Notice

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



Christou, et al.       Expires September 11, 2013               [Page 1]

Internet-Draft         SIP-XMPP Interoperability              March 2013


   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  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Reference Models  . . . . . . . . . . . . . . . . . . . . . .   4
     2.1.  Single Client, Same Service Provider  . . . . . . . . . .   4
     2.2.  Separate Clients, Same Service Provider . . . . . . . . .   4
     2.3.  Separate Clients, Different Service Providers . . . . . .   4
     2.4.  Inter-Domain SIP/SIMPLE-XMPP  . . . . . . . . . . . . . .   5
   3.  Security Considerations . . . . . . . . . . . . . . . . . . .   5
   4.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   5
   5.  Informative References  . . . . . . . . . . . . . . . . . . .   6
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .   6

1.  Introduction

   Across the industry, both the Session Initiation Protocol (SIP) and
   the Extensible Messaging and Presence Protocol (XMPP) have been
   implemented extensively by the vendor and developer community to
   provide Internet users real-time communication services, including
   voice, video, and IM/Chat.  Initially, SIP was developed to provide
   the signaling underpinnings for telephony-based communication
   services.  Similarly, XMPP was initially optimized for Instant
   Messaging and Chat-based communications.  Since then both protocols
   have been extended to enable a more full-suite of features.  For
   example, the SIMPLE protocol was defined to allow SIP to be used for
   IM, Chat, presence and other "enhanced" features, such as multi-user
   chat, server-stored contacts, file transfer, etc.  The XMPP community
   developed the Jingle protocol extensions to define how XMPP
   implementations can establish end-to-end voice and video sessions.

   With both suites of protocols providing similar capabilities, the
   adopter community has implemented both SIP/SIMPLE and XMPP.  In
   certain cases, vendors integrating voice, video, and IM/Chat into
   their products have implemented SIP for telephony and XMPP for IM/
   Chat, especially since SIP was initially and optimized for voice/
   video signaling and XMPP optimized for internet-based chat.  However,
   in other instances, vendors have implemented all capabilities using
   SIP/SIMPLE or XMPP/Jingle.  Unfortunately, interoperability and
   interworking between SIP/SIMPLE and XMPP-based implementations has
   been fairly limited thus far.




Christou, et al.       Expires September 11, 2013               [Page 2]

Internet-Draft         SIP-XMPP Interoperability              March 2013


   To help alleviate this lack of interworking, two primary collection
   of IETF documents have emerged describing how to interoperate between
   SIP/SIMPLE and XMPP:

   o  Combined use of SIP and XMPP (CUSAX): The goal of this
      informational Internet-Draft [I-D.ivov-xmpp-cusax] is to define
      how software can be modified to enable a hybrid implementation
      using SIP for voice/video telephony and XMPP for IM/Chat and
      contact list management.  This draft primarily addresses the use
      case where a user uses a dual stack SIP/XMPP client to access its
      services.

   o  SIP-XMPP Interworking: A suite of documents was written to
      describe how SIMPLE-based and XMPP-based IM/Chat implementations
      can interoperate.  These drafts primarily focus on the use case
      where one user SIP/SIMPLE domain needs to communicate with users
      who are a member of a separate XMPP domain.

   While these documents are helpful, they might not cover all
   deployment use cases for real-time communication services using SIP
   and XMPP.  As a result, the goal of this document is threefold:

   o  Serve as reference guide for adopters implementing real-time
      communication services using SIP and XMPP.  It can also define
      common terminology across both the SIP and XMPP communities as it
      relates to inter-working and interoperability between the two
      protocols.

   o  Define all relevant deployment scenarios for SIP and XMPP hybrid
      implementations.

   o  When necessary, provide a reference to other documents that
      describe any protocol enhancements that enable the combined use of
      SIP and XMPP or the interworking functions between the two
      protocols.

   Therefore, this document is intended to serve as a reference point
   for developers and operators implementing SIP and XMPP within their
   networks.  This document will not define any new standards or
   protocols but will define the different reference models for
   deployment of CUSAX clients and SIP-XMPP interworking to ensure
   consistency across the community.









Christou, et al.       Expires September 11, 2013               [Page 3]

Internet-Draft         SIP-XMPP Interoperability              March 2013


2.  Reference Models

   This section defines the different reference models for the
   deployment of SIP and XMPP.  These reference models are categorized
   as either "CUSAX", where a given network uses SIP for telephony and
   XMPP for IM/Chat, or as "Inter-Domain SIP/SIMPLE-XMPP", where one IM/
   chat domain using SIP/SIMPLE needs to interoperate with another XMPP
   IM/Chat domain.

2.1.  Single Client, Same Service Provider

   In this use case, adopters deploy a single client which uses SIP for
   voice/video telephony and XMPP for IM/Chat and Presence.  To
   successfully implement CUSAX using a single client, adopters need
   guidance on how to provision their systems to ensure consistent
   account information is configured between the SIP and XMPP
   infrastructures for the same user.  There are no other
   interoperability issues since presence mapping occurs within the
   client and the two protocols do not interact elsewhere.

   The CUSAX internet-draft [I-D.ivov-xmpp-cusax] explains this use case
   and provides guidance for implementers when configuring clients and
   server-side software.

2.2.  Separate Clients, Same Service Provider

   In certain cases, CUSAX adopters might not have the opportunity to
   deploy SIP and XMPP in the same client.  For example, a given service
   provider might implement a separate client for SIP telephony from the
   XMPP IM/Chat client.  Alternatively, a service provider can deploy
   dedicated IP telephony devices (i.e., a phone) and a XMPP IM/Chat
   client.  As a result, similar to what is provided in the CUSAX draft
   for a single client, guidance needs to be defined to explain how user
   accounts ought be configured between the two systems.  This guidance
   will also need to define how presence is exchanged either client or
   server side.

2.3.  Separate Clients, Different Service Providers

   The third use case involves implementing SIP and XMPP on separate
   clients by separate service providers.  For example, a user might
   obtain their SIP-based telephony services from a telecommunications
   provider and their XMPP IM/Chat service from an Internet provider.
   To provide appropriate guidance for those interested in this use
   case, a document is needed to describe how to align account
   information between the two service providers and how to exchange
   presence consistently between the two service providers for the same
   user/account.



Christou, et al.       Expires September 11, 2013               [Page 4]

Internet-Draft         SIP-XMPP Interoperability              March 2013


2.4.  Inter-Domain SIP/SIMPLE-XMPP

   The second set of use cases involves scenarios where one domain
   deploys SIP/SIMPLE as its IM/Chat protocol and another domain
   implements XMPP as its IM/Chat protocol.

   In order to consistently and effectively interoperate, four key areas
   need to be defined:

   1.  Presence exchange: In order to help ensure interworking between
       presence systems that conform to the instant message / presence
       requirements [RFC2779], it is important to clearly define
       protocol mappings between such systems.
       [I-D.saintandre-sip-xmpp-presence] defines this mapping and can
       be used by adopters that need to exchange presence between SIP/
       SIMPLE and XMPP systems.

   2.  IM interoperability: The term "instant message" usually refers to
       messages sent between two entities for delivery in close to real
       time (rather than messages that are stored and forwarded to the
       intended recipient upon request).  [I-D.saintandre-sip-xmpp-chat]
       specifies mappings for one-to-one text chat sessions (sometimes
       called "session-mode" messaging); in particular, the document
       specifies mappings between XMPP and the Message Session Relay
       Protocol [RFC4975].

   3.  Address mapping: In order to inter work between the two IM/Chat
       systems, a mapping function needs to be defined between the
       identifiers that are used for XMPP and SIP/SIMPLE (JID and SIP
       URI).  [I-D.saintandre-sip-xmpp-core] explains how to translate
       between the two identifiers while also explaining how to
       translate error conditions between the two systems.

   4.  Multi-User Chat (MUC)/Groupchat: Both XMPP and SIP/SIMPLE
       technologies enable multi-user text chat, whereby users can
       exchange messages in the context of a room.  To ensure
       interworking between these technologies for the purposes of
       enabling "Groupchat" between the two systems,
       [I-D.saintandre-sip-xmpp-groupchat] defines how to map syntax and
       semantics between the two protocols.

3.  Security Considerations

   See the security considerations described in the specifications
   referenced herein.

4.  IANA Considerations




Christou, et al.       Expires September 11, 2013               [Page 5]

Internet-Draft         SIP-XMPP Interoperability              March 2013


   This document has no actions for the IANA.

5.  Informative References

   [I-D.ivov-xmpp-cusax]
              Ivov, E., Marocco, E., and P. Saint-Andre, "Combined Use
              of the Session Initiation Protocol (SIP) and the
              Extensible Messaging and Presence Protocol (CUSAX)",
              draft-ivov-xmpp-cusax-03 (work in progress), February
              2013.

   [I-D.saintandre-sip-xmpp-chat]
              Saint-Andre, P., Gavita, E., Hossain, N., and S. Loreto,
              "Interworking between the Session Initiation Protocol
              (SIP) and the Extensible Messaging and Presence Protocol
              (XMPP): One-to-One Text Chat", draft-saintandre-sip-xmpp-
              chat-04 (work in progress), October 2012.

   [I-D.saintandre-sip-xmpp-core]
              Saint-Andre, P., Houri, A., and J. Hildebrand,
              "Interworking between the Session Initiation Protocol
              (SIP) and the Extensible Messaging and Presence Protocol
              (XMPP): Core", draft-saintandre-sip-xmpp-core-03 (work in
              progress), February 2013.

   [I-D.saintandre-sip-xmpp-groupchat]
              Saint-Andre, P., Loreto, S., and F. Forno, "Interworking
              between the Session Initiation Protocol (SIP) and the
              Extensible Messaging and Presence Protocol (XMPP): Multi-
              Party Text Chat", draft-saintandre-sip-xmpp-groupchat-02
              (work in progress), October 2012.

   [I-D.saintandre-sip-xmpp-presence]
              Saint-Andre, P., Houri, A., and J. Hildebrand,
              "Interworking between the Session Initiation Protocol
              (SIP) and the Extensible Messaging and Presence Protocol
              (XMPP): Presence", draft-saintandre-sip-xmpp-presence-04
              (work in progress), February 2013.

   [RFC2779]  Day, M., Aggarwal, S., Mohr, G., and J. Vincent, "Instant
              Messaging / Presence Protocol Requirements", RFC 2779,
              February 2000.

   [RFC4975]  Campbell, B., Mahy, R., and C. Jennings, "The Message
              Session Relay Protocol (MSRP)", RFC 4975, September 2007.

Authors' Addresses




Christou, et al.       Expires September 11, 2013               [Page 6]

Internet-Draft         SIP-XMPP Interoperability              March 2013


   Chris Christou
   Booz Allen Hamilton Inc.
   8283 Greensboro Drive
   McLean, VA  22102
   USA

   Phone: +1-301-419-5157
   Email: christou_chris@bah.com


   Michael Lundberg
   Booz Allen Hamilton Inc.
   8283 Greensboro Drive
   McLean, VA  22102
   USA

   Phone: +1-703-785-7527
   Email: lundberg_michael@bah.com


   Christopher Ross
   Booz Allen Hamilton Inc.
   8283 Greensboro Drive
   McLean, VA  22102
   USA

   Email: ross_christopher@bah.com


   Peter Saint-Andre
   Cisco Systems, Inc.
   1899 Wynkoop Street, Suite 600
   Denver, CO  80202
   USA

   Phone: +1-303-308-3282
   Email: psaintan@cisco.com













Christou, et al.       Expires September 11, 2013               [Page 7]