# System Administrator’s Guide

# CDRs and Diameter

The following section describes how to manage and configure the CDR to Diameter service in Oracle Communications Services Gatekeeper.

- About CDRs and Diameter
- CdrToDiameter Service Deployment Characteristics

- Configuration of CdrToDiameter
- Management of CdrToDiameter
- Reference: Attributes and Operations for CdrToDiameter

- CDR to AVP mapping

## About CDRs and Diameter

The CdrToDiameter service forwards charging events to a Diameter server using the DIAMTER Rf interface. This allows for easy integration with charging systems that support Diameter Rf offline charging. When enabling this service, Oracle Communications Billing and Revenue Management, together with Oracle Communications Network Mediation, can be used out-of-the-box with Oracle Communications Services Gatekeeper.

Any traffic request processed through Oracle Communications Services Gatekeeper that generates a CDR also generates a corresponding Diameter Rf request. The Diameter server can the be used for any billing, charging, and reporting for these requests. See CDR to AVP mapping for information about how CDRs are mapped to Diameter attribute-value pairs (AVPs).

## CdrToDiameter Service Deployment Characteristics

The service is not deployed by default. It is deployed as a regular JEE module using WebLogic Server deployment tools. See Oracle WebLogic Server Deploying Applications to WebLogic Server at http://download.oracle.com/docs/cd/E12840_01/wls/docs103/deployment/ for information on how to deploy the service.

The service is packaged in `cdr_to_diameter-single.ear` and `cdr_to_diameter.ear` in `$OCSG_HOME/applications`.

Use `cdr_to_diameter.ear` in clustered installations, and `cdr_to_diameter-single.ear` in single server domains.

The service is a cluster singleton, so it will execute only on one server at any given time, and is transferred to another server in case of server failure.

The management part is distributed to all servers in the cluster, so it can be managed from any server in the cluster.

Note: | Some Diameter requests may be dropped during patching, redeployment, or upgrade of the CDR to Diameter module. Check the database for the time period during which the transition took place. All CDRs are stored in the database.

### Configuration of CdrToDiameter

To configure the behavior of the CdrToDiameter service, in the managed object CdrToDiameter:

1. Specify:

- Attribute: OriginHost
- Attribute: OriginPort
- Attribute: DestinationHost
- Attribute: DestinationPort
- Attribute: DestinationRealm
- Attribute: PeerRetryDelay
- Attribute: RequestTimeout
- Attribute: WatchdogTimeout
- Attribute: OriginHost

2. Use Operation: connect to connect to the Diameter server.

### Management of CdrToDiameter

The CdrToDiameter service can be explicitly connected to the Diameter server. It does not connect to the server by default. The service has a connection status that will be preserved after service redeployment and server restart.

Use:

- Operation: connect
- Operation: disconnect

.Use Attribute: Enabled (r) to check the current connection status.

Use Operation: connect after any changes to the configuration attributes. Changes does not take affect until this operation is invoked.

### Reference: Attributes and Operations for CdrToDiameter

Managed object: Container ServicesCdrToDiameter

MBean: com.bea.wlcp.wlng.cdrdiameter.management.CDRDiameterMBean

Below is a list of attributes and operations for configuration and maintenance.

- Attribute: Enabled (r)
- Attribute: OriginHost
- Attribute: OriginPort
- Attribute: DestinationHost
- Attribute: DestinationPort
- Attribute: DestinationRealm
- Attribute: PeerRetryDelay
- Attribute: RequestTimeout
- Attribute: WatchdogTimeout
- Operation: connect
- Operation: disconnect

#### Attribute: Enabled (r)

Read-only.

Scope: Cluster

Format: Boolean

Unit: n/a

Displays the status of the CdrToDiameter service.

Displays:

- `true`, if enabled.
- `false`, if not enabled.

#### Attribute: OriginHost

Scope: Server

Format: String

Unit: n/a

Specifies the Origin-Host AVP in the Diameter request.

Can be specified either as an IP-address or a host name.

Optional.

#### Attribute: OriginPort

Scope: Server

Format: int

Unit: n/a

Specifies the local originator port to be used for the connection to the Diameter server.

If specified as 0 (zero), a random local port is used.

#### Attribute: DestinationHost

Scope: Server

Format: String

Unit: n/a

Specifies the Destination-Host AVP in the Diameter request.

Can be specified either as an IP-address or a host name.

#### Attribute: DestinationPort

Format: int

Unit: n/a

Specifies the port on the Diameter server to connect to.

#### Attribute: DestinationRealm

Scope: Cluster

Format: String

Unit: n/a

Specifies the Destination-Realm AVP in the Diameter request.

#### Attribute: PeerRetryDelay

Scope: Cluster

Format: int

Unit: seconds

Specifies the time to wait before attempting to reconnect to the Diameter server if the connection is lost.

#### Attribute: RequestTimeout

Scope: Cluster

Format: int

Unit: milliseconds

Specifies the maximum time to wait for a response to a request to the Diameter server.

#### Attribute: WatchdogTimeout

Scope: Cluster

Format: int

Unit: seconds

Specifies the watchdog timeout Tw.

This setting corresponds to the timer Tw, see RFC 3539 at http://www.ietf.org/rfc/rfc3539.txt.

It specifies the time to wait before attempting to reconnect to the Diameter server in the case of a lost connection.

#### Operation: connect

Scope: Cluster

Connects to the Diameter server.

Once connected, the service will try to reconnect to the Diameter server if the server is restarted or the service is redeployed.

Signature:

    connect()

Table 8-1 connect
connect
Parameter | Description
--- | ---
- | -

#### Operation: disconnect

Scope: Cluster

Disconnects from the Diameter server.

Once disconnected, the service will not try to reconnect to the DAMETER server if the server is restarted or the service is redeployed.

Signature:

    disconnect()

Table 8-2 disconnect
disconnect
Parameter | Description
--- | ---
- | -

## CDR to AVP mapping

The CDRs that are generated are mapped to Diameter attribute-value pairs, AVPs, according to Table 8-3. Both standard and custom AVPs are used. When custom are used it is indicated in the table.

Table 8-3 CDR to Diameter AVP mappings
AVP | Source | Description
--- | --- | ---
Session-Id | Auto generated. | Operation session identifier. Specification: RFC 3588 Example: nt1.ocsg.oracle.com;1214342798;0
Origin-Host | Configurable, see Attribute: OriginHost. | Realm of the Oracle Communications Services Gatekeeper domain. Addressed with the domain address of the corresponding public URI. Specification: RFC 3588 Example: nt1.ocsg.oracle.com
Origin-Realm | Auto generated. | Ream of the Oracle Communications Services Gatekeeper domain. Addressed with the domain address of the corresponding public URI. Specification: RFC 3588 Example: oracle.com
Destination-Realm | Configurable, see Attribute: DestinationRealm. | Realm of the operator domain. Addressed with the domain address of the corresponding public URI. Specification: RFC 3588 Example: oracle.com
Accounting-Record-Type | Value of CDR name-value pair: CallInfo | Defines the transfer type. Value is EVENT_RECORD for event based charging. Value is START_RECORD, INTERIM_RECORD, or STOP_RECORD for session based charging. If value of CallInfo is START, transfer type is EVENT_RECORD or START_RECORD. If value of CallInfo is STOP, transfer type is STOP_RECORD. EVENT_RECORD has numeric value 1. START_RECORD has numeric value 2. INTERIM_RECORD has numeric value 3. STOP_RECORD has numeric value 4. Specification: RFC 3588 Example: 1
Accounting-Record-Number | Auto generated. | Sequence number of the Diameter message sent from the CdrToDiameter service. Specification: RFC 3588 Example: 42
Acct-Application-Id | Static. Value is always 3. | Value is always 3, which corresponds to the application ID of the Diameter Accounting Application (off-line charging). Specification: RFC 3588
User-Name | Value of CDR name-value pair: ServiceProviderId | The service provider ID associated with the request that triggered the CDR. Specification: RFC 3588 Example: service_provider_1
Event-Timestamp | CDR attribute in name-value pair: Timestamp | Time the event happened. Given in seconds since the year 1900. Specification: RFC 3588
Calling-Party-Address | Value of CDR name-value pair: destinationParty | Custom AVP. Depending on which communication service that triggered the CDR, different application-provided parameters are used. Specification: 3GPP 32.299 Example: tel:7878
Called-Party-Address | Value of CDR name-value pair: originatingParty | Custom AVP. Depending on which communication service that triggered the CDR, different application-provided parameters are used. Specification: 3GPP 32.299 Example: tel:7878
Service-Indication | Value of CDR name-value pair: ServiceName | Custom AVP. The name of the service the request triggered. Specification: 3GPP 29.329 Example: MultimediaMessaging
Message-Size | Calculated from message payload. Relevant for Parlay X 2.1 Short Messaging and Multimedia Messaging. | Custom AVP. For MM, it holds the total size in bytes of the MM calculated according to TS 23.140 For SM, it holds the total size in octets of the SM including any user data header. Specification: 3GPP 32.299 Example: 345
OCSG-Charge-Description | Parameter ChargingDescription in any Parlay X operation that includes this parameter. | Custom AVP. Application-provided description text to be used for information and billing text. Specification: none Example: Delivery of weather report.
Currency-Code | Parameter ChargingCurrency in any Parlay X operation that includes this parameter. | Custom AVP. Currency code mapped according to ISO 4217. Specification: RFC 4006 Example: If the currency is U.S dollars, the value is 840
Unit-Value.Exponent | Parameter ChargingAmount in any Parlay X operation that includes this parameter. | Custom AVP. The exponent value to be applied for the Value-Digit AVP within the Unit-Value AVP. Specification: RFC 4006 Example: -2
Unit-Value.Value-Digits | Parameter ChargingAmount in any Parlay X operation that includes this parameter. | Custom AVP. The value to be applied for the Value-Digit AVP within the Unit-Value AVP. Contains the significant digits of the number scaled to an integer. Specification: RFC 4006 Example: 4062
Service-Context-Id | Parameter ChargingCode in any Parlay X operation that includes this parameter. | Custom AVP. Code that references a contract under which the charge is applied. Specification: RFC 4006 Example: premium