# Concepts and Architectural Overview

# Developing Applications

This chapter introduces developing client applications to interact with Oracle Communications Services Gatekeeper:

- Overview of Interfaces
- References
- SDK

## Overview of Interfaces

Oracle Communications Services Gatekeeper allows operators to provide client application developers with a choice of interface types, based on the needs of their applications. Oracle Communications Services Gatekeeper provides:

- SOAP-based interfaces, for both traditional Web Services and Oracle Service Bus environments
- RESTful interfaces
- Native telephony interfaces (MM7 and SMPP).

### SOAP-Based Interfaces

The SOAP-based Web Services APIs are based on the Parlay X 2.1 and 3.0 standards and also include three additional Extended Web Services ones to cover Binary SMS, Subscriber Profile, and WAP Push, functionality which is not supported by Parlay X. These interfaces include:

- Third Party Call (Parlay X 2.1 and 3.0)

Using the communication services based on these interfaces, an application can set up a call between two parties (the caller and the callee), poll for the status of the call, and end the call. In addition, applications that use the Parlay X 3.0 based communication service can also add or delete additional parties, transfer call participants, get the call session information associated with a call participant, and interact with certain other communication service functionality, using Audio Call (play media to one or more parties and/or collect data from them) and Call Notification (respond to call event notifications previously established).

- Audio Call (Parlay X 3.0)

Using the communication service based on this interface, an application can play audio to one or more call participants in a call session that was set up using the Parlay X 3.0 Third Party Call service. It is also possible to collect digits from the participant in response to the audio, which can be delivered to the application using the Parlay X 3.0 Call Notification communication service.

- Call Notification (Parlay X 2.1 and 3.0)

Using the communication services based on these interfaces, an application can set up and end notifications on call events, such as a callee in a third-party call attempt being busy. If desired, the application can then reroute the call to another party. In addition, the Parlay X 3.0 communication service can work in concert with certain other communication service functionality, using Third Party Call or Audio Call.

- Short Messaging (Parlay X 2.1)

Using the communication service based on this interface, an application can send SMS text messages, ringtones, or logos to one or multiple addresses, set up and receive notifications for final delivery receipts of those sent items, and arrange to receive SMSs meeting particular criteria from the network.

- Multimedia Messaging (Parlay X 2.1)

Using the communication service based on this interface, an application can send multimedia messages to one or multiple addresses, set up and receive notifications for final delivery receipts of those sent items, and arrange to receive MMSs meeting particular criteria from the network.

- Terminal Location (Parlay X 2.1)

Using the communication service based on this interface, an application can request the position of one or more terminals or the distance between a given position and a terminal. It can also set up and receive notifications based on geographic location or time intervals.

- Presence (Parlay X 2.1)

Using the communication service based on this interface, an application can act as either of two different parties to a presence interaction: as a presentity or as a watcher. A presentity agrees to have certain data (called attributes) such as current activity, available communication means, and contact addresses made available to others while a watcher is a consumer of such information. As a watcher, an application can request to subscribe to all or a subset of a presentity’s data, poll for that data, and start and end presence notifications. As a presentity, an application can publish presence data about itself, check to see if any new watchers wish to subscribe to its presence data, authorize those watchers it chooses to authorize, block those it wishes not to have access, and get a list of currently subscribed watchers.

- Payment (Parlay X 3.0)

Using the communication service based on this interface, an application can charge an amount to an end-user’s account using Diameter, refund amounts to that account, and split charge amounts among multiple end-users. An application can also reserve amounts, reserve additional amounts, charge against the reservation or release the reservation.

- Binary SMS (EWS)

Using the communication service based on this interface, an application can send and receive generic binary objects (for example, a vCard) using SMS mechanisms, and set up and receive notifications. This interface is not based on the Parlay X standards, but instead belongs to the Oracle Extended Web Services set.

- WAP Push (EWS)

The application-facing interface of this communication service is not based on the Parlay X 2.1 specification. Many elements within it, however, are based on widely distributed standards. Using the communication service based on this interface, an application can send a WAP Push message, send a replacement WAP Push message, or set up status notifications about previously sent messages.

- Subscriber Profile (EWS)

The application-facing interface of this communication service is based on a subset of that in a proposed Parlay X version. Using the communication service based on this interface, an application can retrieve either individual properties associated with a subscriber profile record stored in an LDAP data source in the underlying network or entire profiles from that data source.

- Session Manager (EWS)

Using this communication service, an application can establish an Oracle Communications Services Gatekeeper session.

### RESTful Interfaces

The RESTful APIs provide access to functionality similar to the SOAP Facade. The interfaces include:

- Short Messaging

Using the communication service based on this interface enables an application to send an SMS, a ringtone, or a logo, and to fetch SMSs and delivery status reports for the application that have been received and stored on Oracle Communications Services Gatekeeper. It also allows an application to start and stop a notification.

- Multimedia Messaging

Using the communication service based on this interface enables an application to send an MMS and to fetch information on MMSs for the application that have been received and stored on Oracle Communications Services Gatekeeper. It also allows the application to fetch those messages. The application can also get delivery status on sent messages, and start and stop a notification

- Terminal Location

Using the communication service based on this interface enables an application to get a location for an individual terminal or a group of terminals; to get the distance of the terminal from a specific location; and to start and stop notifications, based on geographic location or on a periodic interval

- Third Party Call

Using the communication service based on this interface enables an application to set up a call, get information on that call, cancel the call request before it is successfully completed, or end a call that has been successfully set up

- Call Notification

Using the communication service based on this interface enables an application to set up and remove call notifications (in which the application is informed of a particular state - busy, unreachable, etc. - of the call) or to set up and remove call direction notifications (in which the application is queried for information on handling a call that is in a particular state)

- Presence

Using the communication service based on this interface enables an application to act as either of two different parties to a presence interaction: as a presentity or as a watcher. A presentity agrees to have certain data (called attributes) such as current activity, available communication means, and contact addresses made available to others while a watcher is a consumer of such information. As a watcher, an application can request to subscribe to all or a subset of a presentity’s data, poll for that data, and start and end presence notifications. As a presentity, an application can publish presence data about itself, check to see if any new watchers wish to subscribe to its presence data, authorize those watchers it chooses to authorize, block those it wishes not to have access, and get a list of currently subscribed watchers.

- Payment

Using the communication service based on this interface enables an application to charge an amount to an end-user’s account using Diameter, refund amounts to that account, and split charge amounts among multiple end-users. An application can also reserve amounts, reserve additional amounts, charge against the reservation or release the reservation.

- WAP Push

Using the communication service based on this interface enables an application to send a WAP Push message.

- Session Manager

Using the communication service based on this interface enables an application to get a session ID, get the time remaining in a session’s lifetime, and destroy a session

### Native Interfaces

- Native MM7

The application-facing interface of this communication service is based on the 3GPP MM7 standard. Using the communication service based on this interface, an application can send and receive MMSs and receive status notifications about previously sent messages.

- Native SMPP

The application-facing interface of this communication service is based on the SMS Forum standard. Using the communication service based on this interface, an application can send and receive SMSs and receive status notifications about previously sent messages.

## References

Oracle Communications Services Gatekeeper ships with Application Development Guide and RESTful Application Development Guide, separate documents in this set, which cover both the APIs themselves and some additional information an application developer needs. Because the SOAP and Restful APIs are Web Services based, applications can be developed using any environment that the developer chooses.

## SDK

As an option, application developers using the SOAP-based interfaces can also access a set of tools created to ease the development process. The Oracle Communications Services Gatekeeper SDK includes an Oracle Communications Services Gatekeeper simulator and a network simulator. Applications use the interfaces on the Simulator just as they would on an Oracle Communications Services Gatekeeper instance running on a telecom network.

Included with the Simulator is a developer’s copy of WebLogic Server, the environment in which the Simulator runs. For more on what is needed to use the SDK and run the Simulator, see the SDK User Guide, a separate volume in this set. The SDK also ships with a set of predefined Oracle Workshop for Weblogic controls.

In addition, there is a GUI-based testing environment that runs on the Simulator for applications that are developing MMS, SMS, WAP Push, and Terminal Location functionality. See Figure 5-1 below.

Figure 5-1 The Oracle Communications Services Gatekeeper Simulator GUI Testing Environment

The Messaging and Location testing interface of the Simulator consists of a GUI which displays a map. The map can be changed to represent different geographical areas. Mobile terminals representing the application’s end users are added to the map and given a phone number. These terminals can then be used as testing targets, sending and receiving messages, and querying for location. After the terminals have been defined, they can be moved to different locations on the map.