DISPATCH WG S. Veikkolainen Internet-Draft M. Isomaki Intended status: Standards Track Nokia Expires: February 23, 2011 August 22, 2010 Requirements and Use Cases for Combining SIP Based Real-time Media Sessions With XMPP Based Instant Messaging and Presence Service. draft-veikkolainen-sip-xmpp-coex-reqs-01 Abstract This memo defines use cases and requirements for combining Session Initiation Protocol (SIP) based real-time media sessions with Extensible Messaging and Presence Protocol (XMPP) based instant messaging and presence services in a seamless manner. 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 February 23, 2011. Copyright Notice Copyright (c) 2010 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. Veikkolainen & Isomaki Expires February 23, 2011 [Page 1] Internet-Draft Requirements for combining SIP with XMPP August 2010 Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Conventions Used in This Document . . . . . . . . . . . . . . . 3 3. Intended scope and deployment scenarios . . . . . . . . . . . . 3 4. Use cases and requirements . . . . . . . . . . . . . . . . . . 4 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 6 6. Security Considerations . . . . . . . . . . . . . . . . . . . . 7 7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . 7 8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 7 8.1. Normative References . . . . . . . . . . . . . . . . . . . 7 8.2. Informative References . . . . . . . . . . . . . . . . . . 7 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 8 Veikkolainen & Isomaki Expires February 23, 2011 [Page 2] Internet-Draft Requirements for combining SIP with XMPP August 2010 1. Introduction Currently most standards-based Voice over IP (VoIP) deployments use Session Initiation Protocol (SIP) [RFC3261]. In addition to providing basic voice service SIP has an extensive support for more advanced telephony features including interworking with the traditional Public Switched Telephone Network (PSTN). SIP is also gaining popularity in the field of video communication. At the same time, the Extensible Messaging and Presence Protocol (XMPP; [RFC3920] and [RFC3921]) is enjoying widespread usage in instant messaging and presence services. An interesting scenario arises when a SIP based voice and video service is combined together with an XMPP based instant messaging and presence service. This memo presents a set of use cases and requirements for an integrated SIP User Agent and XMPP client that aims to offer a seamless user experience combining SIP based voice and video with XMPP based instant messaging and presence. The main issues that need to be addressed when offering such combined services are identities and addressing. SIP and XMPP both use a similar addressing scheme (based on "user@domain" structure) to identify users and endpoints but there are some subtle differences as well. We do not assume any algorithmic correlation or translation between SIP and XMPP Universal Resource Identifiers (URI), even when they identify the "same" user or endpoint. New protocol mechanisms are needed to tie together communication contexts that are based on the two protocols. The document structure is as follows: Section 2 presents the document conventions and definitions, Section 3 defines the scope and presents deployment scenarios, and Section 4 describes use cases and requirements. 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 BCP 14, RFC 2119 [RFC2119] and indicate requirement levels for compliant implementations. 3. Intended scope and deployment scenarios This section presents the intended scope of the work and the Veikkolainen & Isomaki Expires February 23, 2011 [Page 3] Internet-Draft Requirements for combining SIP with XMPP August 2010 assumptions that are made about SIP and XMPP deployments with respect to endpoints and server infrastructure. This work is about combined use of SIP and XMPP in a single integrated endpoint. Protocol translation through a gateway between SIP and XMPP is out of scope; that is the subject of other work, see for example [I-D.saintandre-sip-xmpp-core]. The initial focus is on one-to-one communication only. Multiparty use cases such as combining SIP voice conference with XMPP IM group chat are beyond the scope. This maybe subject of later work. SIP is able to offer Presence and IM services via the SIP IM and Presence Leveraging Extensions (SIMPLE)(see e.g. [RFC3428] and [RFC3856]). XMPP is able to offer voice and video services via the Jingle extension [XEP-0166]. Offering overlapping services (e.g. presence) via both SIP and XMPP is out of scope of this document. However, it is expected that such scenarios will exist, and guidelines for developers and service providers may be given in other documents. It is assumed that combining SIP based real-time services with XMPP based presence and IM service can be accomplished purely in the endpoints; no support is needed in the service infrastructure. The intent is that the combined SIP and XMPP endpoints can use already existing SIP and XMPP services, which makes deployment much easier. In general the SIP and XMPP service infrastructures can be totally independent from each other. It is possible to achieve seamless integration even when SIP and XMPP services are offered by different service providers. It is of course possible (and likely) that the same provider offers both SIP and XMPP service, but that does not affect how endpoints use the protocols between each other. We assume that the user initially only needs to know the contact address of the other user in one protocol space. The contact address for the other protocol must be learned by some means. We consider only cases where two integrated endpoints interact. When an integrated endpoint communicates with a separated endpoint, normal SIP and XMPP procedures apply and no extensions defined in this memo are used. 4. Use cases and requirements In this section we enumerate the actual use cases that the combined service must accommodate for, and define the protol requirements that stem from these use cases. Veikkolainen & Isomaki Expires February 23, 2011 [Page 4] Internet-Draft Requirements for combining SIP with XMPP August 2010 The use cases are as follows: o Two users who both use an integrated endpoint start an (XMPP) IM conversation. After the exchange of initial messages, their UIs show that the other party is capable of (SIP) voice and/or video in addition to IM. Either user can at any point add voice and/or video component to the conversation in such a way that at the other user's end it arrives at the same endpoint and conversation context where the IM exchange is already taking place. (Note that for this use case the conversation initiator initially only needs to know the other user's XMPP user id.) o Two users who both use an integrated endpoint start a (SIP) voice and/or video call. As the call is established, their UIs show that the other party is capable for (XMPP) IM. Either user can at any point add an IM component to the conversation in such a way that at the other user's end it arrives at the same endpoint and conversation context where the voice and/or video call is already taking place. (Note that for this use case the caller initially only needs to know the other user's SIP user id.) It is possible to vary the two cases above so that one of the users initiates a "multimedia call" to the other one, i.e. SIP voice and/or video and XMPP IM are all active from the start. Technically this may happen according to the two-phased approach above, and it invisible from the end-user. o A user of an integrated endpoint is able to publish her SIP voice and video related presence status as part of her XMPP presence. The status includes information such as user's SIP contact address (for the integrated endpoint), media capability and availability and whether the user is currently "on the phone". Another user of an integrated endpoint can see the presence status (assuming she is authorized for that) and based on that initiate calls or populate her address book further use. For instance watcher's UI can now for certain show that the user on her roster is capable of receiving multimedia calls. (Note that the watcher initially only needs to know the other user's XMPP user id.) A user who has obtained another user's SIP URI is able to discover the other user's XMPP URI so that she can send the other user XMPP IM or subscribe to the other user's presence, or just populate her address book for futher use. The user is able to do this without bothering the other user, provided the other user has pre- authorized the operation. but From the use cases, we can derive the following protocol requirements: Veikkolainen & Isomaki Expires February 23, 2011 [Page 5] Internet-Draft Requirements for combining SIP with XMPP August 2010 REQ-1: When endpoint A sends an XMPP message to endpoint B, it must be able to include its SIP contact and correlation information in the message, so that endpoint B can initiate a SIP real-time media session with endpoint A. The SIP session initiation must be able to carry information that allows endpoint A to to correlate the session with the XMPP message it sent earlier. As including the same information in every XMPP message would create some overhead, it is desirable to be able to convey the SIP contact and correlation only once per IM conversation/thread. REQ-2: When endpoints A and B establish a real-time media session with SIP, they must during the session initiation be able to exchange their XMPP contact and correlation information so that either endpoint can send an XMPP message to the other endpoint. That XMPP message must be able to carry information which allows its recipient to correlate it with the SIP session. REQ-3: It must be possible to include SIP real-time media related contact and status in XMPP presence information. The information must contain at least SIP contact address to identify a user or a user agent instance, media capabilities and general availability status. REQ-4: It must be possible for a user, who only knows another user's SIP URI, to learn the other user's XMPP URI. OPEN ISSUE: Should we define requirements related to error or corner cases here. For instance what happens to communication attempts after the other party has closed the conversation context, e.g. a correlated XMPP message that is sent after the related SIP session is terminated. Or a SIP INVITE that appears two days after the XMPP IM conversation was ended. NOTE: There is also an implicit requirement that we must take Session Border Controllers into account when defining how SIP User Agents are able to identify an existing session between them in a common manner. 5. IANA Considerations This document contains no IANA considerations. Veikkolainen & Isomaki Expires February 23, 2011 [Page 6] Internet-Draft Requirements for combining SIP with XMPP August 2010 6. Security Considerations The contact and correlation information is sensitive and we need to prevent connection hijacking and impersonation. If the contact information that is sent over one protocol is forged, the identity verification mechanism in the other no longer help as an attacker is able to assert the false identity. 7. Acknowledgments TBD 8. References 8.1. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. 8.2. Informative References [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-01 (work in progress), March 2009. [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. [RFC3428] Campbell, B., Rosenberg, J., Schulzrinne, H., Huitema, C., and D. Gurle, "Session Initiation Protocol (SIP) Extension for Instant Messaging", RFC 3428, December 2002. [RFC3856] Rosenberg, J., "A Presence Event Package for the Session Initiation Protocol (SIP)", RFC 3856, August 2004. [RFC3920] Saint-Andre, P., Ed., "Extensible Messaging and Presence Protocol (XMPP): Core", RFC 3920, October 2004. [RFC3921] Saint-Andre, P., Ed., "Extensible Messaging and Presence Protocol (XMPP): Instant Messaging and Presence", RFC 3921, October 2004. Veikkolainen & Isomaki Expires February 23, 2011 [Page 7] Internet-Draft Requirements for combining SIP with XMPP August 2010 [XEP-0166] Ludwig, S., Beda, J., Saint-Andre, P., McQueen, R., Egan, S., and J. Hildebrand, "Jingle", December 2009, . Authors' Addresses Simo Veikkolainen Nokia P.O. Box 407 NOKIA GROUP, FI 00045 Finland Phone: +358 50 486 4463 Email: simo.veikkolainen@nokia.com Markus Isomaki Nokia P.O. Box 100 NOKIA GROUP, FI 00045 Finland Phone: +358 50 522 5984 Email: markus.isomaki@nokia.com Veikkolainen & Isomaki Expires February 23, 2011 [Page 8]