Internet DRAFT - draft-li-rtcweb-roap-jingle-interworking
draft-li-rtcweb-roap-jingle-interworking
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]