DeploySmscGw - RestComm/smscgateway GitHub Wiki
= Introduction =
I will explain here how to download and deploy Mobicents SMSC GW.
NOTE : Mobicents SMSC is under AGPL License.
= Details =
-
We need to download and compile last JAIN SLEE (how to do it - see at site of the project): https://github.com/Mobicents/jain-slee At the end of this procedure we will have JBOSS server with deployed there JAIN-SLEE.
-
Set a environment variable JBOSS_HOME to the path where you have installed JBOSS server. For example if we have installed JBOSS to the /opt/smsc/jboss folder use commands:
- windows:
- set JBOSS_HOME=C:\opt\smsc\jboss
- linux:
- export JBOSS_HOME=/opt/smsc/jboss
- download and compile sctp library https://github.com/Mobicents/sctp version "release-1.4.0.FINAL"
- git clone https://github.com/Mobicents/sctp
- cd sctp
- git checkout release-1.4.0.FINAL
- update the root pom.xml file: in {{{}}} section replace {{{ http://oss.sonatype.org/content/groups/public/ }}} with {{{ https://oss.sonatype.org/content/groups/public/ }}} (so just replace http->https)
- mvn clean install -Dmaven.test.skip=true
- cd ..
- download and compile asn library https://github.com/Mobicents/jasn version "release-2.0.2.FINAL"
- git clone https://github.com/Mobicents/jasn
- cd jasn
- git checkout release-2.0.2.FINAL
- update the root pom.xml file: in {{{}}} section replace {{{ http://oss.sonatype.org/content/groups/public/ }}} with {{{ https://oss.sonatype.org/content/groups/public/ }}} (so just replace http->https)
- mvn clean install -Dmaven.test.skip=true
- cd ..
- download, compile jss7 library https://github.com/Mobicents/jss7 version "release-2.1.0.FINAL" and deploy CLI components to jboss server. We need to clone it from sources, checkout "release-2.1.0.FINAL" tag and compile.
- git clone https://github.com/Mobicents/jss7
- cd jss7
- git checkout release-2.1.0.FINAL
- update the root pom.xml file:
- a) in {{{}}} section replace {{{ http://oss.sonatype.org/content/groups/public/ }}} with {{{ https://oss.sonatype.org/content/groups/public/ }}} (so just replace http->https)
- b) comment out in the {{{}}} section two last modules (sgw and tools - we do not need them): replace {{{ sgw tools }}} with {{{
}}}
- mvn clean install -P jboss -Dmaven.test.skip=true
- cd ..
- remove deployed jss7 stack from jboss (we do not need it):
- delete the folder: jboss/default/deploy/mobicents-ss7-service
- download and compile SIP RA https://github.com/Mobicents/jain-slee.sip/ last version
- git clone https://github.com/Mobicents/jain-slee.sip/
- cd jain-slee.sip
- comment out all modules excluding "resources/sip11" (the first one) from "jain-slee.sip/pom.xml" {{{replace}}} {{{ resources/sip11 enablers/sip-publication-client enablers/sip-subscription-client examples/sip-b2bua examples/sip-uas examples/sip-jdbc-registrar examples/sip-wake-up }}} {{{with}}} {{{ resources/sip11
</modules>
}}}
- mvn clean install -Dmaven.test.skip=true
- cd ..
- clone the last version of SMSC project https://github.com/Mobicents/smscgateway/ master branch:
- git clone https://github.com/Mobicents/smscgateway/
- cd smscgateway
- mvn clean install -Dmaven.test.skip=true
-
if you need of CDR's generating you need to update jboss/server/default/conf/jboss-log4j.xml by adding there two extra sections for logging like following: {{{
<param name="DatePattern" value="'.'yyyy-MM-dd"/> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d %-5p [%c] %m%n"/> </layout>
}}} and {{{ }}}
- run SMSC by the commands:
- for linux:
- export JBOSS_HOME=/<...>/jboss
- cd <...>/jboss/bin
- ./run.sh
- for windows:
- set JBOSS_HOME=<...>\jboss
- cd <...>/jboss/bin
- run
- configuring of SMSC GW for a simple test:
- a) run CLI interface
- for linux:
- cd <...>/jboss/bin
- ./ss7-cli.sh
- for windows:
- cd <...>/jboss/bin
- ss7-cli
- b) connect to SMSC GW server
- connect
- c) create ESME (for SMPP connection) that will accept messages for the number 6666
- smpp esme create test test -1 -1 TRANSCEIVER SERVER password test esme-ton -1 esme-npi -1 esme-range 6666 source-range 6666 routing-range 6666
- smpp esme start test
- d) configure SIP connector that will accept messages for the number 5555
- smsc sip modify SIP cluster-name cluster host 127.0.0.1 port 5065 routing-ton -1 routing-npi -1 routing-range 5555 counters-enabled false
- run any SMPP utility you wish to connect to SMSC (as systemId and password == test (port is 2776)). You can run a provided Mobicents SMPP Simulator. To run it: for linux:
- cd /smscgateway/tools/smpp-simulator/bootstrap/target/simulator-smpp/bin
- ./run.sh
- for windows:
- cd \smscgateway\tools\smpp-simulator\bootstrap\target\simulator-smpp\bin
- run Then the GUI application is opened. We can use default SMPP Simulator's settings for connecting to SMSC GW (as it has been configured at the previous step). Then press "Run test" button - "Start a sesion" button. SMPP Simulator will connect to SMSC GW.
-
run any SIP phone that supports messaging, For example Linphone. Configure it so it listern 5065 port for incoming SIP requests. SMSC GW by default listern port 5060. Use the following SIP address for sending messages to SMSC GW: "sip:[email protected]:5060"
-
now you can send a message from SMPP Simulator to SIP Phone (press "Submit a message" button at SMPP Simulator) or send a message from SIP phone to SMPP Simulator.