Quantcast
Channel: Telestax Docs Online
Viewing all articles
Browse latest Browse all 94

SMSC – Setting up Telscale SMSC Gateway on Google Cloud

$
0
0

TelScale SMSC is a robust and carrier proven SMSC built on a modern extensible middleware platform. TelScale SMSC provides core features for mobile subscriber to send SMS messages (over GSM network via SIGTRAN or legacy E1 links), broadcasting campaigns (via SMPP), and group messaging between subscribers.

Telscale SMSC has been deployed on Amazon EC2 HERE. You can also setup Telscale SMSC on Google Cloud.

This tutorial will show how to run Telscale SMSC on Google Cloud

Requirements

  • Basic Knowledge of Telscale SMSC
  • Latest Cassandra Database
  • Google Cloud Compute Engine
  • Java JDK 7 or higher
  • Httpd
  • lksctp for SS7
  • On a production setup, it is recommended that you have a machine type that runs Quad Core processor with at least 16GB of memory.

 

Step 1

Log into your Google Cloud Developer’s Console

  • Create a new instance under Compute ->Compute Engine->New Instance
  • Modify the following fields
  • NAME: smsc-test
  • Allow Http Traffic (checked)
  • MACHINE TYPE: g1-small
  • IMAGE: Centos-6xxxx
  • Leave the rest of the fields as default and press the Create button

The newly created instance should now appear on the list of available instances.

  • Click on the smsc-test
  • At the top of the page, click on the SSH tab to reveal the gcutil command to use for SSH connection
  • gcutil --service_version="v1" --project="telestax-smsc-01" ssh --zone="us-central1-a" "smsc-test"
  • From your local computer, run the above gcutil command to open a secure SSH connection to your instance.
  • You must have installed and configured gcutil as explained HERE

Step 2

This is where you must install all the necessary software on your smsc-test cloud server instance.

Cassandra DB

  • Download Apache Cassandra DB
  • sudo wget http://mirrors.ucr.ac.cr/apache/cassandra/2.0.9/apache-cassandra-2.0.9-bin.tar.gz
  • extract content
  • sudo tar -xf apache-cassandra-2.0.9-bin.tar.gz

 

Telscale SMSC

  • Download Telscale SMSC from HERE and extract content of the SMSC zip file
  • sudo unzip TelScale-smsc-6.1.6-TelScale-SNAPSHOT-1406220037.zip

 

Java

  • Download the latest JDK from HERE
  • curl -b oraclelicense=accept-securebackup-cookie -O -L http://download.oracle.com/otn-pub/java/jdk/7u60-b19/jre-7u60-linux-x64.rpm
  • Install the rpm file
  • sudo yum install jre-7u60-linux-x64.rpm

Httpd Server

  • Install and download Httpd
  • sudo yum install httpd

 

Step 3

 

You must now start Cassandra and create the Telscale SMSC DB.

  • Go to the Cassandra bin directory /home/charles/apache-cassandra-2.0.9/bin
  • Start cassandra as a background process
  • sudo ./cassandra -f &
  • Create the TelestaxSMC DB using the cassandra.cql file provided with Telscale SMSC
  • sudo /home/charles/apache-cassandra-2.0.9/bin/cqlsh -f  /home/charles/TelScale-smsc-6.1.6-TelScale-SNAPSHOT/cassandra/cassandra.cql

To make sure the databases are correctly created, run the cqlsh command and check the keyspaces available

  • /home/charles/apache-cassandra-2.0.9/bin/cqlsh

Connected to Test Cluster at localhost:9160.
[cqlsh 4.1.1 | Cassandra 2.0.9 | CQL spec 3.1.1 | Thrift protocol 19.39.0]
Use HELP for help.
cqlsh> describe keyspaces;
TelscaleSMSC  system  TelestaxSMSC  system_traces

As you can see above, 2 Cassandra keyspaces TelscaleSMSC and TelestaxSMSC have been created.

Start Telscale SMSC

  • Go to the bin directory of SMSC /home/charles/TelScale-smsc-6.1.6-TelScale-SNAPSHOT/jboss-5.1.0.GA/bin
  • Make all shell scripts executable
  • sudo chmod +x *.sh
  • Start the SMSC server as a background service and use -b to bind it to the local IP address of your SMSC server instance
  • ../run.sh -b 10.21.30.41 &

If the server is successfully started, you should see a message similar to the following:

JBoss (Microcontainer) [5.1.0.GA (build: SVNTag=JBoss_5_1_0_GA date=200905221634)] Started in 3m:13s:880ms

 

Step 4

Make sure your firewall settings allows ports 8080. You will need to open more port for further testing. See HERE for more details

You can access the management interface of SMSC gateway as follows:

  • Open your web browser and go to
  • http://PUBLIC_IP_OF_YOUR_GOOGLE_INSTANCE:8080/smsc-management/

You will see a screenshot similar to the one below

smsc-management-gui

 

 

Sending Traffic to the SMSC Gateway

In this section of the tutorial, we are going to use the SMPP simulator tool that comes prepackaged with Telscale SMSC to send some packets to the server. This will populate the Telscale SMSC Casandra DB that was previously created.

On a production, environment, the SMS messages are forwarded to destination through an SS7 connection.

 

Telscale SMSC comes prepacked with a simulator for basic load testing SMPP. The simulator was configured to send bulk SMPP to the SMSC Gateway server.. You must run the Simulator from a remote computer connecting to the public IP address of the SMSC gateway.

  • Cd to the directory $TELSCALE_SMSC_ROOT/tools/TelScale-smpp-simulator/bin
  • $ sudo chmod +x run.sh
  • The command above will make the file executable
  • Run the following command to start the SMPP Simulator GUI
1
sudo$<strong>$TELSCALE_SMSC_ROOT/tools/TelScale-smpp-simulator/bin</strong>/run.sh gui

Test Result from Larger Instance

 

Test scenario

  • SMPP Client generating traffic
  • SMPP Server accepting SMS from SMSC
  • SS7 HLR Simulator and Cassandra were installed and used in the same cloud instance.
  • Google compute instance running 16 vCPU, 60 GB memory

 

smsc-google-cloud-diagram

How many SMS processed per second

  • Datagram Mode SMPP to SMPP achieved 2500 SMS/Sec
  • Datagram Mode SMPP to SS7 achieved 1500 SMS/Sec

 

CPU Usage

During the bulk SMS test, CPU usage was minimal as shown in the screenshot below:

smsc-google-cloud-cpu

 

 

Network Usage

 

smsc-google-cloud-network

Disk I/O Usage

 

smsc-google-cloud-disk

 


Wireshark Trace

If you want to see the trace result of the SMPP traffic, you can access the pcap files HERE

 

 


 

Video Tutorial

If you want to learn more about testing Telscale SMSC Gateway, please see the video tutorial below

 

 

 

The post SMSC – Setting up Telscale SMSC Gateway on Google Cloud appeared first on Telestax Docs Online.


Viewing all articles
Browse latest Browse all 94


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>