Online PDU Encoder and Decoder

: Function ereg() is deprecated in /home/mwkoh/twit88.com/home/includes/file.inc on line 647.

: Function ereg() is deprecated in /home/mwkoh/twit88.com/home/includes/file.inc on line 647.

: Function ereg() is deprecated in /home/mwkoh/twit88.com/home/includes/file.inc on line 647.

: Function ereg() is deprecated in /home/mwkoh/twit88.com/home/includes/file.inc on line 647.

: Function ereg() is deprecated in /home/mwkoh/twit88.com/home/includes/file.inc on line 647.

: Function ereg() is deprecated in /home/mwkoh/twit88.com/home/includes/file.inc on line 647.

: Function ereg() is deprecated in /home/mwkoh/twit88.com/home/includes/file.inc on line 647.

: Function ereg() is deprecated in /home/mwkoh/twit88.com/home/includes/file.inc on line 647.

strict warning: Only variables should be assigned by reference in /home/mwkoh/twit88.com/home/modules/links/links_related.module on line 204.

strict warning: Only variables should be assigned by reference in /home/mwkoh/twit88.com/home/modules/links/links_related.module on line 426.

strict warning: Only variables should be assigned by reference in /home/mwkoh/twit88.com/home/modules/links/links.inc on line 1121.

strict warning: Only variables should be assigned by reference in /home/mwkoh/twit88.com/home/modules/links/links.inc on line 1121.

: Function ereg() is deprecated in /home/mwkoh/twit88.com/home/includes/file.inc on line 647.

: Function ereg() is deprecated in /home/mwkoh/twit88.com/home/includes/file.inc on line 647.

: Function ereg() is deprecated in /home/mwkoh/twit88.com/home/includes/file.inc on line 647.

: Function ereg() is deprecated in /home/mwkoh/twit88.com/home/includes/file.inc on line 647.

: Function ereg() is deprecated in /home/mwkoh/twit88.com/home/includes/file.inc on line 647.

: Function ereg() is deprecated in /home/mwkoh/twit88.com/home/includes/file.inc on line 647.

: Function ereg() is deprecated in /home/mwkoh/twit88.com/home/includes/file.inc on line 647.

: Function ereg() is deprecated in /home/mwkoh/twit88.com/home/includes/file.inc on line 647.

: Function ereg() is deprecated in /home/mwkoh/twit88.com/home/includes/file.inc on line 647.

: Function ereg() is deprecated in /home/mwkoh/twit88.com/home/includes/file.inc on line 647.

Posted August 8th, 2007 by thoughtworks

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, e.g.

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:07911326040000F0040B911346610089F600002080629
17314080CC8F71D14969741F977FD07

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:

To see which modes your mobile supports, you can use the
"AT+CMGF=?" command.You will get a response with the supported SMS
formats 0: PDU mode, 1: Text mode

b.

To obtain data from a string that is written as a
semi-octet, you have to swap the semi-octet string. If the length of a
semi-octet string is odd, you have to add an extra "F" to make it even, so
that you get a proper octet string.Example: "13 46 61
00 89 F6" becomes "31 64 16 00 98 6F"

c.

Time stamp is represented in semi-octets (See note b). So
"20 80 62 91 73 14 08" becomes "02 08 26 02 29 17 31 80". The first 6
characters represent the date, the next 6 characters represent the time,
the last 2 characters represent the time-zone related to the GMT.