Ussd Gateways Esme AND GSM Services
Ussd Gateways Esme AND GSM Services
Ussd Gateways Esme AND GSM Services
ESME
AND
GSM SERVICES
Terminology & concepts
SS#7 Signaling system 7
SSP Signaling switching points
SCP Signaling control points
STP Signaling transfer points
IP Intelligent peripheral
MSC Mobile switching center
HLR Home location register
VLR Visitor location register
MTP Message transfer part
SCCP Signaling connection control part
TCAP The transaction capabilities application part
GSM Global system for mobile communications
MS Message centre(mobile+sim)
BTS Base transceiver station
BSC Base station controller
G – MSC Gateway mobile switching centre
MSRN Mobile station roaming number
MSISDN Mobile station integrated services digital network
AUC Authentication centre
USSD Unstructured supplementary service data operations
PSSR Process unstructured supplementary services Request
USSR Unstructured supplementary services request
USSN Unstructured supplementary services notify
SMPP The Short Message Peer to Peer protocol
ESME External Short Message Entity
SMSC Short Message Service Center
SRI Send Routing Info For SM
Introduction
USSD GATEWAYS
A GSM communication technology used to send messages between a
mobile phone and an application server in the network. It is very much
similar to SMS, but USSD is session oriented as well as interactive. It
does not have store and forward concept. An USSD is a session based
protocol unlike SMS or MMS , therefore the session needs to be
allocated to each and every interaction.
Unstructured Supplementary Service Data, USSD, is a feature available
in GSM networks today. USSD is specified as part of the Mobile
Application Part, MAP. USSD is a session-oriented protocol suitable for
interactive, menu-driven sessions, where a subscriber requests text/data
from the system
USSD String
A USSD string is a command code (typically two or three digits)
followed by several parameters.
The parameters (supplementary information) have variable lengths and
are separated by the " * " key. The whole string is ended by the " # "
key.
Example of USSD strings: *123# , *121#
The syntax of a USSD string with a service code and service parameters
is mentioned below:
*<Command Code> *<Command parameters>#
Example of USSD strings: *123*12# , *121*12#
For a USSD Push we use SRI Messages which are sent to HLR to
receive information of IMSI and MSC number for MSISDN.
Why USSD ?
1) Quick Session Based Interaction. Faster than conventional.
2) GSM standard implementation and supported in all GSM
phones
3) No mobile changes needed to launch new services, and new
services can be Integrated with no network downtime or
additional mobile requirements
4) Reduced Marketing Costs. The same subscriber interface
will provide the new features implemented by the operator,
meaning less need to advertise and reduced marketing costs.
5)User does not have to remember all the short codes . Just a
master code can give access to all the services.
Typical call flow
USSD Message Type
•Process unstructured supplementary services Request (PSSR):-
First message sent in case of Mobile Initiated (MI)USSD to initiate
USSD session. The response for this message from GW is USSR/USSN.
ESME
HLR
PLATFORM
APPLICATION
Cross link
The reason for the pairing of STPs is redundancy. If one of the pair
should be lost for any reason its “partner” STP will handle the load. The
links that connect the pair allow messages to cross over from one to
the other. They are, therefore, named “Cross Links” or simply “C”
links.
The SSP (Signal Switching Point)
The SSP has the ability to stop call processing, make queries of even unknown
databases, and perform actions appropriate to the response. SSP is equipped
with whatever software is required to handle numerous feature capabilities.
The SCP acts as the “front end” of the database. It may or may not be located in
the same location as the database. The important thing is that it can handle the
query and send the answer back to the switch required for routing .
SS7 stack
MTP Level 1,2,3
Level 1 is called the physical layer. It deals with hardware and electrical
configuration.
Level 2 is the last to handle messages being transmitted and the first to handle
messages being received.
Level 3 functions are divided into two major categories. One of these is
Message Routing (or Signaling Message Handling). The other is Signaling
Network Management.
Signaling Connection Control Part
2) class 1:- the SCCP calls on the servicesof MTP level 3 to modify its normal
handling of links in link sets.When asked to do so by SCCP, the MTP stops rotating
this code. The result is that the SLS stays the same, message after message. Messages
delivered on the same link remain in sequence.
SCCP Specialized Routing Functions
Many of the chief benefits of the use of the SCCP lie in the specialized routing
functions. The addressing capabilities here are what allows the locating of database
information or the invoking of features at a switch. SCCP needs to provide addressing
which can be used to differentiate between databases or between various features or
services that can be invoked at a node. The value used is called a subsystem number.
Still another addressing mechanism is available to SCCP users. This one is known as
Global Title Translation (GTT).
MSISDN: 380561234567
CC 380 Ukraine
NDC 56 Dnipropetrovsk
SN 1234567 Subscriber's number
Mobile Station Roaming Number(MSRN)
The Mobile Station Roaming Number (MSRN) is solely
used to route an incoming call. It is a temporary identifier that
is used to route a call from the gateway MSC to the serving
MSC/VLR.
The serving MSC/VLR is the MSC/VLR for the area where
the subscriber currently roams. The VLR assigns an MSRN
when it receives a request for routing information from the
HLR. When the call has been cleared down, the MSRN is
released back to the VLR.
Mobile Application Part (MAP)
An ESME which sends short messages to an SMSC must be connected to the SMSC as
an ESME Transmitter or an ESME Transceiver. Examples of SMPP message Protocol
Data Units (PDUs) which may be sent from an ESME transmitter to the SMSC
include:-
• submit_sm
• data_sm
• submit_sm_resp
• data_sm_resp
• query_sm_resp
• cancel_sm_resp
• replace_sm_resp
“SUBMIT_MULTI” Operation
The submit_multi operation may be used to submit an SMPP message for delivery to
multiple recipients or to one or more Distribution Lists. The submit_multi PDU does
not support the transaction message mode
The exchange of messages between an ESME(external short message entity) and
SMSC(short message service center) via SMPP may be categorized under three
distinct groups of transactions as follows :-
The SMSC may deliver short messages to an ESME. In this case the ESME must be
connected to the SMSC as an ESME Receiver or as an ESME Transceiver
Examples of SMPP message Protocol Data Units (PDUs) which may be sent from an
SMSC to an ESME receiver include:
• deliver_sm
• data_sm
“DELIVER_SM” Operation
The deliver_sm is issued by the SMSC to send a message to an ESME. Using this
command, the SMSC may route a short message to the ESME for delivery.
ESME Transceiver
PROTOCOLS USED
XML
ESME
SMPP
USSD GATEWAY
Dialogic
Stack
MAP
HLR
Dialogic Configuration
Dialogic® High Density SS7 Boards include specialized T1/E1 SS7 signaling
boards for use in PCI,CompactPCI and PCI Express systems. The boards offer
a common software API to the application that enables applications to be ported
easily between hardware architectures.
The high density SS7 boards include PCI, CompactPCI and PCI Express form
factors. The CompactPCI boards are available with different rear transition
modules to allow a range of different physical interfaces options.
Each signaling processor is capable of handling up to 32 SS7 signaling links or
a single high-speed SS7 link (HSL). The selection is determined when the first
or only link is configured on a signaling processor. A single code file contains
all the necessary software and firmware.
The boards provide a suitable hardware platform for running Dialogic® SS7
Protocols for the realization of Signaling System Number 7 signaling nodes. In
addition, the SS7HD boards can be used to build high performance monitoring
applications. The boards can be used under the Linux, Solaris, and Windows®
operating systems.
FUNCTION AND FILES PROVIDED
ESME OUTLOOK
BASIC CLASS INFORMATION
ESME receives SMPP PDU's from dialogic stack and convert them to XML objects
and send them to USSD platform for further processing.
ESME receives XML objects from Platform and convert them to SMPP PDU's and send them to
Gateway.
For this ESME maintain worker threads that keep listening on different sockets to receive and
send data
Communication starts when ESME receive deliver_sm from Gateway for a particular
Msisdn request.
ESME parse SMPP PDU and convert it to XML object and send a “IN” request to Platform
Platform replies with “MID” and “REL” or “MID” and “CON”
If it is “MID” and “REL” than session is terminated by sending “TR” packet
If it is “MID” and “CON” than session is reply is send back to the mobile user which can be a
USSR – to continue the request or USSN to thank the user .
IN
SMPP
XML
SMPP
ESME
MID (CON)
MID(CON )1
ENGINE
SUBMIT SM
MID REL
RESPONSE
DELIEVER SM
RESPONE
USSD GATEWAY
MESAGE
1
MAP
REPLY
MESSAGE 1
HLR
REPLY
NETWORK
USSD SERVICES
FOR NO INTERACTIVE USERS
IN
message
smpp
ESME xml ENGINE
smpp mid-->REL
USSD_Gateway
map
HLR Netw
USS ork
N
Mobile
USSD BLOCK DIAGRAM
IN
SMPP
MOBILE
USSD AND GATEWAY
RELATIONSHIP
Gateway
S
Response- U
SM B
D
M
E
I
L
T
I
T
V
E
E
D
R
-SM
-
SM
ESME
USSD IMPLEMENTATION
Module Description
5/22/11
E S M E
U S S D T IM E R
M A P P IN G U S S D U T IL S
IN F O E N C O D IN G
S M P P
M E S S A G E S
A C T IV E
S E S S IO N S E S S IO N E S M E
O B JE C T M A N A G E R IN F O
M A P M E S S A G E S
M A P P IN G
H A N D L IN G
U P D A T E M A P P IN G IN F O
F U N C T IO N S
IF N E W M S IS D N
R E S P O N S E
P D U
M A P L IS T E N E R
D IA L O G IC
S T A C K
Features of USSD Gateway
Considering all the features that are visible till now, system should
contain the following functionalities:
Mobile Initiated USSD Requests: Subscribers can send requests to
applications that are configured on the USSD Gateway. The subscribers
may send these requests to retrieve information or to make enquires.
Network Initiated USSD Requests: Gateway applications or services
can send out requests to Subscribers prompting for information or data.
Network Initiated USSD Notification: Subscriber specific
notifications may be sent out by the USSD services.
SMPP Protocol: USSD Gateway uses the SMPP protocol (version 3.4)
for communication with external applications.
MAP Compliance: The USSD gateway is compliant with both GSM
MAP Phase I and Phase II USSD requirements.
Logs: To identify bottlenecks and monitor system performance, the
system records all events and activities in logs. These logs are used to
track events and errors in case of problems.
•Database: For authentication of the external application connected to
the gateway, database is maintained. Also it would be used for the
purpose of load throttling, for restricting the ESME to limited/defined set
of messages.
•Session Management: Session is maintained for communicating with
the subscriber.
•Timers: Timers are used to close and delete session if response does
not arrive in a stipulated period.
•Statistics: They are maintained for each application connected to the
gateway. It maintains how many sessions are maintained for an
application in an hour. It also maintain total number of requests, number
of session with one request-response, two request-response, three
request-response and four & more request-response messages arrived for
an application.
•Load manager: It checks the load for each application connected to
gateway does not allow them to exceed the prescribed limit.
MY CONTRIBUTIONS
Tested application module using simulators
Constructed test cases for Network Module
Made Design Document for the project
Tested ESME Module for different shortcodes
Coded scripts for automating deployment of all modules
Integration of EAGLE API with USSD
Changes In existing code.
REQUIREMENT ELICITATION
USSD Gateway will interact with HLR and ESME
Communication with HLR is done using MAP protocol via
Dialogic stack.
Communication with ESME is done using SMPP protocol
via Socket programming
PSSR , USSR , USSN messages are to be studied in MAP
protocol
DELIVER_SM, SUBMIT_SM messages are to be studied in
SMPP protocol
Different modules will be made for different protocols
Requirement of Eagle Api
Requirement of automating the deployment process
Embedding new short codes e.g. 4 digit short codes *1234#
REQUIREMENT SPECIFICATION
The analysis model must achieve three primary objectives:
1. To describe what the customer requires.
2. To establish a basis for the creation of a software design.
3. To define a set of requirements that can be validated once
the software is build.
DESIGN
Module View 1
It describes the network architecture in which USSD Gateway will be
placed. The USSD subscriber can use the service by dialing a USSD string
(a USSD short code) and the optional service related information.
S M P P P D U ’s A p p lic a t io n
T C P /IP
S M P P P D U ’s
R a d io S ig n a llin g
T C P /IP
SS7 H LR
SS7 S ig n a llin g M AP
S ig n a llin g M e ssag es
A p p lic a t io n C lie n t
M S C /V L R U S S D G a te w a y
S M P P P D U ’s
M YSQL
T C P /IP
Database
Module view 2
Database
M YSQL
M a p M e ssag e s
N e tw o rk
HLR M o d u le
X M L S t r in g s
A p p lic a tio n SMPP PDUs ESM E
M o d u le
U S S D G a te w a y
Module view 3
T C P /IP
IP N e tw o r k
E S M E H a n d le r
N e tw o r k T o S e s s io n L o a d S t a t is t ic s E S M E T o A p p lic a t io n M o d u le
E S M E M a n a g e r M a n a g e r M a n a g e r N e tw o r k
M A P C lie n t
T C P /IP T C P /IP
P ro ce sso r R e c e iv e r N e t w o rk M o d u le
R e c e iv e r P ro ce sso r
U S S D G a te w a y
D ia lo g ic S t a c k
S S 7
S S 7 N e tw o rk
S S 7
H L R
LOGICAL DESIGN
D a ta D a ta
M A P M essa ge M AP O b je c t O b je c t M AP X M L S tr in g
R e c e iv e r W o rke r
O b je c t
D ia lo g ic O b je c t
Pool
T im e r s A p p lic a t io n
S ta c k O b je c t
O b je c t M a n a g e r M o d u le
( O b je c t P o o l m a in ta in s o b je c t fo r s e s s io n m a n a n g e m e n t )
M A P M essa ge
A p p lic a tio n A p p lic a tio n
W o rke r A p p lic a tio n A p p lic a tio n R e c e iv e r X M L S tr in g
O b je c t O b je c t
DATABASE DESIGN
ESME Details
ESME Details
ussdgateway
IF U N B IN D IF B IN D YES
YES R EQUEST
NO REQUEST
A C T IV E
ESM E
IN F O
U S E D O N L Y IN C A S E O F
B IN D R E Q U E S T
SU CC ESS A U T H E N T IC A T IO N
M A P IN F O
C REATE
R ESPON SE PD U
O N T H E B A S IS
O F S U C C E S O R F A IL U R E
U SSD
S E S S IO N C O N F IG
O BJEC T
O N L Y IN T H E
C A S E O F U N B IN D
S E S S IO N C REATE
SEN D TO
M ANAGER RESPONSE
ESM E
PD U
ESME TO DIALOGIC STACK
s e rv e r
c lie n t
S M P P P L IS T E N E R
S M P P H A N L IN G
F U N C T IO N B A S E D O N
E S M E D E C O D E C O M M A N D ID C O M M A N D ID
O N L Y
D E C O D IN G
A C T IV E
E S M E
IN F O
V A L ID A T IO N
C R E A T E
C R E A T E R E S P O N S E
S E N D T O P D U O N T H E
R E S P O N S E B A S IS O F
S U C C E S S M A P IN F O
E S M E
P D U S U C C E S O R
F A IL U R E
Y E S
M A P
S E S S IO N S E S S IO N
M E S S A G E S
O B J E C T M A N A G E R
S E N D T O D IA L O G IC
S T A C K
MY LEARNINGS
•GSM Network study – Studied the network and its various
elements.
•SS7 Network study - Studied the network and its various
signaling points.
•MAP messages to send or received on the USSD Gateway.
•API of Dialogic Stack for sending messages of MAP
protocol.
•SMPP messages
•Configuration of Dialogic stack
•Eagle Api
•Shell Script
TYPICAL APPLICATIONS:
•Balance Check: The user can send a Process Supplementary Service
request (PSSR) to the home zone which will forward this, under
guidance from the Gateway, to the correct application. Then, the
application sends an acknowledgement via USSD Gateway, HLR etc,
known as PSSR response back to the user. Balance Notification at the
end of charged call can also be given using Unstructured Supplementary
Service Notify (USSN) message.
•Voice Chat: Using the same process as above, one can use voice chat.
This is highly useful when VoIP enabled phones are not available.
•Advertising: The application can advertise their product using USSD
which is less invasive than telemarketing.
•Roaming: This has huge advantages while roaming. This is because
USSD services are well available in roaming networks and all the USSD
messages are directed towards the subscriber's Home Network itself,
thus, same set of services that are available in home network can be
given in visited network too, giving subscribers a Virtual Home
Environment (VHE).