Application Development Guide

     Previous  Next    Open TOC in new window    View as PDF - New Window  Get Adobe Reader - New Window
Content starts here

Extended Web Services Binary SMS

The Extended Web Services Binary SMS Web Service allows for the sending of any generic binary content via SMS. The binary content can be other than the Logos and Ringtones as specified by Parlay X SMS Web service. An example would be a vCard.

Applications can poll for the delivery status of a message sent using this interface using GetSmsDeliveryStatus as specified in Parlay X 2.1 Part 4: Short messaging, Interface: SendSms.

Applications can receive asynchronous delivery notifications for messages sent using this interface by implementing NotifySmsDeliveryReceipt as specified in Parlay X 2.1 Part 4: Short messaging, Interface: ReceiveSms.

 


Namespaces

The BinarySMS interface and service use the namespaces:

In addition, Extended Web Services Binary SMS uses common data type definitions common for all Extended Web Services interfaces, see Extended Web Services Common.

Fault definitions are according to ETSI ES 202 391-1 V1.2.1 (2006-10) Open Service Access (OSA); Parlay X Web Services; Part 1: Common (Parlay X 2).

 


Endpoint

The endpoint for the BinarySMS interface is: http://<host:port>/ews/binary_sms/BinarySms

The values for host and port depend on the specific Network Gatekeeper deployment.

 


Sequence Diagram

The following diagram shows the general message sequence for sending a binary SMS message from an Extended Web Services Binary SMS application to the network. In this message sequence the application also receives a notification from the network indicating the delivery status of the SMS, that is, that the message has reached its destination. It also displays how an application can query the delivery status of the message.

The interaction between the network and Network Gatekeeper is illustrated in a protocol-agnostic manner. The exact operations and sequences depend on which network protocol is being used.

Note: The delivery notifications are sent from the Parlay X 2.1 Short Messaging implementation.
Figure 5-1 Sequence diagram Extended Web Services Binary SMS

Sequence diagram Extended Web Services Binary SMS

 


XML Schema data type definition

The following data structures are used in the Extended Web Services Binary SMS Web Service.

BinaryMessage structure

Defines the binary payload of the SMS.

Defines the TP-User Data (TP-UD).
For a description of TP-User Data (TP-UD), TP-User-Data-Header-Indicator (TP UDHI), see 3GPP TS 23.040 V6.5.0, Technical realization of the Short Message Service (SMS).

Element Name
Element type
Optional
Description
udh
xsd:base64Binary
Y
Defines if the TP-User Data (TP-UD) field contains only the short message or if it contains a header in addition to the short message.
Must be formatted according to TP-User-Data-Header-Indicator (TP UDHI).
message
xsd:base64Binary
Y
Binary message data.
Must be formatted according to TP-User Data (TP-UD) excluding the TP-User-Data-Header-Indicator (TP UDHI).

 


Web Service interface description

The following describes the interfaces and operations that are available in the Extended Web Services Binary SMS Web Service.

Interface: BinarySms

Operations to send SMSs with binary content.

Operation: sendBinarySMS

Sends an SMS with any binary data as content.

Input message: sendBinarySMS

Part name
Part type
Optional
Description
addresses
xsd:anyURI[1..unbounded]
N
An array of end-user terminal addresses.
Example: tel:1234
senderName
xsd:string
Y
The name of the sender. Alphanumeric.
Example: tel:7485, Mycompany.
dcs
xsd:byte
N
Defines the data encoding scheme for the binaryMessage parameter.
Formatted according to data_coding parameter in SMPP v3.4.
binaryMessage
binary_sms_xsd:BinaryMessage[1..unbounded]
N
Message payload.
An array comprised of UDH elements and message elements, see BinaryMessage structure.
This array must be equal to or less than 140 bytes in size.
protocolId
xsd:byte
Y
Specifies the higher layer protocol being used, or indicates interworking with a certain type of telematic device.
validityPeriod
xsd:string
Y
Defines the validity period for the short message.
Formatted according to validity_period parameter in SMPP v3.4.
charging
ews_common_xsd:ChargingInformation
Y
Charging information.
receiptRequest
ews_common_xsd:SimpleReference
Y
It defines the application endpoint, interfaceName and correlator that will be used to notify the application when the message has been delivered to the terminal or if delivery is impossible.

Output message: sendBinarySMSResponse

Part name
Part type
Optional
Description
result
xsd:string
N
Identifies a specific SMS delivery request.

Referenced faults

Table 5-1 Exceptions an error codes
Exception
Error code
Reason/Action
SVC0001
BSMS-000001
Unable to perform action. Network error
SVC0001
BSMS-000002
Unable to retrieve configuration, internal error.
SVC0001
BSMS-000003
The used address type is not supported
SVC0001
BSMS-000004
Unable to encode message segments.
make sure the number of message segments is not 0.
SVC0001
BSMS-000005
GSM message format error.
SVC0001
BSMS-000006
Binary Message has too many segments.
SVC0002
n/a
 
SVC0003
n/a
 
SVC0004
n/a
 
SVC0005
n/a
 
EPOL0001
n/a
 

 


WSDLs

The document/literal WSDL representation of the BinarySms interface can be retrieved from the Web Services endpoint.

Where host and port are depending on the Network Gatekeeper deployment.

 


Error Codes

The following error codes are defined for SVC0001: Service error:

The following error codes are defined for EPOL0001: Policy error:

 


Sample Send Binary SMS

Listing 5-1 Example Send Binary SMS
BinarySmsService service = new BinarySmsService_Impl(“http://localhost:8001/ews/binary_sms/BinarySms?WSDL”);
BinarySms port = service.getBinarySms();
com.bea.wlcp.wlng.schema.ews.binary_sms.local.SendBinarySms parameters = 
new com.bea.wlcp.wlng.schema.ews.binary_sms.local.SendBinarySms();
URI[] addresses = new URI[1];
addresses[0] = new URI("tel:1234");
parameters.setAddresses(addresses);
parameters.setDcs((byte)0);
parameters.setProtocolId((byte)0x7b);
parameters.setSenderName("tel:7878");
parameters.setValidityPeriod("020610233429000R");
com.bea.wlcp.wlng.schema.ews.binary_sms.BinaryMessage[] binaryMessages = 
new com.bea.wlcp.wlng.schema.ews.binary_sms.BinaryMessage[1];
binaryMessages[0] = new com.bea.wlcp.wlng.schema.ews.binary_sms.BinaryMessage();
byte[] udh = {0};
byte[] message = {0x4d, 0x61, 0x64, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x2e};
binaryMessages[0].setUdh(udh);
binaryMessages[0].setMessage(message);
parameters.setBinaryMessage(binaryMessages);
port.sendBinarySms(parameters);

  Back to Top       Previous  Next