This feature stores SMS routing information in Cassandra. The stored data includes additional correlation information.

Feature Cheat Sheet

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

IPSMGWStoreRoutingInfoCassandra

Yes

SRI4SM, SRI4SM_PS_ONLY, MTFSM_PS, MTFSM_CS, MTFSM_CS_PS, MTFSM_PS_CS

Stateless

POJO

Feature Parameters

This feature can operate with two parameters - 'Store' or 'Refresh'. For details, please refer to Behaviour.

Session Input Variables

The IPSMGWStoreRoutingInfoCassandra feature reads the following fields from Session State:

Field Name Field Type Comments
SentinelSelectionKey

SentinelSelectionKey

Used to load configuration.

MTCorrelatedId

String

Generated correlation IMSI.

IsSMSOverIPRegistered

boolean

Used to determine whether the subscriber is IMS registered.

MTFSMDeliveryOrder

DeliveryOrder

Used to determine whether PS only delivery is being used.

IMSI

String

The subscriber’s IMSI.

MSISDN

String

The subscriber’s MSISDN.

MtForwardSMIncomingLeg

String

Name of the leg on which an MT-FSM request was received.

SRI4SMArgV1

MAPSendRoutingInfoForSMArg

The encoded java object representing v1 SRI4SM arg, if the application context was v1.

SRI4SMArgV2

MAPSendRoutingInfoForSMArg

The encoded java object representing v2 SRI4SM arg, if the application context was v2.

SRI4SMArgV3

MAPRoutingInfoForSM_Arg

The encoded java object representing v3 SRI4SM arg, if the application context was v3.

SRI4SMResV1

MAPSendRoutingInfoForSMRes

The encoded java object representing v1 SRI4SM result, if the application context was v1.

SRI4SMResV2

MAPSendRoutingInfoForSMRes

The encoded java object representing v2 SRI4SM result, if the application context was v2.

SRI4SMResV3

MAPRoutingInfoForSM_Res

The encoded java object representing v3 SRI4SM result, if the application context was v3.

SRI4SMResAppContext

String

A string of the application context name.

UUID

UUID

UUID used when refreshing data in cassandra,

Statistics

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

Statistic Type Description
Started

Counter

Incremented when the feature is invoked.

FailedToStart

Counter

Incremented when Sentinel encounters an error while attempting to start the feature.

IssuedWarning

Counter

Incremented when a non-fatal problem is encountered and the feature issues a warning.

FailedDuringExecution

Counter

Incremented when a fatal problem is encountered and the feature cannot execute correctly.

TimedOut

Counter

Incremented when the feature takes too long to complete and Sentinel aborts execution.

StartedStore

Counter

Incremented when the feature is triggered with a mode of 'Store'.

StartedRefresh

Counter

Incremented when the feature is triggered with a mode of 'Refresh'.

TriggerOpenRequest

Counter

Incremented when the feature is triggered on a DialogOpenRequestTcapMessage.

TriggerTCOperation

Counter

Incremented when the feature is triggered on a TCOperationTcapMessage.

TriggerTCEnd

Counter

Deprecated and not used.

TriggerSipResponse

Counter

Deprecated and not used.

ParsingSendRoutingInfoForSMArgV1

Counter

Incremented when the feature attempts to parse a MAP v1 MAPSendRoutingInfoForSMArg.

ParsingSendRoutingInfoForSMArgV2

Counter

Incremented when the feature attempts to parse a MAP v2 MAPSendRoutingInfoForSMArg.

ParsingSendRoutingInfoForSMArgV3

Counter

Incremented when the feature attempts to parse a MAP v3 MAPRoutingInfoForSM_Arg.

ParsingSendRoutingInfoForSMResV1

Counter

Incremented when the feature attempts to parse a MAP v1 MAPSendRoutingInfoForSMRes.

ParsingSendRoutingInfoForSMResV2

Counter

Incremented when the feature attempts to parse a MAP v2 MAPSendRoutingInfoForSMRes.

ParsingSendRoutingInfoForSMResV3

Counter

Incremented when the feature attempts to parse a MAP v3 MAPRoutingInfoForSM_Res.

RefreshingData

Counter

Incremented when the feature refreshes data.

RefreshingRefreshingDataSkippedDueErrorMessage

Counter

Incremented when the feature skips refreshing the data due to receiving an error message.

DataStoreError

Counter

Incremented when data is not successfully stored to Cassandra.

DataStoreSuccess

Counter

Incremented when data is successfully stored in Cassandra.

Configuration

The feature uses the IPSMGWRoutingInfoCassandraConfigProfileTable profile to configure the Cassandra attribute time-to-live (TTL), and whether tracing is enabled for Cassandra queries. The following attributes are used:

Attributes Type Meaning
CassandraTTL

int

Cassandra’s time to live timer in seconds

CassandraTracing

boolean

If true enables the cassandra tracing

Additionally, the feature uses the following field on the IP-SM-GW shared configuration profile table:

Field Name Comments
SentinelIPSMGWAddress

Used as the MSC number when generating translated responses.

See the Shared Configuration Profile page for additional information about this field.

Behaviour

The feature stores the routing information for SMS into the Cassandra Database using the schema detailed here. This includes the SRI for SM request and response content. It can operate in two modes - 'Store' or 'Refresh'.

When storing or refreshing data in Cassandra, the primary key is formatted as an IMSI, and its value is read from Session State. If suitable primary key information is not available (for example the Generate MT Correlation Id feature was unable to allocate a correlation IMSI), or there is a failure to write the routing information into Cassandra, an error response to the SRI for SM is sent.

This feature is closely related to the Fetch Routing Info Cassandra feature.

Store Mode

'Store' mode is triggered on incoming SRI for SM Requests and responses.

On a successful SRI response, the feature encodes it and its associated request, and writes them into the Cassandra DB using the generated MT Correlation IMSI as the primary key. Along with the encoded request and response, the true IMSI, the MSISDN, and the SAS universal identifier are also written into the Cassandra DB.

When the feature is triggered by an SRI for SM error result, it will attempt to write a similar entry to the Cassandra DB, omitting the encoded response and the true IMSI. If the write is successful, it will replace the proxied error with a success response including the correlation IMSI. When this entry is read by FetchRoutingInfo during MT-FSM handling, it indicates that CS delivery is not possible, but PS delivery may be an option. The row is stored with a configurable TTL, so no manual cleanup process is required.

On a request, if the delivery mode is PS only or PS then CS, the feature will look for a response generated by the Generate SRI Result feature. If it finds a successful SRI4SM result, it will process it in the same way as it would process a normal response trigger, except that the true IMSI will be omitted from stored data. If no generated response is found, a generated error response is found, or the delivery mode is not PS only or PS then CS, then the feature will take no further action.

Refresh Mode

'Refresh' mode is triggered on indication of successful delivery of an SMS message (either via SIP encapsulated SMS over IP, or via a MAP MT Forward SM ACK). The successful delivery of an SMS indicates that the routing info remains valid and should not time out, so it is refreshed in Cassandra. This ensures that a batch of SMS for the same IMSI within the Time To Live period are correlated together. The feature uses the fields stored in session state by the IPSMGWFetchRoutingInfoCassandra feature and re-stores them in Cassandra.

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