Sending a flash SMS message

This post was written by Jeroen on February 12, 2009
Posted Under: SMS
This entry is part 4 of 17 in the series Sending out an SMS

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>
Here is what the individual octets represent:

Size Value Description
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 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 cause the message to be a flash message as opposed to a standard SMS.
1 octet 10 User Data Length or payload size (in characters).
16 septets 4190991D9E
A341EDF27C
1E3E9743
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.

Series NavigationMore on the SMS PDUWhat are EMS messages?
Tags: , ,

Reader Comments

My site is accesible for only two hours a day!!!
Coooool!!!.
Have tried your flash message with my modem Siemens TC65 (Now Cinterion) and pdu mode with destination to my SonyEricsson w200
with local operator http://www.movistar.com.ni and also tried it with another SonyEricsson w200 with another local company CLARO or http://www.americamovil.com (CLARO enitel.com.ni).
I live in Managua, Nicaragua!.
IT WORKED PERFECT.
There is NO other site that offers such detailed and well explained procedure.
Hope in the future that all features that pdu has to offer will be available in the text mode.
Regards
And Thanks very much!!!.
Franco

#1 
Written By Franco on May 27th, 2009 @ 8:13 pm

Jeroen:
If, instead of 10 for data coding schema I change it to
14 (00010100) , is it posible to send the message using octets instead of septets?
And then UDL will be the same and will have 16 octets instead of 16 septets!.
Regards
Franco

#2 
Written By Franco on June 23rd, 2009 @ 5:54 pm

Sending in octets is only used for non-text applications like WAP push. If you want to send text messages (like flash) you’ll have to stick with UCS-2 or GSM-7. Think about it, if you’re sending text in octets, which character set would be used? ISO-8859-1? Windows-1252? UTF-8 encoded unicode?

If you want to send an ASCII message you could send it in UCS-2 and add a 0×00 before each ASCII character. The first 128 characters of UCS-2 are the same as ASCII.

In general you’re right about the UDL:
- When sending a message in octets the UDL is the octet count
- When sending a message in GSM-7 the UDL is the septet count
- When sending a mesage in UCS-2 the UDL is the character count (each character taking up 2 bytes)

Saludos,
Jeroen

#3 
Written By Jeroen on June 25th, 2009 @ 5:42 pm

Jeroen:
Just tried using 14 (00010100) instead of the 10 you have and encoded the message ascii to HEX.
And message was sent as a flash message OK.
Any comments
Regards
Franco

#4 
Written By franco on July 15th, 2009 @ 7:45 pm

The value 14 stands for a flash message with 8 bit data. It seems that your receiving device interprets this as characters in some character-set (most single octet character sets correspond to ASCII for values < 128). This is a great feature of that device, but you can’t rely on all devices behaving this way. This is not a standard feature!

#5 
Written By Jeroen on July 16th, 2009 @ 9:17 am

Jeroen:
Perhaps the key word is “Standard feature”.
I use the cheapest of all SonyEricsson phones
that can handle wap (w200). It is a US$125.00
phone. Bought it 6 month ago.
Could it be that technology is somehow ahead of standards and that very soon that feature will be a standard.
I think that technology con make obsolete huge amounts of Inventory for this companies and so the standard should somehow wait a little.
Regards
Franco
P.S. Your responses give us information very valuable and feel sure you are aware of this real facts!!!.

#6 
Written By Franco on July 16th, 2009 @ 9:48 am

Franco,

The SMS technology is hardly changing. It is one of the oldest and most stable features on GSM networks. All innovations are happening in other areas (SIP, Device Management, SMIL, Audio, Video, Instant Messaging, etc). I you look at the latest specs (Rel 8 of December 2008) and the earlier specs (Rel 3 of 1999), you’ll see that the definition of DCS hasn’t changed. The specs still says that 8-bit data is ‘user defined’. This means (to the manufacturers) use it anyway you like.

So what the Sony Ericsson is doing is perfectly fine, it may even be a ‘de facto’ standard (I really don’t know how many manufacturers do this), but I still see some issues:
- Which character set is used? For ASCII characters this may work fine, but how about characters > 127?
- You can only send 140 characters this way
So it is easier to program, but if that is what you’re looking for, why don’t use text mode? I personally would not rely on this feature, but of course that doesn’t mean that you shouldn’t…. I am just trying to make you aware of the implications.

Cheers,
Jeroen

#7 
Written By Jeroen on July 16th, 2009 @ 10:37 am

Jeroen:
Thanks again!.
Sent a flash message with UCS-2
at+cmgs=37…
0001010B91
0585785777F5
0018 (00011000) flash + UCS-2
18
00560069007600610020004600720061006E0063006F0021
It worked perfect!!!.
Regards
Franco

#8 
Written By Franco on July 16th, 2009 @ 8:06 pm

how long can our message be???

#9 
Written By PS on September 3rd, 2009 @ 12:40 am

Flash SMS messages can be just as long as plain text SMS messages (which is 160 characters when using the GSM-7 alphabet). Flash messages can also be concatenated to create larger messages. Be sure to set the same DCS in all parts of the multi-part SMS message.

Jeroen

#10 
Written By Jeroen on September 3rd, 2009 @ 1:38 pm

Jeroen:
I had learned that a flash message requires a
DCS = hex->10 which is 00010000
I tried DCS = hex-> F4 which is 11110100
and receive the message as flash too.
According to the specs it should be a flash message
in both cases!.
Why would they have two DCS for same message?
Is there something else involved in this?
Your thoughts will be appreciated!.
regards
Franco

#11 
Written By Franco on October 15th, 2009 @ 8:08 pm

Franco,

You’re right: there is more than one way to specify a message with a message class. Not sure why they specified it this way though.

Jeroen

#12 
Written By Jeroen on October 17th, 2009 @ 2:50 pm

Readers,
I need some help. I have a GSM device Siemens MC35i Terminal and it only sends SMS as Flash. Can anyone give me the AT command to reset it back to a normal SMS that saves on the phone or memory.

Any help appreciated.

#13 
Written By Marvin on December 15th, 2009 @ 8:27 am

Could you point out how to check sms delivery report using at command.

Thanks
Kumar.

#14 
Written By Naive on February 16th, 2010 @ 7:43 am

hi

how do i even start composing a flash message? how does it all work?

#15 
Written By hilary on January 4th, 2011 @ 9:40 pm

hi anyone would like to tell me that its flash msg works on cdma sim

#16 
Written By kd on January 8th, 2012 @ 5:00 am

how to send flash sms in pdu mode vb6

#17 
Written By majid on January 28th, 2012 @ 3:41 am

This works perfectly for sending sms in flash mode

builder.Append(IntToHex(0×01));
builder.Append(IntToHex(0×00));
builder.Append(desaddress(usenumber, numbertype));
builder.Append(IntToHex(0×00));

builder.Append(IntToHex(0×10));
// builder.Append(IntToHex(0×00));
builder.Append(IntToHex(datalength));
builder.Append(IntToHex(encodedtext));
length = builder.Length / 2;
builder.Insert(0, encodedsmsc);
return builder.ToString();

#18 
Written By marriam on June 3rd, 2012 @ 12:41 am

Can anybody tell me how to send flash SMS via mobile with sample message

#19 
Written By Athaher on January 21st, 2013 @ 6:58 am

ok i am so confused how do i send a flash message? i recieved one today and i know i cant find out who its from but i know they have to have my number to have sent it so its really annoying but i wanna learn how to send one myself

#20 
Written By Holly on February 24th, 2013 @ 5:18 pm

Hi,
my old Dad have a Nokia phone.
But I want make a localisation with a silent SMS, if he has a emergency.

Know anyone the AT kommands for this?

best regards

#21 
Written By Hannes on May 9th, 2013 @ 12:15 am

Hi guys , i have an android phone , and i want to sent a flash message to a number (8 characters ********) what should i write in the message field and in the ‘send to’ field ? I am asking cz i had a nokia C3 and the flash message ability was build in the system

#22 
Written By Marc saliba on June 4th, 2013 @ 10:01 am

Add a Comment

required, use real name
required, will not be published
optional, your blog address

Previous Post: