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", . 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]