reConServer for easy SIP conferencing
In the lead up to the release of Debian wheezy, there was quite some debate about the Mumble conferencing software which uses the deprecated and unsupported CELT codec. Although Mumble has very recently added Opus support, it is still limited by the fact that it is a standalone solution without any support for distributed protocols like SIP or XMPP.
Making SIP conferencing easy
Of course, people could always set up SIP conferences by installing Asterisk but for many use cases that may be overkill and may simply introduce alternative security and administration overheads.
The popular reSIProcate SIP stack includes a high-level programming API, the Conversation Manager, dubbed librecon. It was developed and contributed to the open source project by Scott Godin of SIP Spectrum. In very simple terms, a Conversation object with two Participants is a phone call. A Conversation object with more than two Participants is a conference.
The original librecon includes a fully functional demo app, testUA that allows you to control conferences from the command line.
As part of Google Summer of Code 2013, Catalin Constantin Usurelu took the testUA.cxx code and converted it into a proper daemon process. It is now available as a ready-to-run SIP conferencing server package in Debian and Ubuntu.
The quick and easy way to try it
Normally, a SIP conferencing server will be linked to a SIP proxy and other infrastructure.
For trying it out quickly, however, no SIP proxy is necessary.
Simply install the package with the default settings and then configure a client to talk to the reConServer directly by dialing the IP address of the server.
For example, set the following options in /etc/reConServer/reConServer.config:
UDPPort = 5062 EnableAutoAnswer = true
and it will happily accept all SIP calls sent to the IP address where it is running.
Now configure Jitsi to talk to it directly in serverless SIP configuration:
Notice here that we simply put a username without any domain part, this tells Jitsi to create an account that can operate without a SIP proxy or registration server:
Calling in to the conference
Notice in the screenshot below we simply dial the IP address and port number of the reConServer process, sip:192.168.1.100:5062. When the first call comes in, reConServer will answer and place the caller on hold. When the next caller arrives, the hold should automatically finish and audio will be heard.
To make it run as part of a proper SIP deployment, set the necessary configuration options (username, password, proxy) to make reConServer register to the SIP proxy. Users can then call the conference through the proxy.
Consider using Wireshark to observe the SIP packets and learn more about the protocol.