This feature creates the cassandra entries for external session tracking before the call is answered .
Feature cheat sheet
B2BUA Instance | Originating / Terminating | Point in Session Plan | Network Operator Data | Subscriber Data | Stateful or Stateless | POJO Feature or SBB Feature |
---|---|---|---|---|---|---|
Any and All |
Originating and Terminating |
|
No |
No |
Stateless |
POJO |
Session input variables
Session State variable name | Variable type | Comments |
---|---|---|
ExternalSessionTrackingActive |
boolean |
Set by SCCDetermineExternalSessionTracking. If this is not true the feature will not execute |
ExternalSessionTrackingKeys |
Set<String> |
The list of tracking keys to save the current session against |
Session output variables
Session State variable name | Variable type | Comments |
---|---|---|
PreAlertingLegs |
Set<String> |
A list of legs that are in the Pre-Alerting state |
AlertingLegs |
Set<String> |
A list of legs that are in the Alerting state |
Statistics
TrackSessionPreAnswer statistics are tracked by the volte.sentinel.sip SBB
and can be found under the following parameter set in REM:
SLEE-Usage → volte.sentinel.sip service → volte.sentinel.sip SBB → feature → TrackSessionPreAnswer
or with rhino-stats:
"SLEE-Usage.Services.ServiceID[name=volte.sentinel.sip,vendor=OpenCloud,version=2.7.0].SbbID[name=volte.sentinel.sip,vendor=OpenCloud,version=2.7.0].feature.TrackSessionPreAnswer"
Name | Description |
---|---|
Started |
Incremented each time the feature runs |
FailedToStart |
Incremented when a fatal error occurs before feature execution |
IssuedWarning |
Incremented when a non-fatal error occurs during feature execution |
FailedDuringExecution |
Incremented when a fatal error occurs during feature execution |
TimedOut |
Incremented when feature execution does not complete within a reasonable time frame |
AddedTrackedDialog |
Incremented when the feature adds a TrackedDialog insert statement to the cassandra batch query |
AddedTrackedDialogKeys |
Incremented when the feature adds a TrackedDialogKeys insert statement to the cassandra batch query |
SentQueryToCassandra |
Incremented when the feature executes an asynchronous query to cassandra |
CassandraSuccess |
Incremented when the feature receives a cassandra success result |
CassandraError |
Incremented when the feature receives a cassandra error result |
CassandraTimeout |
Incremented when the feature receives a cassandra timeout result |
SavedDialogStatePartialDialog |
Incremented when the feature receives the initial INVITE, and the partial dialog-ID is written to Cassandra |
SavedDialogStatePreAlerting |
Incremented when the feature receives a dialog-creating non-180 provisional response, and updates Cassandra |
SavedDialogStateAlerting |
Incremented when the feature receives the first 180 Ringing response, and updates Cassandra |
SavedDialogStateActiveAwaitingAck |
Incremented when the feature receives the 2xx response to the initial INVITE, and updates Cassandra |
DeletedPartialDialog |
Incremented when the full dialog-ID is known and the partial dialog entry is deleted from Cassandra |
CassandraAsyncQueryTimeSuccess |
Samples the elapsed time between starting a query and a success response arriving from Cassandra |
CassandraAsyncQueryTimeFailure |
Samples the elapsed time between starting a query and a failure response arriving from Cassandra |
Behaviour
This feature runs on 18x responses to the initial INVITE, it saves information about the current session to the cassandra database. It writes the following:
Name | Type | Comments |
---|---|---|
Established Dialog Id |
String |
A normalised string that identifies the current session, in the form of '<call-id>;local-tag=<to-tag>;remote-tag=<from-tag>' for Originating calls, and '<call-id>;local-tag=<from-tag>;remote-tag=<to-tag>' for Terminating calls |
State |
DialogState (enum) |
The current state of the session. Values are PreAlerting or Alerting |
AS URI |
String |
The URI of the serving AS |
Associated Dialog Id |
String |
A normalised sting that identifies the associated dialog for the current session, in the form of '<call-id>;local-tag=<from-tag>;remote-tag=<to-tag>' for Originating calls, and '<call-id>;local-tag=<to-tag>;remote-tag=<from-tag>' for Terminating calls |
Tracking Keys |
Set<String> |
The set of tracking keys to save against the current session |