Skip Headers
Oracle® Communications Services Gatekeeper Application Developer's Guide
Release 5.1

E37542-01
Go to Documentation Home
Home
Go to Table of Contents
Contents
Go to Feedback page
Contact Us

Go to previous page
Previous
PDF · Mobi · ePub

10 Native Interfaces

This chapter describes the supported native interfaces and contains information that is specific for Oracle Communications Services Gatekeeper, and not found in the specifications. For detailed descriptions of the interfaces, methods and parameters, refer to the specifications.

MM7

The MM7 specification can be found at:

http://www.3gpp.org/ftp/Specs/html-info/23140.htm.

Messages are compliant with the schema defined by Rel-5-MM7-1-2.xsd. Because the network-facing interface supports Rel-5-MM7-1-5.xsd, Rel-5-MM7-1-2.xsd and a modified version of REL-5-MM7-1-0.xsd, some mapping may be done during processing.

The endpoint for this interface is:

http://host:port/mm7/Mms

where values for host and port depend on the Services Gatekeeper deployment.

Note:

The MM7 facade uses HTTP basic authentication, username/password. The username is the application instance ID.

MM7_submit

Sends an application-initiated multimedia message

Table 10-1 Error Codes

Error code Reason/Action

4006

Service unavailable. Communication error within Services Gatekeeper or between Services Gatekeeper and the MMSC

Transient error. The client should try again.

4007

Service denied. The request was not allowed by policy.

Contact the Services Gatekeeper administrator.

<all MMSC fault codes>

Passed along transparently

Contact the Services Gatekeeper administrator.


MM7_deliver

Services Gatekeeper delivers a network-triggered message to the application, at an endpoint implemented by the application.

MM7_cancel

Not supported.

MM7_replace

Not supported

MM7_delivery_report

Services Gatekeeper delivers a delivery report on a previously sent message to the application, at an endpoint implemented by the application.

MM7_read_reply_report

Services Gatekeeper delivers a read reply report on a previously sent message to the application, at an endpoint implemented by the application.

SMPP

The native SMPP communication service exposes SMPP version 3.4 to applications.

The specification is the Short Message Peer to Peer, Protocol Specification v3.4, Document Version:- 12-Oct-1999 Issue 1.2. It can be downloaded from

http://smsforum.net/

The native SMPP communication service supports all Protocol Data Units (PDUs) for SMPP version 3.4, and all header and body elements except when stated otherwise.

The native SMPP communication service also supports the billing identification parameter in the format defined by SMPP Specification 5.1, section 4.8.4.3. This parameter works with SMPP 5.1 SMSCs. Services Gatekeeper supports it as a tunneled parameter named smpp_billing_id. It also supports the ussd_service_operation parameter, which was expanded to support the deliver_sm opration in SMPP 5.1. Servcies Gatekeeper supports it as a tunneled parameter named ussd_service_operation. For details about these parameters, see the “Tunneled Parameters for Native SMPP” section of the “Native SMPP Communication Service” chapter in Communication Service Guide, another document in this set.

An application using this interface acts as an External Short Message Entity (ESME).

Bind PDUs and Sessions

An application must bind to the native SMPP communications service. It can bind using:

As a result of a bind operation, Services Gatekeeper authenticates the application and establishes a session.

The following is valid for all bind operations:

  • An application binds using host name or IP-address and port that depends on the installation. The server to bind to is a network tier server.

  • The system_id field must be the application instance group ID assigned to the application instance.

  • The password field must be the same as the password for the application instance group.

A session is maintained until the application sends an "unbind PDU".

Services Gatekeeper can be configured to allow a limited number of sessions per application through the maxSession parameter to the addApplicationSpecificSettings operation. See System Administrator's Guide for information about this operation.

Services Gatekeeper can be configured to terminate a session if:

  • The session is inactive. See the InactivityTimerValue in System Administrator's Guide.

  • The application takes too long time to respond to a request. See the RequestTimerValue in System Administrator's Guide.

Error Handling

All errors are reported in the command_status field of a response PDU.

Table 10-2 lists the error codes that are specific for Services Gatekeeper. Errors from the SMSC are transparently forwarded to the application.

Table 10-2 Error codes for SMPP Communication Service

SMPP PDU Error Code in Response(command_status) Description

bind_transmitter

ESME_RBINDFAIL

Could not bind.

bind_receiver

ESME_RBINDFAIL

Could not bind.

bind_transceiver

ESME_RBINDFAIL

Could not bind.

submit_sm

ESME_RTHROTTLED

Throttling limit or quota limit exceeded.

The application has performed too many requests per time unit and has exceeded the Service Level Agreement.

N/A

ESME_RSUBMITFAIL

Could not submit the message. Possible reasons include time-out encountered when sending the message and configuration error.

submit_sm_multi

ESME_RTHROTTLED

Same as for submit_sm.

N/A

ESME_RSUBMITFAIL

Same as for submit_sm.


Supported Operations

The following operations are supported or not supported as indicated.

bind_transmitter PDU

The application binds to Services Gatekeeper as an SMPP transmitter.

bind_transmitter_resp PDU

Services Gatekeeper sends this PDU to an application as a response to "bind_transmitter PDU".

bind_receiver PDU

The application binds as an SMPP receiver to Services Gatekeeper.

The address_range field must be the same as provisioned for the application instance group in the addressRange parameter to the addApplicationSpecificSettings operation. See System Administrator's Guide for information about this operation.

bind_receiver_resp PDU

Services Gatekeeper sends this PDU to an application as a response to "bind_receiver PDU".

bind_transceiver PDU

The application binds as an SMPP transceiver to Services Gatekeeper.

The address_range field must be the same as provisioned for the application instance group in the addressRange parameter to the addApplicationSpecificSettings operation. See System Administrator's Guide for information about this operation.

bind_transceiver_resp PDU

Services Gatekeeper sends this PDU to an application as a response to "bind_transceiver PDU".

outbind PDU

Not supported.

unbind PDU

The application unbinds from Services Gatekeeper.

unbind_resp PDU

Services Gatekeeper sends this PDU to an application as a response to "unbind PDU".

generic_nack PDU

Services Gatekeeper sends this PDU as a negative acknowledgement of a PDU sent from the application if the PDU can not be recognized.

If this PDU is sent from the application, it is propagated to the SMPP SMSC.

submit_sm PDU

The application sends a short message to Services Gatekeeper, which forwards it to the destination address via an SMSC.

submit_sm_resp PDU

Services Gatekeeper sends this PDU to an application as a response to "submit_sm PDU".

submit_multi PDU

The application sends a short message to Services Gatekeeper, which forwards it to a set of destination addresses via an SMSC.

submit_multi_resp PDU

Services Gatekeeper sends this PDU to an application as a response to "submit_multi PDU".

deliver_sm PDU

Services Gatekeeper sends this PDU to an application upon receiving from an SMSC a network-triggered short message that matches the destination addresses that the application is interested in. The PDU contains the short message.

The application expresses interest by subscribing for notifications addressed to specific destination addresses.

deliver_sm_resp PDU

The application sends this PDU to acknowledge the reception of a "deliver_sm PDU".

data_sm PDU

Not supported.

data_sm_resp PDU

Not supported.

query_sm PDU

The application sends this PDU to query the status of a previously-sent short message.

The communication service can be configured to allow or block this operation through the subsequentOperationsAllowed parameter to the addApplicationSpecificSettings operation.

query_sm_resp PDU

Services Gatekeeper sends this PDU to an application as a response to "query_sm PDU".

cancel_sm PDU

The application sends this PDU to cancel the sending of one more previously-sent short messages, if the message has not yet been delivered to the end-user terminal.

The communication service can be configured to allow or block this operation through the subsequentOperationsAllowed parameter to the addApplicationSpecificSettings operation.

cancel_sm_resp PDU

Services Gatekeeper sends this PDU to an application as a response to "cancel_sm PDU".

replace_sm PDU

The application sends this PDU to replace a previously-sent short message with the short message provided in this PDU, if the message has not yet been delivered to the end-user terminal.

The communication service can be configured to allow or block this operation through the subsequentOperationsAllowed parameter to the addApplicationSpecificSettings operation. See System Administrator's Guide for information about this operation.

replace_sm_resp PDU

Services Gatekeeper sends this PDU to an application as a response to "replace_sm PDU".

enquire_link PDU

The application or Services Gatekeeper sends this PDU to verify the connection between the application and Services Gatekeeper.

The communication service can be configured to send this PDU to the application on a regular interval. When an application receives this PDU it must respond with "enquire_link_resp PDU" within the configured time-interval. See the EnquireLinkTimerValue attribute for the native SMPP plug-in in System Administrator's Guide

enquire_link_resp PDU

Services Gatekeeper or an application sends this PDU as a response to "enquire_link PDU".

alert_notification PDU

Not supported.

UCP

The native UCP communication service complies with the Short Message Service Centre EMI-UCP Interface 5.1 specification.

Error Handling

The following errors are reported to the application or the SMSC in the UCP NACK PDU under the conditions described.

ERROR_CODE_OPERATION_NOT_ALLOWED

  • The UCP service has received something in suspended mode.

  • The UCP service has received an openSession request on a connection that has already received an openSession request and has processed an OK response to it. Further openSession requests are not allowed.

  • The UCP service has received an openSession request on a connection where it is currently processing an openSession request.

  • All SMSCs have responded with NACK to an openSession request.

  • The UCP service has received a session management operation on a client-side connection.

ERROR_CODE_AUTH_FAILURE

  • Authentication between Services Gatekeeper and the application has failed.

ERROR_CODE_OPERATION_NOT_SUPPORTED

  • The UCP service has received a session management operation that is not of the openSession subtype.

  • The UCP service has received an operation that it does not understand or support on a server-side connection.

  • The UCP service has received an operation that it does not understand or support on a client-side connection.

ERROR_CODE_SYNTAX_ERROR

  • The UCP service received an exception when trying to deliver a PDU that was received on a server-side connection to a plug-in.

  • The UCP service received an exception when trying to deliver a PDU that was received on a client-side connection to a plug-in.

Any errors triggered in the SMSC are propagated to the application. See the Short Message Service Centre EMI-UCP Interface 4.6 specification for a list of those error codes.

Native UCP Operations: North Interface

This section describes the native UCP operations in the NativeUCPPluginNorth interface.

submitSM

Sends a mobile-terminated SMS.

Signature:

submitSM(UcpPDU submitSMPDU, ServerPort sourceServerPort, String sourceConnectionId)

openSession

Opens a new UCP session.

Signature:

openSession(UcpPDU openSessionPDU, ServerPort sourceServerPort, String sourceConnectionId)

ack

Sends an ACK to the SMSC.

Signature:

ack(UcpPDU ack, String sourceConnectionId)

nack

Sends a NACK to the SMSC.

Signature:

nack(UcpPDU nack, String sourceConnectionId)

deliverSM

Delivers a mobile-originated SMS.

Signature:

deliverSM(UcpPDU deliverSMPDU, String connectionId)

deliveryNotification

Delivers a message delivery notification associated with a previously sent mobile- terminated SMS.

Signature:

deliveryNotification(UcpPDU deliveryNotificationPDU, String connectionId)

Native UCP Operations: South Interface

This section describes the supported native UCP operations in the NativeUCPPluginSouth interface.

ack

Sends an ACK to the application.

Signature:

ack(UcpPDU ack, String connectionId)

nack

Sends a NACK to the application.

Signature:

nack(UcpPDU ack, String connectionId)