This chapter describes how policy clients that interact with the Policy and Charging Rules Function (PCRF) integrate with Oracle Communications Billing and Revenue Management Elastic Charging Engine (ECE).
Note:
The information in this chapter is relevant for those using third party network mediation software (for online charging) for receiving policy-driven-charging requests from the network and translating them into ECE requests.If you are using Diameter Gateway for receiving Diameter messages and translating them into ECE requests, see "Network Integration for Online Charging Using Diameter Gateway". Diameter Gateway constructs all requests that ECE supports for policy-driven charging using the ECE interfaces described in this chapter.
Policy clients integrate with ECE by using the ECE policy management APIs.
The policy client uses the ECE policy Sy interface to retrieve policy counter information from ECE. The policy client, in turn, sends the policy counter information to the Policy and Charging Rules Function (PCRF) using its Diameter Sy interface. As part of initiating a policy Sy session with ECE, the policy client subscribes for receiving notifications that contain the policy counter information.
The policy client uses the ECE policy Sp interface to retrieve customer preferences information from ECE. The policy client, in turn, sends the customer preferences information to the PCRF using its Diameter Sp interface. As part of initiating a policy Sp session with ECE, the policy client subscribes for receiving notifications that contain the customer preferences information.
To support policy-driven charging, ECE offers policy management APIs. The ECE Sy interface allows policy clients to subscribe for and retrieve the spending limit information about policy counters from ECE. The ECE Sp interface allows policy clients to subscribe for and retrieve customer preferences information that is relevant to policy enforcement from ECE.
The following sections describe each ECE interface:
ECE also supports a combined ECE Sy and Sp interface that allows policy clients to retrieve and subscribe for both types of information in one policy session. A combined ECE Sy and Sp interface reduces the number of messages between ECE and policy clients. See "About a Combined ECE Sy and Sp Interface" for information.
ECE supports the Sy interface which is used by the PCRF to retrieve policy counter information. To support the Sy interface, ECE offers the following ECE Sy procedure and notification:
Spending Limit Report Request
Policy clients use this procedure to request the status of policy counters available in ECE and to subscribe and unsubscribe (for the PCRF) to updates of ECE policy counters.
Spending Limit Notification
ECE uses this notification to report statuses of requested policy counters for one or more products and also report the results of request processing.
The policy client transfers the status information to the PCRF.
ECE supports the Sp interface which is used by the PCRF to query customer preferences. To support the Sp interface, ECE offers the following ECE Sp procedures:
Subscribe Notification Request
Policy clients use this procedure to retrieve customer preferences and to subscribe and unsubscribe (for the PCRF) to updates of customer preference data changes.
The customer preferences can include the following:
Customer's allowed services
Customer's allowed Quality of Service (QoS)
Customer's preferred channel for receiving notifications (such as receiving an SMS or email)
Customer's preferred language
Subscribe Notification Response
ECE uses this procedure to report updates to customer-preference data to the policy client that is subscribed for the notification.
User Data Request
Policy clients use the User Data Request procedure only to retrieve subscriber preferences without subscribing for receiving notifications when the preferences change.
User Data Response
ECE uses this procedure to send subscriber-preference data to the policy client.
The policy client transfers customer preference data to the PCRF.
The PCRF can also query extended information about customers and products (services). The policy client uses the ECE policy Sp query procedure to retrieve extended customer and extended product information.
To be able to query extended information from ECE using the policy Sp query request, you must configure the extended product and customer information in ECE.
To configure the extended product and customer information:
Access the ECE MBeans:
Log on to the driver machine.
Start the ECE charging servers (if they are not started).
Start a JMX editor, such as JConsole, that enables you to edit MBean attributes.
Connect to the ECE charging server node set to start CohMgt = true in the ECE_home/oceceserver/config/eceTopology.conf file.
The eceTopology.conf file also contains the host name and port number for the node.
In the editor's MBean hierarchy, expand the ECE Configuration node.
Expand charging.policyConfig.
Expand Operations.
Select setDsl.
Specify values for the following parameters:
alias: Enter the alias for the extended information to use in the policy query request.
dsl: Enter the DSL to use to retrieve the information from ECE in the following format:
gettype([product|customer]/attribute with arguments)
For example:
getObject(product/lifeCycleStateName)
Click the setDsl button.
This creates a mapping between the extended information alias with the DSL used to retrieve the extended information from customers and services.
The following are the ECE ready-to-use extended-information aliases (from the ECE_home/oceceserver/config/management/charging-settings.xml file):
<!-- Configure policy extended information for policy query alias - Alias for the extended info which will be referred in the policy query dsl - Abstract dsl in <get type>(<product or customer>/<attribute with arguments>) format eg. getObject(customer/customerId) --> <policyConfig config-class="oracle.communication.brm.charging.appconfiguration.beans.policy.PolicyConfig"> <policyExtendedInfoGroup config-class="java.util.ArrayList"> <policyExtendedInfo config-class="oracle.communication.brm.charging.appconfiguration.beans.policy.PolicyExtendedInfo" alias="lifeCycleStateName" dsl="getObject(product/lifeCycleStateName)"/> <policyExtendedInfo config-class="oracle.communication.brm.charging.appconfiguration.beans.policy.PolicyExtendedInfo" alias="publicIdentifiers" dsl="getObject(product/publicIdentifiers)"/> <policyExtendedInfo config-class="oracle.communication.brm.charging.appconfiguration.beans.policy.PolicyExtendedInfo" alias="ratingProfileFriends" dsl="getRatingProfile(product/ratingProfileByName?FRIENDS)"/> <policyExtendedInfo config-class="oracle.communication.brm.charging.appconfiguration.beans.policy.PolicyExtendedInfo" alias="ratingProfileCorporate" dsl="getRatingProfile(customer/ratingProfileByName?CORPORATE)"/> </policyExtendedInfoGroup> </policyConfig>
ECE supports combining its ECE Sp and Sy interfaces by offering the following procedures:
Policy Session Request
Policy clients use this procedure for retrieving Sp and Sy information and subscribing or unsubscribing (for the PCRF) to receiving updates to Sp and Sy data. This request is a combination of the Spending Limit Report Request and the Subscribe Notification Request.
Policy Session Response
ECE uses this procedure to report the information requested by the Policy Session Request and provide results of request processing.
The policy client transfers the information to the PCRF.
ECE publishes notifications for active policy sessions into the ECE notification queue (JMS topic), such as spending limit notifications and subscriber preference notifications. The payloads are published as XML strings in the XML structure shown by the ECE_home/oceceserver/config/Notification.xsd file.
To use the policy management API, clients call submitPolicy API with PolicyRequest.
For detailed information about the policy management API, see the documentation for the following packages in BRM Elastic Charging Engine Java API Reference:
oracle.communication.brm.charging.brs
oracle.communication.brm.charging.messages.policy
oracle.communication.brm.charging.messages.query
For information about running sample programs that demonstrate how to use the ECE policy management API, see "About the ECE Sample Programs".
Sample programs print the response from ECE.