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]