Details

Feature name

DetermineCharging

Applicable contexts

SIP service

SAS Support

N/A

Prerequisite features

None

Session State inputs and outputs

Inputs

Name Type Purpose

SentinelSelectionKey

SentinelSelectionKey

Used to select a configuration profile to load.

CallType

CallType

Used to identify Service-Identifier and Rating-Group AVP values for session.

Outputs

Name Type Purpose

DisableCharging

boolean

Flag indicating whether charging has been disabled for the session.

InterimCdrsEnabled

boolean

Flag controlling whether interim CDRs will be created for the session.

SessionCdrsEnabled

boolean

Flag controlling whether a session CDR will be created at the end of the session.

ContinueCallOnOCSFailure

boolean

Flag controlling whether the session is permitted to continue if there is an OCS failure.

MonitorCallOnly

boolean

Flag controlling whether online charging will be skipped.

ServiceIdentifier

Long

The value of the Service-Identifier AVP to use according to call type and config value.

RatingGroup

Long

The value of the Rating-Group AVP to use according to call type and if configured, otherwise will be null.

RequestUnitsSeconds

Long

The value of the Requested-Service-Unit AVP in Credit Control Requests if configured, otherwise will be null.

DiameterServiceSpecificInfoConfigListConfig

List<DiameterServiceSpecificInfoConfig>

A list of the DiameterServiceSpecificInfoConfig objects or null if not configured.

OCSId

String

The ID of the Diameter OCS server to use.

Configuration

This feature uses profile configuration to determine how each session state field should be set. Configuration is kept in two profile tables: DetermineChargingConfigProfileTable and DiameterServiceSpecificInfoProfileTable

The profile table called DetermineChargingConfigProfileTable is made up of profiles with the following fields. Each profile is scoped by the Sentinel Selection Key.

Name Type Description

DisableCharging

boolean

If true, online charging will be disabled for sessions using this profile.

InterimCdrsEnabled

boolean

If true, interim CDRs will be created while sessions using this profile are in progress.

SessionCdrsEnabled

boolean

If true, session CDRs will be created at the end of sessions using this profile.

ContinueCallOnOCSFailure

boolean

If true, sessions using this profile will be allowed to continue in the event of OCS failure.

ServiceIdForMOC

Long

If set, overrides the default value of the Service-Identifier for AVP ('1') for Mobile Originating calls in Credit Control Requests and CDRs.

ServiceIdForMTC

Long

If set, overrides the default value of the Service-Identifier for AVP ('2') for Mobile Terminating calls in Credit Control Requests and CDRs.

ServiceIdForMFC

Long

If set, overrides the default value of the Service-Identifier for AVP ('3') for Mobile Forwarded calls in Credit Control Requests and CDRs.

ServiceIdForNIC

Long

If set, overrides the default value of the Service-Identifier for AVP ('4') for Network Initiated calls in Credit Control Requests and CDRs.

RatingGroupForMOC

Long

If set, the value of the Rating-Group AVP for Mobile Originating calls in Credit Control Requests and CDRs.

RatingGroupForMTC

Long

If set, the value of the Rating-Group AVP for Mobile Terminating calls in Credit Control Requests and CDRs.

RatingGroupForMFC

Long

If set, the value of the Rating-Group AVP for Mobile Forwarded calls in Credit Control Requests and CDRs.

RatingGroupForNIC

Long

If set, the value of the Rating-Group AVP for Network Initiated calls in Credit Control Requests and CDRs.

RoRequestUnitsSeconds

Long

If set, overrides the default value of the Requested-Service-Unit AVP ('60') in Credit Control Requests.

The profile table called DiameterServiceSpecificInfoProfileTable is made up with the following fields. Each profile is not scoped by the Sentinel Selection Key and therefore will apply to all sessions.

Name Type Description

ServiceSpecificTypeValue

Long

A positive number that identifies the type of data being provided.

ServiceSpecificDataSessionStateFieldName

String

A string containing either a name of the session state field, or a pipe (|) separated list of names of multiple session state fields to map into the Service-Specific-Info AVP value. When multiple fields are specified, the first non-empty field value will be used.

Feature Statistics

DetermineCharging statistics are tracked by the sentinel.sip SBB and can be found under the following parameter set:
SLEE-Usage → sentinel.sip service ID → sentinel.sip SBB ID → feature.DetermineCharging

Name Type Description

Started

Counter

Incremented when the feature is triggered.

FailedToStart

Counter

Incremented when the feature fails to start.

FailedDuringExecution

Counter

Incremented when the feature fails while executing.

IssuedWarning

Counter

Incremented when the feature issues a warning.

TimedOut

Counter

Incremented when the feature times out during execution.

ChargingDisabled

Counter

Incremented when the feature disables charging.

ChargingFunctionAddressSet

Counter

Incremented when the feature retrieves the ECF address from the P-Charging-Function-Addresses header.

ChargingFunctionAddressesHeaderIsInvalid

Counter

Incremented when the feature fails to parse the P-Charging-Function-Addresses header.

Behaviour

This feature determines charging configuration for the session.

It does this from two main sources:

  1. Most configuration is loaded from profile tables.

  2. The OCS server to use is determined from the incoming SIP request.

SIP Request OCS Selection

The feature will attempt to identify the OCS to use from the P-Charging-Function-Addresses header. If the header has an ECF address, it will be used to set the OCSId session state output field.

The OCSId field is used as described here: OCS Destination Configuration.

Profile Data

When triggered this feature will attempt to retrieve a profile from the DetermineChargingConfigProfileTable using the current Sentinel Selection Key. If a profile is found:

  • DisableCharging, InterimCdrsEnabled, SessionCdrsEnabled, ContinueCallOnOCSFailure and RoRequestUnitsSeconds values are mapped directly from their profile fields to their equivalent session output fields.

  • Using the CallType identified by the Determine Call Type Feature, the ServiceIdentifier and RatingGroup session output field values will be set using the corresponding configuration value if set.

If the feature fails to find a DetermineChargingConfigProfileTable profile, their session output fields will not be populated.

The feature will attempt to retrieve profiles from the DiameterServiceSpecificInfoProfileTable. For each profile found, a DiameterServiceSpecificInfoConfig object will be created using the configured ServiceSpecificTypeValue and ServiceSpecificDataSessionStateFieldName values. All DiameterServiceSpecificInfoConfig objects are collected into a list and put into the DiameterServiceSpecificInfoConfigList session output field.

The effect of each field is outlined below.

Charging Enabled/Disabled

The DisableCharging field controls whether online charging should be enabled for the session. When it is set to true the following behaviour is executed:

  • All reservation charging instances in the Charging Manager will be finalised.

  • The MonitorCallOnly session output field will be set to true.

When the MonitorCallOnly session state field is true, feature execution scripts will skip over online charging features.

Interim CDRs

The InterimCdrsEnabled field controls whether interim CDRs will be written for a session. This is done by checking the value of the field in feature executions scripts, and only executing the Interim CDR Feature if it is true.

Session CDRs

The SessionCdrsEnabled field controls whether a session CDR will be written when a session ends. This is done by checking the value of the field in feature executions scripts, and only executing the appropriate AVP CDR feature if it is true.

In Sentinel Express deployments this affects execution of the AVP CDR Feature. In Sentinel VoLTE deployments this affects execution of the VoLTE SIP AVP CDR Feature.

Continue Call On OCS Failure

The ContinueCallOnOCSFailure field determines system behaviour when there is a problem communicating with the OCS. When it is set to true the call will be allowed to continue in the event of an OCS failure, however:

  • No further online charging will occur for the session, even if communication with the OCS is re-established.

  • Rf and CDRs will continue to track the session.

  • OCS failure for a conference call will still result in the session ending (except for mid-session failures).

Service-Identifier AVP and Rating-Group AVPs

If set, the ServiceIdentifier and RatingGroup fields will be used for populating Credit Control Requests and CDRs. If not set, Sentinel will apply the default Service-Identifier value according to session’s callType and will not populate the Rating-Group AVP in Credit Control Requests and CDRs.

Ro Request Units Seconds

The RoRequestUnitsSeconds field contains the value passed in the Requested-Service-Unit AVP (60) in Credit Control Requests. If the OCS returns a value for the Granted-Service-Units AVP (in a Credit Control Answer) greater than '60', this field can be used to ensure that subsequent Credit Control Requests for the call are not sent unexpectedly early.

DiameterServiceSpecificInfoConfigList

The DiameterServiceSpecificInfoConfigList is used by the mapper responsible for generating Diameter Credit Control Requests to populate Service-Specific-Info AVPs in the requests.

For each DiameterServiceSpecificInfoConfig object in the list, the mapper will retrieve a session state field referenced in the ServiceSpecificDataSessionStateFieldNames. If a value is found in that field, a Service-Specific-Info AVP with the type value specified in the ServiceSpecificTypeValue field, and the found value will be added to the request.

If multiple fields are specified in the ServiceSpecificDataSessionStateFieldNames, the first non-empty field value will be used.

Previous page Next page
Sentinel Express Version 4.1