Oracle® Communications Service Broker Policy Controller Implementation Guide Release 6.1 Part Number E29455-01 |
|
|
PDF · Mobi · ePub |
This chapter describes how to monitor Oracle Communications Service Broker Policy Controller (Policy Controller) using Service Data Records (SDRs).
Policy Controller SDRs are records of network and application events. The information they contain is recorded as relevant events occur, and the details are saved to SDR files.
SDRs enhance the debugging and tracing capability of Policy Controller. For example, SDRs provide you with the capability to trace any particular session of a subscriber. You can also use external products such as the Oracle Communications Data Model to analyze SDRs, transforming their data into actionable information.
See "Application SDRs" for more information.
Policy Controller supports two types of SDRs:
Network SDRs
Application SDRs
Network SDRs are mainly used for messages exchanged with other entities in the network, for example: the Policy Enforcement Rules Function (PCEF), application function (AF), or an internal or external Subscriber Profile Repository (SPR).Network SDRs support Diameter and SPR events. The SDR details are captured at Policy Controller entry and exit points. For example: Incoming Diameter Gx CCR message events are logged in a network SDR.
A Network SDR is written in two parts:
Common Header:
This part is always written for each incoming and outgoing network message. The common header fields are separated by a delimiter. See "Common Header Fields for Network SDRs" for more information.
Variable fields:
These fields are written according to what is configured as part of the template parameters section. Policy Controller is shipped with built-in templates. You can use the Administration Console to view and customize the template fields.
Each built-in template is defined with certain field names. If a field is present in a message, it is assigned a value and recorded as part of the SDR.
If there is no template available for a message type, nothing gets written for the variable part.
A template for a message is defined using a combination of these three fields:
Protocol
Interface
Opcode
Application SDRs are used to record data specific to the Policy Controller application. Each SDR contains fields specific to Policy Controller.
An application SDR is written in two parts:
Common Header part:
This part is always written for each incoming and outgoing network message. The common header fields are separated by a delimiter. See "Common Header Fields for Application SDRs" for more information.
Variable Fields part:
There is no template for application SDRs because its fields are based on the specific application, Policy Controller, that generates it.
Application SDRs can support this type:
Correlation Application SDR:
This type of SDR associates the correlation key with the session key. No variable parameters are included. The Application Record Type is 2.
This section describes the common header fields for network and application SDRs.
Table 12-1 describes the common header fields for network SDRs.
Table 12-1 Common Header Fields For Network SDRs
Field | Description | Mandatory | Example |
---|---|---|---|
Timestamp |
Time stamp in format yyyy-mm-dd hh:mi:ss,msec |
Yes |
N/A |
Version |
Version number for the SDR |
Yes |
100 |
SDR Type |
SDR Type (Network/Application) |
Yes |
NW |
ServerId |
Unique Server ID where the SDR was generated |
Yes |
managed_1 |
Protocol |
Protocol used |
Yes |
DM(Diameter) |
Interface |
Interface |
Yes |
GX |
Opcode |
Operation code |
Yes |
CCR |
Direction |
Direction of message: IN/OUT Note: This is from the application perspective |
Yes |
IN |
Origin |
(Optional) Source entity sending this message |
No |
server1 pcef.com |
Destination |
(Optional) Destination for the message |
No |
server us.oracle.com |
SessionKey |
Unique ID for the session |
Yes |
session12345 |
CorrelationKey |
Correlation ID for the session (secondary key) |
No |
123456789 |
How to enter values for the Origin and Destination fields:
SPR messages: The Origin and Destination fields are empty.
Diameter requests: Origin-Host or Origin-Realm values are used for the Origin field. If there is a destination value, Destination-Host or Destination-Realm values are used for the Destination field.
Table 12-2 describes the common header fields for application SDRs.
Table 12-2 Common Header Fields For Application SDRs
Field | Description | Mandatory | Example |
---|---|---|---|
Timestamp |
Time stamp in format yyyy-mm-dd hh:mi:ss,msec |
Yes |
N/A |
Version |
Version number for the SDR |
Yes |
100 |
SDR Type |
SDR Type (Network/Application) |
Yes |
NW |
ServerId |
Unique Server ID where the SDR was generated |
Yes |
managed_2 |
App Record Type |
Record type chosen by the application |
Yes |
105 |
SessionKey |
Unique Id for the session |
Yes |
session12345 |
CorrelationKey |
Correlation Id for the session(secondary key) |
No |
123456789 |
Policy Controller provides built-in templates that provide values for fields in Diameter and SOAP SDRs.
Table 12-3 describes the templates that are available for Diameter network SDRs.
Table 12-3 Built-in Diameter SDR Templates
Interface | Opcode | Parameters |
---|---|---|
GX |
CCR |
Subscription-Id|IP-CAN-Type|RAT-Type|Supported-Features |
GX |
CCA |
Result-Code|Charging-Rule-Install|Revalidation-Time|Event-Trigger |
GX |
RAR |
Charging-Rule-Install|Revalidation-Time|Event-Trigger |
GX |
RAA |
Result-Code |
RX |
AAR |
Subscription-Id|AF-Application-Identifier|Specific-Action |
RX |
AAA |
Result-Code |
The templates define the variable part of the network SDRs for Diameter interfaces using attribute-value-pairs (AVP). The AVPs match those defined as part of the Diameter signaling server units (SSU).
The AVPs are scalar or grouped:
Scalar AVP: The name and its value are written in the SDR and are specified from its top level.
Example: "IP-CAN-Type":1
Grouped AVP: The entire group AVP, with all of its child AVPs, are written in the SDR.
Example: "Supported-Features":{"Vendor-Id":1,"Feature-List-ID":2255,"Feature-List":22,"Vendor-Id":3,"Feature-List-ID":4255,"Feature-List":44}
Note:
If you omit defining the variable part, the mandatory parameter values will still be written to the SDRs. For example, Origin, Destination, and Session Key.Table 12-4 describes the templates that are available for SOAP network SDRs.
Table 12-4 Built-in SOAP SDR Templates
Interface | Opcode | Parameters |
---|---|---|
SP |
PREQ |
Uid Note: Unique ID assigned by the subscriber store. |
SP |
PRES |
Uid|Response-Status|Profile Note: Status for the profile response (OK, ERROR_INVALID_DATA, ERROR_SERVER_ERROR). |
SP |
PUPD |
Uid|Profile Note: Profile for the subscriber including counters. |
SDR templates can be modified if required.
To modify an SDR temple:
Start the Administration Console.
For details see Oracle Communications Service Broker Administrator's Guide.
Select PCRF then System Parameters.
Open the Service Data Record Templates tab.
Click Lock and Edit.
Edit the template according to the information in Table 12-3 and Table 12-4. You can add AVPs.
When you are finished, select Commit.
Note:
It is possible to define multiple SDR templates with the same key: Protocol+Interface+Opcode. If this occurs, the first of the duplicate keys is selected.This section describes the output files when SDRs are generated.
Both the fixed and variable fields written as part of the SDR are delimiter separated.
Fixed header fields: These are written without any parameter name and are separated by a delimiter.
Variable parameters: JSON is the default output format for variable parameters. Within JSON, all binary data is written in hexadecimal format.
Note: Time fields are in seconds.
The SDR headers for fixed fields and the actual SDR files are written into separate files:
SDR Headers: The header for the fixed fields are written in the ocpc_sdr_hdr.log file. This log file provides information on the parameter names that are part of the fixed header for that version.
Example: SDR Header (includes two lines)TIMESTAMP|VERSION|SDRTYPE|SERVERID|PROTOCOL|INTERFACE|OPCODE|DIRECTION|ORIGIN|SESSIONKEY|CORRELATIONKEY|
TIMESTAMP|VERSION|SDRTYPE|SERVERID|APPRECORDTYPE|SESSIONKEY|CORRELATIONKEY|
SDR Files: The actual SDRs are written in the ocpc_sdr.log file.
This section provides examples of SDR fields and examples of actual SDRs.
Table 12-5 shows an example of SDR field values
Table 12-5 SDR Example Field Values
Field Name | Value |
---|---|
Timestamp |
2012-07-05 16:31:00.689 |
Version |
100 |
SDR Type |
NW |
ServerId |
managed_1 |
Protocol |
DM |
Interface |
GX |
Opcode |
CCR |
Direction |
IN |
Origin |
pcef1@client.com |
Destination |
pcrf@us.oracle.com |
SessionKey |
GxSession-tc1_basic |
CorrelationKey |
14128771501 |
Variable Parameters |
{IP-CAN-Type":1,"RAT-Type":0,Supported-Features":{Vendor-Id":1,"Feature-List-ID":2255,"Feature-List":22,"vendor-Id":3"Feature-List-Id":4255,"Feature-List":44}} |
Table 12-5 shows an example of SDR records:
Example 12-1 SDR Example Records
2012-07-31 11:10:36.722|100|NW|managed_1|DM|GX|CCR|IN|pcef1 client.com|us.oracle.com|GxSession-tc09-2||| {"Subscription-Id":{"Subscription-Id-Type":0,"Subscription-Id-Data":"14128771509"},"IP-CAN-Type":1,"RAT-Type":0}| 2012-07-31 11:10:36.882|100|NW|managed_1|DM|GX|CCA|OT|||GxSession-tc09-2||| {"Result-Code":"2001"}| 2012-07-31 11:10:55.599|100|NW|managed_1|DM|GX|CCR|IN|pcef1 client.com|us.oracle.com|GxSession-tc11-2|||{"Subscription-Id":{"Subscription-Id-Type":0,"Subscription-Id-Data":"14128771511"},"IP-CAN-Type":1,"RAT-Type":0}| 2012-07-31 11:10:55.602|100|NW|managed_1|SO|SP|PREQ|OT|||e003188b935c41079e2d75cc73a98d24|GxSession-tc11-2|| {"Uid":"e003188b935c41079e2d75cc73a98d24"}|
By default, Policy Controller does not generate SDRs.
To enable Policy Controller SDRs:
Start the Administration Console.
For details see Oracle Communications Service Broker Administrator's Guide.
Select PCRF and then select System Parameters.
Note:
If you have deployed Policy Controller in a multi-domain topology, use the Administration Console for the processing domain to enable SDRs.Select the Parameters tab.
Click Lock and Edit.
Locate Enable SDR and select True.
When you are finished, select Commit.
SDR templates can be modified if required.
To modify an SDR temple:
Start the Administration Console.
For details see Oracle Communications Service Broker Administrator's Guide.
Select PCRF and then select System Parameters.
Open the Service Data Record Templates tab.
Click Lock and Edit.
Edit the template according to the information in Table 12-3 and Table 12-4. You can add AVPs.
When you are finished, select Commit.
Depending on your system capacity, you may want to modify maximum SDR file size and the maximum allowed number of SDR files.
Log4j controls SDR logging. Policy Controller includes preconfigured Log4J parameters with key-value pairs that define SDR logging.
The Log4J configuration Mbeans reflect the structure of the Log4J XML configuration file. See Log4J documentation at:
http://wiki.apache.org/logging-log4j/Log4jXmlFormat
The MBean Object Name is:
oracle:type=oracle.axia.cm.ConfigurationMBean,name=oracle.axia.logging.log4jconfig,version=1.0.0.0,name0=log4jConfig
The default configuration MBean has an object name with name1 set to configuration[0]:
oracle:type=oracle.axia.cm.ConfigurationMBean,name=oracle.axia.logging.log4jconfig,version=1.0.0.0,name0=log4jConfig,name1=configuration[0]]
Using the Scripting Engine or an MBean browser:
Locate the Log4J Configuration MBean.
Locate the configuration MBean with object name:
oracle:type=oracle.axia.cm.ConfigurationMBean,name=oracle.axia.logging.log4jconfig,version=1.0.0.0,name0=log4jConfig,name1=configuration[0]]
Locate the appender MBean that has the attribute name set to pcrf_sdr_file.
Example Object Name:
oracle:type=oracle.axia.cm.ConfigurationMBean,name=oracle.axia.logging.log4jconfig,version=1.0.0.0,name0=log4jConfig,name1=configuration[0],name2=appender[3]
Locate the param MBean with the attribute name set to MaxFileSize.
Example Object Name:
oracle:type=oracle.axia.cm.ConfigurationMBean,[[BR]] name=oracle.axia.logging.log4jconfig,version=1.0.0.0,name0=log4jConfig,name1=configuration[0],name2=appender[3],name3=param[1]
Set the attribute value for the param MBean to the maximum file size. Default value is 5MB.
Locate the param MBean with the attribute name set to MaxBackupIndex.
Example Object Name:
oracle:type=oracle.axia.cm.ConfigurationMBean,[[BR]] name=oracle.axia.logging.log4jconfig,version=1.0.0.0,name0=log4jConfig,name1=configuration[0],name2=appender[3],name3=param[2]]
Set the attribute value for the param MBean to the number of files. Default value is 100.