WebRTC with Firefox, Chrome and Openfire

Now that Firefox Beta has WebRTC enabled by default, it was time to upgrade the WebRTC audio/video demo to support Firefox. Even though changes were minimal and I could do Firefox<->Firefox as well as Chrome<->Firefox, there is still an outstanding issue that is a show stopper for me.

Image1.jpg

Firefox does not yet support trickle ICE candidates and consequently does not work with Jingle Relay Nodes. This means we cannot use Openfire to act as a media bridge and relay media when both WebRTC peers cannot connect directly with each other as we can do with Chrome.

I am hoping this will be fixed before formal release in June. In the meantime, you can test it at http://redfire.4ng.net/webrtc. Just make sure you have Firefox beta or latest Chrome browsers. As usual, source code is attached for those curious to see or reuse in their own applications.
webrtc.zip (312486 Bytes)

4 Likes

Hi Dele,

very interesting stuff i’d really like to use this option in our environments. I do have a question. You say it works with Jingle Relay Nodes and Websockets but, on the advanced settings there is a field to insert a stun server. Do I have to enable the stun option on openfire or the jinglenodes plugin is enough? What do I have to write on that field?

Let’s suppose my server is reacheble on http://openfire.mysite.com with http-bind opened on port 80 (or 7070), with jinglenodes installed and port opened on the public ip we assigned, websocket plugin installed (service called as ws as standard) and that the users is called test1. What do we have to write on the settings?

I do suppose this:

User Name: Display Name

Security -> Openfire login: test1

Security -> Openfire Password: test1 user domain password

Advanced Settings -> STUN Server: ?!?!?!?

Advanced Settings -> Outbound Proxy: ws:///ws/openfire.mysite.com?username=test1&password=user_password&resource=Dis play Name

Am I right?

Sorry for this long comment but the example you suggested is something that could really be useful for a project I’m following.

Regards and thanks a lot again.

As you post contained url and i had to approve it, Dele probably didn’t get a notification, but now he should get it about my response.