Oracle® Communications Service Broker Policy Controller Implementation Guide Release 6.1 Part Number E29455-01 |
|
|
PDF · Mobi · ePub |
This chapter explains how to install and configure an Oracle Communications Service Broker Policy Controller (Policy Controller) implementation.
This section lists the hardware and software components that your Policy Controller implementation requires.
The list of hardware and software components that you need depends on the extent of your Policy Controller Implementation. Policy Controller itself is a Policy and Charging Rules Function (PCRF) software node, and you need to also obtain a Policy and Charging Enforcement Function (PCEF) software node. The remaining components depend on the services you intend to deliver to your subscribers. Depending on the extent of your implementation you may also need to obtain:
A BBERF to connect to your IP-CAN, and handle policy signal flow.
A Diameter charging server to charge your subscribers for services, if not using Oracle Communications Billing and Revenue Management (BRM).
A Short Message Service Center (SMSC) if you take advantage of the Policy Controller SMS message sending feature. This feature enables you to send Short Message Service (SMS) messages either to your subscribers or to your Policy Controller administration personnel based on changing subscriber information.
Any additional hardware and software components depend on your implementation's needs.
You install Policy Controller using the Oracle Communications Service Broker Installation program. See Oracle Communications Service Broker Installation Guide for instructions on installing and deinstalling Policy Controller. During installation:
Select Policy Controller 6.1.0.0 from the installer options.
A JDK is required to run Policy Controller, and you have these options:
Java JDK (recommended): Oracle recommends that you use this JDK for Policy Controller production implementations because its “HotSpot” garbage collector is efficient for cleaning up session information from the heap. See "Configuring Java JVM Parameters" for suggestions on how to configure this JDK.
JRockit JDK (the default): The JRockit JDK's is appropriate if your production implementation of Policy Controller generally has very short sessions. Cleaning up sessions with very short response times are most easily achieved by using JRockit's deterministic garbage collector. See "Configuring Java JVM Parameters" for suggestions on how to configure this JDK.
For each Policy Controller installation create one or more managed servers and a domain. See the discussions on setting up a domain in Oracle Communication Service Broker Installation Guide for information about creating the domain, adding managed servers, and managed server starting those components.
Policy Controller requires a lot of memory to store subscriber data. It caches session and subscriber profile information to achieve a nearly-realtime response, and you need to reserve significant resources for it. Policy Controller's memory requirements are most effected by:
The expected number of subscribers per server or blade.
The required transactions per second rate.
The expected session duration time.
The service availability option you choose. The service continuity option requires significantly more memory that service availability. For details, see the discussion on about setting the service availability mode in Service Broker Installation Guide.
A good general rule is to reserve 4 KB of memory for each active subscriber session running any given time. The 4 KB is divided between in-memory space required for subscriber profile information, and Java heap memory for session information. The in-memory requirements are generally affected more by the number of active subscribers caching data, and the Java heap is generally affected more by the length of their sessions. As session length increases, so do Java heap requirements, and they can require 15-20 GB of space per blade to maintain high performance response. The large Java heap memory requirement are a challenge for the Java heap garbage collector. See "Configuring Java JVM Parameters" for guidelines for configuring your JDK heap size.
Tune your Java JDK garbage collection performance to reduce the time required to perform a full garbage collection cycle. Do not attempt to tune the JVM to minimize the frequency of full garbage collections, because this generally results in an eventual forced garbage collection cycle that may take up to several full seconds to complete.
The following examples list domain configuration settings for different Policy Controller configurations. Implementations that use service availability require more memory because of the additional data replication. See Oracle Communications Service Broker Installation Guide for details on the service availability and continuity options.
Table 2-1 lists Java JDK tuning settings for a domain using service continuity, in a clustered deployment (2 Sun Blade X6270 blades, each running two JVMs) with this expected load:
Total subscribers: 1 million/blade
Average Policy Controller session length: 30 minutes
Expected traffic throughput: 1,500 sessions/second/blade
JVM heap size: 14 GB
These settings generally work well in this environment. Adjust the following settings for your hardware and software configuration.
Table 2-1 JDK Parameters for a Unified Domain with Service Continuity
Category | Setting |
---|---|
Memory and Garbage Collection Options |
|
Application Settings |
|
Table 2-2 lists Java JDK tuning settings for a unified domain in a clustered deployment (2 Sun Blade X6270 blades, each running 3 JVMs) with this expected load:
Total subscribers 1 M per blade
Average Policy Controller session length: 30 minutes
Expected traffic throughput: 3,500 sessions/second/blade
JVM heap size: 17 GB
These settings work well in this environment. Adjust the following settings for your hardware and software configuration.
Table 2-2 JDK Parameters for a Unified Domain with Service Availability
Category | Setting |
---|---|
Memory and Garbage Collection Options |
|
Application Settings |
|
This section explains how to start and configure Policy Designer. This section assumes that you have created a domain and managed server, as described in Oracle Communication Service Broker Installation Guide.
Use the following steps to start Policy Designer:
Log on to the Service Broker system on which you created the Policy Controller domain.
Start the domain (Administration Server) (this also starts the Policy Controller JETTY server):
cd Oracle_home/ocsb61/admin_server ./start.sh domain_configuration_directory
Where:
Oracle_home is the Oracle home directory you defined when you installed Service Broker.
domain_configuration_directory is the path to the domain configuration directory.
Note:
If you use basic authorization (axia.digest.auth=true in Oracle_home/ocsb61/admin_server/properties/admin.properties) you will be prompted for two sets of credentials to use when starting the Administration Console. The first set is required to access the Administration Console, and the second set is required to access the Policy Designer user interface.Note:
The Policy Controller does not work with the standalone version of the Administration Console.Start the managed server you created during installation with these commands:
cd Oracle_home/ocsb61/managed_server ./start.sh managed_server_name file:///domain_configuration_directory/initial.zip
Where:
Oracle_home is the Oracle home directory you defined when you installed Service Broker.
managed_server_name is the name of the managed server file you created.
domain_configuration_directory is the path to the domain configuration directory.
Open a Web browser.
Enter one of these Policy Designer URLs:
(SSL off) https: // [ localhost | IP_address ] : port_number /policydesigner
(SSL on) http: // [ localhost | IP_address ] : port_number /policydesigner
Where:
IP_address is the IP address of the Service Broker server running Policy Controller.
port_number is the server port number to use. The defaults are 8090 (SSL off) and 8091 (SSL on). You can change the default port numbers. See "Setting the Policy Designer Port Number" for details.
If you enabled basic authorization (axia.digest.auth=true in Oracle_home/ocsb61/admin_server/properties/admin.properties) you are prompted for the username and password that you entered when you created the Policy Controller domain.
This example starts Policy Designer with SSL off on your local system using the default port number:
http://localhost:8090/policydesigner
Note:
If SSL is off, use http, not https to avoid ssl_error_rx_record_too_long errors.For information on changing the default port number, see "Setting the Policy Designer Port Number".
The default Policy Designer uses port 8090 using HTTP, and 8091 using HTTPS. You can change this by following these steps:
Open the common.properties file located in Oracle_home/admin_server/common.properties.
Add one of the following entries:
If you do not use SSL:
oracle.ocsb.app.rcc.pcrf.gui.port=port_number
If use SSL:
pcrf.gui.http.port.secure=port_number
Where port_number is the new port number to use.
Restart the Administration Console.
For details, see Oracle Communications Service Broker System Administrator's Guide.
All Policy Designer interface windows include an Accessibility Preferences link that you use to access the interface's accessibility capabilities.
The accessibility options include these alternatives to the default browser preferences:
Screen reader - Puts the browser in screen reader mode.
High contrast - Adds a background color to make text easier to see.
Large Fonts - Increases the font size of all Policy Controller interface text.
To enable Policy Designer accessibility features:
Start the Policy Design interface. See "Starting Policy Designer" for details.
Click the Accessibility link in the upper right of your browser page with a mouse, or use the Ctrl-Alt-A keyboard shortcut.
The Accessibility Preferences page appears.
Click any combination of these accessibility check boxes to select the feature:
Screen reader
High contrast
Large fonts
Click OK to make your changes take effect.
Click Home to return to the Policy Designer interface.
By default, the Policy Designer process is started when you start the Service Broker domain that contains it. To prevent this automatic startup, use the following steps:
Add this entry to the Oracle_home/admin_server/common.properties file:
oracle.ocsb.app.rcc.pcrf.gui.disable=true
A value of true disables the automatic startup. If this entry is false or missing, the Policy Designer starts automatically.
Restart the Administration Console.
For details, see Oracle Communications Service Broker System Administrator's Guide.
This section explains the tasks necessary to configure Policy Controller for your implementation. The "Policy Controller Configuration Checklist" section servers as a guide to walk you through the process, and the sections that follow have details on the configuration tasks.
This section explains how to configure a Policy Controller implementation. This section assumed that you have installed Policy Controller as described in Service Broker Installation Guide and created a domain for it as described in "Creating and Starting a Domain and Managed Server for Policy Controller".
Configuring a Policy Controller implementation involves these tasks:
Configuring Data Storage for Policy Controller
Use this task to configure the Profile Store to store subscriber data for Policy Controller to use.
Configuring the SSU Diameter and Specify AF and PCEF Servers as Peers
Use this task to connect Policy Controller to AFs and PCEFs. If your OCS is Diameter-based there is some duplication between these tasks and configuring the OCS.
Configuring the SSU Diameter to Route PCEF and AF Service Data Flow
Configuring Policy Controller System Parameters
Use this task to configure the Policy Controller global parameters, timers, and any event triggers that your implementation requires.
Configuring Data Storage for Policy Controller
Use this step to configure the BDB or JDBC databases.
Use this task to configure your PCEF Server to work with Policy Controller.
Use this task to configure your AF server to work with a Policy Controller.
There are additional configuration procedures in these chapters in this manual:
"Configuring Subscriber Profile and Charging Information" describes how to configure online charging and subscriber profile databases.
"Implementing Overload Protection" explains overload protection and describes how to set it up.
"Adding Custom Diameter AVPs" explains how to add your own custom AVPs for use with Policy Controller.
To configure Diameter traffic for Policy Controller, complete these tasks which are explained in the following sections:
Define your AF servers and PCEF servers as Diameter peers. See "Configuring the SSU Diameter and Specify AF and PCEF Servers as Peers" for details.
Diameter Routing Rules that direct all Gx service data flow from your PCEF to Policy Controller, and all Rx service data flow from Policy Controller to your AFs. See "Configuring the SSU Diameter to Route PCEF and AF Service Data Flow" for details.
This section assumes that you know details for of each of your PCEF and AF servers (host name, address, port no, protocol). The Service Broker Signaling Server Units Configuration Guide has details on the configuring the SSU Diameter. This section provides basic instructions.
Note:
You will also configure your online charging system and Service Profile Repository as Diameter peers when you configure them. See "Configuring Subscriber Profile and Charging Information" for details.To configure the SSU Diameter for Policy Controller:
Start the Administration Console.
For details, see Oracle Communications Service Broker System Administrator's Guide.
Navigate to Platform, OCSB, Signaling Tier, SSU Diameter, DIAMETER, then Diameter Configuration.
The General subtab appears.
Click Lock and Edit
Configure these fields as explained in the discussion on configuring the Diameter Signaling Server Unit in the Service Broker Signaling Server Units Configuration Guide.
Click Add to your AF or PCEF server as a peer.
The New popup screen appears.
Enter a name for the new SSU and click Apply.
Select the new peer to configure it.
Select True from the Allow Dynamic Peers menu.
Enter a value for Peer Retry Delay (in seconds) and click Apply.
Scroll down in the Peers pane and click New.
The New popup screen appears.
In the New popup screen, enter your AF or PCEF server identifying data:
Host - The host name of the server.
Address - the IP address of the server.
Port - A server port number to use on your PCEF.
Protocol - A service data flow protocol to use.
Watchdog Enabled - the True/False choices enable/disable the watchdog timer.
Repeat steps 6 through 13 for each of your PCEF and AF servers.
Click Commit to save your changes.
The Diameter SSU routing rules specify how the PCEF and AF server service data flow is routed through Policy Controller. Use the following steps to create these routing rules:
Start the Administration Console.
For details, see Oracle Communications Service Broker System Administrator's Guide.
Navigate to Platform, OCSB, Signaling Tier, SSU Diameter, SSU Diameter, Routing, then Incoming Routing Rules.
Click Lock and Edit.
Click Add to create an Incoming Routing Rule for Gx traffic:
The New popup window appears.
Enter a name for the new routing rule and click Apply.
The new routing rule appears and is highlighted.
Edit these Incoming Routing Rules fields as necessary:
Name: Change if necessary.
Priority: Leave the 0 default priority.
Module Instance: Enter ssu:ocsb/pcrf.
Click Apply.
Click Add to create the Gx traffic routing criteria.
The New popup window appears.
Enter a name for the new routing rule and click Apply.
The new routing rule appears and is highlighted.
Enter the routing rule criteria for Gx traffic:
Name: Enter an informal name for the criteria.
Attribute: Select APPLICATION_ID from the dropdown list.
Value: Enter 16777238 to specify Gx service data flow.
This value is the default for Gx traffic. Other values are also supported.
Click Apply.
Click Add to create an Incoming Routing Rule for Rx traffic.
The New popup window appears.
Enter a name for the new routing rule and click Apply.
The new routing rule appears and is highlighted.
Enter the routing rule criteria for Rx traffic.
Name: Change if necessary.
Priority: Leave the 0 default priority.
Module Instance: Enter ssu:ocsb/pcrf.
Click the Incoming Routing Rule subtab to add Rx traffic routing criteria.
Click New.
The New routing popup window appears.
Enter the routing rule criteria for the Rx traffic:
Name: Change if necessary.
Attribute: Select APPLICATION_ID from the dropdown list.
Value: Enter 16777236 to specify Rx service data flow.
Click Apply to save your changes.
Click Commit to save your changes.
This section lists the Policy Controller global parameters that you must approve or change before using Policy Controller.
This section assumes that you have acquired and configured a rating engine and PCEF, and know the values you use to indicate rating groups and PCC service identifiers.
This section lists Policy Controller parameters that you set by using the Service Broker Administration Console.
The default Policy Controller global parameters are listed in Table 2-3.
Table 2-3 Default Policy Controller Global Parameter Settings
Global Parameter | Default Value | Data Type | Description |
---|---|---|---|
Revalidation Time |
14400000 (4 hours) |
Milliseconds |
The maximum time before your PCEF should trigger Policy Controller. This parameter also subscribes the Revalidation_Timeout trigger (See "About Event Triggers" for details). A value of 0 specifies no time limit. |
Events to subscribe |
See Oracle Communications Service Broker Policy Controller Protocol Implementation Conformance Statement for details for the list of default values. |
Comma-separated list of integers |
Specifies the list of 3GPP 29.211 event triggers to use. This field accepts the integer values that represent the Event-Trigger AVP. See the 3GPP 29.211 specification for a complete list. See "Using an Event Trigger to Change a PCC Profile" for a discussion of event triggers and "Add any Vendor-specific Values for Event-Trigger to Use as Event Triggers" for instructions on how add your own. |
Primary Online Charging System address |
None |
URL |
The primary online charging system address. Your PCEF attempts to send charging traffic to this server for charging first. |
Secondary Online Charging System address |
None |
URL |
The secondary online charging server address. Used if the primary server is unavailable. |
Primary Offline Charging System Address |
None |
URI |
The primary online collection server address. Policy Controller attempts to send collection traffic to this server for charging first. |
Secondary Offline Charging System Address |
None |
URL |
The secondary online collection server address. Used if the primary collection server is unavailable. |
Default Online Charging Method |
None |
Boolean |
Select TRUE to allow online charging; FALSE to disallow it. No entry directs Policy Controller to use your PCEF's default charging method. |
Default Offline Charging method |
None |
Boolean |
Select TRUE to allow offline charging; FALSE to disallow it. No entry directs Policy Controller to use your PCEF's default charging method |
Install Default Plan |
True |
Boolean |
Whether to automatically install and use the default PCC profile if no other plan applies. |
Change these settings as necessary using the PCRF Global Parameters tab of the Service Broker Administration Console:
Start the Administration Console.
For details see Oracle Communications Service Broker Administrator's Guide.
Navigate to PCRF, OCSB, Execution Blocks, then System Parameters.
Click the PCRF System Parameters tab, then the Global Parameters subtab.
Click Edit.
Enter the required new values in the fields displayed. See Table 2-3 for details on the Global parameter settings.
Click Apply.
Click Commit.
Event-Trigger is a Gx AVPs that directs Policy Controller to reinterpret PCC and ADC profiles when received in a session. See "Using Vendor-specific and Default Gx Event Triggers to Reinterpret Rules" for details on how to use Event-Trigger in Policy Controller rules.
See "Supported Gx Event-Trigger Event Values" for the list of the default event triggers supported by Policy Controller. The instructions in this section explain how to add up to ten additional vendor-specific Gx AVPs to use as event triggers. For example, if your PCEF implementation uses custom values for the Event-Trigger AVP you could add them as event triggers here.
To add vendor-specific AVPs to the event trigger list the Policy Controller uses:
Start the domain and managed server.
Start the Administration Console.
For details see Oracle Communications Service Broker Administrator's Guide.
Navigate to PCRF, OCSB, Execution Blocks, then System Parameters.
Click the PCRF System Parameters tab, then the Oracle Event Triggers subtab.
Click Edit.
Enter values in the unused OCPC_GENERIC_EVENT fields.
Click Apply.
Click OK to make your changes take effect.
Policy Controller uses Gx and Rx session guard timers (Tcc) and closing guard timers (Tsc) protect Policy Controller service data flow session validity by avoiding dangling sessions. In the event that any part of the PCEF implementation is not working correctly, the Gx and Rx timers ensure that a session is correctly terminated. The default settings work for a test and evaluation system and may also work for a production implementation. Configure them to fit your implementation's requirements.
You configure these timers independently to prevent problems caused by missing messages expected from network nodes, which orphan/dangling sessions. The Gx and Rx Session Guard timers set a time limit for expected session messages. If the Gx or Rx Session Guard timer limit runs out, the appropriate Gx or Rx Session Closing Guard Timer starts and attempts to close the session cleanly. If it cannot close the session cleanly it closes out the session after the time limit expires.
Table 2-4 lists the timers that control and protect Rx and Gx traffic.
To change the Policy Controller Rx and Gx default timer values:
Start the Administration Console.
For details see Oracle Communications Service Broker Administrator's Guide.
Navigate to PCRF, OCSB, Execution Blocks, then System Parameters.
Click the PCRF System Parameters tab, then the Timers subtab.
Click Lock & Edit.
Enter new parameters in the parameter text fields. See Table 2-4 for details on the individual timers.
Table 2-4 RX and Gx Timer Names, Default Values, and Descriptions.
Timer | Alternate Timer Name | Default Value (ms) | Description |
---|---|---|---|
Gx Session Guard Timer |
Gx Tcc |
36000000 |
Guards each Gx session by setting a time limit for pending Gx messages. This timer is started each time a Gx request (CCA-Initial) arrives at the Policy Controller, and is canceled when the last response (CCA-Terminal) is sent. Each CCA-Update resets this timer. |
Gx Session Closing Guard Timer |
Gx Tsc |
5000 |
Sets a time limit for the Gx session termination process. If the Gx Session Guard Timer expires, Policy Control starts this timer and sends an RAR with a Session-Release-Cause of UNSPECIFIED_REASON. If an answering RAA arrives, Policy Controller waits for a CCR-Terminate, and the responds with CCA-Terminate. In any case, the session is closed when the time limit is reached. |
Rx Session Guard Timer |
Rx Tcc |
36000000 |
Guards each Rx session by setting a time limit for pending Rx messages. This timer starts when the first AAA message is sent and canceled when the STA is sent. This timer is reset each time an AAA/AAR combination is sent and received. |
Rx Session Closing Guard Timer |
Rx Tsc |
5000 |
Sets a time limit for the Rx session termination process. If the Rx Session Guard Timer expires, Policy Controller send an ASR message with an Abort Cause of INSUFFICIENT_SERVER_RESOURCES. If an ASA message is returned, Policy Controller waits for the STR message from the network node, and then responds with an STA and cleans up the session. If no ASA is received before this timer expires the session is closed. |
Click Apply.
Click Commit to make your changes take effect.
The Default Execution Blocks tab (under the PCRF tab of the Administration Console) is reserved for Oracle use.
Policy Controller requires that you set up persistent data storage using the Data Storage feature. For information on setting up data storage, see the discussion on configuring data storage in Oracle Communications Service Broker Installation Guide.
This section explains the steps necessary to make your PCEF server work with Policy Controller.
Set up a Diameter link between PCEF and Policy Controller. See "Configuring the SSU Diameter to Route PCEF and AF Service Data Flow" for details if you haven't already.
Configure your PCEF server to use the Diameter Gx messages listed in the Policy Controller PICS document. See your PCEF product documentation for details.
If your PCEF uses AVPs that are not in one of the supported Diameter interfaces, you must add them to the Service Broker stack manually. See "Adding Custom Diameter AVPs" for details on adding custom Diameter AVPs to Service Broker.
You must set up a Diameter link between Policy Controller and any AFs that you use. You set up the Policy Controller end of the link using the SSU Diameter. See "Configuring the SSU Diameter and Specify AF and PCEF Servers as Peers" for details if you haven't already. See your AF product documentation for details on setting up the AF end of the link, and any other setup steps necessary.
Configuring Policy Controller to sent SMS messages includes these configuration tasks:
Add an SMSC. Sending SMS messages from rules requires that you obtain a Short Message Service Center (SMSC) and configure the Service Broker SMPP SSU to use it. For details see the discussion on configuring an SMPP Signaling Server Unit in the Service Broker Signaling Server Units Configuration Guide.
If necessary, change the SMPP data coding (language) to one appropriate for your locale. The SMPP data coding specifies the list of characters allowed in an SMS message. The allowed values are listed in the data_coding section of the Short Message Peer-to-Peer Protocol Specification 3.4.
The default Policy Controller data coding is “SMSC Default Alphabet” (GSM 03.38 7-bit ASCII alphabet; integer value: 0). This data coding value applies to all SMSs sent from your Policy Controller implementation.
To change the SMPP encoding use in SMS messages;
Start the Administration Console.
For details see Oracle Communications Service Broker Administrator's Guide.
Click Lock and Edit.
Navigate to PCRF, OCSB, Execution blocks, System Parameters, then PCRF System Parameters.
Select the Global Parameters Tab.
Change the value in the SMPP Data Coding field to a different ISO/IEC 8859 value.
Click Apply.
If your implementation requires support for nonstandard Diameter AVPs, add them now. For example if your PCEF or AF use nonstandard AVPs, you must at least add them to the Service Broker Diameter stack so that they do not cause error messages when they arrive. You can also use them as triggers for actions in Policy Designer rules. See "Adding Custom Diameter AVPs" details on adding custom AVPs.
This timer sets the amount of time (in milliseconds) that Policy Controller waits for synchronous traffic responses sent by Policy Controller and returned by the SPR you use. The default value of 500 milliseconds is sufficiently large that only the slowest network connections, or a pressing need to receive responses from absolutely all messages may require a higher value.
Indications that you must change this setting are frequent error messages like these:
2012-11-08 06:07:45,201 ERROR wm-diameter_inbound-1 SynchronousUserProfileServiceImpl - Operation timed out.1352347664698 2012-11-08 06:07:45,202 ERROR wm-diameter_inbound-1 PcrfHash - Failed to retrieve subscriber profile for subscriber: 622|END_USER_E164
To change the operation timeout settings:
Start the Administration Console.
For details see Oracle Communications Service Broker Administrator's Guide.
Navigate to PCRF, OCSB, Domain Management, Subscriber Store, then Core Service.
The Core Service subtab appears:
Enter a new value in the Operation Timeout box.
The default setting is 500 milliseconds.
Click Apply.
In the Policy Controller 6.0 release this product did not use the implicit profile removal strategy that it does now. The 6.0 release used explicit rule removal. that is, your rules needed to specifically remove any profiles that you did not want applied using Remove_PCCProfile actions. Explicit rule removal is generally seen as less efficient and more error prone than the implicit rule removal, but you can use it if your implementation requires it.
See "Understanding How Policy Controller Makes Policies Take Effect" for details on the explicit rule removal strategy that Policy Controller now uses.
Note:
Only the 6.0 rule strategy (explicit rule removal) is supported. Using 6.0 rules with this release is not supported.To use rules with the explicit rule removal strategy:
Start the Administration Console.
For details see Oracle Communications Service Broker Administrator's Guide.
Click Lock & Edit.
Navigate to OCSB, Execution Blocks, System Parameters, PCRF System Parameters, then Global Parameters.
Set the Disable Implicit Rule Actions parameter to True.
Note:
Do not make any other changes in the Execution Blocks area. The other settings are reserved for Oracle use.Click Apply.
Click Commit.