This feature reads Third Party Registration information stored in the Cassandra Database, and writes it into session state. Information is read during INVITE processing. It reads the Third Party Registration information via the Cassandra CQL RA. For more information refer to Cassandra storage.
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 |
---|---|---|---|---|---|---|---|
Both or either of MMTEL or SCC |
No |
Originating, Forwarding, and Terminating |
SIP Access Session Pre-Credit Check |
No |
No |
Stateless |
POJO |
Prerequisite features
These features must run before IMSIDLookupFromCassandraSIP:
-
SIP Subscriber Determination — in order to know who the subscriber is for the call.
Source Code
This feature’s source code is available in the Sentinel VoLTE SDK in the volte-imsid-lookup-cassandra-sip
module pack.
It can be viewed by using the create-module
command in the SDK with that module pack, for example:
> create-module new-imsid-cassandra-module opencloud#volte-imsid-lookup-cassandra-sip#volte/2.8.0;2.8.0.0
This command will prompt you for information needed to create the new modules, once completed the original source for the feature can be found in the new modules.
The module-pack includes a single module:
Module Name | Description |
---|---|
volte-imsid-lookup-cassandra-sip |
Contains the feature’s code. |
Session input and output variables
Session input variables
Session State variable name | Variable type |
---|---|
Subscriber |
String |
This is the IMS Public Identity for the Served User, and is extracted from the SIP INVITE. |
Session output variables
Session State variable name | Variable type | Comments |
---|---|---|
RegistrationRecords |
List<RegistrationRecord> |
The list of registration records for the subscriber |
IsLoggedIn |
boolean |
True, if the feature was able to set both IDs |
CMSISDN |
String |
The correlation MSISDN registered for the subscriber |
HasCMSISDN |
boolean |
True if the CMSISDN is set |
Statistics
IMSIDLookupFromCassandraSIP statistics are tracked by the IMSIDLookupFromCassandraSIP feature and can be found under the following parameter set:
SLEE-Usage ▶ sentinel.volte.sip service ID ▶ sentinel.volte.sip SBB ID ▶ IMSIDLookupFromCassandraSIP.
Name | Type | Description |
---|---|---|
Started |
Counter |
Incremented when the feature runs. |
FailedToStart |
Counter |
Incremented when Sentinel VoLTE encounters an error while attempting to start the feature. |
IssuedWarning |
Counter |
Incremented when a non-fatal problem is encountered and the feature and issues a warning. |
FailedDuringExecution |
Counter |
Incremented when a fatal problem is encountered and the feature cannot execute correctly. |
FeatureError |
Counter |
Incremented when a feature error occurs. |
TimedOut |
Counter |
Incremented when the feature takes too long to complete and Sentinel VoLTE aborts execution. |
NoSubscriberSpecified |
Counter |
Incremented when the feature is unable to determine which subscriber to retrieve IDs for. |
IMSIDRetrieveSuccess |
Counter |
Incremented when IDs are successfully retrieved and decoded. |
IMSIDRetrieveFail |
Counter |
Incremented when ID retrieval or decoding fails. |
CassandraQueried |
Counter |
Incremented when a query is made to Cassandra. |
MultipleDevicesRegistered |
Counter |
Incremented when multiple registered devices have been detected. |
SubscriberNotRegistered |
Counter |
Incremented when could not find an active subscriber. |
RegistrationOutOfSync |
Counter |
Incremented when the searched subscriber information is not consistent between the network and the database. |
ResponseLatency |
Sampled |
Records elapsed time between querying the Cassandra database and getting a response (in milliseconds). |
Behaviour
The feature queries the Cassandra Database using a Primary Key of the IMS Public Identity of the Served User.
User logged in
The RegistrationRecords
session state field is set to a List
of RegistrationRecord
. Each element in the list indicates a device, with public and private IDs, that the subscriber is registered on.
If the subscriber is registered on only one device, there is only one element in the list. If the subscriber is simultaneously registered on (say) four devices, there will be four elements in the list.
The CMSISDN
field will be set if it is present in the data registered for the user. If the subscriber is simultaneously registered on multiple devices, this value will not be set.