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 MNC and MCC are extracted, the feature requests a correlation IMSI from the Correlation Resource Adaptor, providing in the MNC and MCC.
If the SRI_SM failed, it uses the MCC and MNC configured in the SipSentinelConfigurationTable.
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 |
---|---|---|
ThreeDigitMNC |
Boolean |
Indicates how many digits of the original IMSI is used to generate the correlation IMSI. Normally 5 or 6. MCC is always 3 digits, MNC can be 2 or 3. |
MaxGenerationAttempts |
int |
Number of attempts to generate the correlation IMSI |
CassandraTracing |
Boolean |
If |
The correlation IMSI pool configuration is described on the Configuring a Correlation RA entity page.
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=2.9.0].SbbID[name=sentinel.ipsmgw,vendor=OpenCloud,version=2.9.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 |