This feature reads Third Party Registration information stored in the Cassandra Database, and writes it into session state. Information is read during MT ForwardSM processing. It reads the Third Party Registration information via the Cassandra CQL RA. For more information refer to Cassandra Storage.
Feature cheat sheet
Feature Name | Network Operator Data | Used in PlanId(s) | Stateful or Stateless | POJO Feature or SBB Feature |
---|---|---|---|---|
IPSMGWRegistrationLookupFromCassandra |
No |
MTFSM_PS,MTFSM_PS_CS,MTFSM_CS_PS |
Stateless |
POJO |
Prerequisite features
These features must run after Fetch Routing Info Cassandra.
Network operator data
This data is stored in a JSLEE configuration profile table, called RegistrarConfigurationTable
.
For more information, see Registrar Configuration Table
The data is scoped according to a Sentinel selection key.
Session input and output variables
Session input variables
Session State variable name | Variable type |
---|---|
MSISDN |
String |
|
String |
Session output variables
Session State variable name | Variable type | Comments |
---|---|---|
RegistrationRecords |
List<RegistrationRecord> |
The list of registration records for the subscriber |
IsSMSOverIPRegistered |
boolean |
True, if the feature found a valid record in the database and if the |
Statistics
IPSMGWRegistrationLookupFromCassandra statistics are tracked by the sentinel.ipsmgw SBB
and can be found under the following parameter set in REM:
SLEE-Usage → sentinel.ipsmgw service → sentinel.ipsmgw SBB → feature → IPSMGWRegistrationLookupFromCassandra
or with rhino-stats:
"SLEE-Usage.Services.ServiceID[name=sentinel.ipsmgw,vendor=OpenCloud,version=4.1].SbbID[name=sentinel.ipsmgw,vendor=OpenCloud,version=4.1].feature.IPSMGWRegistrationLookupFromCassandra"
Statistic | Incremented when… |
---|---|
NoSubscriberSpecified |
the MSISDN is empty |
RegistrationRetrieveSuccess |
Registration found in the database |
RegistrationRetrieveFail |
an exception occurs in cassandra |
CassandraQueried |
the database is queried |
SubscriberNotRegistered |
could not find an active subscriber in the database |
SupportSMSIP |
found a valid record in the database and the |
SubscriberNotActive |
found a valid subscriber in the database but its status is not active. |
Behaviour
The feature reads the RegistrarConfiguration
to determine which one of the assocuris
or the assocuris_v2
tables to query. See Registrar Configuration Table for more information.
If the private-id
is being used as the registrar primary key, then assocuris_v2
is queried.
It then queries the chosen table in the Cassandra database using a Primary Key of the IMS Public Identity of the Served User constructed from the MSISDN provided by the SRI request.
It creates a TEL URI
using the MSISDN, and if can’t find the subscriber in the database it creates a SIP URI
using the domain specified in SentinelDestinationDomain
from Shared Configuration Profile and query the database again.
User logged in
The RegistrationRecords
session state field is set to a List
of RegistrationRecord
if the indication g.3gpp.smsip
is present in the Contacts
header. 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.
User not logged in
If the user is not logged in, the feature finishes execution without modifying any state.
Support for SMS over IP
If, during the registration process, the subscriber indicates if supports SMS over IP
, then the feature sets the field IsSMSOverIPRegistered
to true.
The presence of the string g.3gpp.smsip
in the Contacts header indicates that the subscriber supports SMS over IP.
In this case the IPSMGW will try to forward the message to the PS network.