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]