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
Go to next page
Next
PDF · Mobi · ePub

8 Parlay X 2.1 Interfaces

This chapter describes the supported Parlay X 2.1 interfaces and contains information specific for Services Gatekeeper and not found in the specifications. For detailed descriptions of the interfaces, methods, and parameters, refer to the specifications.

See the ETSI OSA Parlay X web site:

http://www.etsi.org/deliver/etsi_es/202300_202399/20239102/01.02.01_60/es_20239102v010201p.pdf

for links to the specifications.

Parlay X 2.1 Part 2: Third Party Call

This set of interfaces is compliant with ETSI ES 202 391-2 V1.2.1 (2006-12) Open Service Access (OSA); Parlay X Web Services; Part 2: Third Party Call (Parlay X 2).

Interface: ThirdPartyCall

The endpoint for the ThirdPartyCall interface is: http://host:port/parlayx21/third_party_call/ThirdPartyCall

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

MakeCall

Sets up a call between two parties.

GetCallInformation

Displays information about a call.

EndCall

Ends a call.

CancelCall

Cancels a call setup procedure.

Error Codes

See General error codes.

Parlay X 2.1 Part 3: Call Notification

This set of interfaces is compliant with ETSI ES 202 391-3 V1.2.1 (2006-12) Open Service Access (OSA); Parlay X Web Services; Part 3: Call Notification (Parlay X 2).

Interface: CallDirection

This interface is implemented by an application, and the consumer of this interface is Services Gatekeeper. The Web Services Description Language (WSDL) file that defines the interface can be downloaded from:

http://host:port/parlayx21/call_notification/wsdls/parlayx_call_direction_interface_2_2.wsdl

http://host:port/parlayx21/call_notification/wsdls/parlayx_call_direction_service_2_2.wsdl

http://host:port/parlayx21/call_notification/wsdls/parlayx_call_notification_types_2_2.xsd

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

HandleBusy

Services Gatekeeper calls this method, which is implemented by an application, when the called party is busy.

HandleNotReachable

Services Gatekeeper calls this method, which is implemented by an application, when the called party is not reachable.

HandleNoAnswer

Services Gatekeeper calls this method, which is implemented by an application, when the called party does not answer.

HandleCalledNumber

Services Gatekeeper calls this method, which is implemented by an application, prior to call setup.

Interface: CallNotification

The CallNotification interface is implemented by an application, and the consumer of this interface is Services Gatekeeper. The WSDL that defines the interface can be downloaded from:

http://host:port/parlayx21/call_notification/wsdls/parlayx_call_notification_interface_2_2.wsdl

http://host:port/parlayx21/call_notification/wsdls/parlayx_call_notification_service_2_2.wsdl

http://host:port/parlayx21/call_notification/wsdls/parlayx_call_notification_types_2_2.xsd

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

NotifyBusy

Services Gatekeeper calls this method, which is implemented by an application, when the called party is busy.

NotifyNotReachable

Services Gatekeeper calls this method, which is implemented by an application, when the called party is not reachable.

NotifyNoAnswer

Services Gatekeeper calls this method, which is implemented by an application, when the called party does not answer.

NotifyCalledNumber

Services Gatekeeper calls this method, which is implemented by an application, prior to call setup.

Interface: CallNotificationManager

The endpoint for the CallNotificationManager interface is: http://host:port/parlayx21/call_notification/CallNotificationManager

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

StartCallNotification

Starts a subscription for call notifications.

StopCallNotification

Stops a subscription for call notifications.

Interface: CallDirectionManager

The endpoint for the CallDirectionManager interface is: http://host:port/parlayx21/call_notification/CallDirectionManager

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

StartCallDirectionNotification

Starts a subscription for call direction notifications.

StopCallDirectionNotification

Stops a subscription for call direction notifications.

Error Codes

See General error codes.

Parlay X 2.1 Part 4: Short messaging

This set of interfaces is compliant with ETSI ES 202 391-4 V1.2.1 (2006-12) Open Service Access (OSA); Parlay X Web Services; Part 4: Short Messaging (Parlay X 2).

Interface: SendSms

The endpoint for the SendSms interface is: http://host:port/parlayx21/sms/SendSms

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

If a backwards-compatible communication service is used:

  • The senderAddress parameter is either of the format tel:mailbox ID\mailbox password\Sender name or just sender name depending on how the application was provisioned in Services Gatekeeper.

  • The priority parameter is not supported.

SendSms

Sends an SMS to one or more destinations.

SendSmsLogo

Sends an SMS Logo to one or more destinations.

Logos in SmartMessaging and EMS are supported. The image is not scaled.

Logos in the following raw image formats are supported:

  • bmp

  • gif

  • jpg

  • png

The logos are in pure black and white (gray scale not supported). Animated images are not supported. Scaling is not supported.

If the logo is converted to SmartMessaging format, the image cannot be larger than 72x14 pixels.

If the logo is sent in EMS format, the following rules apply:

  • If the image is 16x16 pixels, the logo is sent as an EMS small picture.

  • If the image is 32x32 pixels, the logo is sent as an EMS large picture.

  • If the image is of any other size, the logo is sent as an EMS variable picture.

  • Images up to 1024 pixels are supported.

SendSmsRingtone

Sends an SMS Ringtone to one or more destinations.

Ringtones can be in any of these formats:

  • RTX

  • SmartMessaging

  • EMS (iMelody)

GetSmsDeliveryStatus

Gets the delivery status of a previously sent SMS.

It is possible to query delivery status of an SMS only if a callback reference was not defined when the SMS was sent. If a callback reference was defined, NotifySmsDeliveryReceipt is invoked by Services Gatekeeper and the delivery status is not stored. If the delivery status is stored in Services Gatekeeper, it is stored for a configurable period of time.

Interface: SmsNotification

This SmsNotification interface is implemented by an application, and the consumer of this interface is Services Gatekeeper. The WSDL file that defines the interface can be downloaded from:

http://host:port/parlayx21/sms/wsdls/parlayx_sms_notification_interface_2_2.wsdl

http://host:port/parlayx21/sms/wsdls/parlayx_sms_notification_service_2_2.wsdl

http://host:port/parlayx21/sms/wsdls/parlayx_sms_types_2_2.xsd

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

NotifySmsReception

Sends an SMS that is received by Services Gatekeeper to an application given that the SMS fulfills a set of criteria. The criteria is either defined by the application itself, using startSmsNotification or defined using a provisioning step in Services Gatekeeper.

Shortcode translation, if appropriate, is applied.

NotifySmsDeliveryReceipt

Sends a delivery receipt that a previously sent SMS has been received by its destination. The delivery receipt is propagated to the application given that the application provided a callback reference when sending the SMS.

Interface: ReceiveSms

The endpoint for the ReceiveSms interface is: http://host:port/parlayx21/sms/ReceiveSms

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

GetReceivedSms

Gets messages that have been received by Services Gatekeeper. The SMSs are retrieved using a registrationIdentifier used when the notification was registered using a provisioning step in Services Gatekeeper.

Interface: SmsNotificationManager

The endpoint for the SmsNotificationManager interface is: http://host:port/parlayx21/sms/SmsNotificationManager

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

StartSmsNotification

Initiates notifications to the application for a given service activation number and criteria.

Note:

A Service activation number may be provisioned to cater to a range of numbers using short code translations.

Note:

The equivalent of this operation may have been performed as an off-line provisioning step by the Services Gatekeeper administrator.

StopSmsNotification

Ends a previously started notification.

Sending Custom Message Content for Split and Submit Messaging Requests

With Split and Submit Messaging enabled, short messages addressed to many recipients are split into multiple individually-addressed requests by Services Gatekeeper. For information on enabling Split and Submit Messaging, see the discussion on supportBulkRequest in System Administrator's Guide. For an overview of Split and Submit Messaging, see Communication Service Guide.

Using DifferentContentForSingleAddressInBulk to Customize Split Messages

You can provide custom content to be sent to particular addresses. To do this, specify the per-address content in a content attribute for each message element with custom content. Include an xparam DifferentContentForSingleAddressInBulk, set to true, with the SOAP request.

Each address in the bulk SMS request must have a content attribute if DifferentContentForSingleAddressInBulk is set to true.

For example:

<?xml version="1.0" encoding="UTF-8"?>
<messages>
  <message address="1100" content="1100abc"/>
  <message address="1200" content="1200abc"/>
  <message address="2100" content="2100abc"/>
  <message address="3100" content="3100abc"/>
</messages>

The schema is as follows:

<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"targetNamespace="http://www.oracle.com/ocsg/51/"xmlns:wlng="http://www.oracle.com/ocsg/51/">
  <xsd:complexType name="messages">
    <xsd:sequence>
    <xsd:element name="message" type="wlng:message" minOccurs="1" maxOccurs="unbounded"/>
  </xsd:complexType>
  <xsd:complexType name="message">
    <xsd:attribute name="address" type="xsd:string" use="required"/>
    <xsd:attribute name="address" type="xsd:string" use="required"/>
    <xsd:attribute name="content" type="xsd:string" use="required"/>
  </xsd:complexType>
</xsd:schema>

Table 8-1 Exceptions and Error Codes

Exception Error code Reason/Action

SVC0002

n/a

Invalid input value for message part %1

Log message:

Parse bulk SMS XML message content failed: This log message indicates that xparam DifferentContentForSingleAddressInBulk in the request is set to true but the XML message content is not well-formed.

Bulk SMS XML message cannot find content for address dest_address: This log message indicates that xparam DifferentContentForSingleAddressInBulk in the request is set to true and the XML is well-formed, but not every address has content provided for it. The first such address encountered is the one reported.


Error Codes

See General error codes.

Parlay X 2.1 Part 5: Multimedia messaging

This set of interfaces is compliant with ETSI ES 202 391-5 V1.2.1 (2006-12) Open Service Access (OSA); Parlay X Web Services; Part 5: Multimedia Messaging (Parlay X 2).

See "Sending Custom Message Content for Split and Submit Messaging Requests" for instructions on how to split messages into multiple individually-addressed requests

Interface: SendMessage

The endpoint for the SendMessage interface is: http://host:port/parlayx21/multimedia_messaging/SendMessage

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

SendMessage

Sends a multimedia message. The content of the message is sent as a SOAP attachment. Sending as email is not supported.

Table 8-2 Exceptions and Error Codes

Exception Error code Reason/Action

SVC0001

WNG-000002

Internal problem in Services Gatekeeper.

Contact your Services Gatekeeper administrator.

SVC0001

MMS-000001

Internal problem in Services Gatekeeper.

Contact your Services Gatekeeper administrator.

SVC0001

MMS-000002

Internal problem in Services Gatekeeper.

Contact your Services Gatekeeper administrator.

SVC0001

MMS-000003

Address is utilizing an unsupported address type.

SVC0001

MMS-000005

Message could not be delivered to MMSC.


GetMessageDeliveryStatus

Gets the delivery status of a previously sent MMS.

It is possible to query delivery status of an MMS only if a callback reference was not defined when the message was sent. If a callback reference was defined, NotifyMessageDeliveryReceipt is invoked by Services Gatekeeper and the delivery status is not stored. If the delivery status is stored in Services Gatekeeper, it is stored for a configurable period of time.

Note:

Storing delivery status for an MMS is configurable in Services Gatekeeper.

Table 8-3 Exceptions and Error Codes

Exception Error code Reason/Action

SVC0001

WNG-000002

Internal problem in Services Gatekeeper.

Contact your Services Gatekeeper administrator.

SVC0002

RequestIdentifier

Message is not found.


Interface: ReceiveMessage

The endpoint for this interface is: http://host:port/parlayx21/multimedia_messaging/ReceiveMessage

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

GetReceivedMessages

Polls Services Gatekeeper for received messages.

The registrationIdentifier is required. Received message are stored in Services Gatekeeper only for a configurable period of time.

Table 8-4 Exceptions and Error Codes

Exception Error code Reason/Action

SVC0001

WNG-000002

Internal problem in Services Gatekeeper.

Contact your Services Gatekeeper administrator.

SVC0002

MMS-000002

Internal problem in Services Gatekeeper.

Contact your Services Gatekeeper administrator.


GetMessageURIs

Not supported.

GetMessage

Gets a specific message that was received by Services Gatekeeper and belongs to the application.

Table 8-5 Exceptions and Error Codes

Exception Error code Reason/Action

SVC0001

WNG-000002

Internal problem in Services Gatekeeper.

Contact your Services Gatekeeper administrator.

SVC0001

MMS-000004

Correlator does not exist, no notification corresponds to the correlator.


Interface: MessageNotification

This interface is implemented by an application, and the consumer of this interface is Services Gatekeeper. The WSDL that defines the interface can be downloaded from:

http://host:port/parlayx21/multimedia_messaging/wsdls/parlayx_mm_notification_interface_2_4.wsdl

http://host:port/parlayx21/multimedia_messaging/wsdls/parlayx_mm_notification_service_2_4.wsdl

http://host:port/parlayx21/multimedia_messaging/wsdls/parlayx_mm_types_2_4.xsd

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

NotifyMessageReception

Sends a notification to an application that an MMS destined for the application is received by Services Gatekeeper.

When an application is notified about an incoming MMS message by an asynchronous call to NotifyMessageReception from Services Gatekeeper, the application receives a MessageReference structure containing information about the message.

If the MMS message contains only pure text, the <message> element of the MessageReference structure contains the entire text content as an ASCII string, and the message is not stored in Services Gatekeeper. If the message contains any content that is not pure text, such as an image, sound or video, the MessageReference structure does not include a <message> element, but instead includes a <messageIdentifer> element that contains a reference to the message stored in Services Gatekeeper. For more information about the MessageReference structure, see the Parlay X Web Services Part 5: Multimedia Messaging specification.

NotifyMessageDeliveryReceipt

Sends a notification to an application that a previously sent MMS has been delivered to its destination.

Note:

Supporting delivery notifications is optional for Services Gatekeeper.

Interface: MessageNotificationManager

The endpoint for the MessageNotificationManager interface is: http://host:port/parlayx21/multimedia_messaging/MessageNotificationManager

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

StartMessageNotification

Initiates notifications to the application for a given service activation number and criteria.

Table 8-6 StartMessageNotification Exceptions and Error Codes

Exception Error code Reason/Action

SVC0001

WNG-000002

Internal problem in Services Gatekeeper.

Contact your Services Gatekeeper administrator.


Note:

A service activation number may be provisioned to cater to a range of numbers using short code translations.

Note:

The equivalent to this operation may have been performed as an off-line provisioning step by the Services Gatekeeper administrator.

Table 8-7 StartMessageNotification Exceptions and Error Codes

Exception Error code Reason/Action

SVC0001

WNG-000002

Internal problem in Services Gatekeeper.

Contact your Services Gatekeeper administrator.


StopMessageNotification

Ends a previously started notification.

Table 8-8 StopMessageNotification Exceptions and Error Codes

Exception Error code Reason/Action

SVC0001

WNG-000002

Internal problem in Services Gatekeeper.

Contact your Services Gatekeeper administrator.

SVC0002

correlator

Correlator does not exist, no notification corresponds to the correlator.


Error Codes

See General error codes.

Parlay X 2.1 Part 8: Terminal Status

This set of interfaces is compliant with ETSI ES 202 391-8 V1.2.1, Open Service Access (OSA); Parlay X Web Services; Part 8: Terminal Status (Parlay X 2).

Interface: TerminalStatus

The endpoint for the TerminalStatus interface is:

http://host:port/parlayx21/terminal_status/TerminalStatus

Where values for host and port depend on your Services Gatekeeper deployment.

getStatus

Gets the status for a single terminal.

getStatusForGroup

Gets the status for multiple terminals.

Interface: TerminalStatusNotificationManager

The endpoint for the TerminalStatusNotificationManager interface is:

http://host:port/parlayx21/terminal_status/TerminalStatusNotificationManager

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

startNotification

Starts the terminal status change subscription.

endNotification

Notifies the Terminal Status communication service that it can cancel the terminal status change subscription.

Interface: TerminalNotification

The endpoint for the TerminalNotification interface is provided by the calling application.

statusNotification

Supplies the terminal status to the application. The status is sent by the Terminal Status communication service to the application.

statusError

Informs the application that the Terminal Status could not be obtained and contains an error message indicating why. Sent by the Terminal Status plug-in to the application.

statusEnd

Informs the application that the status notification subscription has ended. Sent by the Terminal Status plug-in to the application.

Error Codes

See the General Exceptions and General error codes sections for most error information. Table 8-9 includes additional diagnostic information specific to the Terminal Status/MAP plug-in.

Table 8-9 Terminal Status Exception and Error Code Information

Exception Error code Reason/Action

POL0002

N/A

A Terminal Status request was sent using a criteria of busy, in violation of a BusyAvailable = false is setting in an SLA.

POL0003

N/A

The number of Terminal Server addresses sent exceeded the MaximumNotificationAddresses setting in an SLA.

POL0004

N/A

An unlimited number of Terminal Status requests were sent, but the SLA UnlimitedCountAllowed was set to False.

POL0005

N/A

The number of Terminal Status requests exceeded the MaximumCount setting in an SLA.

POL0009

N/A

The Terminal Status request frequency violated the MaximumNotificationFrequency setting in an SLA.

POL0200

N/A

Busy criteria not supported.

SVC0001

MAP-000001

The Terminal Status communication service could not encode the anyTimeInterrogation MAP message. Check that the incoming Parlay X address request is correct and that the NetworkSelection for the supplied address has the correct MAPApplicationContext and MAPDialogueAS values.

SVC0001

SS7API-000001

The SS7 API failed to build and send a message to the SS7 stack. This usually means that the Terminal Status plug-in could not bind with the stack, or the bind was lost. Make sure that the stack is running and that the CpUserId and SS7 host/port/instance are correct.

SVC0001

SS7-000001

The SS7 stack received no answer or an incorrect answer. The SS7 stack did not send an anyTimeInterrogation call answer or the answer was incorrect. This probably indicates a problem with the SS7 stack. Make sure that the global title/SPC/SSN is configured correctly in the NetworkSelection. Start a SS7 stack trace and check the ss7trace.log file. See the SS7 documentation for more information.


Parlay X 2.1 Part 9: Terminal Location

This set of interfaces is compliant with ETSI ES 202 391-9 V1.2.1 (2006-12), Open Service Access (OSA); Parlay X Web Services; Part 9: Terminal Location (Parlay X 2).

Interface: TerminalLocation

The endpoint for the TerminalLocation interface is: http://host:port/parlayx21/terminal_location/TerminalLocation

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

GetLocation

Gets the location of a terminal.

Table 8-10 Exceptions and Error Codes

Exception Error code Reason/Action

SVC0001

TL-000007

There is a communication problems between Services Gatekeeper and the network node. Contact your Services Gatekeeper administrator.

SVC0001

TL-000010

There is a communication problem between Services Gatekeeper and the network node, and Services Gatekeeper was unable to interpret the response. Contact your Services Gatekeeper administrator.

SVC0001

TL-000009

No location data was received from network.

SVC0001

TL-000011

An unknown error was received from the network.

SVC0002

N/A

An invalid parameter was included in the terminal status request.

SVC0200

N/A

The location accuracy is invalid.

POL0001

N/A

General policy error.

POL0002

N/A

Privacy error.

POL0230

N/A

The requested accuracy is not supported.


GetTerminalDistance

Gets the distance from a certain point to the location of a terminal.

Table 8-11 Exceptions and Error Codes

Exception Error code Reason/Action

SVC0001

TL-000007

There is a communication problems between Services Gatekeeper and the network node. Contact your Services Gatekeeper administrator.

SVC0001

TL-000010

There is a communication problem between Services Gatekeeper and the network node, and Services Gatekeeper was unable to interpret the response. Contact your Services Gatekeeper administrator.

SVC0001

TL-000009

No location data was received from the network.

SVC0001

TL-000011

An unknown error was received from the network.

SVC0002

N/A

An invalid parameter was included in the terminal status request.

SVC0200

N/A

The location accuracy is invalid.

POL0001

N/A

General policy error.

POL0002

N/A

Privacy error.

POL0230

N/A

The requested accuracy is not supported.


GetLocationForGroup

Gets the location for one or more terminals.

Table 8-12 Exceptions and Error Codes

Exception Error code Reason/Action

SVC0001

TL-000007

There is a communication problems between Services Gatekeeper and the network node. Contact your Services Gatekeeper administrator.

SVC0001

TL-000010

There is a communication problem between Services Gatekeeper and the network node, and Services Gatekeeper was unable to interpret the response. Contact your Services Gatekeeper administrator.

SVC0001

TL-000009

No location data was received from the network.

SVC0001

TL-000011

An unknown error was received from the network.

SVC0002

N/A

An invalid parameter was included in the terminal status request.

SVC0004

N/A

No valid addresses were passed in on the request.

SVC0200

N/A

The location accuracy is invalid.

POL0001

N/A

General policy error.

POL0002

N/A

Privacy error.

POL0230

N/A

The requested accuracy is not supported.


Interface: TerminalLocationNotificationManager

The endpoint for the TerminalLocationNotificationManager interface is: http://host:port/parlayx21/terminal_location/TerminalLocationNotificationManager

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

StartGeographicalNotification

Initiates location notifications to the application when one or more terminals change their location according to a criteria.

Table 8-13 Exceptions and Error Codes

Exception Error code Reason/Action

SVC0001

TL-000003

Unable to start the geographical notification due to a network error. Contact your Services Gatekeeper administrator.

SVC0001

TL-000004

Unable to start geographical notification due to an internal error. Contact your Services Gatekeeper administrator.

SVC0002

N/A

The request included an invalid parameter.

SVC0004

N/A

The request did not include any valid addresses.

SVC0005

N/A

The correlator used already exists.

POL0001

N/A

General policy error.


StartPeriodicNotification

Initiates location notifications to the application on a periodic basis.

Table 8-14 Exceptions and Error Codes

Exception Error code Reason/Action

SVC0001

TL-000005

Unable to start periodic notification due to a network error. Contact your Services Gatekeeper administrator.

SVC0001

TL-000006

Unable to start periodic notification due to an internal error. Contact your Services Gatekeeper administrator.

SVC0002

N/A

The request included an invalid parameter.

SVC0004

N/A

The request did not include any valid addresses.

SVC0005

N/A

The correlator used already exists.

POL0001

N/A

General policy error.


EndNotification

Ends a previously started notification.

Table 8-15 Exceptions and Error Codes

Exception Error code Reason/Action

SVC0001

TL-000001

Unable to start geographical notification due to a network error. Contact your Services Gatekeeper administrator.

SVC0001

TL-000002

Unable to start geographical notification due to an internal error. Contact your Services Gatekeeper administrator.

SVC0002

N/A

The request included an invalid parameter.

POL0001

N/A

General policy error.


Interface: TerminalLocationNotification

The TerminalLocationNotification interface is implemented by an application, and the consumer of this interface is Services Gatekeeper. The WSDL that defines the interface can be downloaded from:

http://host:port/parlayx21/terminal_location/wsdls/parlayx_terminal_location_notification_interface_2_2.wsdl

http://host:port/parlayx21/terminal_location/wsdls/parlayx_terminal_location_notification_service_2_2.wsdl

http://host:port/parlayx21/terminal_location/wsdls/parlayx_terminal_location_types_2_2.xsdl

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

LocationNotification

Notifies an application about a change of location for a terminal.

LocationError

Notifies an application that the subscription for location notifications was cancelled by Services Gatekeeper.

LocationEnd

Notifies an application that no more location notifications are being sent to the application.

Error Codes

See "General error codes".

Parlay X 2.1 Part 11: Audio Call

This set of interfaces is compliant with ETSI ES 202 391-11 V1.2.1 (2006-12) Open Service Access (OSA); Parlay X Web Services; Part 11: Audio Call (Parlay X 2).

Interface: PlayAudio

The endpoint for the PlayAudio interface is: http://host:port/parlayx21/audio_call/AudioCall.

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

EndMessage

Cancels previous play request.

GetMessageStatus

Requests the status of a previous play request.

PlayAudioMessage

Play an audio file (such as .WAV).

PlayTextMessage

Play text to a text-to-speech engine.

PlayVoiceXmlMessage

Play a VXML file.

Error Codes

See "General error codes".

Parlay X 2.1 Part 14: Presence

This set of interfaces is compliant with ETSI ES 202 391-14 V1.2.1 (2006-12), Open Service Access (OSA); Parlay X Web Services; Part 14: Presence (Parlay X 2).

Interface: PresenceConsumer

The endpoint for the PresenceConsumer interface is: http://host:port//parlayx21/presence/PresenceConsumer

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

subscribePresence

Requests a subscription for presence information about a presentity.

For the parameter presentity, only SIP URI can be used. Group-URI is not supported.

getUserPresence

Gets presence information about a presentity.

For the parameter presentity, only SIP URI can be used. Group-URI is not supported.

startPresenceNotification

Initiates presence notifications to the application when one or more presence attributes changes for a presentity.

For the parameter presentity, only SIP URI can be used. Group-URI is not supported.

The parameter frequency is not supported. The application is notified when an update of presence information is received from the network.

endPresenceNotification

Ends a previously started notification.

Interface: PresenceNotification

The PresenceNotification interface is implemented by an application, and the consumer of this interface is Services Gatekeeper. The WSDL that defines the interface can be downloaded from:

http://host:port/parlayx21/presence/wsdls/parlayx_presence_notification_interface_2_3.wsdl

http://host:port/parlayx21/presence/wsdls/parlayx_presence_notification_service_2_3.wsdl

http://host:port/parlayx21/presence/wsdls/parlayx_presence_types_2_3.xsd

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

statusChanged

Notifies an application about a change of presence attributes for a presentity.

statusEnd

Notifies an application that no more notifications will be sent to the application.

notifySubscription

Notifies an application that the presentity has handled the request for presence information.

subscriptionEnded

Notifies an application that the subscription for presence information has ended.

Interface: PresenceSupplier

The endpoint for the PresenceSupplier interface is: http://host:port/parlayx21/presence/PresenceSupplier where values for host and port depend on the Services Gatekeeper deployment.

The Presence Supplier interface requires that a Presence Server be available in the underlying network. Services Gatekeeper interacts with this server to provide this functionality to the application.

By default, Services Gatekeeper maps a presentity URI parameter to the client's Application Instance ID. This information is required to interact with the network and Parlay X 2.1 does not provide it by default.

The application can override this value using the "Parameter Tunneling" function. The param to use is key = “wlng.presence.parlay21.presentity.uri” and value = $the_desired_URI.

publish

Publishes presence data about a presentity.

Note:

The Presence Server in the network must support http://tools.ietf.org/html/draft-ietf-simple-partial-publish-07#page-4 for this functionality to work.

getOpenSubscriptions

Gets a list of new watchers who wish to subscribe to this presentity's data.

updateSubscriptionAuthorization

Adds new watchers and updates the permissions of existing watchers of this presentity's data. This is the usual follow-up to the getOpenSubscriptions operation.

Note:

This operation requires the presence of both a Presence Server and a Data Manipulation Server in the underlying network.

An SVC0220 service exception (NoSubscriptionRequest) is thrown if the presentity attempts to confirm the subscription of a watcher who has not asked to subscribe to the presentity's data.

getMyWatchers

Returns an array of the watchers that are subscribed to the presentity's data.

getSubscribedAttributes

Not supported.

blockSubscription

Blocks the flow of presence information to a subscribed watcher by cancelling the subscription. The watcher is notified using "subscriptionEnded".

An SVC0221 service exception (Not a watcher) is thrown if the URI in the field watcher is not a watcher of the presentity.

Error Codes

See "General error codes".

About notifications

After an application starts notification, the notification persists. If an application has started a notification and destroys the session, the notification remains registered and matching notifications are sent to the application when it connects to Services Gatekeeper.

General Exceptions

This section describes the exception handling for the Parlay X 2.1 interfaces.

These exception types are defined:

  • Service Exceptions

  • Policy Exceptions

Service Exceptions are related to the operation of the service itself. The following exceptions are general:

  • SVC0001: Service error.

  • SVC0002: Invalid input value

  • SVC0003: Invalid input value with list of valid values

  • SVC0004: No valid addresses

  • SVC0005: Duplicate correlator

  • SVC0006: Invalid group

  • SVC0007: Invalid charging information

  • SVC0008: Overlapping Criteria

Policy Exceptions are thrown when a policy has been violated, including violations of a service level agreements. The following general Policy Exceptions are defined:

  • POL0001: Policy error.

  • POL0002: Privacy error.

  • POL0003: Too many addresses specified.

  • POL0004: Unlimited notifications not supported.

  • POL0005: Too many notifications requested.

  • POL0006: Groups not allowed.

  • POL0007: Nested groups not allowed.

  • POL0008: Charging not supported.

  • POL0009: Invalid frequency requested.

Within the exception, an error code is defined. The error code details why the exception was thrown. See "General error codes".

General error codes

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

  • Null sessionID (loginTicket) expired.

  • CN-000001 Two requests for call direction overlap with each other.

  • CN-000002 Internal error when accessing the subscription storage.

  • CN-000003 Could not find the call-back plug-in.

  • CN-000004 The call direction routing address is not valid.

  • MAP-000001 The Terminal Status plug-in failed to encode the anyTimeInterrorgation MAP message.

  • MMS-000001 Unable to perform action. Network error. Check that the incoming Parlay X address request is correct and that the NetworkSelection for the supplied address has the correct MAPApplicationContext and MAPDialogueAS values

  • MMS-000002 Unable to retrieve configuration, internal error.

  • MMS-000003 The used address type is not supported.

  • MMS-000004 An error occurred when an attachment was put into the request context.

  • MMS-000005 The MM7 Relay server responded with an error code, which includes the status code and the status text in the following format: MMS-000005:StatusCode:StatusText.

    For example, if the MMSC response were:

    <rel:Status>
        <rel:StatusCode>4000</rel:StatusCode>
        <rel:StatusText>Hello</rel:StatusText>
    </rel:Status>
    

    the SVC0001 ServiceException error code would be:

    "MMS-000005:4000:Hello".

  • OSA-000001 Invalid network state.

  • OSA-000002 Invalid interface type.

  • OSA-000003 Invalid event type.

  • OSA-000004 Unsupported address plan.

  • OSA-000005 Communication failure between OSA Gateway and Services Gatekeeper.

  • PLC-000001 Internal policy engine error.

  • PLG-000001 Could not find remote ejb home in access tier.

  • PLG-000002 Could not create the ejb.

  • PLG-000003 Could not access callback ejb.

  • PLG-000004 Matching plug-in cannot be found because, for example, route has not been set up.

  • PRESENCE-000001 Failed to use the default duration for a notification.

  • PRESENCE-000002 Failed to use the default value for count for a notification.

  • PRESENCE-000003 The application has no SIP-URI mapping configured.

  • PRESENCE-000004 Internal error. Failed to put data in WorkContext.

  • SIP-000001 Could not find remote ejb home.

  • SIP-000002 Could not create the ejb.

  • SIP-000003 Could not access remote ejb.

  • SIP-000004 Could not create SIP session.

  • SIP-000005 Failed to send SIP message.

  • SIP-000006 Internal SIP stack error.

  • SMS-000001 Unable to perform action. Network error.

  • SMS-000002 Unable to retrieve configuration, internal error.

  • SMS-000003 The used address type is not supported.

  • SMS-000004 Unable to encode message segments.

  • SMS-000005 GSM message format incorrect.

  • SMS-000006 Could not send message. Message was not accepted by the network.

    The status code and the status text are in the following format: SMS-000006:CommandStatus:Description

    For example, if the SMSC commandstatus response is:

    0x0000000B(ESME_RINVDSTADR)
    

    the SVC0001 ServiceException error code is:

    "SMS-000006:11:Invalid Dest Addr".

    The description of the command status is taken from the SMPP Specification v3.4. If the command status in the response from the SMSC is not explicitly described in the SMPP Specification, the text of the error is No description available for CommandStatus.

  • SS7API-000001 The SS7 server failed to build and send the message to the SS7 stack. Make sure that the stack is running and that the CpUserId and SS7 host/port/instance are correct.

  • SS7-000001 No answer or an incorrect answer received from the SS7 stack.

  • TL-000001 Unable to end notification because of a network error.

  • TL-000002 Unable to end notification because of an internal error.

  • TL- 000003 Unable to start geographical notification because of a network error.

  • TL-000004 Unable to start geographical notification because of an internal error.

  • TL-000005 Unable to start periodic notification because of a network error.

  • TL-000006 Unable to start periodic notification because of an internal error.

  • TL-000007 Unable to get location because of a network error.

  • TL-000008 Unable to get location because of an internal error.

  • TL-000009 Unable to get location because no data was found.

  • TL-000010 Failed to parse response because of an internal error.

  • TL-000011 Failed to get location information because the MLP server returned an error.

  • TPC-000001 Unable to retrieve configuration because of an internal error.

  • TS-000001 Communication problems between Services Gatekeeper and the network node. Contact your Services Gatekeeper administrator. The GroupRequestTimeout attribute may be too low.

  • TS-000002 Could not find a network service route to match the address. Validate the network selection routes. You may want to add a default route (expression=DEFAULT) to capture any addresses that do not matched any other expression.

  • TS-000003 No result returned from a getStatusForGroup query. Update getGroupRequestTimeout to an appropriate value and check the status of network connection

  • TS-000004 Did not find the correlator when sending an end-status notification. The value of correlator in the endNotification request is incorrect, or the notification has already been terminated by the network.

  • TS-000005 Could not initialize the object. Check the instancemap configuration file.

  • TS-000006 Failed to access storage. Check the status of the storage service and database.

  • WNG-000000 No error.

  • WNG-000001 Unknown error.

  • WNG-000002 Storage service error.

Code examples

The following code examples illustrate how to use the Parlay X 2.1 interfaces.

Example: sendSMS

This is an SMS sending example.

Example 8-1 SendSMS example

org.csapi.schema.parlayx.sms.send.v2_2.local.SendSms request =
new org.csapi.schema.parlayx.sms.send.v2_2.local.SendSms();
SimpleReference sr = new SimpleReference();
sr.setEndpoint(new URI("http://localhost:8111/SmsNotificationService/services/SmsNotification?WSDL"));
sr.setCorrelator("cor188");
sr.setInterfaceName("InterfaceName");
ChargingInformation charging = new ChargingInformation();
charging.setAmount(new BigDecimal("1.1"));
charging.setCode("qwerty");
charging.setCurrency("USD");
charging.setDescription("some charging info");
sendInf.setCharging(charging);
URI[] uri = new URI[1];
uri[0] = new URI("1234");
request.setAddresses(uri);
request.setCharging(charging);
request.setReceiptRequest(sr);
request.setMessage("we are testing sms!");
request.setSenderName(“6001”);
org.csapi.schema.parlayx.sms.send.v2_2.local.SendSmsResponse response =
smport.sendSms(request);
String sendresult = response.getResult();
System.out.println("result: " + sendresult);

Example: startSmsNotification

This is an example of how to use startSmsNotification.

Example 8-2 startSmsNotification example

org.csapi.schema.parlayx.sms.notification_manager.v2_3.local.StartSmsNotification parameters = 
new org.csapi.schema.parlayx.sms.notification_manager.v2_3.local.StartSmsNotification();
parameters.setCriteria("hello");
SimpleReference sr = new SimpleReference();
sr.setEndpoint(new URI("http://localhost:8111/SmsNotificationService/services/SmsNotification?WSDL"));
sr.setCorrelator("cor189");
sr.setInterfaceName("interfaceName");
parameters.setReference(sr);
URI uri = new URI("tel:6001");    
parameters.setSmsServiceActivationNumber(uri);
port.startSmsNotification(parameters);

Example: getReceivedSms

This example shows how to poll for SMS messages using getReceivedSms.

Example 8-3 getReceivedSms example

org.csapi.schema.parlayx.sms.receive.v2_2.local.GetReceivedSms parameters = 
new org.csapi.schema.parlayx.sms.receive.v2_2.local.GetReceivedSms();
parameters.setRegistrationIdentifier("1");
org.csapi.schema.parlayx.sms.receive.v2_2.local.GetReceivedSmsResponse response =
port.getReceivedSms(parameters);
org.csapi.schema.parlayx.sms.v2_2.SmsMessage[] msgs = 
response.getResult();
if(msgs != null) {
  for(org.csapi.schema.parlayx.sms.v2_2.SmsMessage msg : msgs) {
    System.out.println(msg.getMessage());
  }
}

Example: sendMessage

This is an MMS sending example.

Example 8-4 sendMessage example

org.csapi.schema.parlayx.multimedia_messaging.send.v2_4.local.SendMessage request =
new org.csapi.schema.parlayx.multimedia_messaging.send.v2_4.local.SendMessage();
ChargingInformation charging = new ChargingInformation();
charging.setAmount(new BigDecimal("1.1"));
charging.setCode("qwerty");
charging.setCurrency("USD");
charging.setDescription("some charging info");
sendInf.setCharging(charging);
SimpleReference sr = new SimpleReference();
if(getProperty("notification_mt").equalsIgnoreCase("true")) {
  sr.setEndpoint(new URI(getProperty(ClientConstants.NOTIFICATION_LISTENER_URL)));
  sr.setCorrelator(getProperty("correlator"));
  sr.setInterfaceName(getProperty("interfacename"));
}
URI[] uri = new URI[1];
uri[0] = new URI("1234");
request.setAddresses(uri);
request.setCharging(charging);
request.setPriority(MessagePriority.fromString("Default"));
request.setReceiptRequest(sr);
request.setSenderAddress("6001");
request.setSubject("subject");
org.csapi.schema.parlayx.multimedia_messaging.send.v2_4.local.SendMessageResponse response =
smport.sendMessage(request);
String sendresult = response.getResult();
System.out.println("sendresult: " + sendresult);

Example: getReceivedMessages and getMessage

This is shows polling for a received MMS.

Example 8-5 getReceivedMessages and getMessage example

org.csapi.schema.parlayx.multimedia_messaging.receive.v2_4.local.GetReceivedMessages parameters = 
new org.csapi.schema.parlayx.multimedia_messaging.receive.v2_4.local.GetReceivedMessages();
parameters.setPriority(org.csapi.schema.parlayx.multimedia_messaging.v2_4.MessagePriority.fromString("Default"));
parameters.setRegistrationIdentifier("2");
org.csapi.schema.parlayx.multimedia_messaging.receive.v2_4.local.GetReceivedMessagesResponse result = 
port.getReceivedMessages(parameters);
org.csapi.schema.parlayx.multimedia_messaging.v2_4.MessageReference[] refs = 
result.getResult();
if(refs != null) {
  for(org.csapi.schema.parlayx.multimedia_messaging.v2_4.MessageReference ref : refs) {
    String id = ref.getMessageIdentifier();
    org.csapi.schema.parlayx.multimedia_messaging.receive.v2_4.local.GetMessage p2 = 
    new org.csapi.schema.parlayx.multimedia_messaging.receive.v2_4.local.GetMessage();
    p2.setMessageRefIdentifier(id);
    port.getMessage(p2);
  }
}

Example: getLocation

This example shows how to get the location of a terminal.

Example 8-6 getLocation example

org.csapi.schema.parlayx.terminal_location.v2_2.local.GetLocation parameters = 
new org.csapi.schema.parlayx.terminal_location.v2_2.local.GetLocation();
parameters.setAcceptableAccuracy(5);
parameters.setAddress(new URI("1234"));
parameters.setRequestedAccuracy(5);
TimeMetric maximumAge = new TimeMetric();
maximumAge.setMetric(TimeMetrics.fromString("Hour"));
maximumAge.setUnits(10);
parameters.setMaximumAge(maximumAge);
TimeMetric responseTime = new TimeMetric();
responseTime.setMetric(TimeMetrics.fromString("Hour"));
responseTime.setUnits(1);
parameters.setResponseTime(responseTime);
DelayTolerance tolerance = DelayTolerance.fromString("NoDelay");
parameters.setTolerance(tolerance);
org.csapi.schema.parlayx.terminal_location.v2_2.local.GetLocationResponse response = 
port.getLocation(parameters);
org.csapi.schema.parlayx.terminal_location.v2_2.nfo result = 
response.getResult();
System.out.println("accuracy : " + result.getAccuracy());
System.out.println("altitude : " + result.getAltitude().floatValue());
System.out.println("latitude : " + result.getLatitude());
System.out.println("longitude : " + result.getLongitude());
System.out.println("timestamp : " + result.getTimestamp());