Another use for SMS is configuring phones over the air (OTA). There are elaborate standard specifications written by the WAP Forum (now Open Mobile Alliance) and somewhat proprietary standards developed by Nokia and Ericsson.
Today I’ll show in detail how to send a bookmark according the Nokia / Ericsson specification. The specification is somewhat older, it dates from September 2001, but it seems almost all Nokia and many Ericsson devices still support this.
The bookmark is described in an XML file like the following:
< ?xml version="1.0"?>
< !DOCTYPE CHARACTERISTIC-LIST SYSTEM "settings.dtd">
<parm NAME="NAME" VALUE="Mobile Tidings"/>
<parm NAME="URL" VALUE="http://mobiletidings.com"/>
As before we send this XML document using an unconfirmed push. Here are the layers we need to implement:
- the XML document needs to be WBXML encoded and
- the WBXML need to be wrapped in a WSP (Wireless Session Protocol) Push PDU
- this needs to be wrapped in a WDP (Wireless Datagram Protocol) packet
- this needs to be sent inside an SMS
As always we start with the AT command that is used to send the bookmark and analyze in detail how this AT command was constructed:
I still needed to show how you can send an Service Indication (SI) document like:
< ?xml version="1.0"?>
< !DOCTYPE si PUBLIC "-//WAPFORUM//DTD SI 1.0//EN"
si-expires="2009-03-04T16:25:00Z">Check out Mobile Tidings!</indication>
This document, a Service Indication, tells the WAP client to store the following:
- A link to http://mobiletidings.com/
- With text “Check out Mobile Tidings!“
- This typically shows up in a “WAP Push Inbox” or sometimes in the “SMS Inbox”
- The link will show when it was created
- It should automatically be removed after the expiry time mentioned
Well here is the AT command to send this particular SI document:
As I started to explain in the last post, a WAP push consists of an XML document sent to the device over SMS. This is true but somewhat simplified.
The truth is that we send:
- an WBXML encoded XML
- over WSP (Wireless Session Protocol)
- over WDP (Wireless Datagram Protocol)
- over SMS
This is called an unconfirmed push.
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:
Today I’ll focus on WAP push.