WAP Push over SMS

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

As you may understand, the data you can send via SMS is limited. It is limited because:

  • A single message can only hold 160 GSM-7 encoded characters
  • Even though messages can be combined in to bigger ones, the total size is still limited in several ways:
    • A message can have at most 256 parts
    • The receiving device as a (much lower) limit on how many parts it can reassemble into a bigger message
  • And if the technical limits aren’t prohibitive, the cost might be

So how do you send more and richer information to a device? There are 2 possibilities:

  • WAP push
  • MMS

Today I’ll focus on WAP push.

The principle of WAP push is simple. You send a http link. Yes you can already do this with plain text SMS messages. The special thing about WAP push is that you can tell the device what to do with the link. There are 2 common actions:

  • Service Load (SL): This tells the device to pull the content behind the link and present it to the user. You can see a detailed example in the post “WAP Push SMS encoding“.
  • Service Indication (SI): This tells the device to store the link (together with describing text) in some place where the user can find it and choose when (if at all) he or she want to see the content. A detailed example of this is in the post “Another WAP Push over SMS encoding“.

Both forms of WAP push can be sent in an SMS message. Again we’ll need to use the User Data Header (UDH) to get the appropriate WAP push behavior. Both forms of WAP push effectively send an XML document to the device. Of course XML is very chatty, so these XML documents are encoded. The encoding is known as WBXML.

Service Indication

An example XML document sent with a Service Indication WAP Push message is the following:

<?xml version="1.0"?>
   <indication href="http://mobiletidings.com/"
     si-expires="2009-02-26T16:25:00Z">Please visit Mobile Tidings!</indication>

The structure this XML document should be self explanatory:

  • The message was sent 2/19/2009.
  • The message expires 2/26/2009.
  • Since this is a Service Indication, the link it to be stored. The text associated with this link is “Please visit Mobile Tidings”

Service Load

An example XML document sent with a Service Indication WAP Push message is the following:

<?xml version="1.0"?>
<sl href="http://mobiletidings.com/"/>

This XML document is even simpler. It just contains the link to the content that is to be pulled.

To be continued

The information that is missing is:

  • How to encode these XML documents and
  • How to target the SMS message so the WAP software in the device will get it

We’ll focus on these items in the next post.

Series NavigationCombining SMS messagesWAP Push SMS encoding
Tags: , ,

Reader Comments

Have sent links of the type http://www.xxxx.com
via simple sms (Text Mode) to my SonyEricsson w200
and the phone highlights the link and when you click on it it takes you to the site.
Can this be called Wap-Push.
The complete link has to be exposed; in your example the link is like hidden.
Do most of all phones support my way of sending a link?
Or should I use pdu mode to improve my coverage?
Will appreciate for your expert answer.

Written By Franco on May 28th, 2009 @ 10:22 am


All phones that have a browser will highlight a URL in a plain text message (except for maybe the first generation WAP phones, but these are phones from the last millennium).

This is not exactly a WAP push:
- a WAP push (Service Indication) typically is stored in its own Inbox, separate from the SMS messages (depending on you phone model)
- a WAP push lets you set a text like “My Web Site” that links to a URL, without the URL being shown
- this can also be achieved with an SMS PDU by adding a special Information Element in the UDH, though not many device support this
- and WAP push has the Service Load variant which would cause the URL to be loaded automatically (user experience varies a lot per phone model)

In all I’d say sending a URL in a plain text SMS message is probably the most reliable thing you can do.

Written By Jeroen on May 28th, 2009 @ 10:52 am

Thanks very much.
We need lots of help from experts like you.

Written By franco on May 28th, 2009 @ 8:08 pm

You’re welcome. I just wished I had more time to write articles.

If you could post a link to my blog that would be much appreciated.


Written By Jeroen on May 29th, 2009 @ 3:25 pm

can anybody tell.. that wap push service load message can be saved into phone memory or is it implementation dependent?

Written By satheesh on June 12th, 2009 @ 6:26 am

I have only ever tried this with a small number of phones, but most phones store service load (SL) and service indication (SI) in the same place.
Differences are:
- With SI, the sender gets to pick a text associated with the link
- With SL the device shows the link itself
- With SI the sender can specify expiry or can send another WAP push to delete an unread SI message previously sent
- With SL the device can pop up some dialog, like ‘Open now’, ‘Later’ or ‘Discard’. Not all phones do this.
So SI gives the sender much more control, but SL is more ‘in your face’, but both messages end up in the WAP inbox.

Written By Jeroen on June 12th, 2009 @ 10:10 am

Does anyone know how to create XML file for Cache Operation (CO) WAP PUSH.

Thanks in advancce.

Written By Sid on March 11th, 2010 @ 6:17 pm

Does anyone know what process is necessary to get a cell phone to accept a 5-6 digit no. instead of it’s phone no. to send a text message and auto return text display? It seems like it is like entering in a text no. that is rewritten as http e-mail protocol and then the return message is the auto reply. any suggestions


Written By lanna foote on April 10th, 2011 @ 8:48 pm

how do i send picture message from sd card to a smartphone

Written By ogah on November 3rd, 2012 @ 1:58 am

Add a Comment

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

Previous Post: