This feature fetches the Correlation MSISDN from the HSS, using an "Sh-Pull". It can be invoked during Third Party Registration and INVITE session processing.
Description
This feature fetches the Correlation MSISDN from the HSS. It can be invoked during Third Party Registration and INVITE session processing. In addition, it tries to derive a CSRN from the CMSISDN.
The feature issues a query to the HSS for the Correlation MSISDN, unless a value is already set in session state. When building the request to the HSS, it uses a User Data Request with Sh Data Reference 17 - MSISDN or MSISDN + ExtendedMSISDN. The query access key is the default Public Identity, or the default Public Identity plus the IMS Private Identity. The access chosen is based on the feature configuration attribute "UDRIncludedIdentities".
The HSS may return either a failure response, or an Sh document.
If the feature is configured to look for the Correlation MSISDN in MSISDN, it uses the first MSISDN in the returned set at Sh-Data/PublicIdentifiers/MSISDN
in the Sh UDA response.
If the feature is configured to look for the Correlation MSISDN in Extended-MSISDNs, it uses the first MSISDN in the returned Extended MSISDNs set at Sh-Data/PublicIdentifiers/Extension/Extension/Extension/ExtendedMSISDN
in the Sh UDA response.
If the feature is able to find an MSISDN in the returned set, it increments the SuccessfullyRetrievedCMSISDN counter, and modifies the output session state variables.
If the returned set is empty, the feature increments the FailedToRetrieveCMSISDN counter, and does not modify any output session state variables.
If the HSS returns a failure response, the feature increments the ShCacheError counter, and does not modify any output session state variables.
In addition, the feature derives a CSRN by prefixing the MSISDN with the configured prefix.
If a CMSISDN could not be found, and EnableCSRoutingFromRequestUri
is enabled, the feature attempts to extract a phone number from the Request-URI, and sets the CSRN in session state
as this phone number prefixed with the configured prefix.
Session input variables
Variable name | Type | Comments |
---|---|---|
PublicIds |
String array |
The IMS Public Ids for the Served User, used when triggered on a REGISTER |
PrivateId |
String |
Contains the subscriber’s private identity, used when triggered on a REGISTER |
RegistrationRecords |
List<RegistrationRecord> |
The registration records for the Served User, used when triggered on an INVITE |
Session output variables
Variable name | Type | Comments |
---|---|---|
CMSISDN |
String |
Set to the Correlation MSISDN if the feature could retrieve it |
HasCMSISDN |
boolean |
Set to true if the feature could retrieve the CMSISDN |
CSRN |
String |
The CSRN of the served user, if the feature could derive it. |
HasCSRN |
boolean |
Indicating whether the CSRN session state field has been populated. |
Statistics
There are two sets of statistics, one as the feature is invoked during Registration, and another during INVITE processing.
Both sets of statistics share the same interface. They are located in different SLEE services.
Parameter | Type | Description |
---|---|---|
Started |
Counter |
Incremented each time the feature runs |
FailedToStart |
Counter |
Incremented when a fatal error occurs before feature execution |
IssuedWarning |
Counter |
Incremented when a non-fatal error occurs during feature execution |
FailedDuringExecution |
Counter |
Incremented when a fatal error occurs during feature execution |
TimedOut |
Counter |
Incremented when feature execution does not complete within a reasonable time frame |
FailedToRetrieveCMSISDN |
Counter |
Incremented when the HSS query returns a document that does not contain the CMSISDN in the expected location. |
SuccessfullyRetrievedCMSISDN |
Counter |
Incremented when the HSS query returns a document that does contain a CMSISDN in the expected location. |
ShCacheError |
Counter |
Incremented when the HSS query returns a non-success response code. |
InvalidConfig |
Counter |
Incremented when unsupported CMSISDN source is configured. |
CSRNNotDetermined |
Counter |
Incremented when the CSRN could not be determined |
CSRNDetermined |
Counter |
Incremented when the CSRN could be determined |
ResponseLatency |
Sampled |
Records elapsed time between requesting data from the Sh-Cache RA and getting a response (in milliseconds). |
Statistics as part of Registration
These statistics are tracked by the sentinel.registrar SBB and can be found using the parameter set SLEE-Usage.Services.ServiceID[name=sentinel.registrar,vendor=OpenCloud,version=2.8.0].SbbID[name=sentinel.registrar,vendor=OpenCloud,version=2.8.0].feature.FetchCMSISDN
Or in REM under the following parameter set:
SLEE-Usage → sentinel.registrar service → sentinel.registrar SBB → feature → FetchCMSISDN
Statistics as part of INVITE processing
These statistics are tracked by the sentinel.volte.sip SBB and can be found using the parameter set
SLEE-Usage.Services.ServiceID[name=sentinel.volte.sip,vendor=OpenCloud,version=2.8.0].SbbID[name=sentinel.volte.sip,vendor=OpenCloud,version=2.8.0].feature.FetchCMSISDN
Or in REM under the following parameter set:
SLEE-Usage → sentinel.volte.sip service → sentinel.volte.sip SBB → feature → FetchCMSISDN
Configuration
The configuration is scoped according to the Sentinel Selection key, and is stored in the FetchCMSISDNFeatureConfigProfileTable
profile.
There are four configuration attributes, as follows:
Attribute name | Type | Valid values |
---|---|---|
CMSISDNSource |
String |
|
UDRIncludedIdentities |
String |
|
CSRNPrefix |
String |
|
EnableCSRoutingFromRequestURI |
boolean |
Note: If the CMSISDN source is set to EXTENDED_MSISDN
then the UDRIncludedIdentities must be set to IMPU_AND_IMPI
.