what is sms

What is SMS, full form, SMS protocol tutorial:

The full form of SMS is the Short Message Service. It is a basic service that all GSM mobile operators support. Service enables a subscriber to send and receive text using a mobile phone with an active SIM. The sender/receiver may be another mobile subscriber or an application. We have explained SMS flows in the bulk SMS tutorial.

The 3GPP standard for short message service is specified in GSM 03.40.  The protocol specification mentions, message parts, and encoding/decoding.  The SMS full form is a short message service, which means it has a protocol message format and call flows. In the following section we will mention, subscription to service and call flows.

When a mobile subscriber buys a new sim card. The mobile operator configures the sim card subscription in HLR. The sim card subscription has teleservices configuration along with other services. To activate SMS, teleservice, MO-SMS (teleservice code 33) and MT-SMS  (teleservice code 34)services should be provisioned and active on HLR.

During the initial registration of a  sim card, on the mobile network, in the gsm map protocol (update location) procedure,  HLR sends the teleservice list, to the roaming VLR/MSC,  in insert subscriber map protocol message.  While sending Mobile Originated text, VLR checks for the subscriber if the MO-SMS service is active, if yes then the text goes out from VLR to the SMSC, else the subscriber received an error in sending the text.

For a mobile terminated text (MT-SMS), sender SMSC, do a lookup with the receiver HLR, using MSISDN or phone number. If HLR, doesn’t have MT-SMS teleservice configured and active, for destination mobile number, mobile terminated SMS fails. Else HLR returns roaming information and IMSI in the response.  Tutorial of map protocol mentions gsm network flows for Mobile Originated and mobile terminated texts.

SMS protocol has the following components: 

Validity Time:

Text lifetime in the network is the validity time. When a mobile subscriber sends a text to any other subscriber.  After pressing the send button, the MO-SMS  protocol message originates from MSC and reaches the SMSC. If all good, SMSC keeps the text and tries to deliver text to the destination mobile number. To deliver, SMSC does a location lookup (uses SRI-SM MAP message over SS7/Sigtran) from destination HLR. If the response is a user error (e.g subscriber not reachable ), SMSC stores and tries after an interval. If the total time exceeds the validity time, the message is dropped.

Message Waiting Data:

After HLR lookup, SMSC gets the visiting MSC and IMSI of the mobile subscriber.  Using location and IMSI, SMSC sends the text to visiting MSC. If visiting MSC fails to deliver the message to a mobile device, SMSC may send Message Waiting Data on HLR. So that once the error recovered, HLR sens and Alert Service Center message to the SMSC. Now if validity time is not over, SMSC will again try to deliver the message to the mobile subscriber.

More Messages to Send:

According to the gsm standard, a text message on the wire can be a maximum of 160 bytes long. But a mobile subscriber may send a long (more than 160 bytes) message. This requires segmentation and reassembly of a long message on SMSC and device.

For MO-SMS, VLR segments the long message into 160 bytes smaller messages. Each small message has a segmentation number and indication to the receiving side that there are more segments that are yet to come. SMSC does reassembly and stores the full message.  Once SMS is successfully submitted, SMSC starts the MT-SMS procedure.

For MT-SMS, SMSC does segmentation and VLR does the reassembly. SMS protocol has a parameter, named more message to send and a segment number. If no more message to send is set, the receiver side assembles all received segments.

Service Center Time Stamp:

The timestamp an SMSC, sends to the mobile device in an MT SMS, the arrival time of SMS at the service center. This should be unique in all messages delivering to the same Mobile. If two or more messages arrive within a second, a unique timestamp is generated. The difference is kept a minimum in-between time stamps.


SMSC uses this field, to attempt to deliver a message, which was failed earlier. The failure was temporary (e.g no more capacity in mobile).  SMSC, don’t wait for HLR to send an alert service center.

Protocol Identifier: 

This is a one-byte parameter. Define how the message will be handled by the mobile device. The OTA message uses a different PID than normal text messages.

SMS protocol PDU Types:

SMS-Deliver: Sent from SMSC to the mobile device. When a Mobile terminated SMS from the roaming SMSC, the MT-ForwardsSM or Forwards-SM goes from SMSC to MSC. In version 2 of the gsm map protocol, the MSC decides if SMS is mobile originated or mobile terminated on the basis of the SMS PDU type.

SMSC-Submit: Sent from mobile to SMSC. The gsm map operation is Mo-forwards sm in version 3 and in version 2 it is Forward-SM. Again on PDU type, SMSC decides if it’s a MO or MT SMS request.


Leave a Comment