SipInterimCdr is a system feature that is responsible for writing interim Call Detail Records throughout the session.

SipInterimCdr runs at various key points throughout a session and if any of its write conditions are met, it will create a new interim CDR based on session state, and write it out using the cdr-ra.

Tip

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

featurescript OnPostSubscriberCheck {
    if not session.MonitorCallOnly { run B2BUAScurPostFeature }
    run SDPMonitor mode "post"
    run DetermineCauseCode
    run DiameterServiceInfo
    run SipInterimCdr
}

Details

Feature script name

SipInterimCdr

Applicable contexts

SIP service

Prerequisite features

None, but information from various features is used if available

Session state inputs and outputs

Control flags indicating that an interim CDR should be written

Name Type Description Where set

WriteCdrOnSDPChange

boolean

Indicates that a meaningful SDP change occurred on a monitored leg

SDP Comparison feature

LegForCdrs

String

Name of the leg for which CDRs should be written

Defaults to callingParty, can be set by another feature during call setup.

Inputs

If any of these fields are unset the feature will skip writing them to the CDR file.

Name Type Description Where set

CallId

String

The unique ID of the call

DiameterServiceInfo feature

CallType

Enumerated

The type of the call. One of MobileOriginating, MobileTerminating, MobileForwarded, NetworkInitiated, or EmergencyCall

DetermineCallType feature, SipThirdPartyHttpTrigger feature

ChargingResult

int

The result code of the Diameter session

Sentinel SIP service

DiameterServiceContextId

String

The Diameter context ID of the relevant service

AcceptSip feature, SipThirdPartyHttpTrigger feature

EndSessionCause

Integer

The end session cause code

LegManager

EventId

String

  • For SUBSCRIBE and NOTIFY events, the main value and id parameter of the Event header.

  • For REFER events, the string refer and the sequence number.

DiameterServiceInfo feature

ImsInformation

org.jainslee.resources.diameter .ro.types.vcb0.ImsInformation

The IMS-Information Diameter AVP

DiameterServiceInfo feature

LatestOcsAnswer

org.jainslee.resources.diameter .ro.types.vcb0.CreditControlAnswer

The latest OCS response message

Sentinel SIP service

PlayedAnnouncementIDs

int[]

IDs of the played announcements

SipPlayAnnouncement feature, SipMidCallPlayAnnouncement feature

OcsSessionIds

String[]

An array of all the OCS session IDs for the call

Various features

OcsSessionTerminationCause

Integer

The OCS session termination cause

Sentinel SIP service

SentinelSelectionKey

com.opencloud.sentinel .common.SentinelSelectionKey

The selection key (for example, <platform>::::) for selecting configuration data

Various features

SipServiceType

Enumerated

The type of service Sentinel is processing. One of Message, Subscription, SipCall, or Unknown.

AcceptSip feature

Subscriber

String

The subscriber associated with the session

SipSubscriberDetermination feature

Statistics

Name Description

CDRWritten

Number of times a CDR was successfully written

CDRWriteError

Number of times a CDR was not successfully written

EventCDRWritten

Number of times an EventRecord CDR was successfully written

StartCDRWritten

Number of times a StartRecord CDR was successfully written

InterimCDRWritten

Number of times a InterimRecord CDR was successfully written

StopCDRWritten

Number of times a StopRecord CDR was successfully written

TriggeredOnSDPChange

Number of times the feature was triggered due to SDP change

TriggeredOnInterimCdrTimer

Number of times the 'InterimCdrTimer' fired

NoLegForCdr

Number of times the feature ran with no leg for CDRs configured

Functionality

This feature uses the information from the session state fields mentioned above and constructs a protobuf message out of it for output. See AVP CDR Format for the format of these messages.

Although the feature runs in many execution points, it inspects various session state fields to decide whether or not to write an interim CDR.

An interim CDR 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

Also see Charging Information for general information about the contents of CDRs 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.

Configuration profile naming

Configuration Profile Table Name Description Profile Naming

SipInterimCdrProfileTable

SipInterimCdr feature configuration parameters

SentinelSelectionKey (for example, OpenCloud::::)

Feature responses

Response Reason

featureHasFinished

feature has finished

Provisioning interfaces

The feature is provisioned using the Sentinel Features REST API or web interface.

Previous page Next page
Sentinel Express Version 2.7.0