Format of SMS messages.
image ©messagemedia.com



An SMS message is sent as a series of 140 8 bit characters. These can be decoded into 160 7 bit characters (as usual in the UK) or indeed 70 16 bit characters. All dependent on the character set used. In addition some header data is sent. SMS messages can be sent in TEXT format or PDU (Protocol Description Unit) format. The former is a character or byte level way to send data whereas PDU is binary or bit level, All modems and phones will use the PDU format

To send a message using PDU format from +447770123456 to +447770456789 via the default message center :

00Length of the SMSC information. 0 in this case implies phone defaults stored in the phone are used.
11First Octet of the SMS-SUBMIT message
00Message Reference 00 => phone sets the message reference.
0CAddress length in Hex C=12
91Address type for receiver phone number 91 = international address
44 77 07 54 76 98Receiver phone number in decimal semi-octets. (+44 7770456789)
00Protocol identifier
00Data Coding System 00=7bit data
AAValidity Period AA = 4 days.
0AData length (10) in this case 10 7bit characters
E8329BFD4697D9EC37Data "hellohello" represented in 7 bit characters: binary converted back to 8bit characters

The message centre will reshape the message sent, and move it onto the receiving phone.

The receiving phone +44777045678 will receive the following :

07Length of the SMSC information (7 octets in this case)
91Address type for the SMSC 91 = international address
44 77 58 10 06 50Number of the Vodafone SMSC (+447785016005). Format is in decimal semi-octets.
04Start of the SMS-DELIVER message
0CAddress length in Hex C=12
91Address type for the sender
44 77 07 21 43 65Sender number in decimal semi-octets. (+44 7770123456)
00Protocol identifier
00Data Coding System 00=7bit data
91 90 92 51 03 12 43TimeStamp 2019-09-29 15:30:21.34
0AData length (10) in this case 10 7bit characters
E8329BFD4697D9EC37Data "hellohello" represented in 7bit characters; binary converted back to 8bit characters