So far I’ve show how to send a text message in PDU mode. There is nothing special about this. There are a number of things you can do in PDU mode, that you can’t do in text mode.
A first example is a flash SMS message.
A flash SMS message is an SMS message that, instead of being stored in the SIM or memory of the receiving phone, pops-up on the receiving phone’s screen, without the user taking any action. When dismissed the message is usually gone.
Here is an example AT command to send a flash SMS message in PDU mode:
AT+CMGS=28<crlf> > 0001010B915121551532F40010104190991D9EA341EDF27C1E3E9743<Ctrl-Z>
|1 octet||00||We don’t supply a SMSC number.|
|1 octet||01||PDU type and options. This is a plain SUBMIT-PDU.|
|1 octet||01||Our message reference.|
|1 octet||0B||Size of the destination telephone number (in digits)|
|1 octet||91||International numbering plan.|
|6 octets||5121551532f4||This represents the destination and it translates to 1 512 555 1234|
|1 octet||00||Protocol identifier.|
|1 octet||10||Data Coding Scheme. This is the value that causes the message to be a flash message as opposed to a standard SMS.|
|1 octet||10||User Data Length or payload size (in characters).|
|The payload, also known as User Data. In this case, it is just GSM encoded text.
This particular string represents “A flash message!””
A more elaborate explanation of the GSM encoding and other fields is giving in a previous post in this series.