Restcomm jSS7 Stack (Java SS7) is the only Open Source Java based implementation of the SS7 protocol stack. It provides implementation for MTP2
, MTP3
, ISUP
, SCCP
, TCAP
, CAMEL (Phase I and Phase II)
and MAP
protocols for a dedicated equipment and also has in-built support for SIGTRAN (M3UA)
over IP. Restcomm jSS7 Stack strictly adheres to the standards and specifications defined by the International Telecommunications Union (ITU).
The platform offers developers with a flexible API set that hides the lower layer details (legacy SS7 links or SIGTRAN) and therefore makes it simple and easy to develop SS7 applications as well as to migrate your applications from TDM equipments to M3UA. Restcomm jSS7 Stack is based on an easily scalable and configurable load-balancing architecture.
Restcomm jSS7 Stack supports TDM hardware offered by major vendors in the market, namely Intel family boards (Dialogic) and Zaptel/Dahdi (Digium, Sangoma). Though for production we recommend Dialogic boards with MTP2 and MTP3 on-board only.
If you intend to use only M3UA
you can install the jSS7 Stack on any Operating System that supports Java. However if you wish to use SS7 cards, the native libaries for these are only compiled for Linux at the moment.
Restcomm jSS7 Stack comes with JSLEE TCAP, MAP, CAP and ISUP Resource Adaptors (RA) that enable developers to build SS7 applications with ease. Developers only require an understanding of Resource Adaptors and can focus on building applications quickly and efficiently rather than worry about the SS7 stack. If you wish to use JSLEE Resource Adapters, the Command Line Interface (CLI – Shell Management tool) or the GUI for run-time configuration, then you must have JBoss Application Server installed and running. However if you do not wish to use the Resource Adaptors or CLI then Restcomm jSS7 Stack can work as a standalone library.
The Open Source Software gives you the flexibility to understand the readily available source code and customise the product for your Enterprise needs.
This guide will assist you in installing Restcomm jSS7 Stack. For more details on configuring and using the platform or for information regarding the supported protocols and compliant standards, please refer to the Restcomm jSS7 Stack User Guide.
Restcomm jSS7 Stack’s core requirement is Java. The following table details the Hardware, Operating System and Software requirements for a clean installation of Restcomm jSS7 Stack.
Table 2.1. Installation Pre-Requisites
Component | Requirement | Notes |
---|---|---|
System Requirements | Intel Pentium 1 GHz or faster for simple applications. Hard disk space of at least 20MB. RAM of at least 1.5 GB | Higher the RAM and processing power, better is the throughput |
TDM Hardware | If you wish to use legacy SS7 links, then you must have dahdi or dialogic cards installed along with their native libraries. |
You do not require any specific hardware forSIGTRAN (M3UA) . |
Operating System | The platform can be installed on any OS that supports Java and SCTP. But if you wish to use TDM hardware, native libraries for SS7 cards are compiled only for Linux at the moment and therefore supported only on Linux Operating System. | The libraries will be compiled for Windows in future releases. |
Java | You must have a working Java Runtime Environment (JRE) or Java Development Kit (JDK) installed on your system and it must be version 5 or higher. If you intend to use SIGTRAN (M3UA) then you must have JDK 7 installed. M3UA uses Java SCTP which is available only from JDK 7 onwards. |
If you are using M3UA , then you must use JDK 7 to run the stack as well as to compile the source code. |
JBoss Application Server | Restcomm jSS7 Stack can work as a standalone library if you do not require JSLEE Resource Adaptors and the Shell Management Tool (Command Line Interface) for run-time configuration of the platform. But if you wish to avail of these, then you must have JBoss Application Server (version 5.1.0.GA or above) installed on your machine. | Refer to the appendix section for more details. |
SCTP libraries | If you intend to use SIGTRAN (M3UA) , you must have the lksctp library installed. The Linux Kernel Stream Control Transmission Protocol (lksctp ) library provides SCTP implementation. |
For more details on downloading and installing thelksctp , please refer tohttp://lksctp.sourceforge.net/ |
Others | You must have Ant (version 1.6 or above) to install the binary. | Instructions for installing and using Ant can be found at http://ant.apache.org/ |
Important
You must ensure that the JAVA_HOME
and JBOSS_HOME
Environment variables are set properly for the user account(s) that will run the server. For more details on setting these variables, please refer to the sections Appendix A, Java Development Kit (JDK): Installing, Configuring and Running and Appendix B, Setting the JBOSS_HOME Environment Variable.
You do not require any specific hardware if you intend to use only SIGTRAN (M3UA). But if you wish to use legacy SS7 links, then you must have relevant SS7 cards installed along with their native libraries.
Restcomm jSS7 Stack supports dahdi
based SS7 cards like diguim
and sangoma
as well as dialogic
cards. Since dahdi
based SS7 crads do not have MTP2/MTP3 support on board they rely on external software to provide these services. Butdialogic
based SS7 cards have on board support for MTP2/MTP3 and recommended.
This guide does not provide installation instructions for SS7 hardware. You must refer to respective vendor documentation for installing and configuring the hardware cards. The following external links point to information that will assist you in setting up the hardware.
- Sangoma: http://wiki.sangoma.com/
- Diguim: http://www.digium.com/en/products/digital/
- Dialogic: http://www.dialogic.com/
Note
The corresponding native libraries for dialogic
and dahdi
from foldermobicents-jss7-<version>/ss7/native/32
or mobicents-jss7-<version>/ss7/native/64
should be copied to $JBOSS_HOME/bin/META-INF/lib/linux2/x86
if OS is 32 bit or copied to$JBOSS_HOME/bin/META-INF/lib/linux2/x64
if OS is 64 bit.
libraries are compiled only for linux OS for now.
mobicents-jss7-<version>/ss7/native/32
andmobicents-jss7-<version>/ss7/native/64
folders carries libraries compiled for 32 bit and 64 bit linux OS.
- libgctjni
- Native library for Dialogic
- libmobicents-dahdi-linux
- Native library for
dahdi
based cards – Diguim and Sangoma
Installing Restcomm jSS7 Stack is easy and quick with the binary download. You can either download the binary release or download the source code and set up from source.
Binary Download
The binary release is available for download at TeleStax Customer Support Portal https://github.com/mobicents/jss7
Procedure: Binary Download
- Download the zip file
Mobicents-jss7-3.0.1329.zip
to any folder of your choice. - Extract the contents of the zip file.
Downloads]$ unzip Mobicents-jss7-3.0.1329.zip
- Verify the contents of the newly created directory.
When you download the binary release, you will notice that the top level directory is named Mobicents-jss7-3.0.1329
and immediately below this are five sub-directories named asn
, _docs
, oam
, sctp
and ss7
, encompassing the major services and libraries that make up Restcomm jSS7 Stack. For details on what is included in the sub-directories, please refer to the Restcomm jSS7 Stack User Guide.
The major functional modules of the jSS7 Stack are:
- SS7 Service [dir:
mobicents-ss7-service
] - Signaling Gateway [dir:
mobicents-ss7-sgw
] - Shell [dir:
shell
] - SS7 Simulator [dir:
mobicents-ss7-simulator
]
|- mobicents-jss7-<version> |- asn |- _docs |- oam |- sctp |- ss7 |+ native |+ protocols |+ shell |+ mobicents-ss7-service |+ mobicents-ss7-sgw |+ mobicents-ss7-simulator
Setup from Source
Restcomm jSS7 Stack is an open source project and you have the freedom to build from source. Building from source means you can stay on top with the latest features. Whilst aspects of Restcomm jSS7 Stack are quite complicated, you may find ways to become contributors.
You must have JDK1.7 installed. In addition you must have the following tools installed.
Pre-Requisites for Building from Source
Requirement | Notes |
---|---|
Git Client 1.6 |
Instructions for installing and using GIT can be found at http://git-scm.com/book |
Subversion Client 1.4 |
Instructions for installing and using SVN can be found at http://subversion.tigris.org |
Maven 2.0.9 |
Instructions for installing and using Maven can be found at http://maven.apache.org/ |
Ant 1.7.0 |
Instructions for installing and using Ant can be found at http://ant.apache.org |
jmxtools:jar |
This library is required to build the Simulator source code. The library com.sun.jdmk:jmxtools:jar:1.2.1 must be downloaded manually and placed in your maven repository. Instructions are provided below. |
Instructions to Download jmxtools:jar
for building Simulator source code are as follows:
- The file can be downloaded from Oracle’s website. The link is:http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-java-plat-419418.html#7657-jmx-1.2.1-oth-JPR&usg=AFQjCNGOqUaCB1ULVG7cMULio9u70MKocA.
- The webpage will display a list of Java Platform Technology Downloads. From the list, select “Java Management Extension (JMX) 1.2.1”
- Read and understand the License Agreement and then press “Accept License Agreement”.
- Download the
jmx-1_2_1-ri.zip
file. - Extract
lib/jmxtools:jar
- Once extracted, place this file in your maven repository as
.m2/repository/com/sun/jdmk/jmxtools/1.2.1/jmxtools-1.2.1.jar
file if.m2/repository
is a root of this repository. Alternatively you can register it.
Release Source Code Building
-
Checkout a specific release source using GIT. The base URL to clone from is https://github.com/mobicents/jss7. Then add the specific release version, in the below example we are downloading the version release-2.0.0.BETA3.
[usr]$ git clone https://github.com/mobicents/jss7 [usr]$ cd jss7 [usr]$ git checkout release-2.0.0.BETA3
-
Now that we have the source code, the next step is to build and install the source. Restcomm jSS7 Stack uses Maven 2 to build the system. There are three build profiles namely default, dahdilinux and dialogiclinux. The Default profile builds only the java source code. The other two profiles “dahdilinux” and “dialogiclinux” compile relevant native modules in addition to building the java source.
-
Building using “default” Build profile
To build Restcomm jSS7 Stack without building any native libraries use the default profile as shown below.
[usr]$ cd jss7 [usr]$ mvn install
-
Building using “dahdilinux” profile
Use this profile only if the linux server on which this code is built has
dahdi
module installed. Make sure you pass the “include.zap” system property with a value pointing to the directory wheredahdi
is installed[usr]$ cd jss7 [usr]$ mvn install -Pdahdilinux -Dinclude.zap=/usr/include/dahdi
-
Building using “dialogiclinux” profile
Use this profile only if the linux server on which this code is built has
dialogic
module installed. Make sure you pass the “include.dialogic” and “include.dialogic.gctlib” system properties with values pointing to appropriate directories. The “include.dialogic” property must point to the directory wheredialogic
libraries are installed. The “include.dialogic.gctlib” property must point to the directory wheregctload
is present (generally /opt/dpklnx for linux OS).[usr]$ cd jss7 [usr]$ mvn install -Pdialogclinux -Dinclude.dialogic=/opt/dpklnx/INC -Dinclude.dialogic.gctlib=/opt/dpklnx
-
- Use Ant to build the binary.
[usr]$ cd jss7/release [usr]$ ant
Development Trunk Source Building
To build from development trunk source, follow the same procedure as above but at the time of checkout do not switch to the specific release tag.
[usr]$ git clone https://github.com/mobicents/jss7 [usr]$ cd jss7 [usr]$ git checkout
The rest of the steps are as outlined in the above section Section 4.2.1, “Release Source Code Building”
Installation Options
The Restcomm jSS7 Stack is logically divided into two sections – lower and upper. The lower section provides implementation for SS7 Level 2 and Level 3 and is therefore influenced by the type of SS7 hardware (Level 1) used. The upper section provides implementation for SS7 Level 4 and above. Restcomm jSS7 Stack gives you the flexibility to install and use the Levels 2,3 and 4 in the same JVM and machine where SS7 Hardware (Level 1) is installed. Alternately, you can also install Level 1,2 and 3 in one machine and install Level 4 on a separate machine. In the second scenario, M3UA
over SCTP
is used for communication between Level 3 and Level 4 (on different machines) and this is referred to as Restcomm Signaling Gateway.
Restcomm jSS7 Stack can be installed to function as a standalone component if you do not wish to use JBoss Application Server. However if you intend to use JSLEE Resource Adaptors or Shell (CLI), then you must deploy it as a JBoss AS Service. The sections below provide instructions for installing the Stack for use with JBoss AS or as a standalone component.
Restcomm jSS7 Stack as a JBoss AS Service
Restcomm SS7 Service can be deployed in any container that supports JMX
and exposes JNDI
. By using the Restcomms SS7 Service you will be able to configure the SS7 stack using CLI (Command Line Interface) commands. The SS7 Service wraps SS7 Level 4 (i.e., MAP, CAP and ISUP) and the lower layers and exposes via JNDI, such that the layer above can perform the look-up and use it in any application.
Procedure: Installing Restcomm SS7 Service
- Pre-Requisites:
- The Restcomm SS7 Service binary requires that you have JBoss Application Server installed and
JBOSS_HOME
Environment variable set properly. For more details on setting theJBOSS_HOME
variable, please refer to the section Appendix B, Setting the JBOSS_HOME Environment Variable. - Ant 1.6 (or higher) must be used to install the binary. Instructions for using Ant, including install, can be found athttp://ant.apache.org/.
- If you are using the SS7 board on server, you must ensure that the
java.library.path
variable is set to point to the directory containing the native component. Alternatively you can copy it to the JBoss native library path manually.
- The Restcomm SS7 Service binary requires that you have JBoss Application Server installed and
- Deploying the SS7 Service:
- You can now deploy the service using the
ant deploy
command as shown below:
[usr1]$ cd Mobicents-jss7-3.0.1329/ss7 [usr1]$ ant deploy
- You can now deploy the service using the
- Result:
- If the service has been deployed successfully, you will find the below message appear on screen:
Buildfile: /home/vinu/Downloads/mobicents-jss7-6.1.3.GA/ss7/build.xml deploy: [copy] Copying 38 files to /home/vinu/Downloads/mobicents-jss7-6.1.3.GA/ss7/${system.JBOSS_HOME}/server/default/deploy/mobicents-ss7-service [copy] Copying 2 files to /home/vinu/Downloads/mobicents-jss7-6.1.3.GA/ss7/${system.JBOSS_HOME}/bin [copy] Copying 9 files to /home/vinu/Downloads/mobicents-jss7-6.1.3.GA/ss7/${system.JBOSS_HOME}/lib BUILD SUCCESSFUL
- You have now deployed Restcomm SS7 Service successfully. Note that this procedure will also install the Shell Components (shell scripts and libraries) on this machine.
- If the service has been deployed successfully, you will find the below message appear on screen:
Restcomm jSS7 Stack can function as a standalone Signaling Gateway installed on any machine. It acts as a signaling agent that receives/sends Switched Circuit Network (SCN) native signaling at the edge of an IP network. Installing the Signaling Gateway is straightforward.
Procedure Installing Signaling Gateway
- Pre-Requisites:
- You must have JDK 1.7 and lksctp library installed on your machine.
- Copy
Mobicents-jss7-3.0.1329/ss7/mobicents-ss7-sgw
to any folder of your choice in any machine that supports the requirements specified. Your Signaling Gateway is now ready to be used.
Shell – Command Line Interface (CLI)
Once you have installed Restcomm SS7 Service and the Signaling Gateway, you can configure and manage them both using Shell commands. Restcomm jSS7 Stack comes with a Shell Management Interface that enables easy run-time configuration. You can install the Shell (CLI) Component on any machine (usually remote) and easily connect to and manage the Stack on a remote machine with simple commands. For more details on using the Shell and the commands available, please refer to the Restcomm jSS7 Stack User Guide.
Procedure: Installing CLI
- Pre-Requisites
- You must have JBoss Application Server installed and
JBOSS_HOME
Environment variable set properly. For more details on setting theJBOSS_HOME
variable, please refer to the section Appendix B, Setting the JBOSS_HOME Environment Variable. - Ant 1.6 (or higher) must be used to install the binary. Instructions for using Ant, including install, can be found athttp://ant.apache.org/.
- You must have JBoss Application Server installed and
- Copy
Mobicents-jss7-3.0.1329/ss7
to any folder of your choice in any machine that supports the requirements specified. - You can now deploy using the
ant deploy
command as shown below:
[usr1]$ cd Mobicents-jss7-3.0.1329/ss7 [usr1]$ ant deploy
- Result:
- If the Shell has been deployed successfully, you will find the below message appear on screen:
Buildfile: /home/vinu/Downloads/mobicents-jss7-6.1.3.GA/ss7/build.xml deploy: [copy] Copying 38 files to /home/vinu/Downloads/mobicents-jss7-6.1.3.GA/ss7/${system.JBOSS_HOME}/server/default/deploy/mobicents-ss7-service [copy] Copying 2 files to /home/vinu/Downloads/mobicents-jss7-6.1.3.GA/ss7/${system.JBOSS_HOME}/bin [copy] Copying 9 files to /home/vinu/Downloads/mobicents-jss7-6.1.3.GA/ss7/${system.JBOSS_HOME}/lib BUILD SUCCESSFUL
- You have now deployed the Shell Components (shell scripts and libraries) successfully on this machine. You can now Start the Shell and connect it to any SS7 service instance and manage the Stack from the Command Line.
- If the Shell has been deployed successfully, you will find the below message appear on screen:
Installing the Restcomm jSS7 Stack Simulator
Restcomm jSS7 Stack Simulator can function as a standalone component installed on any machine. The Simulator module will enable you to test and understand the functionality of the Stack.
Procedure 5.4. Installing Simulator
- Pre-Requisites:
- You must have JDK 1.7 installed on your machine.
- Copy
Mobicents-jss7-3.0.1329/ss7/mobicents-ss7-simulator
to any folder of your choice in any machine that supports the requirements specified. Your Simulator is now ready to be used.
Restcomm jSS7 Stack as a Standalone Component
Restcomm jSS7 Stack can be installed as a standalone Java library without any dependency on JBoss, Restcomm JSLEE or any other container. The Restcomm jSS7 Stack User Guide will assist you in implemeting this and also give some details of how jSS7 layers can be configured. If you do not intend to use it with JBoss AS, then you must follow the regular way of initializing jSS7 Stack, which is to build each of the protocols, configure individually and bind them together.
Post Installation Configuration
Now that you have installed Restcomm jSS7 Stack to suit your needs, you can go ahead and configure the Stack to meet your requirements. The User Guide (available along with this Installation Guide) in the Mobicents-jss7-3.0.1329/_docs
folder will assist you in configuring and managing the Stack. The Shell Management module will enable you to easily configure the Stack using the Command Line Interface (CLI) tool.
Memory Settings
You should fine tune the JVM memory settings based on your needs but we recommend you allocate a minimum of 3 GB for initial and maximum heap size.
If you wish to remove Mobicents jSS7 Stack you can do so by deleting the installation directory. If you installed it as a JBoss Service then you must remember to clean up the SS7 Service files within the JBoss directory by undeploying the service as shown below. The procedure below can be ignored if you installed the Stack as a standalone component.
Procedure: Uninstalling Mobicents SS7 Service
- Undeploy:
[usr1]$ cd Mobicents-jss7-3.0.1329/ss7 [usr1]$ ant undeploy
- Result:
Buildfile: /home/vinu/Downloads/mobicents-jss7-6.1.3.GA/ss7/build.xml undeploy: [delete] Deleting directory /home/vinu/Downloads/mobicents-jss7-6.1.3.GA/ss7/${system.JBOSS_HOME}/server/default/deploy/mobicents-ss7-service BUILD SUCCESSFUL Total time: 0 seconds
The post jSS7 Installation Guide appeared first on Telestax Docs Online.