Candy (Chats Are Not Dead Yet) Plugin for Openfire

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.

Example Webclient Configuration

// uncomment and edit to use a SIP phone for audio-conferencing (voip phone).
// voicebridge will call this SIP address
//CandyShop.VoiceBridge.init('sip:1000@192.168.1.96');

// 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();

Installation

Configuration

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..

Property Default Value Description
voicebridge.default.proxy.name
<required>
A unique name for Voice bridge external PSTN Gateway. If missing, no PSTN gateway is available.
voicebridge.default.proxy.username
<required>
XMPP username used to create the SIP registration by SIP plugin

Openfire Properties

Property Default Value Description
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
voicebridge.default.conf.exten
<none>
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

Dependencies

  • The Openfire client control plugin to set group-chat bookmarks
  • The Openfire SIP plugin to setup PBX/PSTN gateway
Posted in Uncategorized | Leave a comment

Inspired Social Launches

Inspired-Social is an Openfire plugin which combines WordPress and BuddyPress with the Inspired Communications Tool-set to provide a fully collaborative online social community application.

Inspired Social Software Profile

  1. WordPress 3.1.4
  2. BuddyPress 1.2.8
  3. BuddyPress Group Documents 0.1.3.5 by Peter Anselmo, Studio66
  4. BuddyPress Docs 1.1.1 by Boone B Gorges
  5. Facestream 1.1 by Peter Hofman
  6. oEmbed for BuddyPress 0.5.2 by r-a-y
  7. Private BuddyPress 1.0.4 by Dennis Morhardt
  8. BuddyPress Group Email Subscriptions 2.8.6.1 By Deryk Wenaus, boonebgorges
  9. WP Better Emails 0.1.3 By ArtyShow
  10. Article2PDF 0.27 By Marc Schieferdecker
  11. BuddyPress Album+ 0.1.8.10 By The BP-Media Team
  12. BuddyPress BuddyPack Themes 1.2 by Michael Kuhlmann

Inspired Communication Tool-set

  1. XMPP Webclient (http://www.jappix.com)
  2. SIP Webphone (http://www.phono.com)
  3. SIP Audio Conference Bridge (red5-voicebridge)
  4. RTMFP Video/Audio Conferencing (redfire)
  5. RTMP Screen Share (red5-screenshare)
  6. Embedded RTMP Server (Milenia Grafter 64K RTMP Server)

Requirements

  1. Openfire Server 3.6.4 or 3.7.0 configured with MySQL (Needed by WordPress)
  2. Nothing else required. No Apache, No PHP, No Asterisk and No Red5. Openfire provides an XMPP and HTTP server. The Inspired-Social plugin has embedded IM, VOIP, Conference and Media servers.

How to Install

  1. Unzip inspired-x.x.x.x.zip and copy the inspired.war file to the OPENFIRE_HOME/plugins directory
  2. Wait a few minutes for the inspired folder to be created and then stop Openfire
  3. Edit wp-config.php and bb-config.php and specify the database connection details. Use the same MySQL database name configured for Openfire.
  4. Restart Openfire
  5. From a browser, go to http://your_openfire-server:7070/inspired and login as admin with default password admin. Make sure you change the default password.
  6. Go to WordPress Dashboard, activate/configure all the plugins including BuddyPress, Facestream, etc.
  7. Configure Openfire email and run the test to make sure it works. Go to WP Better Emails and confirm the template preview email also works.
  8. Create a new user.
  9. Logout as admin and login as new user with  http://your_openfire-server:7070/inspired/wp-index.php

Openfire is auto-configured as follows

  1. All Openfire users are WordPress users and Openfire admin console cannot add or modify users
  2. All Openfire user groups are read from BuddyPress groups Openfire admin console cannot add or modify user groups
  3. Group Chat rooms are auto-created every time a BuddyPress group is created
  4. User Rosters are updated every time a BuddyPress friendship is made or broken.
  5. The phono session SIP URI is broadcast via XMPP presence when phone is activated.
  6. A SIP Audio Conference is created for every BuddyPress group (sip:group@domain)

How to Use Communication Tools

  1. Roster of Friendships showing Presence
  2. IM chat with friends or MUC chats with BuddyPress group members
  3. Video/Audio conference with friends or with BuddyPress group members (max 12)
  4. Telephone calls to any destination, BuddyPress member or BuddyPress group audio conference
  5. Screenshare with friends or broadcast to BuddyPress group members
Posted in Uncategorized | Leave a comment