Ady Wicaksono Daily Activities

How to send “Flash SMS”

with 8 comments

Flash SMS is a type of SMS which will be displayed directly on screen once received. This one is known working on Nokia mobile phone, I don’t know with others. As we know, normal SMS once received is saved either on SIM card or mobile phone memory and then user is noticed by a beep or similar SMS alarm. Flash SMS is different.

Flash SMS is done by define message class part of TP-DCS of SMS PDU to zero (0x00), what TP-DCS is? Please read GSM 03.40 :). Here’s an example of SMS PDU (in hexadecimal):


Let us breakdown:

  • 1st byte: 0x15 or in binary 00010101
    • TP-MTI (bit 0&1) = 01 means this PDU SMS type is SMS-SUBMIT
    • TP-RD (bit 2) = 1 means reject duplicate if there’s a same SMS with same TP-MR
    • TP-VPF (bit 4&3) = 10 means this SMS contain validity period info with relative format
    • TP-SRR (bit 5) = 0 means we don’t ask for delivery report
    • TP-UDHI (bit 6) = 0 means no user data header information (UDHI)
    • TP-RP (bit 7) = 0 means reply path unused
  • 2nd byte: TP-MR = 0x01, means message reference number is 0x01
  • 3rd byte: TP-DA length = 0x0A, this is length of destination address.I want to send to my own number which is 6591407482 -> see there’re 10 digits, to TP-DA should be 0x0A or 10 in decimal
  • 4th byte: TON/NPI info = 0x91 or in binary format 10010001
    • TON (bit 6,5,4) = 001 -> means International Number
    • NPI (bit 3,2,1,0) = 0001 -> means ISDN telephone number
  • 5th byte .. 9th byte: 5619044728 -> this is the destination number 6591407482 but written in BCD semioctet format
  • 10th byte: TP-PID = 0x00 -> means use default protocol identifier
  • 11th byte: TP-DCS = 0xF4 or in binary format 11110100
    • Bit 3,2 = 01, means TP-UD (user data) is encoded using 8 bit format
    • Bit 0,1 = 00, means class 0 {this will make this sms become flash sms}
  • 12th byte: TP-VP = 0xA7 means this SMS is valid only for 24 hours
  • 13th byte: TP-UDL = 0x18 means the user data/message part length is 24 character
  • the rest byte:
    • 496E6920636F6E746F6820666C61736820534D53206C686F

Now we try to send it using AT+Command, here’s an example session

flash sms at command

And the result on mobile phone is:

flash sms phone result

Now, save it before you lost it 🙂

Written by adywicaksono

February 8, 2008 at 2:56 am

Posted in SMS, Telco - GSM

8 Responses

Subscribe to comments with RSS.

  1. mbok sepisan nulise lokasi makan-makan yang enak di singapore atau jadwal kereta api.. ojo henpon terus :p


    February 9, 2008 at 2:52 am

  2. ben wae, soale iki jane dudu blog, mung catetan gawean, nek lali kari bukak blog, wakakaka


    February 9, 2008 at 2:51 pm

  3. Walah sudah nulisnya tentang henpon (sesuai ejaannya Wiwin) melulu … sudah gitu technical blaasss…

    Aku pikir ada tulisan yang ringan-ringan aja … mbahas itu lho paket di Infokom ..he…he..

    Yusuf R. Prawirasoetisna

    February 12, 2008 at 9:32 am

  4. what should i put for DCS if i need to send unicode flash sms ?


    March 10, 2008 at 4:02 pm

  5. Hola bung..jadi tertarik buat nyoba. tapi ada kesulitan, AT+CMGS=37 opo ya artinya?? trus ada link buat konversi ke BCD semioctet ga. Haturnuhun..


    March 19, 2008 at 1:06 pm

  6. pretty cool


    October 2, 2008 at 8:40 am

  7. Trus ngirimny kmn ? Maaf, sya msih cupu


    August 9, 2009 at 6:17 am

  8. Hi! I was surfing and found your blog post… nice! I love your blog. 🙂 Cheers! Sandra. R.


    September 10, 2009 at 9:11 pm

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: