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
.
By default, Sentinel runs 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 |
|
LegForCdrs |
String |
Name of the leg for which CDRs should be written |
Defaults to |
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 |
|
CallType |
Enumerated |
The type of the call. One of |
|
ChargingResult |
int |
The result code of the Diameter session |
Sentinel SIP service |
DiameterServiceContextId |
String |
The Diameter context ID of the relevant service |
|
EndSessionCause |
Integer |
The end session cause code |
|
EventId |
String |
|
|
ImsInformation |
org.jainslee.resources.diameter .ro.types.vcb0.ImsInformation |
The IMS-Information Diameter AVP |
|
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, |
Various features |
SipServiceType |
Enumerated |
The type of service Sentinel is processing. One of |
|
Subscriber |
String |
The subscriber associated with the session |
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.
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, |
Provisioning interfaces
The feature is provisioned using the Sentinel Features REST API or web interface.