Skip navigation
All Places > Ignite Realtime Blog > 2012 > December

WebRTCis definitely a game changing technology and desktop phones may soon be on their way to join VHS players in yesterdayland


A while back, I developed an Openfire plugin for Candy (Chats Are Not Yet Dead) which enabled multi-user voice chatting. It included a voice bridge to mix the audio streams on the server side and a Flash-based component to capture and play the audio streams in the web browser. It kinda worked, but has too many issues to be used in a production context.


I have replicated that application with WebRTC just using only HTML5 and JavaSccript. No server-side component for audio mixing and no browser component to handle streams. All audio mixing, capturing and playing is handled by the web browser.


As usual, there are caveats. A star topology with a server-side audio bridge will scale into hundreds of conference participants while client side peer to peer audio conferencing will struggle to get up to 10 users per conference. A ten person audio conference will consume 90 (10x9) peer connections.




However, getting away from conventional ringtone and telephone signaling using SIP or even Jingle allows to explore alternative approaches to voice communication and experience distant digital talking as naturally as possible without the restrictions of a telephone or software replacement. This is definitely the way to go. Sisko calling O'Brien


Click on a tab brings the group chat room into focus. Click again will turn voice on and broadcast everything you say to everyone in the group chat room. Click one more time and your voice is turned off. It works as a toggle. Click on another group chat room tab and your voice be turned off when focus moves away. On the other side, you can turn off the voice of any participant by using Candy's ignore feature. Just right click on the contact and select ignore. Select unignore to restore back the voice of the participant.


It is that simple. No ringtones, just use your voice with text and say hello


Don't take my word for it, you can try it it out here and the source code is attached to this blog for those would like to a look at the implementation. Even though it does not use SIP or Jingle signalling, It uses Jingle Nodes to act a a media relay when users are sitting behind restrictive routers or firewalls.


You need Chrome version 23+ or Chrome Frame with Internet Explorer. Candy has also been updated to work with the Openfire Websockets plugin as well.

The folks at Globility have been very kind to release back to the Ignite Realtime community their improvements to the Openfire monitoring plugin.


They have merged the monitoring plugin with the open archive plugin by Stefan Reuter and have sucessfully combined chat and group chat archiving (from monitoring) as well as XEP-0136 Message Archiving support (from open archive) removing all redundant and duplicated code. The monitoring graphing and statistics pages work just fine as before.


A change to the database schema of the Monitoring plugin was made to support the XEP-0136 spec and auto-upgrade DB scripts have been provided to handle the database upgrade for all the supported DBs as best as possible.




Latest build (1.3.0) of the plugin is attached. Any bugs please file in JIRA against leonroy


I have tested it against the latest version of OfChat (Chrome extension) web client as a drop-in replacement to the open archive plugin for chat history and it works ok.


For more details, see

Filter Blog

By date: By tag: