This chapter describes how to configure the nodes included in the Oracle Communications Offline Mediation Controller 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
To receive data from Diameter network elements you use the Diameter CC node.
Configure these options in the 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. |
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.
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, 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, and for the second EP, select the IMS R6 Sequence Processing rule file.Configure these options in the Sequencing tab:
| Option | Description |
|---|---|
| Expiry Interval (minutes) | Enter the time the node to 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. |
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."
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.
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.
This section lists the IMS sample outputs.
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 }
}
}
}
}
}
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
}
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

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

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
The following are the known problems for the IMS CDF/CGF Cartridge Pack.
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:
Stop the Session Sequencing EP node.
Wait for all records to propagate though 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.
Proceed with the stop or edit operation
Save or start the node
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 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.
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.
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.