
WAP PUSH enables the delivery of multimedia content to mobile devices without the need for the full-fledged MMS delivery protocol. Instead, a hyperlink is delivered to the mobile device of the recipient as a Service Indication message. The recipient mobile device will automatically prompt the recipient to download the content on the hyperlink and display it over a GPRS/WAP connection.
Formatting a proper WAP PUSH message as hexadecimal string has been something of a mystery to many people, as there is close to no useful documentation on the Web on this, and Nokia’s own documentation is very cryptic at best.
Hopefully, the following provides a clear and easy-to-understand guide on how to construct WAP PUSH messages!
Basics: ASCII to Hex Conversion
A WAP Push message essentially consists of the Internet URL containing your multimedia content, and this URL is wrapped by some SMS-specific headers, which we will explain below
Your need to first convert your URL into a hexadecimal string. Use the table found at the following webpage to convert each character in your URL string into its hexadecimal equivalent:
http://www.prepressure.com/library/binhex.htm
A Sample WAP Push string
A WAP Push example which we will use here is as follows:
http://gateway8.commzgate.net:8081/gateway/SendMsg?ID=acme&Password=x3e2ts&Mobile=6598181818&Type=H&
UserHeader=0605040b8423f0
&Message=DC0601AE02056A0045C60C03
7777772e636f6d6d7a676174652e636f6d2f6b6f6e672f6b6f6e672e676966
0001034b6f6e67000101
The UDH or User Data Header explained : UserHeader=0605040b8423f0
In the string above, the UserHeader parameter can be explained as follows:
06 is the Length of the User Data Header
05 is the Information Element Identifier (IEI; application port addressing scheme, 16-bit port address)
04 is the Information Element Data Length (IEDL)
0B84 is the destination port no.
23F0 is the origin port no.
Data Wrapping: DC0601AE02056A0045C60C03
Next comes the data wrapping info that goes around the URL string itself:
DC is the Transaction ID (Push ID)
06 is the PDU type (Push PDU)
01 is the Header Length (just leave it at 01)
AE represents Content Type=application/vnd.wap.sic (0×80 | 0×2E)
02 represents <version>
05 represents <si>
6A represents <charset=utf-8>
00 represents <string>
45 represents <si>
C6 represents <indication>
0C represents http://
03 refers to “next is an ASCII string for the URL, to be terminated with 00″
The URL string itself in Hexadecimal form
Then comes your URL string. In our example, this string is:
7777772e636f6d6d7a676174652e636f6d2f6b6f6e672f6b6f6e672e676966
Ending Wrapper: 0001034b6f6e67000101
Finally, we wrap up the string with some final pieces of information.
00 refers to terminate string with 00
01 represents <indication>
03 refers to “next is an ASCII string for title, terminate with 00″
The title in our example is
4b6f6e67
00 we terminate the title string with 00
01 represents <indication>
01 represents <si>
The final complete hexadecimal WAP PUSH string is hence completed!
For further reference, the Nokia Smart Messaging FAQ can be found HERE
You can also try our free online Text-to-Hex converter for an instant conversion of the WAP-PUSH hex string that you require.

0 Responses to “How to format a WAP Push Message as a Hexadecimal String”