WAP Push Over SMS (The Complete Guide)

wap push over 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 into 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 an 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 someplace 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 behaviour. 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:

<pre class="xml"><?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:

<pre class="xml"><?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 to the WAP software in the device will get it

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