11 Parlay X 4.0 Application-Driven Quality of Service/Diameter

This chapter describes the Oracle Communications Services Gatekeeper Parlay X 4.0 Application-Driven Quality of Service (QoS)/Diameter communication service, used by SOAP-based applications to request QoS changes to subscriber connections. See Services Gatekeeper Application Developer's Guide for information about the SOAP interface.

See "Extended Web Services Quality of Service /Diameter" for information on the REST-based QoS communication service.

Overview of the Parlay X 4.0 Application-Driven Quality of Service (QoS)/Diameter Communication Service

This communication service enables applications to dynamically change the quality of service available to subscriber network connections. It does this by requesting that predefined QoS feature profiles be applied to the connection.

The Parlay X 4.0 Application-Driven Quality of Service (QoS)/Diameter communication service provides SOAP-based applications with the ability to request QoS level changes for a subscriber connection. This communication service exposes the Parlay X 4.0 set of interfaces for application-driven QoS (Part 17). It uses the standard SOAP interfaces to communicate with web applications, and translates the SOAP traffic to Diameter Rx messages to communicate with a Policy and Charging Rules Function (PCRF).

This communication service enables an application to control QoS, however, applying QoS policy and applying quality changes to a subscriber connection require a separate PCRF working in conjunction with a Policy and Charging Enforcement Function (PCEF), which are provided by various third parties.

This communication service acts as a client to a Diameter server by using the Diameter protocol.

Using this communication service, an application can:

  • Apply a QoS feature profile

  • Modify an existing QoS feature profile

  • Remove an existing QoS feature profile

  • Retrieve the status for a subscriber's QoS feature profile

  • Register and unregister for QoS-related events

  • Query for the QoS feature profile change history

  • Notify the application of how certain events impacted QoS feature profiles that were active on the subscriber connection when the events occurred

  • Delete the QoS feature profile

This communication service does not however, support the concept of default QoS feature profiles listed in the specification, because the Diameter Rx specification does not share this concept. Instead, use your PCRF/PCEF product tools to set default QoS feature profiles for subscribers, and then use this communication service to change, or request information about the QoS feature profile.

This document refers to the QoS feature profiles that this communication service manages as temporary QoS feature profiles to distinguish them from the default QoS feature profiles that you have already created and applied.

For additional information about adding QoS support to an application, see the discussion about adding SOAP-based quality of service support, and supported SOAP Parlay X 4.0 facades in Services Gatekeeper Application Developer's Guide.

See "Parlay X 4.0 Application-Driven Quality of Service/Diameter" in Services Gatekeeper Statement of Compliance for the exact version of the standards this communication service supports, and the list of supported Diameter Rx AVPs.

How it Works

Figure 11-1 shows the interaction between Services Gatekeeper and your other network nodes when this communication service is used.

Figure 11-1 Example Application-Driven QoS Implementation

Description of Figure 11-1 follows
Description of ''Figure 11-1 Example Application-Driven QoS Implementation''

In Figure 11-1:

  1. A subscriber's mobile device is registered with the Gateway GPRS Support Node (GGSN) or the PCEF.

  2. The GGSN or PCEF requests a default QoS plan from the PCRF.

  3. Once the QoS plan is returned from the PCRF, the GGSN or PCEF executes that plan and connects the subscriber's device to the Internet.

  4. A subscriber application sends a RESTful request to Services Gatekeeper for a change in QoS.

  5. Services Gatekeeper sends the QoS request to the PCRF using the Rx specification.

  6. The PCRF pushes the new QoS plan to the PCEF using the Gx specification, and the PCEF executes that plan.

  7. The PCRF interfaces with BRM or another billing management system to charge the subscriber appropriately.

Adding SOAP-Based QoS Support to an Application

See the discussion about adding SOAP-based quality of service support in Services Gatekeeper Application Developer's Guide.

Managing Parlay X 4.0 Application-Driven Quality of Service (QoS)/Diameter

This section describes the properties and workflow for setting up the Parlay X 4.0 Application-Driven Quality of Service (QoS)/Diameter plug-in instance.

Your network connections and performance requirements determine how you set up this communication service. Multiple Parlay X 4.0 Application-Driven Quality of Service (QoS)/Diameter communication service implementations generally connect to a smaller number of PCRFs.

This communication service is usable with high-availability implementations. However if the PCRF-Services Gatekeeper connection is broken on a high-availability implementation, the application session is torn down and no further requests are processed. The application must open a new session if further communication with the PCRF is required.

The plug-in instance is not automatically created when the plug-in service is started, you must create is using the Plug-in Manager.

Properties for Parlay X 4.0 Application-Driven QoS/Diameter

Table 11-1 lists the technical specifications for this communication service.

Table 11-1 Properties for Parlay X 4.0 Application-Driven QoS/Diameter

Property Description

Managed object in Administration Console

To access the object, select domain_name, then OCSG, then server_name, then Communication Services, then plug-in_instance_id, in that order.

MBean interfaces

Domain=oracle.ocsg
Name=wlng_ntInstance
Name=Plugin_qos_diameter
Type=oracle.ocsg.plugin.qos.diameter.management.QoSMBean

Network protocol plug-in service ID

Plugin_qos_diameter

Supported address scheme

tel, email, ipv4, ipv6, sip, and private

Application-facing interfaces

com.bea.wlcp.wlng.px40.plugin.ApplicationQoSPlugin

com.bea.wlcp.wlng.px40.plugin.ApplicationQoSNotificationManagerPlugIn

com.bea.wlcp.wlng.px40.callback.ApplicationQoSNotificationCallback

Service type

Application-Driven QoS

Exposes to the service communication layer a Java representation of

SOAP

Interfaces with the network nodes using:

Diameter Rx

Deployment artifacts: NT EAR

wlng_nt_qos.ear

Plugin_qos_diameter.jar px40_qos_service.jar

Deployment artifacts: AT EAR:

wlng_at_qos_px40.ear

px40_qos.war px40_qos_callback.jar


Configuration Workflow for Parlay X 4.0 Application-Driven QoS/Diameter

The following is an outline for configuring this plug-in using the Administration console or an MBean browser. These instructions assume that you have already created the SLAs to manage services.

  1. Select wlng, then PluginManager, and then createPluginInstance.

  2. Set the following parameters:

    • Set PluginServiceId to Plugin_qos_diameter.

    • Set PluginInstanceId to Plugin_qos_diametern where n is an integer that is not already in use by an existing QoS plug-in instance.

  3. Select wlng then PluginManager then addRoute.

  4. Set the following parameters:

    • Set PluginInstanceId to the ID you configured in step 2.

    • Set an appropriate value for AddressExpression depending upon your Services Gatekeeper configuration.

  5. Select the MBean wlng_nt_qos#version. Where version is the Services Gatekeeper version.

  6. Select the plug-in instance you created in step 2. Expand QoSMBean and configure the plug-in instance attributes:

  7. Ensure that your PCRF is listening on the destination port configured for this plug-in the DestinationPort attribute.

  8. Use "Operation: loadQoSRequestTemplate" to load a QoS template for this communication service to use.

Events and Statistics

The Parlay X 4.0 Application-Driven QoS/Diameter communication service generates event data records (EDRs), charging data records (CDRs), alarms, and statistics to assist system administrators and developers in monitoring the service.

See "Event Data Records" for the list of EDRs and "Events, Alarms, and Charging" for general information.

Event Data Records

Table 11-2 lists the IDs of the EDRs created by the Parlay X 4.0 Application-Driven QoS communication service. This does not include EDRs created when exceptions are thrown.

Table 11-2 EDRs Generated by Parlay X 4.0 Application-Driven QoS

EDR ID Operation Called

91851

applyQoSFeatureResponse, applyQoSFeature

91852

getQoSStatusResponse, getQoSStatu

91853

modifyQoSFeatureResponse, modifyQoSFeature

91854

removeQoSFeatureResponse, removeQoSFeature

91855

getQoSHistoryResponse, getQoSHistory

91856

startQoSNotificationResponse, startQoSNotification

91857

stopQoSNotificationResponse, stopQoSNotification

91808

sendInitAAR

91809

RxAAA, sendModifyAAR

91810

RxSTA, sendSTR

91811

handleRxRAR

91862

notifyQoSEventResponse, notifyQoSEvent

91863

QoSRequestReached

91864

QoSNotificationReached


Charging Data Records

This communication service does not generate any CDRs.

Reference: Attributes and Operations for Parlay X 4.0 Application-Driven Quality of Service (QoS)/Diameter

This section describes the attributes and operations for configuration and maintenance:

Attribute: DestinationHost

Scope: Cluster

Unit: Not applicable

Format: String

The host name of the PCRF Diameter server.

Valid values are either a host name or a regular expression matching a host name. The default value is host.destination.com.

Attribute: DestinationPort

Scope: Cluster

Unit: Not applicable

Format: Integer

Port number of the PCRF Diameter server.

Valid values are 065535. The default value is 3588.

Attribute: DestinationRealm

Scope: Cluster

Unit: Not applicable

Format: String

Diameter destination realm used for requests.

Valid values are either a realm or a regular expression matching a realm. The default value is destination.com.

Attribute: OriginHost

Scope: Local

Unit: Not applicable

Format: String

Host name of the machine running this communication service.

Valid values are either a host name or a regular expression matching a host name. The default value is host.origin.com.

Attribute: OriginPort

Scope: Local

Unit: Not applicable

Format: Integer

Port number of the machine running this communication service.

Valid values are 065535. A value of 0 indicates a random port and should be used when upgrading the plug-in. The default value is 0.

Attribute: OriginRealm

Scope: Cluster

Unit: Not applicable

Format: String

The Diameter originating realm used for requests.

Valid values are either a realm or a regular expression matching a realm. The default value is origin.com.

Attribute: Connected

Scope: Local

Unit: Not applicable

Format: Boolean

Checks the connection status. Confirms that the "Operation: connect" operation was successful.

Valid values are true or false. The default value false.

Attribute: RecordHistory

Scope: Cluster

Unit: Not applicable

Format: Boolean

Indicates whether to record a transaction history for this communication service. A value of true records the history; the default value is false.

Operation: connect

Scope: Local

Connects this communication service to the PCRF Diameter server. If the plug-in is already connected to a Diameter server, it disconnects that server, and then reconnects using the specified parameters. The destination host, port, and realm, and origin host and port attributes must be set before using this operation.

Use "Attribute: Connected" to confirm that this operation was successful.

This operation does not use any storage.

Signature:

connect()

Operation: disconnect

Scope: Local

Disconnects this communication service from the Diameter server. If the plug-in is not currently connected to a Diameter server, this operation takes no action.

This operation does not use any storage.

Signature:

disconnect()

This operation has no parameters.

Operation: loadQoSRequestTemplate

Scope: Cluster

This operation loads instructions into a QoS feature profile (template).

Use the Name parameter to select a feature profile to load. Name takes take a QoS feature profile identifier as an argument.

Use the Content parameter to specify the XML-based QoS information to add to a feature profile. This operation takes a feature template formatted according to the XSD found in the xsd subdirectory in the plugin_qos_diameter.jar file, which itself is contained within the wlng_nt_qos.ear archive located in the Middleware_Home/ocsg_6.0/applications directory.

Signature:

loadQoSRequestTemplate (Name: string, Content: XML)

Table 11-3 loadQoSRequestTemplate Parameters

Parameter Description

Name

A QoS feature profile identifier. Identifies the QoS template that is associated with that feature.

Content

Specifies the QoS feature profile content to apply. XML


Operation: retrieveQoSRequestTemplate

Scope: Local

This operation retrieves a QoS feature profile (template) associated with a particular QoS feature profile identifier, or the names of subscribers.

Use the Name parameter to select a feature profile to load. Name takes take a QoS feature profile identifier as an argument.

Signature:

retrieveQoSRequestTemplate (Name: string)

Table 11-4 retrieveQoSRequestTemplate Parameters

Parameter Description

Name

A QoS feature profile identifier. Identifies the QoS template that is associated with that QoS feature profile.


Operation: listQoSRequestTemplateMatchRule

Scope: Local

This operations returns a list of subscribers with a specific QoS feature profile (template).

Use the Name parameter to select a feature profile to load. Name takes take a QoS feature profile identifier as an argument.

Signature:

listQoSRequestTemplateMatchRule (Name: string)

Table 11-5 listQoSRequestTemplateMatchRule Parameters

Parameter Description

Name

A QoS feature profile identifier. Identifies the QoS template that is associated with that QoS feature profile.


Operation: deleteQoSRequestTemplate

Scope: Cluster

This operation deletes a QoS feature profile (template) for a subscriber, or set of subscribers.

The Name parameter specifies a the QoS feature profile and it take a QoS feature profile identifier as an argument.

Signature:

deleteQoSRequestTemplate (Name: string)

Table 11-6 deleteQoSRequestTemplate Parameters

Parameter Descripton

Name

A QoS feature identifier. Identifies the QoS template that is associated with that feature.