The VoLTE Network KPI feature (VolteNetworkKPI) increments the "Call Success" and "Post Dial Delay" counters, which you can combine with other stats to gauge network traffic.

Feature Cheat Sheet

B2BUA Instance SAS Support Originating / Terminating Point in Session Plan Network Operator Data Subscriber Data Stateful or Stateless POJO Feature or SBB Feature

SCCOrig, SCCTerm, MMTelOrig, MMTelTerm

No

Originating and Terminating

MMTel_Post_SipEndSession, SCC_Post_SipEndSession

Yes

No

Stateless

POJO

Prerequisite features

You must run these features before VolteNetworkKPI:

Behaviour

The VolteNetworkKPI feature is used to increment the "Call Success" and "Post Dial Delay" counters. The feature uses information collected by Sentinel during the call session to increment the relevant counters in the SipEndSession execution point.

Call Success

Call Success is determined by comparing the initial INVITE final response code with a list of "Success" codes. The term success is from the perspective of Sentinel VoLTE where it has "successfully" processed the call according to a list of response codes.

The default list of response codes is

SuccessResponseCodes: [200,486,487,404,603]

Internally the VolteNetworkKPI feature uses the value set in the DetermineCauseCode feature that in turn uses the final response code from the downstream leg, or an error code in case of an internal error.

Note

The VolteNetworkKPI feature doesn’t support the filtering of Success responses. For example, the Operator may wish to filter 486 responses from the Success counter if it originates from a specific network element. This is currently not possible.

The VolteNetworkKPI feature further categorizes calls into 'onNet' and 'Unknown'. If the call is triggered in SCC-Orig or MMTel-Orig then the feature checks if OC-Terminating-Domain header is present via isOCTerminatingHeaderPresent flag. If the flag is present, then the call is considered onNet.

If the flag isOCTerminatingHeaderPresent is false, or the feature is executed in the MMTel-Term or SCC-Term, then InterOperatorIdentifier sessionState’s OriginatingInterOperatorIdentifier (orig-ioi) and TerminatingInterOperatorIdentifier (term-ioi) are evaluated. A call is considered onNet if both the orig-ioi and term-ioi values are the home plmn (via PLMNAnalyser). Otherwise, the call is Unknown.

Success Example

  • 486 is configured as a success response code.

  • Home network VoLTE subscriber calls a non VoLTE subscriber, which triggers a SCC-Orig plan on Sentinel VoLTE.

  • The non VoLTE subscriber returns a 486.

  • The DetermineCauseCode feature sets the cause code to -486.

  • The VolteNetworkKPI feature increments KPISccOrigUnknownSuccess and KPISccOrigUnknownAttempt due to

    • 486 is a success response code.

    • The onNet status is unknown as there is no OC-Terminating-Domain header and no location information that is orig-ioi and term-ioi is present in P-Charging-Vector header.

Non Success Example

  • 404 is not configured as a success response code.

  • A non VoLTE subscriber calls a home network VoLTE subscriber calls a non VoLTE subscriber, which triggers a MMTel-Term plan on Sentinel VoLTE.

  • The home network VoLTE subscriber returns a 404.

  • The DetermineCauseCode feature sets the cause code to -404.

  • The VolteNetworkKPI feature increments KPIMMTelTermUnknownAttempt due to.

    • 404 is not a success response code.

    • The onNet status is unknown as there is location information present in the P-Charging-Vector header, but orig-ioi indicates it’s a non-home network.

Post Dial Delay

Post Dial Delay is the time difference between the initial INVITE (sessionInitiated) and the first 180 Ringing or ACK (sessionEstablished). The VolteNetworkKPI feature uses these values to calculate the delay and then increment the time interval counters.

Note

Provisional 183 messages are not considered as they are used as part of Precondition negotiations. This means if a 183 is used to play early media that is a network announcement, then it is not part of Post Dial Delay calculation.

Post Dial Delay is calculated in SCCOrig, MMTelOrig, MMTelTerm, and SCCTerm execution points. Therefore an onNet call could potentially increment four time interval counters, one for each planId.

The counter uses the format postDialDelay<planId><time interval counter>. So for example if a 180 is received in the SCCOrig execution point 1400 ms after the session is initiated, then the postDialDelaySCCOrig1000to1500ms counter is incremented.

Session state inputs and outputs

Inputs

Name Type Format Description Behaviour if null/invalid

SentinelSelectionKey

SentinelSelectionKey

selection key + for example, <platform>::::

For selecting 'success' response codes from VolteNetworkKPIProfileTable. For example SuccessResponseCodes: [ 200,486,487,404,603]. Also used for determining the planId, for example SCCOrig

Increment InputParameterErrors common cleanup actions

DiameterCauseCode

Integer

null or a integer

Either final SIP response code or internal error set by the DetermineCauseCode feature.

If the value is null, the VolteNetworkKPI feature doesn’t increment any success counter.

InitialRingingResponseTimestamp

Long

null or a long

Timestamp recorded by the RecordTimestamps feature on first 180 Ringing.

If the value is null, the VolteNetworkKPI feature doesn’t increment any time bucket.

SessionEstablished

long

0 or non 0

Timestamp recorded by the B2BUA feature when on ACK is received from the Calling Party.

If 0, the VolteNetworkKPI feature doesn’t increment any time bucket.

SessionInitiated

long

0 or non 0

Timestamp recorded by Sentinel when an initial INVITE is received from the Calling Party.

If 0, the VolteNetworkKPI feature doesn’t increment any time bucket.

OriginatingInterOperatorIdentifier

String

null or String

orig-ioi parameter extracted from the P-Charging-Vector header. This is used to help determine if the call is onNet.

If the value is null, the VolteNetworkKPI feature doesn’t use this to determine onNet.

TerminatingInterOperatorIdentifier

String

null or String

term-ioi parameter extracted from the P-Charging-Vector header. This is used to help determine if the call is onNet.

If the value is null, the VolteNetworkKPI feature doesn’t use this to determine onNet.

Outputs

Name Type Format Description Behaviour if null/invalid

IsCallSuccessKPISet

boolean

true or false

true if the Call Success KPI is set.

Initially set to false

IsPostDialDelayKPISet

boolean

true or false

true if the Post Dial Delay KPI is set.

Initially set to false

Statistics

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

Name Type Description

kPISccOrigOnNetAttempts

counter

Incremented on every 'onNet' SCCOrig call.

kPISccOrigOnNetSuccess

counter

Incremented on 'success' 'onNet' SCCOrig call.

kPISccOrigUnknownAttempts

counter

Incremented on every 'unknown' SCCOrig call.

kPISccOrigUnknownSuccess

counter

Incremented on 'success' 'unknown' SCCOrig call.

kPIMmtelTermOnNetAttempts

counter

Incremented on every 'onNet' MMTelTerm call.

kPIMmtelTermOnNetSuccess

counter

Incremented on a 'success' 'onNet' MMTelTerm call.

kPIMmtelTermUnknownAttempts

counter

Incremented on every 'unknown' MMTelTerm call.

kPIMmtelTermUnknownSuccess

counter

Incremented on every 'unknown' 'success' MMTelTerm call.

postDialDelayMMTelOrig0to500ms

counter

Incremented if the delay ⇐ 500 ms.

postDialDelayMMTelOrig501to1000ms

counter

Incremented if the delay > 500 ms and ⇐ 1000 ms.

postDialDelayMMTelOrig1001to1500ms

counter

Incremented if the delay > 1000 ms and ⇐ 1500 ms.

postDialDelayMMTelOrig1501to2000ms

counter

Incremented if the delay > 1500 ms and ⇐ 2000 ms.

postDialDelayMMTelOrig2001to2500ms

counter

Incremented if the delay > 2000 ms and ⇐ 2500 ms.

postDialDelayMMTelOrig2501to3000ms

counter

Incremented if the delay > 2500 ms and ⇐ 3000 ms.

postDialDelayMMTelOrigOver3000ms

counter

Incremented if the delay > 3000

postDialDelayMMTelTerm0to500ms

counter

Incremented if the delay ⇐ 500 ms.

postDialDelayMMTelTerm501to1000ms

counter

Incremented if the delay > 500 ms and ⇐ 1000 ms.

postDialDelayMMTelTerm1001to1500ms

counter

Incremented if the delay > 1000 ms and ⇐ 1500 ms.

postDialDelayMMTelTerm1501to2000ms

counter

Incremented if the delay > 1500 ms and ⇐ 2000 ms.

postDialDelayMMTelTerm2001to2500ms

counter

Incremented if the delay > 2000 ms and ⇐ 2500 ms.

postDialDelayMMTelTerm2501to3000ms

counter

Incremented if the delay > 2500 ms and ⇐ 3000 ms.

postDialDelayMMTelTermOver3000ms

counter

Incremented if the delay > 3000

postDialDelaySCCOrig0to500ms

counter

Incremented if the delay ⇐ 500 ms.

postDialDelaySCCOrig501to1000ms

counter

Incremented if the delay > 500 ms and ⇐ 1000 ms.

postDialDelaySCCOrig1001to1500ms

counter

Incremented if the delay > 1000 ms and ⇐ 1500 ms.

postDialDelaySCCOrig1501to2000ms

counter

Incremented if the delay > 1500 ms and ⇐ 2000 ms.

postDialDelaySCCOrig2001to2500ms

counter

Incremented if the delay > 2000 ms and ⇐ 2500 ms.

postDialDelaySCCOrig2501to3000ms

counter

Incremented if the delay > 2500 ms and ⇐ 3000 ms.

postDialDelaySCCOrigOver3000ms

counter

Incremented if the delay > 3000

postDialDelaySCCTerm0to500ms

counter

Incremented if the delay ⇐ 500 ms.

postDialDelaySCCTerm501to1000ms

counter

Incremented if the delay > 500 ms and ⇐ 1000 ms.

postDialDelaySCCTerm1001to1500ms

counter

Incremented if the delay > 1000 ms and ⇐ 1500 ms.

postDialDelaySCCTerm1501to2000ms

counter

Incremented if the delay > 1500 ms and ⇐ 2000 ms.

postDialDelaySCCTerm2001to2500ms

counter

Incremented if the delay > 2000 ms and ⇐ 2500 ms.

postDialDelaySCCTerm2501to3000ms

counter

Incremented if the delay > 2500 ms and ⇐ 3000 ms.

postDialDelaySCCTermOver3000ms

counter

Incremented if the delay > 3000

Configuration

The VolteNetworkKPIProfileTable profile table stores SIP response codes that determine whether the call was a Success.

Parameter Type Description

SuccessResponseCodes

Integer[]

A list of SIP response codes

An example DefinitelyNotOpenCloud:::: profile:

SuccessResponseCodes: [200,486,487,404,603]
Note

The VolteNetworkKPI feature doesn’t include a configuration page in the Rhino Element Manager feature configuration section. The VolteNetworkKPIProfileTable is maintained through either the Rhino management console, or in the Rhino Element Manager Profiles section, which is part of the Management menu. ===

Previous page Next page
Sentinel VoLTE Version 4.0.0