PDU Encoder and Decoder
A Javascript based PDU Encoder/Decoder






SMS (Short Message Service) is specified by the ETSI (standards GSM 03.401 and 03.382 ). It can contain up to 160 characters, where each character is written according to the 7-bits GSM default alphabet.[ 7 bits default table ]

SMS also contains some meta-data, for example
 - Info about the senders ( Service center number, sender number) 
 - Protocol information  (Protocol identifier, Data coding scheme)
 - Timestamp 


There are 2 ways to receive and send SMS messages a, PDU (protocol discription unit) and Text mode. In this document we focus on PDU mode.

PDU format can be used on any encoding. As an example:

07911326040000F0040B911346610089F60000208062917314080CC8F71D14969741F977FD07

The above PDU string contains the message "How are you?" and was read from a Siemens C35i mobile phone.
The string is built from hexadecimal-octets and semi decimal-octets. As mentioned, SMS contains metadata about itself.
We explain it using the example above:

Octet(s) Description format In this example
07 Length of the SMSC information

hex-octet

7 octets

91 Type of address of SMSC hex-octet internation format
13 26 04 00 00 F0 SMSC number decimal semi-octets b 31624000000
04 First octet of this SMS-DELIVER message. hex-octet TP-MMS
0B Length of the sender address hex-octet 11 (decimal)
91 Type of address of the sender number hex-octet ...
13 46 61 00 89 F6 Sender number decimal semi-octets 31641600986
00 Protocol identifier hex-octets ...
00 Data encoding scheme hex-octets