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