This feature records registration requests in Cassandra to keep track of which site a user last registered at.

Feature cheat sheet

Feature Name Network Operator Data Used in PlanId(s) Stateful or Stateless POJO Feature or SBB Feature

IPSMGWRegistrationTrackingCassandra

Yes

register,de_register

Stateless

POJO

Session Input variables

The feature reads the following fields in Session State

Session State variable name Variable type Comments
MSISDN

String

The MSISDN of the subscriber issuing the (de-)registration request. Used as part of the primary key in the registration record in Cassandra.

networkInitiatedDeRegistration

boolean

Used to determine if a de-registration request was user or network initiated. Network-initiated de-registration requests for users registered most recently at a different site will result is the skipATMRegistration session state variable being set to true.

encapsulatedRegisterResponse

javax.sip.message.Response

Used to extract the max expires header value for the TTL value when recording the registration record in Cassandra.

ATMRegistrationSuccessful

boolean

Set by the ATM Registration feature to indicate if the ATM registration was successful or not. Used during registration to conditionally write an ownership record only if the ATM registration was successful.

Session output variables

Session State variable name Variable type Comments
skipATMRegistration

boolean

True if the networkInitiatedDeRegistration session state field is true and the feature finds the user most recently registered at a different site.

Statistics

IPSMGWRegistrationTrackingCassandra 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 → IPSMGWRegistrationTrackingCassandra
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.IPSMGWRegistrationTrackingCassandra"

Name Type Description
Started

Counter

Incremented when the feature is triggered.

FailedToStart

Counter

Incremented when the feature fails to start.

FailedDuringExecution

Counter

Incremented when the feature fails while executing.

IssuedWarning

Counter

Incremented when the feature issues a warning.

TimedOut

Counter

Incremented when the feature times out during execution.

DataStoreError

Counter

Incremented when the feature is unable to write a registration record to Cassandra.

DataStoreSuccess

Counter

Incremented when the feature successfully writes a registration record to Cassandra.

DataReadError

Counter

Incremented when the feature is unable to read the registration records from Cassandra.

WriteConsistencyFallback

Counter

Incremented when the feature falls back from QUORUM to LOCAL_QUORUM consistency for a write to Cassandra.

ReadConsistencyFallback

Counter

Incremented when the feature falls back from QUORUM to LOCAL_QUORUM consistency for a read from Cassandra.

MissingRegistrationRecord

Counter

Incremented when the feature is unable to find any registration record for the subscriber during a de-register request.

ReadResponseLatency

Sample

Sample statistic of the RTT for Cassandra read requests.

WriteResponseLatency

Sample

Sample statistic of the RTT for Cassandra write requests.

Configuration

The feature’s configuration is scoped by the Sentinel Selection Key. The Profile Table used to hold feature configuration is IPSMGWRegistrationTrackingCassandraConfigProfileTable. The following attributes are available:

Attributes Type Meaning
CassandraTTL

int

The base TTL to use for the registration record in Cassandra (the max expires header value will be added to this)

CassandraTracing

boolean

Controls whether tracing is enabled for Cassandra queries

Behaviour

The feature is triggered upon Initial Registration, and De-Registration.

On initial registration, if ATM registration was successful, this feature writes a registration record to Cassandra including the subscriber’s MSISDN, the site’s GT (the sentinelIPSMGWAddress in the shared IPSMGW configuration), and the current timestamp.

When a user de-registers, the feature first checks the networkInitiatedDeRegistration session state field. If the de-registration is user-initiated, the feature completes and allows the de-registration to proceed. If the de-registration is network-initiated, the feature reads the registration records in Cassandra for the subscriber (using their MSISDN), finds the one with the most recent timestamp, and compares the site GT in that record to the current site’s GT. If the site GTs match, the feature completes and allows the de-registration to proceed. If the site GTs are different (indicating that the subscriber most recently registered at a different site), then the feature sets the skipATMRegistration session state field to true so that the ATM de-registration is skipped.

Previous page Next page
Sentinel IP-SM-GW Version 4.0.0