This feature generates a correlation IMSI when responding to a SRI request. It uses the Correlation Resource Adaptor to allocate an IMSI based on the MCC and MNC.

The generated correlation IMSI is saved in session state and saved in the cassandra database by Store Routing Info Cassandra feature for further inspection when delivering a Short Message.

For quick overview see Flows for SMS delivery.

Feature cheat sheet

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

IPSMGWGenerateMTCorrelationId

Yes

SRI4SM

Stateless

POJO

Behaviour

The feature is triggered by a SRI_SM response (Version 1, 2 or 3) from the HLR. In the successful case, it extracts the MCC and MNC from the IMSI in the SRI_SM response. Once the MCC and MNC are extracted, PLMN ID Analyser Component is used to check that the PLMN ID (MCC + MNC) is configured as a home PLMN ID, then the feature requests a correlation IMSI from the Correlation Resource Adaptor, providing the PLMN ID. If the SRI_SM failed, it uses the FakeMCC and FakeMNC configured in the IPSMGWGenerateMTCorrelationIdConfigProfileTable. If the Correlation RA allocates an IMSI successfully, the feature checks if the correlation IMSI is already in use by querying the Cassandra database. If the correlation IMSI is not in use, the feature stores the correlation IMSI into Session State and finishes execution. If the correlation IMSI is in use, the feature requests another correlation IMSI from the Correlation RA. The process is retried up to MaxGenerationAttempts number of times.

An SMSC may use a correlation IMSI for some period of time after the SRI-SM transaction completes. However the correlation IMSI will be returned to the pool after a configured time period. Therefore the "in-use" check is performed by this feature. See Store Routing Info Cassandra to understand when the correlation IMSI is erased from the database.

Configuration

The feature uses the IPSMGWGenerateMTCorrelationIdConfigProfileTable and the SIP Sentinel Configuration for its configuration.

IPSMGWGenerateMTCorrelationIdConfigProfileTable

Profile field Variable type Description

MaxGenerationAttempts

int

Number of attempts to generate the correlation IMSI

CassandraTracing

Boolean

If True enables the cassandra tracing.

FakeMCC

String

The fake MCC to be used when generating a fake IMSI

FakeMNC

String

The fake MNC to be used when generating a fake IMSI

The correlation IMSI pool configuration is described on the Configuring a Correlation RA entity page.

Session input and output variables

Session input variables

There are no session input variables used by the feature. All inputs are from the feature configuration and the SRI-SM response.

Session output variables

Session State variable name Variable type Comments

MTCorrelatedId

String

The correlation IMSI

Statistics

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

Statistic Incremented when…​
FoundIMSI

could retrieve the IMSI from the SRI-SM response message

FoundMtCorrelationId

could generate a correlation IMSI from correlation RA

MtCorrelationIdInUse

the generated IMSI is already in use

MtCorrelationIdValid

the generated IMSI is available (not in use) and set in session state

ErrorGeneratingMtCorrelationId

fatal exception is raised

Retries

the number of attempts required to allocate a non in-use correlation IMSI, values greater than 1 a retry was needed

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