Connecting WebRTC to BBB

From CDOT Wiki
Revision as of 17:59, 31 January 2013 by Capilkey (talk | contribs) (Created page with ' This page contains discussion on the best way to go about connecting a WebRTC client to a BigBlueButton server. =Audio= I think we should focus on getting the audio working fir…')
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
This page contains discussion on the best way to go about connecting a WebRTC client to a BigBlueButton server.

Audio

I think we should focus on getting the audio working first. It's much more important for a user to be able to participate in the audio portion of a meeting then it is to get their webcam to stream.

Approaches

I see two different possible paths to connect the two. One is to make WebRTC connect with Freeswitch directly. The other is to set up an Asterix server and have the WebRTC client join Asterix and then Asterix connects to Freeswitch.

A group has already developed an opensource solution so that WebRTC clients can connect through an Asterix server. So if all we're looking to do is get a proof of concept prototype using an Asterix server might prove to be the quickest option.

Steps to Take

  1. Add WebRTC components to the BBB HTML5 client
  2. Get the HTML5 clients to connect to each other solely through WebRTC
  3. Connect the HTML5 clients to the SIP server
  4. Get the HTML5 clients to communicate through the SIP server
  5. If Asterix is used, connect the Asterix clients to Freeswitch
  6. Convert the WebRTC codec to Speex
  7. Connect the HTML5 client to the BBB audio conference
  8. Profit

Issues

  • WebRTC only works with the G.711 and (another I can't think of) codecs. Whereas BigBlueButton and Freeswitch are using Speex.
  • There's no working example connecting WebRTC to Freeswitch.
  • Introducing a second SIP component and any conversion it requires will likely cause latency to occur.
  • Google's implementation of WebRTC doesn't follow all of the proper conventions for SIP communication and requires some converting.