This chapter introduces developing client applications to interact with Oracle Communications Services Gatekeeper:
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:
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:
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).
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Using this communication service, an application can establish an Oracle Communications Services Gatekeeper session.
The RESTful APIs provide access to functionality similar to the SOAP Facade. The interfaces include:
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.
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
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
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
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)
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.
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.
Using the communication service based on this interface enables an application to send a WAP Push message.
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
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.
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.
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.
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.
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.