Internet DRAFT - draft-partha-rtcweb-signaling

draft-partha-rtcweb-signaling



RTCWeb working group                            Parthasarathi. Ravindran
Internet-Draft                                      Sonus Networks, Inc.
Intended status: Standards Track                         October 3, 2011
Expires: April 5, 2012


                   RTCWeb standard signaling protocol
                    draft-partha-rtcweb-signaling-00

Abstract

   The standardization of Real time communication between browsers is to
   provide the infrastructure for audio, video, text communication using
   standard interface so that interoperable communication can be
   established between any compatible browsers.  RTCWeb specific
   Javascript API will be provided by browsers for developing real-time
   web application.  It is possible to develop signaling protocol like
   Session Initiation Protocol (SIP) or Jingle or websocket extension or
   custom-made signaling protocol in Javascript.  There are lots of
   issues in Javascript based signaling protocol.  This document list
   the need for standard signaling protocol between RTCWeb client
   (browser) and RTCWeb server and possible signaling protocol for the
   same.

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 April 5, 2012.

Copyright Notice

   Copyright (c) 2011 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



Ravindran                 Expires April 5, 2012                 [Page 1]

Internet-Draft              RTCWeb signaling                October 2011


   (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.


Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . . . 3
   2.  Architecture  . . . . . . . . . . . . . . . . . . . . . . . . . 3
   3.  Issues without RTCWeb standard signaling protocol . . . . . . . 4
   4.  Standard RTCWeb signaling protocol advantages . . . . . . . . . 5
   5.  RTCWeb Protocol requirement and design consideration  . . . . . 5
   6.  Possible RTCWeb signaling protocols . . . . . . . . . . . . . . 6
   7.  Conclusion  . . . . . . . . . . . . . . . . . . . . . . . . . . 6
   8.  Security Considerations . . . . . . . . . . . . . . . . . . . . 6
   9.  IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 6
   10. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . . 7
   11. Informative References  . . . . . . . . . . . . . . . . . . . . 7
   Author's Address  . . . . . . . . . . . . . . . . . . . . . . . . . 8




























Ravindran                 Expires April 5, 2012                 [Page 2]

Internet-Draft              RTCWeb signaling                October 2011


1.  Introduction

   The standardization of Real time communication between browsers is to
   provide the infrastructure for audio, video, text communication using
   standard interface so that interoperable communication can be
   established between any compatible browsers.  The detail overview of
   RTCweb is available at [I-D.ietf-rtcweb-overview], RTCWeb usecase and
   requirements are illustrated in
   [I-D.ietf-rtcweb-use-cases-and-requirements], RTP usage for RTCWeb is
   explained at [I-D.ietf-rtcweb-rtp-usage] and security consideration
   is mentioned in [I-D.ietf-rtcweb-security]

   RTCWeb specific Javascript API will be provided by browsers for
   developing real-time web application.  It is possible to develop
   signaling protocol like Session Initiation Protocol (SIP) [RFC3261]
   or Jingle [Jingle] or Websocket [I-D.ietf-hybi-thewebsocketprotocol]
   extension or HTTP [RFC2616] custom-made signaling protocol in
   Javascript.

   Having said that, this document provides insight about the limitation
   of custom made RTCWeb signaling protocol, need for standard RTCWeb
   signaling protocol and the possible solutions for the same.


2.  Architecture

   RTCWeb signaling protocol architecture is as follows:
























Ravindran                 Expires April 5, 2012                 [Page 3]

Internet-Draft              RTCWeb signaling                October 2011


                   +-----------+             +-----------+
                   |   RTCWeb  |  Federation |   RTCWeb  |
                   |           |  Signaling  |           |
                   |           |-------------|           |
                   |  Server   |   protocol  |  Server   |
                   |           |             |           |
                   +-----------+             +-----------+
                        /                           \
                       /                             \   RTCWeb
                      /                               \  Signaling
                     /                                 \
                    /  RTCWeb                           \
                   /   Signaling                         \
                  /                                       \
            +-----------+                           +-----------+
            |           |                           |           |
            |           |                           |           |
            |  Browser  | ------------------------- |  Browser  |
            |           |          Media path       |           |
            |           |                           |           |
            +-----------+                           +-----------+
            +-----------+                           +-----------+
            |JS/HTML/CSS|                           |JS/HTML/CSS|
            +-----------+                           +-----------+


               Fig 1: RTCWeb signaling protocol architecture

   In the above mentioned architecture, this document focus on
   standardizing RTCWeb signaling between browser and RTCWeb server


3.  Issues without RTCWeb standard signaling protocol

   The issues in creating non standard RTCWeb sigaling protocol are

   o  Without RTCWeb standard signaling protocol, each website developer
      has to understand the complication of signaling protocol for
      making the real-time communication.
   o  Downloading the complete RTCWeb signaling protocol Javascript is
      inefficient as it impact performance and setup delay of real-time
      communication.  The caching of Javascript shall avoid downloading
      the signaling protocol in each time RTCWeb server is accessed.
      But the Javascript cache is possible to be removed often which
      leads to the impact.
   o  Also, browser has to download each website signaling protocol
      indepentely




Ravindran                 Expires April 5, 2012                 [Page 4]

Internet-Draft              RTCWeb signaling                October 2011


   o  Plugin is efficient as standard signaling protocol but defeat the
      purpose of RTCWeb charter


4.  Standard RTCWeb signaling protocol advantages

   The defining signaling protocol is not a hindrance for any innovative
   RTCWeb signaling protocol development as it is complementary
   solution.  The issues mentioned in non-existence of RTCWeb signaling
   protocol is overcome by having standard RTCWeb signaling protocol.
   The other advantages related to standard RTCWeb sigaling protocol are
   as follows:

   o  RTCWeb developer has no need to know the intricacies of signaling
      protocol for developing RTCWeb application.  The effort involved
      in making voice or video chat by each web developer shall be
      overcome by providing standard signaling in RTCWeb client
   o  Gateway for RTCWeb server and legacy signaling protocol is easy in
      case standard RTCweb signaling protocol is used.
   o  More efficient in case of browser having native RTCWeb signaling
      protocol in browser


5.  RTCWeb Protocol requirement and design consideration

   Some of the RTCWeb signaling protocol requirement and design
   considerations are as follows

   o  The mechanism has to create two way communications between RTCWeb
      server and RTCweb client
   o  The mechanism has to provide the way to pass description about the
      media transmission between two RTCweb clients
   o  The mechanism has to support the secure transmission of signaling
      information
   o  The authentication between RTCweb client and RTCweb server has to
      be supported

   TBD: Complete list has to be mentioned.

   The following criteria has to discussed in detail for the protocol
   selection

   o  Signaling routing intelligence in RTCWeb client or only in RTCWeb
      server
   o  RTCWeb client has to maintain the state of the communication or
      not (intelligent vs. dumb)





Ravindran                 Expires April 5, 2012                 [Page 5]

Internet-Draft              RTCWeb signaling                October 2011


   o  SDP [RFC4566] has to be used for media description or not
   o  Offer/answer [RFC3264] mechanism has to be supported in RTCWeb
      client or not
   o  Signaling protocol has to address only basic two party
      communication or more scenarios has to be taken into account
   o  User Identity has to be managed in RTCWeb client or not
   o  TBD: ???


6.  Possible RTCWeb signaling protocols

   The following Signaling protocols will qualify for becoming standard
   RTCWeb signaling protocol

   1.  Jingle
   2.  Websocket with SDP offer/answer
   3.  SIP
   4.  SIPLite [I-D.cbran-rtcweb-protocols]
   5.  Websocket with custom XML
   6.  Megaco [RFC5125]
   7.  Websocket with SIP [I-D.ibc-rtcweb-sip-websocket]
   8.  HTTP with custom XML
   9.  ???

   TBD: Pros and cons for each of the signaling mechanism has to be
   added


7.  Conclusion

   The collection of more signaling requirements & design consideration,
   analysis of those constraints with the list of possible RTCWeb
   signaling protocol will lead to the selection of best signaling
   protocol for RTCweb


8.  Security Considerations

   The selected RTCWeb signaling protocol has to meet all the security
   consideration in [I-D.ietf-rtcweb-security].  There is no specific
   security consideration associated with this draft.


9.  IANA Considerations

   This is no IANA consideration for this specification





Ravindran                 Expires April 5, 2012                 [Page 6]

Internet-Draft              RTCWeb signaling                October 2011


10.  Acknowledgement

   TBD


11.  Informative References

   [RFC2616]  Fielding, R., Gettys, J., Mogul, J., Frystyk, H.,
              Masinter, L., Leach, P., and T. Berners-Lee, "Hypertext
              Transfer Protocol -- HTTP/1.1", RFC 2616, June 1999.

   [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.

   [RFC3264]  Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model
              with Session Description Protocol (SDP)", RFC 3264,
              June 2002.

   [RFC4566]  Handley, M., Jacobson, V., and C. Perkins, "SDP: Session
              Description Protocol", RFC 4566, July 2006.

   [RFC5125]  Taylor, T., "Reclassification of RFC 3525 to Historic",
              RFC 5125, February 2008.

   [I-D.ietf-rtcweb-overview]
              Alvestrand, H., "Overview: Real Time Protocols for Brower-
              based Applications", draft-ietf-rtcweb-overview-02 (work
              in progress), September 2011.

   [I-D.ietf-rtcweb-security]
              Rescorla, E., "Security Considerations for RTC-Web",
              draft-ietf-rtcweb-security-00 (work in progress),
              September 2011.

   [I-D.ietf-rtcweb-rtp-usage]
              Perkins, C., Westerlund, M., and J. Ott, "RTP Requirements
              for RTC-Web", draft-ietf-rtcweb-rtp-usage-00 (work in
              progress), September 2011.

   [I-D.ietf-rtcweb-use-cases-and-requirements]
              Holmberg, C., Hakansson, S., and G. Eriksson, "Web Real-
              Time Communication Use-cases and Requirements",
              draft-ietf-rtcweb-use-cases-and-requirements-05 (work in
              progress), September 2011.

   [I-D.ietf-hybi-thewebsocketprotocol]



Ravindran                 Expires April 5, 2012                 [Page 7]

Internet-Draft              RTCWeb signaling                October 2011


              Fette, I. and A. Melnikov, "The WebSocket protocol",
              draft-ietf-hybi-thewebsocketprotocol-17 (work in
              progress), September 2011.

   [I-D.ibc-rtcweb-sip-websocket]
              Castillo, I., Millan, J., and V. Pascual, "WebSocket
              Transport for Session Initiation Protocol (SIP)",
              draft-ibc-rtcweb-sip-websocket-00 (work in progress),
              September 2011.

   [I-D.cbran-rtcweb-protocols]
              Bran, C. and C. Jennings, "RTC-Web Communications
              Protocols", draft-cbran-rtcweb-protocols-00 (work in
              progress), June 2011.

   [Jingle]   "XEP-0166: Jingle",
              <http://xmpp.org/extensions/xep-0166.html>.


Author's Address

   Parthasarathi Ravindran
   Sonus Networks, Inc.
   Prestige Shantiniketan - Business Precinct
   Whitefield Road
   Bangalore, Karnataka  560066
   India

   Email: pravindran@sonusnet.com






















Ravindran                 Expires April 5, 2012                 [Page 8]