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 and receiving of any generic binary content via SMS. Both application-initiated and network-triggered requests are supported. The binary content can be other than the Logos and Ringtones as specified by Parlay X Short Messaging. An example would be a vCard.

 


Namespaces

The BinarySMS interface and service use the namespaces:

The BinarySmsNotificationManager 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).

 


Endpoints

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

The endpoint for the BinarySmsNotificationManager interface is: http://<host:port>/ews/binary_sms_notification/BinarySmsNotificationManager

The values for host and port depend on the specific Oracle Communications Services Gatekeeper deployment.

 


Sequence Diagram

Send SMS

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 Oracle Communications Services 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 Application-initiated send Extended Web Services Binary SMS

Sequence diagram Application-initiated send Extended Web Services Binary SMS

Receive SMS

The following diagram shows the general message sequence for receiving a binary SMS message from the Network using Oracle Communications Services Gatekeeper. In this message sequence the application also subscribes for a notifications on network triggered short messages.

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

Figure 5-2 Sequence diagram receive Extended Web Services Binary SMS

Sequence diagram receive 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 for application-initiated messages.

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) at http://www.3gpp.org/ftp/Specs/html-info/23040.htm.

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).

BinarySmsMessage structure

Defines the binary payload of the SMS for network-triggered messages.

Element Name
Element type
Optional
Description
message
ews_binary_sms_xsd:BinaryMessage[1..unbounded]
N
dcs
xsd:byte
N
Data code schema, according to SMPP v3.4.
protocolId
xsd:byte
Y
TP-Protocol-Identifier according to 3GPP 23.040 6.5.0.
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) at http://www.3gpp.org/ftp/Specs/html-info/23040.htm.
The protocol identifier is the information element by which the short message transport layer either refers to the higher layer protocol being used, or indicates interworking with a certain type of telematic device.
Example: 123
senderAddress
xsd:anyURI
N
The address of the sender of the short message.
Example:
tel:1234556
smsServiceActivationNumber
xsd:anyURI
N
The destination address of the short message.
Example:
tel:1222
dateTime
xsd:dateTime
N
The timestamp of the message.

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
TP-Protocol-Identifier (TP-PID) according to 3GPP TS 23.040 V6.5.0, Technical realization of the Short Message Service (SMS) at http://www.3gpp.org/ftp/Specs/html-info/23040.htm.
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 and 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.
SVC0001
PLG-000004
General plug-in routing error.
SVC0002
n/a
SenderName in non-alphanumeric format.
SVC0003
n/a
 
SVC0004
n/a
 
SVC0005
n/a
 
EPOL0001
n/a
 

Interface: BinarySmsNotificationManager

Operations to start and stop subscriptions for notifications for short messages with binary content.

Operation: StartBinarySmsNotification

Starts a subscription for notifications for short messages that have content in the form of binary data. A correlator is provided in the request. This correlator is used when stopping the subscription.

Input message: StartBinarySmsNotification

Part name
Part type
Optional
Description
reference
ews_common_xsd:SimpleReference
N
Defines the application endpoint, interfaceName and correlator that will be used to forward a binary short message from the network.
smsServiceActivationNumber
xsd:xsd:anyURI
Y
The destination address of the short message.

Output message: StartBinarySmsNotificationResponse

Part name
Part type
Optional
Description
-
-
-
-

Referenced faults

Table 5-2 exceptions and 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.
SVC0001
PLG-000004
General plug-in routing error.
SVC0002
n/a
 
SVC0003
n/a
 
SVC0004
n/a
 
SVC0005
n/a
 
EPOL0001
n/a
 

Operation: StopBinarySmsNotification

Stops a previously started subscription for notifications for short messages that have content in the form of binary data. A correlator is provided in the request. This correlator was provided when the subscription was started, see Operation: StartBinarySmsNotification.

Input message: StopBinarySmsNotification

Part name
Part type
Optional
Description
correlator
xsd:String
N
The identifier for the subscription.

Output message: StopBinarySmsNotificationResponse

Part name
Part type
Optional
Description
-
-
-
-

Referenced faults

Table 5-3 exceptions and 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.
SVC0001
PLG-000004
General plug-in routing error.
SVC0002
n/a
 
SVC0003
n/a
 
SVC0004
n/a
 
SVC0005
n/a
 
EPOL0001
n/a
 

Interface: BinarySmsNotification

This interface shall be implemented by the application. It is used by Oracle Communications Services Gatekeeper to deliver short messages with binary content to an application. Only messages that match a previously started subscription for notifications are delivered.

Note: Notifications on delivered short messages are delivered using the Parlay X 2.1 Short Messaging SmsNotification interface, using the method NotifySmsDeliveryReceipt.

Operation: NotifyBinarySmsReception

Oracle Communications Services Gatekeeper calls this methods on

The notification is used to send a short message with binary content to the application. The notification occurs if the short message matched the criteria specified when starting the notification. See Operation: StartBinarySmsNotification.

The method must be implemented by a Web Service at the application side. It is be invoked by Oracle Communications Services Gatekeeper when it receives a short message with binary content form the network and the criteria is fulfilled.

Input message: NotifyBinarySmsReceptionRequest

Part name
Part type
Description
correlator
xsd:String
The correlator for the subscription.
message
ews_binary_sms_xsd:BinarySmsMessage
The message in binary form.

Output message: NotifyBinarySmsReceptionResponse

Part name
Part type
Optional
Description
-
-
-
-

Referenced faults

Table 5-4 Exceptions and error codes
Exception
Error code
Reason/Action
-
-
-

 


WSDLs

The document/literal WSDL representation of the interfaces can be retrieved from the Web Services endpoints, see Endpoints.

The notification interface can be downloaded from:

http://host:port/ews/binary_sms_notification/wsdls/ews_binary_sms_notification_service.wsdl
http://host:port/ews/binary_sms_notification/wsdls/ews_binary_sms_notification_interface.wsdl

Where host and port are depending on the Oracle Communications Services 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