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

Part Number E16611-02
Go to Documentation Home
Home
Go to Book List
Book List
Go to Table of Contents
Contents
Go to Feedback page
Contact Us

Go to previous page
Previous
Go to next page
Next
View PDF

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://portal.etsi.org/docbox/TISPAN/Open/OSA/ParlayX21.html

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.

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

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-1 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-2 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-3 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-4 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.

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-5 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-6 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-7 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-8 includes additional diagnostic information specific to the Terminal Status/MAP plug-in.

Table 8-8 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-9 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

And 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-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 the network.

SVC0001

TL-000011

An unknown error was received from the network.

SVC0002

N/A

And 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-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

And 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-12 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-13 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-14 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).

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 are related to the operation of the service itself. The following exceptions are general:

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

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:

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 SMSes 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());