End to End Call Flow of Short Message Service (SMS) How SMS Works

I think everyone in whole world know about SMS, they use it to tell something about their works, relationship etc to others. Every mobile operator in the world should have SMS services beside the voice. With voice they can real time communication in same time, but in SMS we just send our message and wait whether it delivered or not. Some question often arises is how SMS works? Why my message not delivered to my friend? Why sometimes the message just arrived to my friends in the next hour not real time? Here I just try to explain the basic SMS flow and works in our mobile operator to make understand us as a mobile subscriber. SMS or Short Message Service is a service provided by an operator of GSM / CDMA besides Voice service. SMS and Voice is primary service in common mobile operator. The SMS is non-circuit related, while the circuit voice service is so important to understand in terms of the protocol used. It is better to know the basic protocol used in SMS that is SS7. I will explain it overview in other articles. Basically we can send SMS to other subscriber or to some services like short code which have digit less than prefix number. They work in different environment protocol they are using. The common protocols you have understand SMS are SS7 (Signaling System No 7) and SMPP (Short Message Peer to Peer Protocol). Those protocols representative two different domains : SS7 used to support communication between elements core network in mobile operator, while the SMPP used for communication in IP domain between SMSC ( SMS Center) and its external services like ESME ( External Short code Messaging Entity ) such as Service Provider or Content Provider.

Maybe you ever got message from a short code which consists of advertisement from your operator. It is one of services which operator can provide. It is using SMS blast server which do interconnection with SMS Center through the SMS Gateway. So SMS Center using SMPP protocol to communicate with SMS Gateway before sending SMS to ESME. How about Service Provider which using like web application in their service? Who it can communicate with SMS gateway and SMSC instead of they are using SMPP Protocol. Here SMS Gateway should have ability to do conversion from SMPP Protocol to HTTP protocol which a Service Provider used. In this article, I just explain the basic overview about SMS.

The items you should know besides the protocols and SMS Center are about elements of core network and their function like HLR, MSC. IN, BSC or BTS. In the next articles I will explain about basic

mechanism of SMS. I hope with this articles you have basic overview before we discuss further as technically procedure of SMS works.

End to End Call Flow of Short Message Service(SMS) - How SMS works part ii
In previous article, I’ve already explained basic overview of SMS messaging services in an operator. Now we’ll see deeper for SMS flow and how it works.

Just see in the picture below : SMS diagram network

You can see at that picture that SMS have two domains : IP domain and SS7 domain. So we need protocol conversion between that domains in our SMS Center. Commonly it is using SS7 card or other external devices to do same function. SMS delivery can be divided into 2 parts, they are Mobile Originated (MO) and Mobile Terminated (MT). We can say easily that MO is the process of sending SMS from a number until it reaches the SMSC. The indicator in mobile subscriber is they get notification ” message sent ” in their phone. So the message which is sent is just arrived in SMSC of his operator, not yet reached destination number. Next we can say that if message already delivered to destination number, the sender will get the notification which we call as delivery report. Commonly delivery report message is like ” message delivered / message successfully delivered“, etc. Hot about MT? MT is process of message delivery which already reached SMSC to destination number . It is the way how SMS Center send message to destination number.

Lets see further in the flow basic sms below :

For MO process we need action message : SMDPP-SUBMIT, AUT-ACC-RES ( A number ) until autacc-reserve and SMDPP-SUBMIT (response ) again. Easily, if SMDPP-SUBMIT from SMSC is OK, MSC will send back it to sender. The sender will see in his phone with message ‘ message sent‘. For MT we need message flow SMS-REQ (SMS Request) to HLR until SMDPP-SUBMIT and process sending delivery report.

We continue our discuss. Lets call that mobile subscriber sender is subscriber A / MS A, and the destination or receiver is subscriber B / MS B. Let say subscriber A is in MSC / VLR A coverage want to send message or SMS to subscriber B who is in MSC/ VLR B location where status B number is active ( ON ).

Status ON or OFF for a subscriber is defined by status sent by MSC / VLR which cover that subscriber to HLR using message REGNOT. If subscriber is active, MSC / VLR will tell HLR about the location and MSC/VLR address according to addressing PC or SSN in protocol SS7 format. I suggest you to read basicly about addressing SS7 protocol.

When Mobile subscriber A ( MS A ) send message to Mobile subscriber B ( MS B), MSC will send message SMDPP ( Short Message Delivery Point to Point) to SMSC ( SMS Center ). SMSC will check

the status of MS A, if need authentication about charging in case prepaid subscriber, SMSC will as IN ( Intelligent Network ) about permission to do sending SMS include check balance, status account etc using message AUT-ACC-RES. IN will reply it and answer about permission of that subscriber. If OK, SMSC will return about the authentication to MSC A with message SMDPP-SUBMIT ( response ). MS A will see ” message sent” in their phone after MSC A send that message to him. Until here, the process MO ( Mobile Originated ) end.

End to End Call Flow of Short Message Service (SMS) - How SMS works part iii
Here we continue about SMS flow until sending message to destination number. Please see previous articles for overview SMS and how to send SMS to SMS Center. In the previous articles, we discussed how SMS arrive to SMS Center. This flow mentioned as Mobile Originated (MO). Now we try to discuss about Mobile Terminated ( MT ). What is MT message ?

MT message is the way how SMS Center sending the message to destination number (MS B) based on what source number ( MS A ) request to SMSC.

After MS A got authentication and permission from IN ( Intelligent Network), and SMS Center send back SMDPP-Submit response to MSC A, SMSC ( SMS Center ) will do some steps to send the message to destination number. The most important step is that SMSC will ask HLR ( Home Location Register ) as database master of subscriber about the status and condition of destination number. SMSC will have message flow ” SMSReq or SMS-Request” for asking that status to HLR. Here we have conditions :

HLR see that status MS B / destination number is active and registered. HLR will reply message SMSReq from SMSC by giving address of MSC / VLR of destination number, and also MIN number of MS B. Then, SMSC will do message flow SMDPP to MSC / VLR given by HLR. The MSC / VLR which receive SMDPP message will do paging to lookup location of MS B. After message successfully delivered to MS B, MSC / VLR will report back to SMSC that message already reached destination number using message flow SMDPP response to SMSC. SMS then will tell the MSC / VLR which cover MS A with the delivery report message. HLR see that status MS B / destination number is inactive based on last report from MSC / VLR which cover B number. When MSC give status MS B with inactive, HLR will response the report with message MSINACT.

When HLR got SMS-Req from SMSC and the status of MS B is inactive, HLR will response message SMS-Req with parameter ’SMSAccessDeniedReason‘ which show that Mobile terminated (MT) process cannot be done at the moment. HLR will mark this situation with flag SMS Delivery Pending ( SMDPF). How about SMSC ? SMSC will store the pending message into a sore and will see the retry mechanism, scheduling time for next sending SMS based on error code return by HLR or others network element. Every SMSC of each operator will have different retry mechanism based on strategy taken by the planning team which see the condition of network first. When MS A going active again, MSC / VLR B will do power up registration process by using REGNOT message. HLR will notify SMSC with message SC_alert. SMSC will response it by sending the pending message immediately without see retry mechanism anymore. From this articles we see that MT process of message is depend on SMSC action and other network element. Not only SMSC have a role for this action. SMSC do in application layer of SS7 layer, but need also action from other network element like MSC, HLR, etc. So if something happen in your SMS, we have to check all, not only in SMSC. cheers ! Why SMS text message limited to 160 characters ? Somebody often ask to me why SMS text messages are limited to 160 characters for one message or one SMS. So I just share with this articles to explain what I know. Even you can send SMS until 960 characters but they are just sent in 6 separated text messages. Back to question why SMS text message limited to 160 characters. To answer that question, we should have basic concept of SMS text message. We have to know about SMS Protocol Description Unit ( PDU ) which is way sending SMS text mode.

SMS text message is sent by SMSC ( SMS Center ) handset using SS7 protocol. If you see more in SS7, we need application layer called Mobile Application Part ( MAP ) which send SMS text message using application module Message Originating ( MO ) and Message Terminating ( MT ). In this protocol we can answer that limitation is in SMS development. When it was built, SMS just have Digital Coding Scheme ( DCS ) signaling protocol limited 140 octets, which means 140 * 8 bits = 1120 bits.

For default alphabet, we use 7 bit / characters, and for another purpose like smart messaging like images and ringing tones or Chinese and Japanese we user 8 bit. For other purposes 16 bit characters encoding will be used like for Flash SMS which show blinking or alerting SMS. So for default alphabet we have 1120 bits
/ 7 bits = 160 characters. In same we way, we have 140 characters in 8 bit, and 70 characters in 16 bit.

So we can see now that for one SMS text messages we have limited 160 characters for 7 bit alphabet, 140 characters for 8 bit alphabet and 70 characters for 16 bit characters.

In the next innovation and improvement you can adjust maximum Digital Code Scheme upper 140 octets, so we can expand maximum characters for one SMS text message.

Even your mobile phone has capabilities to write more than 160 characters, the SMS system just see that in several messages. You can see the indicator in your text messaging that your long SMS based on phone capabilities only the way to write SMS. SMS system only see it in several messages. For example if you can write until 400 characters, the system only see it in 3 SMS text messages and you will be charged for 3 messages by the mobile operators. But you have alternative way to send long messages to your mobile operators. To increase the maximum characters in one SMS text message we can concatenate SMS in larger content, it is called as long SMS. It is configured in your mobile operator not in your handset. In concatenated SMS, you will have additional User Data Header ( UDH ) contains segmentation information. Because of that the maximum capacity will decrease becomes 153 for 7 bit, 133 for 8 bit and 67 for 16 bit. Here some mobile operators have tariff scheme for this implementation. Most of them will charge additional UDH bits, because they uses system resources. Next I will explain about SMS tariff scheme from Bakrie Telecom which apply tariff scheme SMS for characters you sent, not based on how many messages you sent. So here, I hope you clear about the maximum of SMS characters you have in one SMS text message.

Sign up to vote on this title
UsefulNot useful