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:

  1. an interim AVP CDR using the cdr-ra

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

Tip

By default, Sentinel runs VolteInterimCdr as the very last feature in the post phase of almost every Sip or Charging related feature execution script and EndSession. For example:

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

DiameterMMTelInfo feature

RegistrationRecords

List<com.opencloud.sentinel.state.RegistrationRecord>

Contains subscriber information retrieved from the Registrar and HSS or Cassandra

IMSIDLookup feature, IMSIDLookupFromCassandraSIP feature

CallReferenceNumber

byte[]

Contains the Call Reference Number used in queries to the HLR

FetchMSRN feature

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.

Note 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 cdr-ra

UseRfControlRa

boolean

Whether ACRs should be written using the rf-control-ra

Configuration profile naming

Configuration Profile Table Name Description Profile Naming

SipInterimCdrProfileTable

SipInterimCdr feature configuration parameters

SentinelSelectionKey (typically $PLATFORM_OPERATOR_NAME:::: for example, OpenCloud::::)

Feature responses

Response Reason

featureHasFinished

feature has finished

Previous page Next page
Sentinel VoLTE Version 3.0.0