VolteInterimCdr
is a system feature that is responsible for writing interim Call
Detail Records and/or Diameter Accounting Requests (ACRs) throughout the session.
VolteInterimCdr
runs at various key points throughout a session and if any of its write conditions are met it writes either, both, or neither of:
-
an interim AVP CDR using the
cdr-ra
-
an ACR using the
rf-control-ra
Interim AVP CDRs and Diameter Accounting Records (ACRs) have substantially similar content and the same triggering logic hence both are supported by this feature.
By default, Sentinel runs featurescript SipEndSession-SysPost-Default { run VolteInterimCdr run MaxCallDuration run SessionRefresh } |
Details
Feature script name |
VolteInterimCdr |
---|---|
Applicable contexts |
SIP service |
SAS Support |
No |
Prerequisite features |
None, but information from various features is used if available |
Session state inputs and outputs
Inputs
If any of these fields are unset the feature will skip writing the current CDR/ACR.
This feature uses the same session state fields as the Sentinel Interim CDR feature. This page will only discuss the additions to the fields described there.
Name | Type | Description | Where set |
---|---|---|---|
TerminatingDomain |
String |
The accepted terminating domain in a T-ADS scenario |
MMTelWifiChargingFinalisation feature, SCCTADSParallelRouting feature |
MMTelInformation |
org.jainslee.resources.diameter .ro.types.vcb0.MmtelInformation |
The MMTel-Information Diameter AVP |
|
RegistrationRecords |
List<com.opencloud.sentinel.state.RegistrationRecord> |
Contains subscriber information retrieved from the Registrar and HSS or Cassandra |
|
CallReferenceNumber |
byte[] |
Contains the Call Reference Number used in queries to the HLR |
Functionality
This feature can be configured to:
-
write CDRs to the local filesystem (through the
cdr-ra
), and/or -
write ACRs using the Diameter Rf protocol (through the
rf-control-ra
) -
not write either
This feature uses the information from the session state fields mentioned above and constructs a CDR and/or ACR for output. See AVP CDR Format for the format of the CDRs.
Although the feature runs in many execution points, it inspects various session state fields to decide whether or not to write an interim CDR and/or ACR.
An interim CDR and/or ACR will be written under any of the following conditions:
-
On the initial SIP request on the 'LegForCdrs'
-
On the
SipInterimCdr
feature timer, if no CDR has been recently written -
On session end
-
When a feature (e.g. SDP Monitor) sets
WriteCdrOnSDPChange
to true
When the VoLTE TAS is configured for session replication CDRs will still be written and ACRs will continue to be sent after node failover. The feature maintains a timer for the interim CDR period. This timer may be adjusted according to the Rf accounting interval provided by the CDF. The interim CDR timer is armed redundantly if session replication is enabled.
When the feature is about to write an INTERIM or STOP ACR for a Sentinel Session, if checks if the current Rhino node has an Rf Control Activity for the Diameter Rf session. If it does not, a new Rf Control Activity is started using the same Rf session identifier. This fails over the Rf session. The new session will use `Accounting-Record-Number`s continuing from the last known record number before failover.
Also see Charging Information for general information about the contents of CDRs, ACRs and CCRs.
This feature only supports writing binary CDRs. If the cdr-ra is
configured to write text CDRs the feature will fail to execute.
|
Configuration
These parameters configure the feature:
Parameter | Type | Description |
---|---|---|
WriteCdrOnSDPChange |
boolean |
When a meaningful SDP change occurs on a monitored leg, write a CDR |
InterimTimerPeriod |
long |
The maximum duration in seconds between timer driven interim CDRs. Setting this to zero will disable timer based interim CDRs. |
UseCdrRa |
boolean |
Whether interim CDRs should be written to disk using the |
UseRfControlRa |
boolean |
Whether ACRs should be written using the |