New CU-RTC-Web Prototype from MS Open Tech Demonstrates WebRTC Video Support Without SDP Offer/Answer

Supporting ORCA, a new W3C Community Group for WebRTC

Today, Microsoft Open Technologies, Inc., (MS Open Tech) is publishing a new prototype implementation of CU-RTC-Web on HTML5Labs that continues our exploration of alternatives to the SDP Offer/Answer approach. The CU-RTC-Web approach is based on two basic principles: that JavaScript APIs for realtime communications should not be based on passing under-specified SDP blobs and should not require implementation of the SDP Offer/Answer state machine. These principles, first articulated in the original CU-RTC-Web proposal have continued as basic tenets within our prototyping efforts, which have demonstrated the practicality of the approach with running code.

This prototype demonstrates how to support H.264/AVC video without SDP, by building the appropriate JavaScript code and without introducing any changes in the specification. Previous prototypes of CU-RTC-Web included demonstrations of cross-platform interoperability (voice interop between Chrome on a Mac and IE10 on Windows) and roaming between cellular and Wi-Fi connections. Because CU-RTC-Web is a contribution to the ongoing standardization process, it does not represent a planned feature of any Microsoft product, and the prototypes should not be used for the development of commercial products.

As experience with the WebRTC APIs has accumulated, more and more developers posting on the IETF and W3C mailing lists are reporting that their attempts to develop WebRTC applications have been impeded by the underspecified complexities of SDP and the unwieldy Offer/Answer model. As a result, several participants collaborated on an internet draft WebRTC JavaScript Object API Rationale that critiques the SDP Offer/Answer approach to a WebRTC API and outlines the rationale for an alternative API. Erik Lagerway of HookFlash has also provided a well-crafted Blog post on the issues – WebRTC JS Object API Model.

At MS Open Tech, we are excited to see this work toward an “ObjectRTC” API. ObjectRTC and CU-RTC-Web share the same principles (e.g. no SDP Offer/Answer) and we look forward to a public discussion of how to synthesize the best ideas from both proposals. Pursuing multiple interoperability experiments such as CU-RTC-Web and ObjectRTC is how standardization works at its best. If you wish to participate in the discussion, an ObjectRTC Community Group (CG) has been established at the W3C - ORCA.

The recent vibrant and open discussion as well as availability of an open source repository for the development of an alternative JavaScript API represents a major step forward for the real-time communications developer community and the principles of the open web. As these developments evolve, MS Open Tech will continue its prototyping efforts, which may in future be based on a constructive synthesis emerging from the Working Group or Community Group activities.

As with our previous release, we hope that publishing this latest working prototype in HTML5Labs provides guidance in the following areas:

  • Clarify the CU-RTC-Web proposal with working code, so as to provide details on how the API could be used to solve real-world use cases in an interoperable way.
  • Encourage others to develop comparable interoperable example code for their proposals.
  • Seek developer feedback on how the CU-RTC-Web addresses interoperability challenges in Real Time Communications.
  • Provide a source of ideas for how to resolve open issues with the current draft API as the CU-RTC-Web proposal is cleaner and simpler.

This is a great time for the community to come together to evaluate the draft specs to make sure they’re understandable, interoperable and implementable, and synthesize ideas to enable them to work together. We encourage you to engage with one or more of the discussions in IETF and W3C, such as ORCA CG, and we offer this new prototype to contribute to that discussion with running code. The latest CU-RTC-Web prototype can be downloaded from HTML5Labs. We look forward to receiving your feedback: please comment on this post or send us a message once you have tried out the prototype, and stay tuned for even more to come.