Candy (Chats Are Not Dead Yet) was developed by Michael Weibel (@weibelm) and Patrick Stadler (@pstadler) on behalf of their employer Amiado Group.
It provides group and private chat for collaborative working between teams.
This plugin makes Candy work out of the box with Openfire providing the following features:
- Easy deployment for Openfire users
- Support for Openfire BOSH and WebSockets? web connections.
- Server-side voice-bridge that provides a scalable audio bridge with SIP telephone connectivity and Flash Player clients using RTMP for a few hundred concurrent users.
- Users can join a conference by requesting voice-bridge to call their SIP phone via XMPP Openlink message
- It supports auto-answer on Aastra SIP phones
- It supports PSTN gateway connectivity via SIP Trunks or a PBX like Asterisk. It was tested against Asterisk 1.6. It uses the SIP plugin to manage SIP registration.
- Users can dial conference access telephone number to join conference
- There is integration between voice-bridge conferences and Openfire group-chat rooms. Each MUC room is exposed as a sip address room@your_domain or via telephone extension associated with each room. See configuration below. For security, enable a numeric password to be used as a pin number.
Audio-conferencing is activated by clicking on the conference tab again after initial selection. Clicking again or selecting another conference deactivates audio-conferencing. Both group-chat and private chats are supported.
// uncomment and edit to use a SIP phone for audio-conferencing (voip phone). // voicebridge will call this SIP address //CandyShop.VoiceBridge.init('sip:email@example.com'); // uncomment and edit to use a PBX/PSTN Telephone number for audio-conferencing (mobile/desk phone). // voicebridge will forward this call to the PSTN/PBX gateway //CandyShop.VoiceBridge.init('+447925589467'); // uncomment and edit to use Flash Player for audio-conferencing (desktop). // voicebridge will call connect two RTMP streams to audio-conference // setup Flash Player with mic permissions with '../plugins/voicebridge/setup.html' CandyShop.VoiceBridge.init('rtmp:'); Candy.Core.connect();
- Stop Openfire.
- Copy the clientcontrol.jar file to the OPENFIRE_HOME/plugins directory.
- Copy the sip.jar file to the OPENFIRE_HOME/plugins directory.
- Copy the candy.war file to the OPENFIRE_HOME/plugins directory.
- Restart Openfire.
- From a browser, go to http://your_openfire-server:7070/candy/candy/plugins/voicebridge/setup.html and give Flash permissions to use your mic. Select the remember checkbox.
- From a browser, go to http://your_openfire-server:7070/candy
- If this pages do not appear, please check you log files and post any errors on http://www.igniterealtime.org
In order to a link a group-chat room with an audio bridge conference, make the room name a telephone extension or prefix the room description with a telephone extension. This is needed when making incoming calls from a telephone into the voicebridge.
To setup a PSTN/PBX gateway for external VOIP telephone calls, use the SIP plugin to setup the SIP account and add the follwing two properties to Openfire. Use the standard admin user or any other admin account..
|A unique name for Voice bridge external PSTN Gateway. If missing, no PSTN gateway is available.|
|XMPP username used to create the SIP registration by SIP plugin|
|candy.webapp.connection||bosh||Type of xmpp web connection. Use bosh or websockets. Note that you need Openfire 3.7.2 for websockets|
|candy.webapp.name||candy||Web application root name|
|voicebridge.rtmp.port||1935||Listening TCP port for RTMP Server|
|voicebridge.sip.port||5060||Listening UDP port for SIP Server|
|voicebridge.default.private.host||localhost||SIP Server internal network host name or ip address|
|voicebridge.default.public.host||localhost||SIP Server external network host name or ip address|
|Telephone extension for accessing conference bridge from external PSTN gateway|
|voicebridge.rtp.start.port||3200||RTP Port range start|
|voicebridge.rtp.end.port||3299||RTP Port range start|
|voicebridge.server.log.level||1||Logging level for VoiceBridge? Server. 1-9|
|voicebridge.sip.log.level||1||Logging level for SIP Server. 1-9|
- The Openfire client control plugin to set group-chat bookmarks
- The Openfire SIP plugin to setup PBX/PSTN gateway