Introduction
With sipXecs release 4.0 (development release 3.11) sipXecs introduces a conferencing server. This conferencing service allows voice conferencing (meet-me). The conferencing solution is easy to use as it is integrated into the GUI management application of sipXecs called sipXconfig. Conference servers can be created and administered to either run on the same host as the rest of the sipXecs solution or on a separate host dedicated to conferencing services. Dynamic conference controls are integrated into the user portal so that every user gets a personal conference server that can easily be administered.
The sipXecs conferencing solution is based on a cooperation with the FreeSWITCH project. In our view FreeSWITCH is now mature enough to be used in a production environment as a conferencing server. FreeSWITCH is superior to Asterisk in many respects. While conferencing is the first media application we have based on FreeSWITCH, it is likely that more will follow in the future.
Performance
We are still in the process of completing all the load and performance tests. Our objective is to provide a conferencing server that offers a minimum of 500 ports on standard hardware. Test results done by FreeSWITCH indicate that the final number could be significantly higher than that. We will publish more detailed results as we finish the testing.
The conferencing server also supports several codecs and is able to mix audio that arrives using different codecs from clients.
sipXecs & FreeSWITCH
The sipXecs & FreeSWITCH integration project is designed to create a plug & play distributed conferencing solution managed by the sipXecs Configuration Server. Ease of use has been one of the major design goals. In addition, FreeSWITCH has been fully integrated into the sipXecs build and installation process. FreeSWITCH installs like any other distributed component of the sipXecs solution. It is integrated into the sipXecs process management. Its configuration is auto-generated by sipXconfig.
The conference server is an independent application (FreeSWITCH) that runs on the same server as the rest of the sipXecs system. The conference server communicates with conference participants using the SIP and RTP protocols. It is configured through the sipXecs Configuration Server (sipXconfig) that populates configuration files and asks FreeSWITCH to reload those settings over XML RPC dynamically.
Enabling Conferencing role
For enabling Conferencing role navigate to System > Servers page and choose the location you want Conference Server to run on. On the Server Role tab enable Conferencing option. After adding Conferencing role you will be warned that FreeSWITCH configuration should be reloaded so the changes to take effect (by a message saying One or more services need to be reloaded. For details click: here)
Conference Server Configuration
The conference server and individual conferences are configured by selecting the Conferencing entry under the Features menu (see below). Several conferencing servers can be configured where each conferencing server can run on dedicated hardware. For each conferencing server the user interface shows how many conferences are currently active on that server.
Navigate to Conference Server > Configuration tab to modify conference server settings.
Basic Settings
The basic bridge settings define information needed for sipXecs to communicate with the sipXecs-FreeSWITCH installation.
Advanced Settings
Select the "Show Advanced Settings" link to modify advanced conference bridge settings. These settings are applied to all conferences on this bridge.
Dynamic Conference Controls
Conference Settings
Once the bridge is setup and configured, individual conferences can be created by selecting the "Add New Conference" link. Every conference has an extension number. For external accessibility this extension number could correspond with a DID prefix. In addition every conference bridge entity has a participant access code.
Checking Status
Once configuration settings are applied, sipXconfig publishes this information to FreeSWITCH in about 1 minute. Select "Job Status" from the "Diagnostics" menu to view status:
You should see 4 completed operations (shown above).
File replication: conference_admission.xml
The admission dataset includes the conference declarations and PIN information. This is stored in /usr/local/freeswitch/conf/default_context.xml
File replication: conference_configuration.xml
The configuration dataset includes all of the DTMF sequences defined under the advance bridge settings and audio prompts (not yet configurable via sipXconfig) and is stored in /usr/local/freeswitch/conf/conference.conf.xml
Data replication: alias
Aliases are updated to include the conference extension to FreeSWITCH mapping.
FreeSWITCH reload configuration
An XML-RPC call is made to FreeSWITCH, where FreeSWITCH is asked to reload the conference admission and configuration data.
Source, Build Instructions, and RPMs
Integration project page contains information on building sipXecs and locating RPMs.