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.
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.0.0].SbbID[name=sentinel.ipsmgw,vendor=OpenCloud,version=4.0.0].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 queries 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.
