3. Short Message Service / SMS Introduction
Introducing to SMS Messaging
Some properties that made SMS popular
Example Applications of SMS Messaging
What is an SMSC ?
Some basic concepts of SMS Technology
Intra-operator, Inter-operator, International-operator
SMS Messages
What is an SMS Gateway ?
Some other stuffs
4. Introducing to SMS Messaging
SMS stands for Short Message Service. It is a technology
that enables the sending and receiving of messages
between mobile phones.
SMS first appeared in Europe in 1992 (GSM at the
beginning & ported to other tech. as CDMA & TDMA).
The GSM and SMS standards were originally developed by
ETSI (European Telecommunications Standards Institute).
Now the 3GPP (Third Generation Partnership Project) is
responsible for the development and maintenance of the
GSM and SMS standard.
5. Introducing to SMS Messaging
The data that can be held by an SMS message is very
limited - 1 SMS = at most 140 bytes (1120 bits):
160 characters if 7-bit char encoding (Eg: Latin/English)
70 characters if 16-bit Unicode UCS2 char encoding
(Chinese/ Vietnamese/ ...)
SMS messages can also carry binary data (ringtones,
pictures, operator logos, wallpapers, animations, business
cards (e.g. VCards) and WAP configurations).
SMS is that it is supported by 100% GSM mobile phones.
6. Introducing to SMS Messaging
Concatenated SMS Messages/ Long SMS Messages
can contain more than 160 English characters.
It works like this:
User sends SMS, it's broken down into smaller parts
These parts are sent as a single message.
All SMS reach destination & mobile combines all
those ones into 1 long SMS.
Mobile must support this one.
7. Introducing to SMS Messaging
EMS (Enhanced Messaging Service)
to support rich media (pictures, animations, melodies)
it is an application-level extension of SMS.
the formatting of the text inside an EMS message is
changeable (font size, bold, italic, ...)
EMS is not supported by all mobile devices.
To a EMS-enabled mobile, EMS is maybe implemented
with a subset of the features defined in the EMS spec.
8. Some Properties of SMS
SMS Messages can be Sent and Read at Any Time
SMS Messages can be Sent to an Offline Mobile Phone
SMS Messaging is Less Disturbing While You can Still Stay
in Touch
SMS Messages are Supported by 100% GSM Mobile Phones
and They can be Exchanged between Different Wireless
Carriers
SMS is a Suitable Technology for Wireless Applications to
Build on (100% phones, Rich content, Reverse
billing)
9. Example Applications of SMS Messaging
Person-to-Person Text Messaging (chat)
Provision of Information & Stock market Alerts (DowFeeds,
News, CitiSearch, ...)
Downloading (Ringtone, Wallpaper, ...)
Promotion/Marketing/SMS Newsletter (ABVending, ...)
Entertainment (Game, Music Recognition, ...)
Quiz (Clearasil, ECGames, ...)
Banking activities (m-Payment, m-Banking, ...)
Alerts & Notifications (TicketMaster, ...)
Email, Fax, Voice messaging notifications
E-Commerce & Credit card transaction alerts
Remote system monitoring ...
10. What is an SMSC ?
An SMS center (SMSC) is responsible for handling the SMS
operations of a wireless network.
SMS will reach SMSC first (often locate inside wireless
system of operator but maybe has 3rd-party outside).
An SMS message may need to pass through more than
one network entity (e.g. SMSC and SMS gateway)
The main duty of an SMSC is to route SMS messages and
regulate the process. SMSC will store the message if
mobile is unavailable.
We must know the address of the wireless network
operator's SMSC to use SMS messaging with mobile phone
(typically it's International Number of phone).
This address is pre-set in the SIM card but maybe
we can change it.
11. Basic Concepts of SMS Technology
Carrier / Operator.
MO (Mobile Originated) / MT (Mobile Terminated).
Short Code / Long Code.
Validity Period of an SMS Message.
Message Status Reports (set a flag in the SMS to notify the
SMS that we want a status report about the delivery of this
SMS). Default is turned-off on mobiles.
Message Submission Reports.
Message Delivery Reports.
12. Basic Concepts of SMS Technology
Messages transfer between 2 SME (SM Entity)
14. Intra-operator SMS Messages
If both sender and receiver are using the mobile phone
service of the same wireless network operator, the
transmission of an SMS message will involve only one
wireless network operator. This SMS message is called an
intra-operator SMS message.
The cost for sending an intra-operator SMS message from
a mobile phone is lower than other types (sometimes
totally free).
15. Inter-operator SMS Messages
Sender and receiver are using the mobile phone service of
wireless network operator A & B respectively. The
transmission of an SMS message from you to your friend
involves two wireless networks. This SMS message is
called an inter-operator SMS message.
Typically, the cost for sending an inter-operator SMS from
a mobile is higher than the situation intra-operator SMS.
The transmission involves one or more SMS centers.
16. Inter-operator SMS Messages
1st way: Signaling interconnections are set up between two
wireless networks. When the originator SMSC receives an
inter-operator SMS message, it gets the routing
information from the recipient wireless network & delivers
the SMS message to the recipient mobile phone directly.
The following figure illustrates the transmission process:
Using 1 SMSC in this case = the same technology
17. Inter-operator SMS Messages
2nd way: to solve the different technologies problem
between 2 networks (GSM & CDMA for example) or 2
SMSCs talk to each other via SMS Gateway:
18. International SMS Messages
Inter-operator SMS messages can be further divided into
two categories:
• local inter-operator SMS messages (the same country).
• international inter-operator SMS messages (sender &
receiver are in 2 different countries).
The cost is most expensive than others.
The interoperability of SMS messaging among local
networks & international networks made SMS popular &
success of SMS worldwide.
19. What is an SMS Gateway?
Problem of SMS messaging: SMSCs developed by different
companies use their own communication protocol and
most of these protocols are proprietary.
• For example, Nokia - CIMD; CMG - EMI.
Solution: an SMS gateway is placed between two SMSCs.
(The SMS gateway acts as a relay between the two
SMSCs).
20. What is an SMS Gateway?
To developers: it's very useful in the case our applications
must make connections directly to SMSCs developed with
many different protocols --> complexity & dev. time ++!
App. connects to
SMCSs without
SMS Gateway
21. What is an SMS Gateway?
An SMS text messaging application connects to SMSCs
through an SMS gateway.
22. What is an SMS Gateway?
Another way to send and receive SMS text messages on a
computer is to use a mobile phone or GSM/GPRS modem.
An application connects to a pool of mobile phones or
GSM/GPRS modems through an SMS gateway.
23. Short Message Peer to Peer (SMPP)
The SMPP protocol is an open, industry standard protocol
designed to provide a flexible data communications interface
for transfer of short message data between a Message
Center, such as a SMSC, GSM Unstructured Supplementary
Services Data (USSD) Server or other type of Message
Center and a SMS application system, such as a WAP Proxy
Server, EMail Gateway or other Messaging Gateway.
SMPP Release v3.4 supports Digital Cellular Network
technologies including:
• GSM
• IS-95 (CDMA)
• ANSI-136 (TDMA)
• iDEN
24. Short Message Peer to Peer (SMPP)
SMPP supports a full featured set of two-way messaging
functions such as:
Transmit messages from an ESME to single or multiple
destinations via the SMSC.
An ESME may receive messages via the SMSC from other
SME’s (e.g. Mobile stations).
Query the status of a short message stored on the SMSC.
Cancel or replace a short message stored on the SMSC.
Send a registered short message (for which a ‘delivery
receipt’ will be returned by the SMSC to the message
originator).
Schedule the message delivery date and time.
25. Short Message Peer to Peer (SMPP)
(... continue ... )
Select the message mode, i.e. datagram or store and
forward.
Set the delivery priority of the short message.
Define the data coding type of the short message.
Set the short message validity period.
Associate a service type with each message e.g. voice
mail notification.
27. SMPP – Overview
SMPP is an application layer protocol.
ESMEs: External Short Message Entities.
ESME is non-mobile entities that submit/receive SMS from
SMSC.
The SMPP protocol defines:
• a set of operations for the exchange of short messages
between an ESME and an SMSC.
• the data that an ESME application must exchange with
an SMSC during SMPP operations.
28. SMPP – Protocol Definition
Based on the exchange of request and response protocol
data units (PDUs) over an underlying TCP/IP or X.25 network
connection.
The SMPP protocol defines:
• a set of operations and associated Protocol Data Units
(PDUs) for the exchange of SMS between an ESME and an
SMSC.
• the data that an ESME application can exchange with an
SMSC during SMPP operations.
Every SMPP operation must consist of a request PDU and
associated response PDU except alert_notification PDU
29. SMPP – Protocol Definition
The exchange messages maybe are categorised as below:
• Transmitter: messages sent from the ESME to the
SMSC.
• Receiver: messages sent from the SMSC to the ESME.
• Transceiver: from the ESME to the SMSC and from the
SMSC to the ESME.
31. SMPP – Session Description
initiated by the ESME:
• first establishing a network connection with the SMSC.
• then issuing an SMPP Bind request to open an SMPP
session for sending and/or receiving messages.
34. SMPP – Session Description
The SMPP session maybe defined in terms of the following
possible states:
• OPEN (Connected and Bind Pending)
• BOUND_TX (ESME issues a bind_transmitter PDU –
send SMS, replace, query, or cancel)
• BOUND_RX (ESME issues a bind_receiver PDU –
receive SMS, delivery receipt, ...)
• BOUND_TRX (ESME issues a bind_transceiver PDU –
included complete set of operations from TX & RX)
• CLOSED (unbound and disconnected – maybe come
from 1 of 2 sides)
• OUTBIND is to allow the SMSC signal an ESME to
originate a bind_receiver request to the SMSC
39. SMPP SMS sent from ESME to SMSC
SMS PDUs via TX o TRX session:
• submit_sm
• data_sm
Other related operations (base on message Identifier
returned by SMSC in the message ACK):
• query_sm
• cancel_sm
• replace_sm
40. SMPP Response from SMSC to ESME
SMPP PDU Response for a message submission includes a
message identifier & a status to inform ESME whether the
message is valid or invalid:
• submit_sm_resp
• data_sm_resp
• query_sm_resp
• cancel_sm_resp
• replace_sm_resp
41. Typical SMPP session sequence
ESME Transmitter
The exchange
between SMSC &
ESME maybe is
sync. or asyn.
42. SMPP SMS sent from SMSC to ESME
ESME must be connected to the SMSC as an ESME Receiver
or as an ESME Transceiver.
Example:
• Email gateway got messages from mobile stations.
• SMSC may also sends a “delivery receipt” to ESME.
PDUs (required response PDU from ESME except
alert_notification PDU):
• deliver_sm
• data_sm
• deliver_sm_resp
• data_sm_resp
43. Typical SMPP session sequence
ESME Receiver
The exchange
between SMSC &
ESME maybe is
sync. or asyn.
44. Duplex SMS between SMSC and ESME
Messages are exchanged in both directions (Transceiver)
PDUs:
• data_sm
• submit_sm
• deliver_sm
• query_sm
• cancel_sm
• replace_sm
SMPP PDUs responses are required except alert_notification
45. Typical SMPP session sequence
ESME Transceiver
The exchange
between SMSC &
ESME maybe is
sync. or asyn.
46. SMPP Error Handling & Timers
The receiving entity must return the associated SMPP
response PDU to an SMPP request PDU except
alert_notification PDU.
Error found in request PDU: return a response with
appropriate error code inserted in command_status field of
response PDU header.
If PDU header is error, returns a generic_nak PDU.
Recommend about timers:
• An SMPP session initiation timer
• An SMPP session timer (enquire_link)
• An SMPP inactivity timer
• An SMPP transaction timer
47. SMPP Message Modes
SMSC allows ESME to select the SMSC message delivery
mechanism:
• Store and Forward (stored at SMSC data store & forward
to recipient SME – submit_sm, data_sm)
• Datagram (emulates the datagram paradigm of UDP –
high msg. Throughput without secure storage & retry
guarantee – data_sm using esm_class parameter, also
support submit_sm)
• Transaction Mode (allow ESME receive a form of
delivery ACK within response PDU – only data_sm
with esm_class parameter)
51. SMPP Message Types
Message type is defined in the esm_class parameter of
submit_sm, data_sm, and deliver_sm. Types are:
• SMSC Delivery Receipt (is carried as the user data
payload deliver_sm or data_sm operation)
• Intermediate Notification (intermediate status of a
message delivery attempt)
• SME Delivery Acknowledge (an indication from the
recipient SME that the user has read the short message)
• SME Manual/ User Acknowledgement
• Conversation Abort
60. Documents
SMPP – SMS Forum (all versions – V3.4/ V5.0...)
• http://smsforum.net/
SMPP_v3_4_Issue1_2.pdf at Local documents below
Local documents
• yp-server_Documents_Ebooks_Protocols
Nokia Forum
http://forum.nokia.com/main/resources/technologies/
messaging/short_messaging/documents.html
61. Free/Non-Free SMS Gateways
One high-quality free SMS gateway software package is
Kannel, which is written in the C programming language
• It can handle connections to SMSCs, mobile phones and
GSM/GPRS modems
• It has an HTTP / HTTPS interface for the sending and
receiving of SMS messages
• Url: http://www.kannel.org/
Tambur Messaging Gateway is an open source SMS/MMS
messaging gateway platform
• Url: http://www.tambur.org/
NowSMS: Commercial SMS Gateway
• Url: http://www.nowsms.com/
http://www.nowsms.com