WAP Push over SMS
Posted Under: SMS
- Sending out an SMS in text mode
- Sending out an SMS in PDU mode
- More on the SMS PDU
- Sending a flash SMS message
- What are EMS messages?
- Combining SMS messages
- WAP Push over SMS
- WAP Push SMS encoding
- EMS and WAP Push support
- Another WAP Push over SMS encoding
- SMS based applications
- Text formatting with EMS
- GSM-7 Encoding with the GNU iconv library
- How to pack GSM-7 characters into septets
- References
- Setting Voicemail Waiting Indication via SMS
- SMS via Email
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"?> <!DOCTYPE si PUBLIC "-//WAPFORUM//DTD SI 1.0//EN" "www.wapforum.org/DTD/si.dtd"> <si> <indication href="http://mobiletidings.com/" created="2009-02-19T16:25:00Z" si-expires="2009-02-26T16:25:00Z">Please visit Mobile Tidings!</indication> </si>
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"?> <!DOCTYPE sl PUBLIC "-//WAPFORUM//DTD SL 1.0//EN" "www.wapforum.org/DTD/sl.dtd"> <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.







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.
Regards
Franco
Franco,
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.
Jeroen:
Thanks very much.
We need lots of help from experts like you.
Regards
Franco
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.
Thanks,
Jeroen
can anybody tell.. that wap push service load message can be saved into phone memory or is it implementation dependent?
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.
Does anyone know how to create XML file for Cache Operation (CO) WAP PUSH.
Thanks in advancce.
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
lanna