Search
The Open Source SLEE and SIP Server

Mobicents Sip Servlets

Mobicents Sip Servlets Clustering support

This page is obsolete : More detailed and better looking installation instructions are available from the Mobicents Sip Servlets User Guide

Description

For a good description of Mobicents Sip Servlets clustering system I invite you to read the JBoss Guide Clustering chapter .
Since Mobicents Sip Servlets SIP Clustering support integrates tightly with the http session clustering implemented in JBoss, the Clustering is available only for JBoss and not Tomcat. We will cover the Mobicents Sip Servlets specific Clustering implementation and configuration below.

Implementation

As for HTTP session replication, SIP session replication is used to replicate the state associated with your SIP clients on other nodes of a cluster. Thus, in the event one of your node crashes, another node in the cluster will be able to recover.  Two distinct functions must be performed:

  • SIP Session state replication.
  • Load-balance of incoming invocations. See Mobicents SIP Load Balancer

    SIP Session State replication can be handled directly by JBoss. When you run JBoss in the all configuration, SIP session state replication can be enabled. See below on how to configure the server to enable it.

    SIP Session State replication is comprised of two things : the replication of your sip application session and the underlying sip and http sessions belonging to that application. This will replicate all the attributes you put in those sessions. (Don't forget to mark the application as distributable) JBoss Cache and JGroups technologies are used as the underlying replication mechanism.

Installation & Configuration

First of all, to enable SIP Session State Clustering in addition to HTTP Session clustering, you'll need to use the 'all' configuration profile of your Jboss server.
So repeat the steps described in the JBoss Installation Section but for the 'all' configuration profile instead of the 'default' configuration profile. This will make the 'all' configuration profile SIP-enabled.
Now to enable clustering, you'll need to modify one more file :

In jboss_home/server/all/deploy/jboss-web.deployer/META-INF/jboss-service.xml , modify the attribute ManagerClass so that its value is org.jboss.web.tomcat.service.session.JBossCacheSipManager instead of org.jboss.web.tomcat.service.session.JBossCacheManager or make a backup of your jboss_home/server/default/deploy/jboss-web.deployer/META-INF/jboss-service.xml file and copy the jboss-service-all.xml located in docs to jboss_home/server/all/deploy/jboss-web.deployer/META-INF/

You also need to make your SIP Servlets application distributable. To do that, in the sip.xml and web.xml of your application add the following tag <distributable/ >. See Section 16.5.6 of JBoss Guide Clustering chapter .

To test clustering please refer to the Failover Section .

Limitations

None. Mobicents Sip Servlets currently support mid call failover for converged applications and pure sip applications (Uas, Uac, B2BUA, Proxy).