Skip Headers
Oracle® Communications Service Broker Policy Controller Implementation Guide
Release 6.1

Part Number E29455-01
Go to Documentation Home
Home
Go to Book List
Book List
Go to Table of Contents
Contents
Go to Feedback page
Contact Us

Go to previous page
Previous
Go to next page
Next
PDF · Mobi · ePub

12 Working With Service Data Records

This chapter describes how to monitor Oracle Communications Service Broker Policy Controller (Policy Controller) using Service Data Records (SDRs).

About Service Data Records

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.

About Service Data Record Types

Policy Controller supports two types of SDRs:

Network 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

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.

About Service Record Data Formats

This section describes the common header fields for network and application SDRs.

Common Header Fields for Network 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.

Common Header Fields for Application SDRs

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


About Service Record Data Templates

Policy Controller provides built-in templates that provide values for fields in Diameter and SOAP SDRs.

Diameter Templates

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.

SOAP Templates

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.


Customizing Templates

SDR templates can be modified if required.

To modify an SDR temple:

  1. Start the Administration Console.

    For details see Oracle Communications Service Broker Administrator's Guide.

  2. Select PCRF then System Parameters.

  3. Open the Service Data Record Templates tab.

  4. Click Lock and Edit.

  5. Edit the template according to the information in Table 12-3 and Table 12-4. You can add AVPs.

  6. 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.

About SDR Output Files

This section describes the output files when SDRs are generated.

SDR Output Format

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.

Output Fields

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.

SDR Examples

This section provides examples of SDR fields and examples of actual SDRs.

SDR Example Fields

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}}


SDR Record Examples

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"}|

Enabling SDR Generation

By default, Policy Controller does not generate SDRs.

To enable Policy Controller SDRs:

  1. Start the Administration Console.

    For details see Oracle Communications Service Broker Administrator's Guide.

  2. 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.
  3. Select the Parameters tab.

  4. Click Lock and Edit.

  5. Locate Enable SDR and select True.

  6. When you are finished, select Commit.

Customizing Templates

SDR templates can be modified if required.

To modify an SDR temple:

  1. Start the Administration Console.

    For details see Oracle Communications Service Broker Administrator's Guide.

  2. Select PCRF and then select System Parameters.

  3. Open the Service Data Record Templates tab.

  4. Click Lock and Edit.

  5. Edit the template according to the information in Table 12-3 and Table 12-4. You can add AVPs.

  6. When you are finished, select Commit.

Configuring SDR Logging

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]]

Setting the Maximum File Size and Number of Files

Using the Scripting Engine or an MBean browser:

  1. Locate the Log4J Configuration MBean.

  2. 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]]

  3. 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]

  4. 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]

  5. Set the attribute value for the param MBean to the maximum file size. Default value is 5MB.

  6. 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]]

  7. Set the attribute value for the param MBean to the number of files. Default value is 100.

Administrative Issues

The following are several known issues: