Mobile message type specification - Binary SMS XML
(SMS message type, SMS message format)

Introduction

To be able to send a binary XML SMS, you need to have a thorough knowledge of the structure of an SMS message. You need to be familiar with the following: Data Coding Scheme (TP-DCS), Protocol Identifier (TP-PID), User Data Header (UDH) and User Data (UD).
Also, you need to be able to encode different message types into WBXML format. This is usually different with each message type.
In the SMS message to be sent, the values mentioned above have to specified as hexadecimal numbers.

Why it is convenient

This message type allows you to send all types of binary messages.

Message type

SMS:BINARY:XML

The format of the message data is:

<sms>
    <pid>PID in hexadecimal format (1 byte)</pid>
    <dcs>DCS in hexadecimal format (1 byte)</dcs>
    <udh>UDH in hexadecimal format</udh>
    <ud>UD in hexadecimal format</ud>
</sms>

Take a look at an example (e.g., Wap Push):

<sms>
    <pid>00</pid>
    <dcs>F5</dcs>
    <udh>0605040B8423F0</udh>
    <ud>EA0601AE02056A0045C60C037761702E6F7A656B692E6875000801034F7A656B69000101</ud>
</sms>

Interpretation of the string of characters between the UDH tags:

06: User Data Header length (6 bytes follow)
05: UDH IE Identifier: Port numbers
04: UDH Port number IE length (4 bytes follow: 2 for Destinating port, 2 for Originating port)
0B84: Destinating port
23F0: Originating port

Interpretation of the string of characters between the UD tags:

EA: Transaction ID
06: PDU type (push)
01: Length of header (1 byte follows)
AE: Content-type: application/vnd.wap.sic
These are followed by the XML of the WAP Push message type encoded into WBXML format, following the respective encoding rules. This is the Wap Push message:

<si>
    <indication href="http://wap.ozeki.hu" action="signal-high">
        Ozeki
    </indication>
</si>

SQL example:

If you use the Database user to send and receive SMS messages with Ozeki NG - SMS Gateway, you can use the following SQL statement to send a Binary XML message, which is a WAP PUSH Service Indication message:


insert into ozekimessageout (receiver,msgtype,msg,status) values ("+36205222245",
    "SMS:BINARY:XML","<sms><pid>00</pid><dcs>F5</dcs>
    <udh>0605040B84</udh>
    <ud>EA0601AE02056A0045C60C037761702E6F7A656B692E6875000801034F7A656B69000101</ud>
    </sms>","send");

More information