idnits 2.17.1 draft-li-rtcweb-roap-jingle-interworking-00.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The abstract seems to contain references ([XEP-0166]), which it shouldn't. Please replace those with straight textual mentions of the documents in question. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (February 27, 2012) is 4440 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Missing Reference: 'XEP-0166' is mentioned on line 15, but not defined == Missing Reference: 'ROAP' is mentioned on line 78, but not defined == Missing Reference: 'XEP-0167' is mentioned on line 148, but not defined == Unused Reference: 'I-D.jennings-rtcweb-signaling' is defined on line 223, but no explicit reference was found in the text == Unused Reference: 'I-D.jennings-rtcweb-signaling-gateway' is defined on line 229, but no explicit reference was found in the text Summary: 1 error (**), 0 flaws (~~), 6 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 rtcweb K. Li 3 Internet-Draft Huawei Technologies 4 Intended status: Standards Track February 27, 2012 5 Expires: August 30, 2012 7 RTCWeb ROAP XMPP/Jingle Interworking 8 draft-li-rtcweb-roap-jingle-interworking-00 10 Abstract 12 This document proposes behavior of a RTCWeb signaling gateway for 13 mapping message representations between RTCWeb Offer/Answer Protocol 14 (ROAP) scheme and XMPP/Jingle messaging scheme. Such a signaling 15 gateway is intended to translate ROAP to/from XMPP/Jingle [XEP-0166] 16 for enabling use cases between a RTCWeb enabled browser and legacy 17 mobile devices which use XMPP/Jingle for signalling. 19 Status of this Memo 21 This Internet-Draft is submitted in full conformance with the 22 provisions of BCP 78 and BCP 79. 24 Internet-Drafts are working documents of the Internet Engineering 25 Task Force (IETF). Note that other groups may also distribute 26 working documents as Internet-Drafts. The list of current Internet- 27 Drafts is at http://datatracker.ietf.org/drafts/current/. 29 Internet-Drafts are draft documents valid for a maximum of six months 30 and may be updated, replaced, or obsoleted by other documents at any 31 time. It is inappropriate to use Internet-Drafts as reference 32 material or to cite them other than as "work in progress." 34 This Internet-Draft will expire on August 30, 2012. 36 Copyright Notice 38 Copyright (c) 2012 IETF Trust and the persons identified as the 39 document authors. All rights reserved. 41 This document is subject to BCP 78 and the IETF Trust's Legal 42 Provisions Relating to IETF Documents 43 (http://trustee.ietf.org/license-info) in effect on the date of 44 publication of this document. Please review these documents 45 carefully, as they describe your rights and restrictions with respect 46 to this document. Code Components extracted from this document must 47 include Simplified BSD License text as described in Section 4.e of 48 the Trust Legal Provisions and are provided without warranty as 49 described in the Simplified BSD License. 51 Table of Contents 53 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 55 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . 3 57 3. Overview of Interworking Functionality . . . . . . . . . . . . 3 59 4. Mapping to XMPP/Jingle . . . . . . . . . . . . . . . . . . . . 4 61 5. Message Flows . . . . . . . . . . . . . . . . . . . . . . . . . 5 63 6. Security Considerations . . . . . . . . . . . . . . . . . . . . 6 65 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 6 67 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 6 69 9. Normative References . . . . . . . . . . . . . . . . . . . . . 6 71 Author's Address . . . . . . . . . . . . . . . . . . . . . . . 7 73 1. Introduction 75 This specification suggests one possible way to build a RTCWeb 76 signaling gateway that maps message representations proposed in 77 [ROAP] to native XMPP/Jingle messages and vice-versa. The 78 specification [ROAP] describes a signaling protocol for RTCWeb to 79 support negotiation of media session using SDP offer/answer [RFC3264] 80 protocol. Such a signaling protocol enables an RTCWeb browser to 81 setup media sessions to another browser or a XMPP/Jingle device. For 82 Browser-to-XMPP/Jingle device use case, the signaling gateway 83 connects to legacy XMPP/Jingle devices and SHALL translate messages 84 between ROAP and XMPP/Jingle native messages schemes. 86 2. Terminology 88 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 89 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 90 document are to be interpreted as described in [RFC2119]. 92 3. Overview of Interworking Functionality 94 When the signalling gateway receives ROAP call signaling messages 95 from a Browser/Javascript, it performs the necessary translation and 96 sends the corresponding equivalent messages to XMPP/Jingle entity and 97 vice versa. The signalling gateway SHALL provide signaling 98 translation for all phases of a call. 100 This signalling gateway does not include media format conversion. 101 However, it MAY include a Media Switching Function for switching RTP 102 packets which is out of scope of this document. 104 The figure below shows the overall interworking architecture. 106 +---------------------------------------+ 107 | +--------------------+ | 108 | | ROAP-XMPP/Jingle | | 109 | | Signalling | | 110 | | Gateway | | 111 | +--------------------+ | 112 | / \ | 113 | +---------------+ +---------------+ | 114 | | | | | | 115 | | ROAP Stack | | XMPP/Jingle | | 116 | | | | Stack | | 117 | +---------------| +---------------+ | 118 +---------------------------------------+ 119 / \ 120 +-------------+ +------------+ 121 | Javascript | | XMPP/ | 122 | ----------- | Media Flow | Jingle | 123 | Browser |========================| Device | 124 +-------------+ +------------+ 126 Figure 1: ROAP-XMPP/Jingle Interworking 128 4. Mapping to XMPP/Jingle 130 Here is the mapping table to convert between XMPP/Jingle messages and 131 ROAP parameters: 133 ROAP Parameter XMPP/Jingle Message 134 ------------ ------------- 135 messageType action 136 OFFER 'session-initiate' 137 ANSWER 'session-info' 138 'transport-info' 139 'session-accept' 140 OK 'session-accept' 141 ERROR type='error' 142 offererSessionId sid 143 answererSessionId sid 144 morecoming action='session-info' 145 Seq ? 147 Note that the media negotiation also needs to be done between XMPP/ 148 Jingle and SDP, please refer to [XEP-0167]. 150 5. Message Flows 152 The design requires the signalling gateway to be XMPP/Jingle 153 transaction statefull but does not require any storage of longer term 154 state. The information that remains constant over the XMPP/Jingle 155 dialog is stored in session tokens while the information that is 156 needed to form a XMPP/Jingle response is stored in response tokens. 157 Messages on the two sides of the signalling gateway are referred to 158 as the XMPP/Jingle device side and web side. 160 The following sub-sections show example message flows with detailed 161 message description of native XMPP/Jingle messages that are mapped 162 from ROAP scheme and the ones that are received as responses by the 163 signaling gateway. CallerUA(callerua@atlanta.example.com) is a 164 RTCWeb browser. It is assumed that XMPP/Jingle device has registered 165 with the signalling gateway to be able to receive the calls. 167 In the example below, CallerUA establishes successful media session 168 with CalleeUA, a legacy XMPP/Jingle device, with the help of the 169 RTCWeb signaling gateway. 171 Caller Signalling XMPP/Jingle 172 UA Gateway device 173 | | | 174 | "type":"OFFER","sdp":"..." | | 175 |----------------------------->| session-initiate | 176 | |---------------------->| 177 | | session-info | 178 | |<----------------------| 179 | "type":"ANSWER","sdp":"..." | | 180 |<-----------------------------| | 181 | "moreComing":"true" | | 182 | | session-accept | 183 | |<----------------------| 184 | "type":"ANSWER","sdp":"..." | | 185 |<-----------------------------| | 186 | "type":"OK" | | 187 |----------------------------->| | 188 | | 189 | RTP | 190 |<====================================================>| 191 | | 193 Figure 3: Interworking Message Flow Example 195 This message flow matches XMPP/Jingle message and parameters with 196 ROAP message and parameters. Calling from CallerUA will contain the 197 media channel information for forward and reverse channels. This 198 will help in mapping the complete channel information from ROAP 199 "OFFER" + SDP to XMPP/Jingle session initiation message. Similarly, 200 session information from XMPP/Jingle side can be mapped to ROAP 201 "ANSWER" response plus SDP information. This message flow will give 202 the immediate availability of media channels from both sides after 203 XMPP/Jingle session-accept message and ROAP "OK" message. 205 The details of call flow messages are shown as below. 207 Message details go here... 209 6. Security Considerations 211 TBD. 213 7. IANA Considerations 215 This document requires no actions from IANA. 217 8. Acknowledgements 219 TBD. 221 9. Normative References 223 [I-D.jennings-rtcweb-signaling] 224 Jennings, C., Rosenberg, J., and R. Jesup, "RTCWeb Offer/ 225 Answer Protocol (ROAP)", 226 draft-jennings-rtcweb-signaling-01 (work in progress), 227 October 2011. 229 [I-D.jennings-rtcweb-signaling-gateway] 230 Jennings, C., Nandakumar, S., and C. Holmberg, "SIP to 231 RTCWeb Offer/Answer Protocol (ROAP) Gateway", 232 draft-jennings-rtcweb-signaling-gateway-00 (work in 233 progress), October 2011. 235 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 236 Requirement Levels", BCP 14, RFC 2119, March 1997. 238 [RFC3264] Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model 239 with Session Description Protocol (SDP)", RFC 3264, 240 June 2002. 242 Author's Address 244 Kepeng Li 245 Huawei Technologies 246 Huawei Base, Bantian, Longgang District 247 Shenzhen, Guangdong 518129 248 P. R. China 250 Phone: +86-755-28974289 251 Email: likepeng@huawei.com