JBoss.orgCommunity Documentation

Chapter 3. Installation and Running

3.1. Installing
3.1.1. Binary Service
3.1.2. Installing Binary
3.1.3. Running Mobicents SS7 Stack
3.2. Configuring Mobicents SS7 Stack
3.2.1. Configuring LinksetFactory
3.2.2. Configuring LinksetManager
3.2.3. Configuring ShellExecutor
3.2.4. Configuring SS7Service
3.3. Setup from source
3.3.1. Release Source Code Building
3.3.2. Development Trunk Source Building

Mobicents SS7 stack at its core requires only Java 1.5(Java SE) if you are using only M3UALinkset. However if you plan to use DahdiLinkset or DialogicLinkset, respective SS7 cards needs to be installed on the server along with native libraries.

A simple way to get started is to download and install binary. This will provide you with all the dependencies you need to get going. You can obtain binary release from http://sourceforge.net/projects/mobicents/files

The Mobicents SS7 Stack binary is broken down into a few modules.

The following is a description of the important services and libraries that make up Mobicents SS7 Stack

Binary release has following layout:

The Mobicents SS7 Stack binary requires that you have JBoss Application Server installed and JBOSS_HOME system property set. To know further details on setting JBOSS_HOME look Appendix B, Setting the JBOSS_HOME Environment Variable

Once JBOSS_HOME is properly set, use ant to deploy the mobicents-ss7-service, shell scripts and shell library.

Important

Ant 1.6 (or higher) is used to install the binary. Instructions for using Ant, including install, can be found at http://ant.apache.org/

[usr]$ cd ss7-1.0.0.BETA6/ss7
[usr]$ ant deploy
			

To undeploy these services

[usr]$ cd ss7-1.0.0.BETA6/ss7
[usr]$ ant undeploy
			

While above steps will deploy the necessary ss7 service and shell components, the java.library.path should be set to point the directory containing native component or should be copied to JBoss native library path manually. This step is only required if you are using the SS7 board on server.

Starting or stopping Mobicents SS7 Stack is no different than starting or stopping JBoss Application Server

Once installed, you can run server by executing the run.sh (Unix) or run.bat (Microsoft Windows) startup scripts in the <install_directory>/bin directory (on Unix or Windows). If the service started properly you should see following lines in the Unix terminal or Command Prompt depending on your environment:

23:22:26,079 INFO  [LinksetManager] SS7 configuration file path /home/abhayani/workarea/mobicents/jboss-5.1.0.GA/server/default/data/linksetmanager.xml
23:22:26,141 INFO  [LinksetManager] Started LinksetManager
23:22:26,199 INFO  [SS7Service] Starting SCCP stack...
23:22:26,229 INFO  [SccpStackImpl] Starting ...
23:22:26,230 INFO  [RouterImpl] SCCP Router configuration file: /home/abhayani/workarea/mobicents/jboss-5.1.0.GA/server/default/deploy/mobicents-ss7-service/sccp-routing.txt
23:22:26,261 INFO  [SS7Service] SCCP stack Started. SccpProvider bound to java:/mobicents/ss7/sccp
23:22:26,261 INFO  [ShellExecutor] Starting SS7 management shell environment
23:22:26,270 INFO  [ShellExecutor] ShellExecutor listening at /127.0.0.1:3435
23:22:26,270 INFO  [SS7Service] [[[[[[[[[ Mobicents SS7 service started ]]]]]]]]]

				

If you have started ss7-1.0.0.BETA6 for the first time, there are no Linkset defined. You need to use Shell Client to connect to ss7-1.0.0.BETA6 as defined in ??? and create Linkset as per your need and SS7 card installed

Once the Linkset are defined, the state and configuration of Linkset and Link is persisted by LinksetManager which stands server re-start.

Configuration is done through an XML descriptor named jboss-beans.xml and is located at $JBOSS_HOME/server/profile_name/deploy/mobicents-ss7-service/META-INF, where profile_name is the server profile name.

SS7Service acts as core engine binding all the components together. To get holistic view of SS7 Service look at Section 2.3, “SS7 Service”


    <bean name="SS7Service" class="org.mobicents.ss7.SS7Service">
        <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="org.mobicents.ss7:service=SS7Service",exposedInterface=org.mobicents.ss7.SS7ServiceMBean.class,registerDirectly=true)</annotation>
        <property name="jndiName">java:/mobicents/ss7/sccp</property>
        <property name="configPath">${catalina.home}/deploy/mobicents-ss7-service/sccp-routing.txt</property>
        <property name="linksetManager"><inject bean="LinksetManager" /></property>
        <property name="shellExecutor"><inject bean="ShellExecutor" /></property>       
    </bean>

SS7 service creates new instance of SCCP stack and binds it to JNDI address java:/mobicents/ss7/sccp. The JNDI name can be configured to any valid JNDI name specific to your application.

configPath is configuration path for SCCP Stack. To know more about SCCP configuration refer Chapter 6, SCCP

linksetManager property holds the reference to LinksetManager bean

shellExecutor property holds the reference to ShellExecutor bean. SS7Service creates link between ShellExecutor and LinksetManager such that all commands for linkset are directed to LinksetManager.

Mobicents SS7 Stack is an open source project, instructions for building from source are part of the manual! Building from source means you can stay on top with the latest features. Whilst aspects of Mobicents SS7 Stack are quite complicated, you may find ways to become contributors.

Mobicents SS7 Stack works with JDK1.5 and above. you will need also need to have the following tools installed. Minimum requirement version numbers provided.

  1. Downloading the source code

    Use SVN to checkout a specific release source, the base URL is http://mobicents.googlecode.com/svn/tags/protocols/ss7, then add the specific release version, lets consider 1.0.0.BETA6.

    [usr]$ svn co http://mobicents.googlecode.com/svn/tags/protocols/ss7/ss7-1.0.0.BETA6
  2. Building the source code

    Now that we have the source the next step is to build and install the source. Mobicents SS7 Stack uses Maven 2 to build the system. There are two profiles available "dahdilinux" and "dialogiclinux" appart from default profile that doesn't try to compile the native modules.

    Use "dahdilinux" profile if linux server on which this code is built already has dahdi module installed. Make sure you pass "include.zap" system property pointing to correct directory where dahdi is installed

    [usr]$ cd ss7-1.0.0.BETA6
    [usr]$ mvn install -Pdahdilinux -Dinclude.zap=/usr/include/dahdi
    				    

    Use "dialogiclinux" profile if linux server on which this code is built already has dialogic module installed. Make sure you pass "include.dialogic" system property pointing to correct directory where dialogic libraries are installed

    [usr]$ cd ss7-1.0.0.BETA6
    [usr]$ mvn install -Pdialogclinux -Dinclude.dialogic=/usr/include/dialogic
    				    

    To build Mobicents SS7 Stack without building any native libraries use

    [usr]$ cd ss7-1.0.0.BETA6
    [usr]$ mvn install 
    				    

    Use Ant to build the binary .

    [usr]$ cd ss7-1.0.0.BETA6/release
    [usr]$ ant
    				    

Similar process as for Section 3.3.1, “Release Source Code Building”, the only change is the SVN source code URL, which is http://mobicents.googlecode.com/svn/trunk/protocols/ss7.