5 IMS CDF/CGF Cartridge Pack

This document describes how to configure the nodes included in the Oracle Communications Offline Mediation Controller IMS CDF/CGF Cartridge Pack.

Topics in this document:

About the IMS CDF/CGF Cartridge Pack

The IMS node chain collects raw diameter data from IMS devices, converts that data into 32.298 ASN.1 format, and outputs the data to downstream applications as shown in Figure 5-1.

This cartridge supports the following:

  • Support for Cause-Code AVP value of -4.

  • Compliance with 3GPP Technical Specification 32.298 V10.5

  • Compliance with 3GPP Technical Specification 32.260 V10.4

  • Compliance with 3GPP Technical Specification 32.299 V10.2

  • Compliance with 3GPP Technical Specification 32.298 V16.4.1.1

Configuring the Diameter CC

To receive data from Diameter network elements, you use the Diameter CC node.

Table 5-1 shows the options to configure in the Diameter tab.

Table 5-1 Diameter Tab

Field Description

Receive Port

The port that the node monitors for incoming Diameter connections.

Request Timer

The amount of time, in seconds, the node waits for Diameter records to be transferred during an established connection before disconnecting from the remote device.

Creating and Configuring the Diameter Parser EP

The Diameter Parser EP receives raw diameter data from the CC and converts that data into diameter types, then sends the data to the next node in the chain, usually the Session Sequencing EP. There are no specialized tabs in the Diameter Parse EP configuration.

Creating and Configuring the Session Sequencing EP

The Session Sequencing EP organizes CDRs into the correct chronological sequence and removes duplicate records. The EP then passes the files to the next node in the chain, which is the AVP Mapper EP.

Note:

You must configure two Session Sequencing EPs. For the first EP, select the IMS R6 Event De-Duplication rule file. For the second EP, select the IMS R6 Sequence Processing rule file.

Table 5-2 shows the options to configure in the Sequencing tab.

Table 5-2 Sequencing Tab

Option Description

Expiry Interval (minutes)

Enter the time the node waits, before the sequence records output are sent to the next node in the chain.

Log Duplicate Entries

Select this check box to enable the node to create a log entry for each duplicate record.

Missing Record Monitoring

Select this check box to enable the node to generate alarms or logs for any missing records it detects.

Missing Record Alarm or Log Severity

Select the alarm severity level or log option that the node will generate for a missing record.

Configuring the AVP Mapper EP Node

The AVP Mapper EP is responsible for converting the incoming Diameter AVPs into their equivalent 32.298 ASN.1 format. There are no specialized tabs in the AVP Mapper EP configuration.

For the exact mapping of Diameter AVP to ASN.1 fields, see "IMS CDF/CGF Cartridge Pack Output Specification".

Configuring the IMS Session Aggregation AP Node

The IMS Session Aggregation AP is responsible for compiling record sessions, and passing these files on to the 3GPP IMS ASN.1 DC. in addition to the standard configuration tabs, you can configure the node to create partial records. To do so, enter a value in minutes in the Partial Generation tab.

Creating and Configuring the 3GPP IMS ASN.1 DC Node

The 3GPP IMS ASN.1 DC node converts files to ASN.1 format and then outputs the files to a downstream system. To configure the node you enter file output, FTP connections, and file retention.

IMS Sample Output

This section lists the IMS sample outputs.

Sample Output From an S-CSCF Record in 32.298 ASN.1 Format

The following is IMS sample output from an S-CSCF record in 32.298 ASN.1 format, converted to readable text.

* * * * * * * Record 1 * * * * * * *
32.298 v 10.5.0 IMS CDR
------------------
value IMSRecord ::= sCSCFRecord : {
  recordType sCSCFRecord,
  role-of-Node terminating,
  nodeAddress domainName : "cscf.nn.com",
  session-Id "5e5e-0884-39f4-bb1e6e62@47.129.74.198",
  list-Of-Calling-Party-Address {
    sIP-URI : "sip:004nigelfull@di.com"
  },
  called-Party-Address tEL-URI : "10.13.4.3",
  privateUserID "004nigelfullprv@di.com",
  serviceRequestTimeStamp '0501280850512B0000'H,
  serviceDeliveryStartTimeStamp '0501280850542B0000'H,
  recordOpeningTime '1203190334362B0000'H,
  recordClosureTime '1203190334362B0000'H,
  interOperatorIdentifiers {
    {
      originatingIOI "nigel.com",
      terminatingIOI "nigel.com"
    }
  },
  localRecordSequenceNumber 0,
  causeForRecordClosing timeLimit,
  incomplete-CDR-Indication {
    aCRStartLost FALSE,
    aCRInterimLost unknown,
    aCRStopLost TRUE
  },
  iMS-Charging-Identifier '3133355F313130363933323335373434364034372E3234382E36372E3433'H,
  list-Of-SDP-Media-Components {
    {
      sIP-Request-Timestamp '0501280850512B0000'H,
      sIP-Response-Timestamp '0501280850542B0000'H,
      sDP-Media-Components {
        {
          sDP-Media-Name "Video Conference",
          sDP-Media-Descriptions {
            "a=video conference"
          },
          authorized-QoS "Gold"
        }
      },
      mediaInitiatorFlag NULL,
      sDP-Session-Description {
        "a=Video Conference"
      },
      sIP-Request-Timestamp-Fraction 123456,
      sIP-Response-Timestamp-Fraction 234567,
      sDP-Type sDP-offer,
      localGWInsertedIndication TRUE,
      iPRealmDefaultIndication TRUE,
      transcoderInsertedIndication TRUE
    }
  },
  gGSNaddress iPAddress : iPBinaryAddress : iPBinV4Address : '0A0D05E0'H,
  serviceReasonReturnCode "-302",
  list-Of-Message-Bodies {
    {
      content-Type "application/sdp",
      content-Disposition "Disposition",
      content-Length 3420720,
      originator sIP-URI : "2"
    }
  },
  expiresInformation 12345,
  accessNetworkInformation '4163636573734E6574776F726B496E666F726D6174696F6E'H,
  serviceContextID "MNC.MCC.11.32260@3gpp.org",
  list-of-subscription-ID {
    {
      subscriptionIDType eND-USER-IMSI,
      subscriptionIDData "SubscriptionIdData1"
    }
  },
  list-Of-Early-SDP-Media-Components {
    {
      sDP-Media-Components {
        {
          sDP-Media-Name "Video Conference 1",
          sDP-Media-Descriptions {
            "sdp media description- video conference"
          },
          authorized-QoS "Gold"
    }
     },
      mediaInitiatorFlag NULL,
      sDP-Session-Description {
        "a=my sdp session description 1"
      },
      sDP-Type sDP-offer
    }
  },
  iMSCommunicationServiceIdentifier '496D73436F6D6D5376634964'H,
  numberPortabilityRouting "DataForNPRI",
  carrierSelectRouting "DataForCSRI",
  sessionPriority pRIORITY-1,
  serviceRequestTimeStampFraction 123456,
  serviceDeliveryStartTimeStampFraction 234567,
  applicationServersInformation {
    {
      applicationServersInvolved domainName : "sip:47.135.114.225:5060",
      applicationProvidedCalledParties {
        sIP-URI : "10.13.5.91"
      }
    }
  },
  requested-Party-Address tEL-URI : "RequestedPartyAddress",
  list-Of-Called-Asserted-Identity {
    sIP-URI : "sip:Called-Asserted-Identity-1"
  },
  online-charging-flag NULL,
  realTimeTariffInformation {
    tariffInformation : {
      currencyCode 840,
      scaleFactor { mantissa 3075, base 2, exponent 2 },
      rateElements {
        {
          unitType 1,
          unitValue { mantissa 3075, base 2, exponent 2 },
          unitCost { mantissa 3075, base 2, exponent 2 },
          unitQuotaThreshold { mantissa 105, base 2, exponent 1 }
        }
      }
    }
  }
}

Sample Output From a P-CSCF Record in 32.298 ASN.1 Format

The following is IMS sample output from a P-CSCF record in 32.298 ASN.1 format, converted to readable text.

* * * * * * * Record 1 * * * * * * *
32.298 v 10.5.0 IMS CDR
------------------
value IMSRecord ::= pCSCFRecord : {
  recordType pCSCFRecord,
  role-of-Node terminating,
  nodeAddress domainName : "cscf.nn.com",
  session-Id "5e5e-0884-39f4-bb1e6e62@47.129.74.198",
  list-Of-Calling-Party-Address {
    sIP-URI : "sip:004nigelfull@di.com"
  },
  called-Party-Address tEL-URI : "10.13.4.3",
  serviceRequestTimeStamp '0501280850512B0000'H,
  serviceDeliveryStartTimeStamp '0501280850542B0000'H,
  recordOpeningTime '1203210136242B0000'H,
  recordClosureTime '1203210136242B0000'H,
  interOperatorIdentifiers {
    originatingIOI "nigel.com",
    terminatingIOI "nigel.com"
  },
  localRecordSequenceNumber 1,
  causeForRecordClosing timeLimit,
  incomplete-CDR-Indication {
    aCRStartLost FALSE,
    aCRInterimLost unknown,
    aCRStopLost TRUE
  },
  iMS-Charging-Identifier '3133355F313130363933323335373434364034372E3234382E36372E3433'H,
  list-Of-SDP-Media-Components {
    {
      sIP-Request-Timestamp '0501280850512B0000'H,
      sIP-Response-Timestamp '0501280850542B0000'H,
      sDP-Media-Components {
        {
          sDP-Media-Name "Video Conference",
          sDP-Media-Descriptions {
            "a=video conference"
          },
          authorized-QoS "Gold"
        }
      },
      mediaInitiatorFlag NULL,
      sDP-Session-Description {
        "a=Video Conference"
      },
      sIP-Request-Timestamp-Fraction 123456,
      sIP-Response-Timestamp-Fraction 234567,
      sDP-Type sDP-offer,
      localGWInsertedIndication TRUE,
      iPRealmDefaultIndication TRUE,
      transcoderInsertedIndication TRUE
    }
  },
  gGSNaddress iPAddress : iPBinaryAddress : iPBinV4Address : '0A0D05E0'H,
  serviceReasonReturnCode "-302",
  list-Of-Message-Bodies {
    {
      content-Type "application/sdp",
      content-Disposition "Disposition",
      content-Length 3420720,
      originator sIP-URI : "2"
    }
  },
  expiresInformation 12345,
  accessNetworkInformation '4163636573734E6574776F726B496E666F726D6174696F6E'H,
  list-of-subscription-ID {
    {
      subscriptionIDType eND-USER-SIP-URI,
      subscriptionIDData "SubscriptionIdData"
    }
  },
  list-Of-Early-SDP-Media-Components {
    {
      sDP-Media-Components {
        {
          sDP-Media-Name "Video Conference 1",
          sDP-Media-Descriptions {
            "sdp media description- video conference"
          },
          authorized-QoS "Gold"
        }
      },
      mediaInitiatorFlag NULL,
      sDP-Session-Description {
     },
      sDP-Type sDP-offer
    }
  },
  iMSCommunicationServiceIdentifier '496D73436F6D6D5376634964'H,
  sessionPriority pRIORITY-1,
  serviceRequestTimeStampFraction 123456,
  serviceDeliveryStartTimeStampFraction 234567,
  list-Of-Called-Asserted-Identity {
    tEL-URI : "CalledAsserterQuantity1"
  },
  iMSApplicationReferenceIdentifer '496D734170705265664964'H
}

Configuring Node Chain Routing

Both multicast and directed routing are supported in specific parts of the IMS node chain. The purpose for using directed routing is to route records with particular attributes to one node or node stream, and route records with other specific attributes to a different node or node stream.

Directed routing is supported between the Diameter Parser EP and the two Session Sequencing EPs. For the directed routing connection between the Diameter Parser EP and the first Session Sequencing EP (with the IMS R6 Event De-Duplication rule file), select the Accounting-Record-Type attribute and set the value equal to one. For the directed routing connection between the Diameter Parser EP and the second Session Sequencing EP (with the IMS R6 Sequence Processing rule file), select the Accounting-Record-Type attribute and set the value not equal to one.

Figure 5-2 shows the default configuration for the node chain routing.

Figure 5-2 Node Chain Routing - Default Configuration

Description of Figure 5-2 follows
Description of "Figure 5-2 Node Chain Routing - Default Configuration"

In addition to the default node chain configuration, you can add another 3GPP IMS ASN.1 DC, and use directed routing from the IMS Session Aggregation AP to each DC. For example, you can configure directed routing on the RecordType attribute, and send S-CSCF records to one DC and P-CSCF records to the other DC. When configuring directed routing for the S-CSCF record stream, select the RecordType attribute, and set the value equal to 63. When configuring directed routing for the P-CSCF record stream, select the "RecordType" attribute, and set the value not equal to 63.

Figure 5-3 shows the alternate configuration for the node chain routing.

Figure 5-3 Node Chain Routing - Alternate Configuration

Description of Figure 5-3 follows
Description of "Figure 5-3 Node Chain Routing - Alternate Configuration"

Supported Routing Attributes

The supported routing attributes between the Diameter Parser EP and the Session Sequencing EP are:

  • Session-Id

  • Origin-Host

  • Origin-Realm

  • Destination-Realm

  • Accounting-Record-Type

  • Accounting-Record-Number

  • Acct-Application-Id

  • User-Name

  • Acct-Interim-Interval

  • Origin-State-Id

  • Role-of-Node

  • User-Session-Id

  • Calling-Party-Address

  • Called-Party-Address

  • Application-server

  • Application-provided-called-party-address

  • IMS-Charging-Identifier

  • Authorized-QoS

  • Service-Id

  • Node-Functionality

  • Retransmitted

The supported routing attributes between the Session Aggregation AP and the 3GPP IMS ASN.1 DC are:

  • Accounting-Record-Number

  • TimeStamp

  • RecordType

  • Retransmission

  • SIP_Method

  • Role_of_Node

  • Session_Id

  • PrivateUserID

  • LocalRecordSequenceNumber

  • RecordSequenceNumber

  • CauseForRecordClosing

  • ServiceDeliveryFailureReason

Known Problems

The following are the known problems for the IMS CDF/CGF Cartridge Pack.

Stopping the Session Aggregation AP Node and the 3GPP IMS ASN.1 DC Node

Editing or stopping and starting the Session Aggregation AP and the 3GPP IMS ASN.1 DC while they are processing data can result in Offline Mediation Controller generating the following warning alarm:

Configuration; NPL originated Critical log; A record contains an incorrect value in the field/AVP Accounting-Record-Type. This record will be processed as an ACR-Stop.

There is also the possibility of duplicate record generation.

To work around this issue:

  1. Stop the Session Sequencing EP node.

  2. Wait for all records to propagate through the Session Aggregation AP node and the 3GPP IMS ASN.1 DC. All records are propagated when Current NARs = 0 for more than 5 seconds in the Node Performance view of the Administration window.

  3. Proceed with the stop or edit operation.

  4. Save or start the node.

  5. Start the Session Sequencing EP.

    Note:

    If the Session Sequencing EP is stopped for a period longer than its flush timer setting, duplicate records may appear.

Changing the Expiry Interval Setting on the Session Sequencing EP

Changing the Expiry Interval setting on the Session Sequencing EP affects new input records only. The EP still flushes any records waiting to be sequenced according to the pre-configured setting. There is no work around.

CDF/CGF host is not Uniquely Identified by the Diameter CC Node

When the Diameter CC node constructs the ACA (Accounting-Answer) in response to the ACR (Accounting-Request) the values for Origin-Host and Origin-Realm are obtained from the values in the ACR and therefore do not uniquely identify the CDF/CGF host. There is no work around.

Diameter AVP (GPRS-Charging-Id) Must Contain an Integer

According to the 3G Technical Specification, the GPRS-Charging-Id field is declared as type INTEGER and therefore the CCF requires that the associated Diameter AVP (GPRS-Charging-Id) contain an integer and not a string . Otherwise the node will skip the field and raise the following warning alarm:

Configuration; Error occurred in NPL; Exception occurred in the NPL assignment statement on line 150. Exception is java.lang.ClassCastException: For input string: "GPRS #1" NPL execution continuing with next statement.