Anda di halaman 1dari 19

TELESTAX

SMSC White Paper

White Paper
TelScale Short Message Service Center
(SMSC)

1 / 19
2014

TELESTAX Inc. Copyright

TELESTAX
SMSC White Paper
SMS Center White Paper
Copyright 2014 TELESTAX Inc. All Rights Reserved.
Though every care has been taken to ensure the accuracy of this document, TELESTAX Inc.
cannot accept responsibility for any errors or omissions or for any loss occasioned to any
person, whether legal or natural, from acting, or refraining from action, as a result of the
information contained herein. Information in this document is subject to change at any time
without obligation to notify any person of such changes.
TELESTAX Inc. may have patents or patent pending applications, trademarks copyrights or
other intellectual property rights covering subject matter in this document. The furnishing of
this document does not give the recipient or reader any license to these patents, trademarks
copyrights or other intellectual property rights.
No part of this document may be communicated, distributed, reproduced or transmitted in any
form or by any means, electronic or mechanical or otherwise, for any purpose, without the
prior written permission of TELESTAX Inc.
The document is subject to revision without further notice.
All brand names and product names mentioned in this document are trademarks or registered
trademarks of their respective owners.

1521 Concord Pike


Suite 301, Wilmington, New Castle
Delaware, US 19803
www.telestax.com
info@telestax.com

2 / 19
2014

TELESTAX Inc. Copyright

TELESTAX
SMSC White Paper

Executive summary
This white paper provides an overview of TELESTAX SMSC. It presents information and
guidance but does not support a specific plan of action, which would require additional
information and insights into each situation.
Short message service (SMS) is a globally accepted wireless service that enables the
transmission of alphanumeric messages between mobile users and external systems such as
electronic mail, paging, and voice mail systems.
SMS is based on standards defined by ETSI and 3GPP. Messaging is handled by an SMSC
(Short Message Service Center) that is hosted within the Operator network. SMS is an easy
to use service that has become extremely popular with billions of messages being handled
every month.
The main categories of SMS messages are:

Peer to Peer messaging handled by SMSC in the Operator domain

Value added services between a mobile phone and applications handled by SMSC
Operators and Service Providers

An SMSC provides an open interface between the SMSC in the Operator network to
Applications in the IT domain. Value added services on SMS have become very popular due
to One Time Password, Dual-Authentication, Interactive TV shows, Rich content access and
delivery (Ringtones, Images), promotions, campaigns and a whole range of services. This
requires operators and service providers to be able to handle large traffic volumes, provision
new services rapidly, add new SMSC to cater to load or new regions all without affecting
existing services in a reliable and flexible manner.
TelScale SMSC is a robust and carrier proven Open Source SMSC built on a modern
extensible middleware platform. TelScale SMSC can be adapted to the needs of telecom
service providers of different sizes in any region. TelScale SMSC is designed not only to
provide standard SMSC features such as subscriber to subscriber SMS messaging,
broadcasting campaigns and group messaging between subscribers, store and forward, but
also enable added value services through integration with OTT social networks and
microblogs such as Facebook and Twitter.

SMS Short message service


Short message service (SMS) is a service available on most digital mobile phones that
permits the sending of short messages also called as text messages between mobile phones
and other handheld devices. SMS was originally designed as part of the GSM digital mobile
phone standard, but is now available on a wide range of networks, including 3G networks.
SMS messages can comprise of words or numbers of up to 160 characters in length. Out-ofband packet delivery and low-bandwidth message transfer characterize SMS. Non-text based
(binary format) characters can also be supported, and are essential for Unicode and Rich
Content services.
SMS is based on store-and-forward technology. Messages are sent to an SMSC located at
Operators side, held for the intended recipient, and then sent from the SMSC to the
recipient's mobile phone. SMS is capable of confirming whether a message has been
delivered, though it is up to the individual carrier to implement this capability. The confirmation
function is handled by the SMSC.

3 / 19
2014

TELESTAX Inc. Copyright

TELESTAX
SMSC White Paper

Need for SMSC


SMS Applications can be delivered to users by interfacing them to an SMSC, which is the
central component in an SMS network. SMSC is necessary for the following reasons:

Compatibility - Supports inter networking amongst various SMSCs implemented by


various vendors

Conversion of SMS protocols such as SS7 and SMPP.

Handles and control of large traffic

Keep track of the records such as user details, time stamp billing etc.

Supports APIs for easy plug in of applications

Features and functionality


This section describes the features and functionality of SMSC that have been provided as per
the 3GPP standards. Fig (1) shows various modules of SMSC and their interface with the
external applications.

Fig (1) Architecture of SMSC


The TELESTAX SMSC has the following features:

OPEN SOURCE: The Software is Open Source, giving you the freedom to
understand the code and customize it to your enterprise needs. TelScale SMSC is the
first and only Open Source Java Based SMSC which free you from costly vendor
lock-in.

CARRIER GRADE PERFORMANCE: TelScale SMSC has been deployed at telecom


operators around the world and is processing billions of SMS transactions each day.
A single TelScale SMSC node can process up to 1000 SMS/sec for
'StoreAndForward' mode, 1500 SMS/Sec for 'ForwardAndStore' mode, 2500
SMS/Sec for 'Datagram' mode and can be adapted to the needs of telecom service
providers of different sizes in any country reducing your CAPEX and OPEX costs.

4 / 19
2014

TELESTAX Inc. Copyright

TELESTAX
SMSC White Paper

LOAD BALANCING & TRANSPARENT FAILOVER: Multiple TelScale SMSC nodes


can be arranged in a cluster across one or more geographically distributed data
centers to scale up throughput and provide various levels of redundancy, high
availability and fault tolerance.

TDM AND SIGTRAN SUPPORT: TelScale SMSC supports legacy E1/T1 links via
TelScale SS7 cards as well as connectivity to MSC/HLR via SIGTRAN links (M3UA).

CLOUD READY: TelScale SMSC is Cloud-ready. It can be deployed on dedicated


hardware, private cloud infrastructure or public IaaS such as AWS.

EXTENSIBLE AND MODERN PLATFORM: TelScale SMSC is built on the modern,


extensible TelScale JSLEE platform, which automatically provides out-of-the-box
integration with various other communication protocols such as SIP, Diameter, HTTP
in addition to the base SMPP protocol for connectivity to ESMEs.

ENTERPRISE MONITORING & MANAGEMENT: TelScale jSS7 Stack comes with an


efficient Command Line Interface (CLI) tool and AJAX based Web Management
Interface allowing you to easily configure, manage and monitor the SMSC. It can
easily integrate with a third party campaign tool to define new campaigns and
manage existing ones.

ADVANCED ROUTING RULES: TelScale SMSC is built on the TelScale jSS7 stack
which provides advanced SCCP routing rules to map short codes to MSISDN so
users can send SMS to short-code instead of complete MSISDN.

MULTI TENANCY: TelScale SMSC can be connected to multiple operators over


SS7/SMPP links and flexible routing rule allows to route SMS from operator to other.

TelScale SMSC provides core features for:


Mobile subscriber to subscriber SMS messaging: Incoming SMS via jSS7
MoForwardSMS, SMPP and SIP; Outgoing SMS via jSS7 MtForwardSMS, SMPP
and SIP
Broadcasting Campaigns
Flexible and Intelligent routing rule to route message between any of SS7, SMPP or
SIP connections
Home Routing Non Transparent as specified in 3GPP 23.840
Supports Datagram, Transactional, StoreAndForward and special ForwardAndStore
mode
Leverages Cassandra Database for storing live SMS (yet to be delivered) and final
SMS (delivered or failed permanently)
Supports Session Initiation Protocol (SIP) for easy integration with next generation
network
Diameter based Charging can be configured per protocol SMPP, SS7 or SIP or
disable all
Acts as SMPP client as well as server
Supports High Availability and Load Balancing for both SMPP and SS7 connectivity
Supports GSM7, UTF8/GSM8, UCS2 encoding and Binary, OTA SMS and Long SMS
(greater than 160 char for GSM7 and 140 char for UCS2)
Real time stats exposed by UI - Number of incoming sms/sec, Number of SMS being
attempted to deliver, Number of SMS delivered all stats dissected by medium SMPP, SIP and SS7. Detailed reporting leveraging Cassandra database.
Integration with RestComm: RestComm exposes the RESTFull HTTP API and
exposes all the parameters (Kannel server, etc.)
No cap on SMS/sec or SS7 GT, links or association. Capacity depends on underlying
hardware and network used
CDR generated in text file and Cassandra. You can choose both, either or none
Easy configuration, management and monitoring via an efficient CLI as well as an
user-friendly AJAX based Web management GUI
5 / 19
2014

TELESTAX Inc. Copyright

TELESTAX
SMSC White Paper
Throttling of SMS/sec, SMS/min, SMS/hour and SMS/day for each SMPP
connections individually
Secured Socket Layer (SSL) support for SMPP connections
Multi tenancy support. Same instance of SMSC can be connected to multiple
networks(operators)

ARCHITECTURE
TelScale SMSC provides the following capabilities :

TelScale SMSC Gateway can be configured to have virtually unlimited SMPP


connections (ESME)

TelScale SMSC Gateway supports unlimited E1 links and the only limiting factor is the
underlying TDM board used.

TelScale SMSC Gateway SCTP supports as many associations as supported by the


underlying Operating System.

TelScale SMSC Gateway M3UA can be configured to have as many ASP's / IPSP's
as needed by the system.

TelScale SMSC Gateway SCCP can be configured to have virtually unlimited Global
Title Translation rules and also supports wild characters for partial matching of Global
Title digits.

TelScale SMSC provides the following core services that can be activated or
deactivated as per the needs of operators:

Mo (Mobile originated) module that handles mobile originated SMS.

Mt (Mobile terminated) module that delivers SMS to mobile

Rx SMPP module that listens for incoming SMS from ESME and routes to Mt/Tx
SMPP/Tx SIP module

Tx SMPP module that listens for SMS from Mo/Rx SMPP/Rx SIP module and delivers
to ESME over SMPP

Rx SIP module that listens for incoming SMS from SIP Client (RestComm) and routes
to Mt/Tx SMPP/Tx SIP

Tx SIP module that listens for SMS from Mo/Rx SMPP/Rx SIP module and delivers to
SIP

ESME : SMPP Call flows supported


The SMSC can connect to Core network and ESME (External Short Messaging Entity) client
handles the connection. An ESME client is identified by the SMSC to which the connection is
made, and represents a single connection to a SMSC. The ESME client receives MO
messages from the operator SMSC and submits messages back to the SMSC for MT delivery
to the user handset. The main functions of the ESME client are:

Bi-directional connection to a SMSC

Support SMS protocols (SMPPv3.2/5.0), SS7 protocols

6 / 19
2014

TELESTAX Inc. Copyright

TELESTAX
SMSC White Paper
The SMSC supports multiple ESME clients. Each ESME client forms part of a SMS message
channel that comprises of the ESME client or server and Router. For a new connection, the
SMSC creates a new message channel, and handles the connection, binding and
reconnection settings, to ensure that the link is always maintained. In case a specific link is
down, the corresponding ESME client automatically sends a bind request, till success. The
status of the ESME connections can be seen visually on the control center.

Routing
SMSC Supports very flexible routing rule such that SMS can be routed from any module to
any layer via SMPP, SS7 or SIP.
The default routing is based on regular expression. While defining the SMPP or SIP channel,
Admin also defines the Java regular expression that should be used to route the SMS to this
channel.
SMSC also exposes routing based on Database. Admin can define each and every
destination number in Database and corresponding channel where SMS must be routed to.
However if you want some complex routing rule not covered by above tow scenarios, SMSC
exposes API (Java Interface) that you can simply implement and add your own routing rule
logic and deploy the custom code in SMSC.

Encoding
The SMSC supports text and binary encoding as per 3GPP and GSM standards that allows
third party content providers to use the SMSC in a consistent and uniform manner for a whole
range of content. Generic binary content can be submitted to the SMSC, which is then
delivered, by the SMSC after splitting into concatenated messages if required.
Applications can transmit data in several methods such as text messages, Binary message in
hex, Individual UDH, IEI and UD, Customized API similar to the IMI SMS WAP OTA Message
API above will allow messages to be generated, based on command parameters. Thus in the
specific case of USIM applications, a plug in module can be developed that can be used to
generate the Command packet based on individual parameter values. The same applies to
Response packets that can be parsed as per the data.

SMS Content

Ringtones RTTTL, RTX, iMelody

Logos GIF, BMP

Picture Messages

Animations

CLI Icons

vCard (Nokia)

vCalendar (Nokia)

OTA settings for WAP/MMS

Generic Binary content

7 / 19
2014

TELESTAX Inc. Copyright

TELESTAX
SMSC White Paper

MMS Content as WAP push

Polyphonic Ringtones

Screen savers

Images

Video

Partial IP-SM-GW
TelScale SMSC also integrates with SIP Networks partially following recommendations of
3GPP 24.341 albeit the payload is simple text message for now, it doesn't use all the headers
from the aforementioned 3GPP specification and it also doesn't take care of REGISTER. The
below sections describe flow of SMS messages between SMSC, RestComm (which can be
considered as Telephony Application Server in IMS or VoLTE based networks) and
Applications over RestComm.

Incoming SS7 message


Below diagram shows flow of a message coming from SS7 and getting delivered to
Application over RestComm.

8 / 19
2014

TELESTAX Inc. Copyright

TELESTAX
SMSC White Paper

Incoming SMPP message


Below diagram shows flow of a message coming from SMPP and getting delivered to
Application over RestComm.

Incoming SIP message


Below diagram shows flow of a message coming from SIP and getting delivered to Application
over RestComm.

9 / 19
2014

TELESTAX Inc. Copyright

TELESTAX
SMSC White Paper

Outgoing message from Application over RestComm


Below diagram shows flow of a message from application over RestComm and getting
delivered to TelScale SMSC Gateway.

Customized SIP Headers


SMS messages can be of UTF-8 or Unicode Characters, or there can be special messages
with user data headers (UDH), binary messages, SMS that indicates delivery receipt etc.
There is no one-to-one mapping for this information in SIP, hence TelScale RestComm has
introduced additional customized SIP Headers to convey this useful information as described
below.
To understand each of the below optional parameters please read SMPP Specification.
X-SMS-UDH This parameter carries the hex string of User Data Header. For example, XSMS-UDH=06050413011301. RestComm can include this header for outgoing SIP
MESSAGE and SMSC will include it in actual SMS. If incoming SMS has UDH, then the SIP
MESSAGE from SMSC will include this optional header.
X-SMS-CODING This is the parameter for message coding. When unset, defaults to 0 (7 bits)
if Content-Type is text/plain , text/html or text/vnd.wap.wml; for application/octet-stream,
defaults to 8 bits (1); 2 is UCS2. RestComm can include this header for outgoing SIP
MESSAGE and SMSC will include it in actual SMS. For incoming SMS, the SIP MESSAGE
from SMSC will include this optional header.
X-SMS-VALIDITY This parameter holds the SMS validity period in case of re-try. Validity
Period is in the format yyyyy-mm-dd hh:mm:ss. RestComm can include this header for
outgoing SIP MESSAGE and SMSC will respect the validity period for failed delivery (re-try).
For incoming SMS, the SIP MESSAGE from SMSC will include this optional header.
10 / 19
2014

TELESTAX Inc. Copyright

TELESTAX
SMSC White Paper
X-M-CLASS This parameter holds the message class bits of DCS; 0 (directly to display,
flash), 1 (to mobile),2 (to SIM) or 3 (to SIM toolkit). This is not yet supported in the current
version of SMSC.
X-REG-DELIVERY This is registered_delivery parameter and is used to request a SMSC
delivery receipt and/or SME originated acknowledgements. This is set to 1 to get delivery
receipt for success or failure.
X-SMSC-ID This parameter holds the smsc-id of the connection that received the message. If
the incoming SMS was from ESME, smsc-id will be the name of the ESME. In case of
messages coming in from SIP or SS7, this value will be null.
X-DELIVERY_TIME This is time the message was received by SMSC. Format will be "yyyyymm-dd hh:mm:ss".

Log Server and Database


The Log Server provides a generic IP based interface that is used to support dynamic
logging, as well as to provide a query interface to Databases. The server has its own internal
queuing that provides a buffer for incoming requests. The server supports Cassandra
Database. In all cases, the database can run on the same system or be separated and can be
accessed over TCP/IP. The server monitors a specific port, which can be configured.

Administration Graphical User Interface


The Graphical user interface provides full control over the various components of the SMSC
including start/stop configure ESME clients, Applications, view logs, reports and alarms. The
GUI is developed as a web-based interface, and is implemented using AJAX, hosted on a
JBoss Server.

11 / 19
2014

TELESTAX Inc. Copyright

TELESTAX
SMSC White Paper

Performance
Performance of SMSC depends on the concurrent users, number of EMSE and number of
processors. Using the following methods can easily enhance the performance of SMSC:

Additional processing power of CPU

Additional RAM for increase in concurrent connections

Single SMSC node achieve 1000 SMS per second for 'StoreAndForward' mode, 1500
SMS/Sec for 'ForwardAndStore' mode, 2500 for 'Datagram' mode and with Cluster of 4 SMSC
instances doing load balance, it easily reaches 3.8 Billion SMS per day.
The test environment was based on "Bulk SMS" application where ESME would submit the
SMS's to SMSC and SMSC in-turn would do MAP SRI for MSISDN and then Forward SM.
Since this was real life scenario, there is Component Error like user not available and other
MAP error conditions which SMSC handled gracefully.
The Bulk SMS Application used is developed and contributed by TELESTAX
partners Convergence
TELESTAX SMSC Gateway is deployed on Quad Core Dual Processor Servers - Intel Xeon
X5570. The OS is CentOS 5.8. JVM minimum(-Xms) and maximum(-Xmx) memory set is
16GB.
Below is the wireshark screenshot showing the throughput from ESME

For each SMS on an average there were 4 MAP messages getting exchanged; the
throughput in terms of MAP is more than 4000 MAP messages/sec. The below is the
wireshark analysis of MAP messages

And also you can read the online performance test report of running TELESTAX on Amazon
AWS : http://www.telestax.com/category/smsc-2/ to know more.

12 / 19
2014

TELESTAX Inc. Copyright

TELESTAX
SMSC White Paper

Load balancing and High Availability


SS7
Multiple TelScale SMSCs can run in a cluster across one or more geographically distributed
data centers to scale up throughput and provide various levels of redundancy, high availability
and fault tolerance. The typical SMSC cluster topography is as following:

High Availability SMSC SMPP


Multiple SMSC nodes can be arranged in a cluster across one or more geographically
distributed data centers to scale up throughput and provide various levels of redundancy, high
availability and fault tolerance. SMPP connections can also be setup in clustering such that if
one SMPP connection is dead, ESME can automatically route messages from 2 nd SMPP
connection. SMSC can also be setup to route SMS over SMPP in load-balanced way.
TelScale SMSC can act as SMPP CLIENT initiating BIND to 3 rd party SMSC or can also act
as SMPP SERVER accepting BIND from ESME's.
TelScale SMSC allows to define multiple SMPP connection within a cluster such that it
automatically does the load-balancing between these SMPP connections as explained in
diagram below.

13 / 19
2014

TELESTAX Inc. Copyright

TELESTAX
SMSC White Paper

14 / 19
2014

TELESTAX Inc. Copyright

TELESTAX
SMSC White Paper
Its also possible to achieve the SMPP fail-over for ESME by using HAProxy TCP
Loadbalancer http://haproxy.1wt.eu/ as described in Case 3 above

High Availability Cassandra


To avoid single point of failure for database, SMSC can be configured to use multiple nodes of
Cassandra in cluster as explained in diagram below. There can be multiple SMSC's
connected to same Cassandra ring, but each of them will use its own KeySpace. Datasharing
between SMSC's is not done as of now, however this is in roadmap and will be added in
future.

Cassandra Cluster replicates data between its nodes, hence even if one Cassandra node is
15 / 19
2014

TELESTAX Inc. Copyright

TELESTAX
SMSC White Paper
down, SMSC can automatically connect to other node and still have all the SMS for re-try.
SMSC automatically cleans/deletes the old SMS that has already been delivered (including
the temporary rows). This is configurable. However if you have need to persist SMS for longer
duration, you can add more Cassandra nodes in cluster. Cassandra scales linearly with
number of nodes in cluster.

16 / 19
2014

TELESTAX Inc. Copyright

TELESTAX
SMSC White Paper

Why TELESTAX?
TELESTAX SMSC offers a cost effective approach towards quickly and easily implementing
and deploying short Messaging Services (SMS). TELESTAX SMSC is a scalable and flexible
platform.
Advantages

Supports multiple ESME and multiple application clients

Allows new protocols to be introduced at runtime with considerable ease

Capable of being configured entirely on HTTP thus allowing remote configuration

Supports popular protocols such as SMPP

Capable of handling 1000 messages (SMS) per second

Automatically generates extensive logs to easily track problems

Supports transfer of popular SMS services such as ring-tones (SMART and EMS),
picture messages, logos, WAP push messages, Over the Air (OTA) settings, WAP
settings and much more

Extensive keyword and extension code support

Session handling for user last command

Applications
TELESTAX SMSC supports several applications for subscribers, operators and service
providers. Some of them are listed below:
For users

Download and dedicate ring - tones, picture messages and operator logos

Subscribe and get updated of happening events around the world, news and other
interesting information

Play exciting SMS games and contests

Provision of value-added services such as e-mail, voice mail, and fax mail integration

SMS messaging is a discreet way of contacting people when they do not want to be
disturbed by phone calls

E-mail message arrivals can be notified to a SMS device

For Service providers and operators

Hiding the complexity of various SMSC protocols and their divergent functionalities

Producing billing solutions for export to billing systems

Extensive APIs to support service development in any environment

Supports bulk Messaging

Load balancer to control traffic load

17 / 19
2014

TELESTAX Inc. Copyright

TELESTAX
SMSC White Paper

Future of SMS
Demand for SMS is increasing every day. Research has predicted that two trillion messages
would be sent each year by 2008. SMS has a bright future filled with new technologies and
methods for simplifying lifestyles. Research is been carried out in order to improve the
present services of text messages. New technologies include services such as mobile phones
that automatically convert speech into text. Rather than rely on cramming words in tiny fonts
onto a
small screen comprising of 160 characters limit, instead users can just dictate. Other services
could be as follows:

Sender sends a SMS and it is translated to voice

Way of making the SMS sound just like the other person

Real time applications

Send a text/SMS message to a landline and the phone will ring in residence. On
answer your SMS message is read by a person

TV Chat A phone-to-TV SMS service where end- users can have their messages
flashed up on the TV screen. Benefits are as follows:

Easy and quick start-up

Multiple revenue streams (SMS-Premium -

Advertising - Sponsoring)

Real-time statistics

Modular, scaleable technology

Conclusion
SMS (Short Message service) is the ability to send and receive text messages to and from
mobile phones. Number of SMS sent globally still growth which indicates a large demand for
SMS.
The SMSC is a scalable and high performance messaging platform system that can connect
to multiple SMSC and large number of applications. It is scalable to support 5 million busy
hour messages on a single system.
TELESTAX SMSC is a software system and is deployed for high traffic and connects to large
number of Operators and Service providers in India and Middle East. SMSC is composed of
various modules integrated on a single platform.
The main functions of the SMSC are:

Multi-vendor SMSC compatibility.

Support various protocols such as SMPP/SIP/SS7 and HTTP (Via RestComm).

Load balancing to control the traffic.

Support for several APIs for various applications.

Bulk messaging.

18 / 19
2014

TELESTAX Inc. Copyright

TELESTAX
SMSC White Paper

Support Peer-to Peer messaging and application-to-peer.

Glossary
3G - Third generation
API Application programming interface
BMP - Bitmap
CIMD - Computer Interface for Message Distribution
DCS - Data coding scheme
ESME - External Short Messaging Entity
GIF - Graphic Image File Format
GSM - Global system for mobile communication
HTTP - Hypertext Transfer Protocol
IEI - Information Element Identifier
PDU - Protocol Data Unit
RTTTL - Ringing Tones Text Transfer Language
SMPP - Short messaging Peer-to-Peer Protocol
SMS - Short message service
SMSC - Short message service center
UD - User Data
UDH - User Data Header

19 / 19
2014

TELESTAX Inc. Copyright