Binary messages
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!
ASCII to Hexadecimal 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:
A Sample WAP Push string
A WAP Push example which we will use here is as follows:
0605040B8423F0
DC0601AE02056A0045C60C03
7777772E323463726F2E636F6D2F6D757369632E676966
0001034D75736963000101
The UDH (User Data Header)
0605040B8423F0
The User Data Header (also known as UDH) is what you can set if you want to do something more than a simple text message. A UDH is very useful because you can send “invisible text messages” to mobile application (where to “mobile applications” I mean those running on mobile devices for example) or you can tell a device that the message will contain special information. It’s very similar to an XML file: you have to tell the parser what you are sending, and the content following the prolog which will be handled by the parser itself.
The UDH is mainly used to specify what ports our client (phone) will send the SMS to. It’s made by a set of hex number which describe:
length of UDH | the format used to specify ports numbers |the port number length | destination port number | source port number
06 is the Length of the UDH
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 number 2948 (decimal representation) or 0B84 (hexadecimal representation)
23F0 is the source port number 9200 (decimal representation) or 23F0 (hexadecimal representation).
Next part: DC0601AE02056A0045C60C03
Data info
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 vesrsion
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 (www.24cro.com/music.gif):
7777772E323463726F2E636F6D2F6D757369632E676966
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 (Music):
4D75736963
00 we terminate the title string with 00
01 represents indication
01 represents si
The final complete hexadecimal WAP PUSH string is completed!
URL
The URL of the website we want to send the mobile to. The maximum length of this URL is 255 characters. The URL has to start with "http://" or "https://".
Title
The description for the content that has to be loaded on the mobile phone. The maximum length of this Title is 50 characters.
Your comments on thema: WAP push
Be the first person, who will comment this theme!
To add a comment you need to be registered and loged! Register | Log IN