rtcweb K. Li Internet-Draft Huawei Technologies Intended status: Standards Track February 27, 2012 Expires: August 30, 2012 RTCWeb ROAP XMPP/Jingle Interworking draft-li-rtcweb-roap-jingle-interworking-00 Abstract This document proposes behavior of a RTCWeb signaling gateway for mapping message representations between RTCWeb Offer/Answer Protocol (ROAP) scheme and XMPP/Jingle messaging scheme. Such a signaling gateway is intended to translate ROAP to/from XMPP/Jingle [XEP-0166] for enabling use cases between a RTCWeb enabled browser and legacy mobile devices which use XMPP/Jingle for signalling. 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 August 30, 2012. Copyright Notice Copyright (c) 2012 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 Li Expires August 30, 2012 [Page 1] Internet-Draft RTCWeb-ROAP-Jingle-Interworking February 2012 described in the Simplified BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3. Overview of Interworking Functionality . . . . . . . . . . . . 3 4. Mapping to XMPP/Jingle . . . . . . . . . . . . . . . . . . . . 4 5. Message Flows . . . . . . . . . . . . . . . . . . . . . . . . . 5 6. Security Considerations . . . . . . . . . . . . . . . . . . . . 6 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 6 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 6 9. Normative References . . . . . . . . . . . . . . . . . . . . . 6 Author's Address . . . . . . . . . . . . . . . . . . . . . . . 7 Li Expires August 30, 2012 [Page 2] Internet-Draft RTCWeb-ROAP-Jingle-Interworking February 2012 1. Introduction This specification suggests one possible way to build a RTCWeb signaling gateway that maps message representations proposed in [ROAP] to native XMPP/Jingle messages and vice-versa. The specification [ROAP] describes a signaling protocol for RTCWeb to support negotiation of media session using SDP offer/answer [RFC3264] protocol. Such a signaling protocol enables an RTCWeb browser to setup media sessions to another browser or a XMPP/Jingle device. For Browser-to-XMPP/Jingle device use case, the signaling gateway connects to legacy XMPP/Jingle devices and SHALL translate messages between ROAP and XMPP/Jingle native messages schemes. 2. Terminology 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 [RFC2119]. 3. Overview of Interworking Functionality When the signalling gateway receives ROAP call signaling messages from a Browser/Javascript, it performs the necessary translation and sends the corresponding equivalent messages to XMPP/Jingle entity and vice versa. The signalling gateway SHALL provide signaling translation for all phases of a call. This signalling gateway does not include media format conversion. However, it MAY include a Media Switching Function for switching RTP packets which is out of scope of this document. The figure below shows the overall interworking architecture. Li Expires August 30, 2012 [Page 3] Internet-Draft RTCWeb-ROAP-Jingle-Interworking February 2012 +---------------------------------------+ | +--------------------+ | | | ROAP-XMPP/Jingle | | | | Signalling | | | | Gateway | | | +--------------------+ | | / \ | | +---------------+ +---------------+ | | | | | | | | | ROAP Stack | | XMPP/Jingle | | | | | | Stack | | | +---------------| +---------------+ | +---------------------------------------+ / \ +-------------+ +------------+ | Javascript | | XMPP/ | | ----------- | Media Flow | Jingle | | Browser |========================| Device | +-------------+ +------------+ Figure 1: ROAP-XMPP/Jingle Interworking 4. Mapping to XMPP/Jingle Here is the mapping table to convert between XMPP/Jingle messages and ROAP parameters: ROAP Parameter XMPP/Jingle Message ------------ ------------- messageType action OFFER 'session-initiate' ANSWER 'session-info' 'transport-info' 'session-accept' OK 'session-accept' ERROR type='error' offererSessionId sid answererSessionId sid morecoming action='session-info' Seq ? Note that the media negotiation also needs to be done between XMPP/ Jingle and SDP, please refer to [XEP-0167]. Li Expires August 30, 2012 [Page 4] Internet-Draft RTCWeb-ROAP-Jingle-Interworking February 2012 5. Message Flows The design requires the signalling gateway to be XMPP/Jingle transaction statefull but does not require any storage of longer term state. The information that remains constant over the XMPP/Jingle dialog is stored in session tokens while the information that is needed to form a XMPP/Jingle response is stored in response tokens. Messages on the two sides of the signalling gateway are referred to as the XMPP/Jingle device side and web side. The following sub-sections show example message flows with detailed message description of native XMPP/Jingle messages that are mapped from ROAP scheme and the ones that are received as responses by the signaling gateway. CallerUA(callerua@atlanta.example.com) is a RTCWeb browser. It is assumed that XMPP/Jingle device has registered with the signalling gateway to be able to receive the calls. In the example below, CallerUA establishes successful media session with CalleeUA, a legacy XMPP/Jingle device, with the help of the RTCWeb signaling gateway. Caller Signalling XMPP/Jingle UA Gateway device | | | | "type":"OFFER","sdp":"..." | | |----------------------------->| session-initiate | | |---------------------->| | | session-info | | |<----------------------| | "type":"ANSWER","sdp":"..." | | |<-----------------------------| | | "moreComing":"true" | | | | session-accept | | |<----------------------| | "type":"ANSWER","sdp":"..." | | |<-----------------------------| | | "type":"OK" | | |----------------------------->| | | | | RTP | |<====================================================>| | | Figure 3: Interworking Message Flow Example This message flow matches XMPP/Jingle message and parameters with Li Expires August 30, 2012 [Page 5] Internet-Draft RTCWeb-ROAP-Jingle-Interworking February 2012 ROAP message and parameters. Calling from CallerUA will contain the media channel information for forward and reverse channels. This will help in mapping the complete channel information from ROAP "OFFER" + SDP to XMPP/Jingle session initiation message. Similarly, session information from XMPP/Jingle side can be mapped to ROAP "ANSWER" response plus SDP information. This message flow will give the immediate availability of media channels from both sides after XMPP/Jingle session-accept message and ROAP "OK" message. The details of call flow messages are shown as below. Message details go here... 6. Security Considerations TBD. 7. IANA Considerations This document requires no actions from IANA. 8. Acknowledgements TBD. 9. Normative References [I-D.jennings-rtcweb-signaling] Jennings, C., Rosenberg, J., and R. Jesup, "RTCWeb Offer/ Answer Protocol (ROAP)", draft-jennings-rtcweb-signaling-01 (work in progress), October 2011. [I-D.jennings-rtcweb-signaling-gateway] Jennings, C., Nandakumar, S., and C. Holmberg, "SIP to RTCWeb Offer/Answer Protocol (ROAP) Gateway", draft-jennings-rtcweb-signaling-gateway-00 (work in progress), October 2011. [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [RFC3264] Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model with Session Description Protocol (SDP)", RFC 3264, Li Expires August 30, 2012 [Page 6] Internet-Draft RTCWeb-ROAP-Jingle-Interworking February 2012 June 2002. Author's Address Kepeng Li Huawei Technologies Huawei Base, Bantian, Longgang District Shenzhen, Guangdong 518129 P. R. China Phone: +86-755-28974289 Email: likepeng@huawei.com Li Expires August 30, 2012 [Page 7]