9 Parlay X 2.1 Presence/SIP

This chapter describes the Oracle Communications Services Gatekeeper Parlay X 2.1 Presence/SIP communication service in detail.

Overview of the Parlay X 2.1 Presence/SIP Communication Service

The Parlay X 2.1 Presence/SIP communication service exposes both the watcher aspect and the presentity aspect of the Parlay X 2.1 Presence set of application interfaces.

The communication service connects to a SIP-IMS network using Oracle Converged Application Server. Converged Application Server is collocated with Services Gatekeeper in the network tier.

For the exact version of the standards that the Parlay X 2.1 Presence/SIP communication service supports for the application-facing interfaces and the network protocols, see Services Gatekeeper Statement of Compliance.

The Parlay X 2.1 Presence/SIP communication service supports the Rich Presence Information Data (RPID) parser with the Open Mobile Alliance (OMA) extensions.

Presence information is a collection of data on an end user's status, such as current activity, environment, available communication means, and contact addressees. Using the presence functionality, an application can function as a client in two modes: as a watcher or as a presentity. A watcher is a client that is interested in consuming presence information. A presentity is a client that allows its presence information to be delivered to watchers.

Client as Presence Consumer

An application acting as a watcher can:

  • Subscribe to obtain presence data.

    Each subscription requires authorization by the presentity. The authorization is returned asynchronously via the notification interface.

  • Choose to acquire presence information when a subscription has been established using:

    • Direct synchronous polling. This is only effective for a single presentity. Groups are not supported.

    • Specific notifications. These can be used for a single presentity. The watcher sets a notification trigger based on certain user presence attribute changes.

      Possible attribute types include:

      • Activity (User's status: Available, Busy, At Lunch, and so on.)

      • Place (User's current location: Home, In a Public Place, and so on.)

      • Privacy (Degree of privacy the user has: Surrounded by Others, Alone and Can Talk Openly, and so on.)

      • Sphere (User's personal status: In his Work Capacity; In his Personal Capacity)

      • Communication means (Type of communication client preferred: Phone, Email, SMS, and so on.)

      • Other (name-value pair for arbitrary information)

      Non-attribute notification parameters can include:

      • Maximum frequency of notifications

      • Duration of time during which notifications should occur

      • Maximum number of notifications

      • Whether status should be checked immediately after notification setup

  • End notifications. In this case, the subscription to the presentity is retained, but the specific notification is ended.

  • Receive information that:

    • The initial conditions of the notification setup have been met (count or duration) and this specific setup has been ended.

    • The subscription itself has ended.

Client as Presence Supplier

An application acting as a presentity can:

  • Publish present information.

  • Get a list of new watchers who have asked to subscribe to the client's presence information.

  • Approve new watchers and update the subscriptions of current watchers.

  • Get a list of currently subscribed watchers.

  • Block the subscription of a currently subscribed watcher.

The presentity functionality requires a presence server in the underlying network. To approve new watchers and update the subscriptions of current watchers, there must also be a data manipulation server (DMS) in the underlying network. The block functionality is supported in two modes, one using a DMS and one not.

Application Interfaces

For information about the SOAP-based interface for the Parlay X 2.1 Presence communication service, the discussion about Parlay X 2.1 Part 14: Presence Interfaces in Services Gatekeeper Application Developer's Guide.

Information on the RESTful Presence interface is provided in the discussion about the interface in Services Gatekeeper Application Developer's Guide.

The RESTful Service Call Notification interfaces provide RESTful access to the same functionality as the SOAP-based interfaces. The internal representations are identical, and for the purposes of creating service level agreements (SLAs), reading charging data records (CDRs), and so on, they are the same.

Events and Statistics

The Parlay X 2.1 Presence/SIP communication service generates event data records (EDRs), CDRs), alarms, and statistics to assist system administrators and developers in monitoring the service.

See "Events, Alarms, and Charging" for more information.

Event Data Records

Table 9-1 lists IDs of the EDRs created by the Presence/SIP communication service. This list does not include EDRs created when exceptions are thrown.

Table 9-1 EDRs Generated by Parlay X 2.1 Presence/SIP

EDR ID Method Called

2000

notifyReceived

2001

makeNotifySubscriptionCallback (includes Endpoint, string)

2002

makeSubscriptionEndedCallback (includes Endpoint, string)

2003

makeStatusChangedCallback (includes Endpoint, string)

2004

makeStatusEndCallback (includes Endpoint, string)

2005

subscribePresence (processes from application)

2006

getUserPresence

2007

startPresenceNotification

2008

endPresenceNotification

2009

publish

2010

blockSubscription

2011

getMyWatchers

2012

getOpenSubscriptions

2013

updateSubscriptionAuthorization

2015

onRequest (Watcher Info Notify)


Charging Data Records

Presence/SIP-specific CDRs are generated under the following conditions:

  • After the result of a poll for presence is successfully returned to the application.

  • After a notification for presence information is successfully sent to the application.

A Presence CDR contains an additional_info field for a notification call. This field contains the endpoint.

Statistics

Table 9-2 maps methods invoked from either the application or the network to the transaction types collected by the Services Gatekeeper statistics counters.

Table 9-2 Methods and Transaction Types for Parlay X 2.1 Presence/SIP

Method Transaction Type

getUserPresence

TRANSACTION_TYPE_PRESENCE_SERVICE_INITIATED

makeStatusChangedCallback

TRANSACTION_TYPE_PRESENCE_NETWORK_INITIATED


Alarms

For the list of alarms, see Services Gatekeeper Alarms Handling Guide.

Tunneled Parameters for Parlay X 2.1 Presence / SIP

This section lists the parameters that can be tunneled.

expireskey

Description

This value is used to cancel a subscription to a user presence. The parameter is configured in the SIP plug-in.

If set, this value replaces the default SubscribeExpiryValue configured in the PresenceMBean.

Can be set using parameter tunneling.

Format

String

Example
<xparams> <param key="expireskey" value="1210"/> </xparams>

passidkey

Description

This value is used among trusted intermediaries to assert the identity of a user sending a SIP message as it was identified by authentication.

Can be set using parameter tunneling.

Format

String

Example
<xparams> <param key="passidkey" value="sip:leffe@keffo.com"/> </xparams>

Managing Parlay X 2.1 Presence/SIP

This section describes the properties and workflow for the Parlay X 2.1 Presence/SIP plug-in instance. It also describes the caches used by the plug-in instance.

Parlay X 2.1 Presence/SIP uses two parts for SIP connectivity: a part that executes as a network protocol plug-in instance in the Services Gatekeeper container and a part that executes as a SIP application in the SIP Server container.

This plug-in service does not support multiple instantiation using the Plug-in Manager. There is a one to one mapping between plug-in service and plug-in instance. The plug-in instance is created when the plug-in service is started.

URI Cache

In Parlay X 2.1 Presence, the SIP URI of the user (the presentity in Presence Supplier cases, the watcher in Presence Consumer cases) is not passed as an argument. Instead, Services Gatekeeper maps the user URI to the application instance ID of the user application. The URI mapping is configured as a part of the service provider and application provisioning workflow and is then stored in the URI cache.

For requests that originate from an application, the URI is fetched from this cache before being put into the from header in the SIP requests. For application-terminating requests, the to header URI passed in the SIP NOTIFY requests is used to look up the account user name and application instance ID.

In the case of the Presence Supplier interface, the application can override the default mapping by including a tunneled parameter in the header of its request.

Subscriptions Cache

Every subscription, pending or not, is stored in the subscriptions cache during the subscription's lifetime. It is added when an application invokes the subscribePresence method on the application-facing interface. It is removed when the subscription is terminated.

Notifications Cache

All registered notifications are cached. The entries are created when an application calls the startPresenceNotification on the application-facing interface. They are removed when endPresenceNotification is called, the end criteria are reached, or the subscription is ended.

Properties for Parlay X 2.1 Presence/SIP

Table 9-3 lists the technical specifications for the communication service.

Table 9-3 Properties for Parlay X 2.1 Presence/SIP

Property Description

Managed object in Administration Console

To access the managed object, select domain_name, then OCSG, server_name, Communication Services, and then Plugin_px21_presence_sip in that order.

MBean

Domain=com.bea.wlcp.wlng

Name=wlng_nt

InstanceName=Plugin_px21_presence_sip

Type=com.bea.wlcp.wlng.plugin.presence.sip.management.PresenceMBean

Documentation: See the ”All Classes” section of Services Gatekeeper OAM Java API Reference.

Network protocol plug-in service ID

Plugin_px21_presence_sip

Network protocol plug-in instance ID

Plugin_px21_presence_sip

Supported Address Scheme

sip

Application-facing interfaces

com.bea.wlcp.wlng.px21.plugin.PresenceConsumerPlugin

com.bea.wlcp.wlng.px21.plugin.PresenceSupplierPlugin

com.bea.wlcp.wlng.px21.callback.PresenceNotificationCallback

Service type

Presence

Exposes to the service communication layer a Java representation of:

Parlay X 2.1 Part 14: Presence

Interfaces with the network nodes using:

SIP: Session Initiation Protocol, RFC 3261.

Deployment artifact:

NT EAR

wlng_nt_presence_px21.ear

Plugin_px21_presence_sip.jar, px21_presence_service.jar, and px21_presence_sip.jar

Deployment artifact:

AT EAR: Normal

wlng_at_presence_px21.ear

px21_presence.war, px21_presence_callback.jar, and rest_presence.war

Deployment artifact:

AT EAR: SOAP Only

wlng_at_presence_px21_soap.ear

px21_presence.war and px21_presence_callback.jar


Configuration Workflow for Parlay X 2.1 Presence/SIP

Following is an outline for configuring the plug-in using the PresenceMBean in the Administration Console or an MBean browser.

  1. Select the MBean described in "Properties for Parlay X 2.1 Presence/SIP".

  2. Configure these fields of the network protocol plug-in instance:

    • DefaultNotificationCount

    • DefaultNotificationDuration

    • NotificationCleanupTimerValue

    • NotificationCleanupTimerValue

  3. Configure connection information to the SIP server using the SubscriptionCleanupTimerValue attribute.

  4. Set up the routing rules to the plug-in instance. See the discussion about configuring and managing the plug-in manager in Services Gatekeeper System Administrator's Guide. Use the plug-in instance ID and address schemes listed in the "Properties for Parlay X 2.1 Presence/SIP" section.

  5. If required, create and load a node SLA. For details see the discussion about "Defining Gobal Node and Service Provider Group Node SLAs and Managing SLAs in the Services Gatekeeper Accounts and SLAs Guide.

  6. Provision the service provider accounts and application accounts. For information, see Services Gatekeeper Portal Developer's Guide.

Provisioning Workflow for Parlay X 2.1 Presence/SIP

For every application, use the setApplicationInstanceSIPURI method of PresenceMBean to define a mapping between a SIP URI and application instance ID.

Use the getApplicationInstanceSIPURI method to display the mapping.

If an application is deleted, use the removeApplicationInstanceFromCache method to remove the data for the application.

Management Methods for Parlay X 2.1 Presence/SIP

You use these methods to the PresenceMBean to manage Parlay X 2.1 Presence/SIP:

  • clearCache

  • listNotificationsCache

  • istSubscriptionsCache

  • listURImappingCache

  • updateSubscriptionToBeconfirmed

For a description of the attributes and operations of PresenceMBean, see the "All Classes" section of Services Gatekeeper OAM Java API Reference.