The FetchMSRN feature retrieves the MSRN (Mobile Subscriber Roaming Number) and the VLR number from the HLR. The FetchMSRN feature derives the Circuit Switched Routing Number (CSRN) from the MSRN and stores the CSRN in session state.
Feature Cheat Sheet
B2BUA Instance | SAS Support | Originating / Terminating | Point(s) in Session Plan | Network Operator Data | Subscriber Data | Stateful or Stateless | POJO Feature or SBB Feature | Other notes |
---|---|---|---|---|---|---|---|---|
SCC |
Yes |
Terminating |
|
Yes |
No |
Stateless |
SBB |
Session input variables
Variable name | Type | Comments |
---|---|---|
RegistrationRecords |
List<RegistrationRecord> |
The list of registration records for the subscriber, used to find the subscriber’s identity for the HLR lookup. |
SentinelSelectionKey |
SentinelSelectionKey |
Used to retrieve configuration data for the feature. |
Subscriber |
String |
Used to obtain the subscriber’s identity if it could not be determined from the registration data. |
Session output variables
Variable name | Type | Comments |
---|---|---|
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. |
CallReferenceNumber |
byte[] |
The Call Reference Number used in the SRI request to the HLR. |
VLRNumber |
AddressString |
The VLR number for the served user, if the feature could retrieve it. |
FetchedMSRN |
boolean |
Indicates whether the MSRN was fetched successfully. |
TADSHLRSuccess |
boolean |
Indicates whether the HLR returned a |
The CSRN is the MSRN , with an optional prefix (defined in feature configuration)
|
Network Operator Data
The FetchMSRN feature depends on network operator data in two configuration profile tables. One is for feature specific configuration, the other is for general HLR connection configuration.
Feature Configuration
Feature specific configuration is set in a profile table called: SCCFetchMSRNConfigProfileTable
.
Profiles are scoped on Sentinel Selection Key.
SCCFetchMSRNConfigProfileTable
Attribute | Type | Default Value | Meaning |
---|---|---|---|
SuppressTcsi |
boolean |
true |
If enabled the feature will set the |
ForceSipUserEqualsPhone |
boolean |
false |
If true, when attempting to extract a number from a SIP URI, the feature will extract a number even if the URI does not have the |
TerminatingSuppressionOfAnnouncement |
boolean |
false |
If true, will set the |
CSRNPrefix |
String |
null |
The (optional) prefix to be added to the MSRN to form the CSRN |
HLR Connection Configuration
The FetchMSRN feature uses the common HLR configuration profile table. See this page for details: HLR MAP Configuration.
Statistics
FetchMSRN statistics are tracked by the FetchMSRN
SBB and can be found using the parameter set SLEE-Usage.Services.ServiceID[name=sentinel.volte.sip,vendor=OpenCloud,version=3.0.0].SbbID[name=scc-fetch-msrn-feature,vendor=OpenCloud,version=3.0.0]
Or in REM under the following parameter sets:
SLEE-Usage → Services → sentinel.volte.sip service → scc-fetch-msrn-feature SBB
Parameter | Type | Description |
---|---|---|
Started |
Counter |
Incremented when the feature is invoked. |
Failed |
Counter |
Incremented when a fatal error has occurred. |
RequestSent |
Counter |
Incremented when a request is sent to the HLR. |
RequestFailed |
Counter |
Incremented when a MSRN is not received from the HLR. |
RequestReceivedAbsentSubscriber |
Counter |
Incremented if the HLR indicates that the requested subscriber is not CS attached. |
RetrievedMSRN |
Counter |
Incremented when an MSRN is received from the HLR. |
CSRNDetermined |
Counter |
Incremented when a CSRN could be determined |
CSRNNotDetermined |
Counter |
Incremented when a CSRN could not be determined |
OverwritingCSRN |
Counter |
Incremented when CSRN is already set in session state and is overwritten with the MSRN |
ResponseLatency |
Sampled |
Records elapsed time between sending the request to the HLR and getting a response (in milliseconds). |
Behaviour
The feature issues a query to the HLR for the MSRN using the MAP operation Send Routing Info
.
The MAP Application Context used is locationInfoRetrievalContext_v3_ac
.
When building the request to the HLR, the feature retrieves the "digits" portion of the IMS default public ID of the Served user from the first entry in the RegistrationRecords
session state field.
If this field does not contain digits, the "digits" portion of the subscriber ID is used.
Note that the feature does not use the entire ID, only the digits portion.
Specifically, the feature will use the numbers in a Tel URI, or the user part of a SIP URI that has the 'user=phone' parameter if ForceSipUserEqualsPhone
is false, or the user part of a SIP URI without the 'user=phone' parameter if ForceSipUserEqualsPhone
is true.
Also while building the HLR request the feature will generate a Call Reference Number. This is then put into a header on the outgoing INVITE called OC-IM-CallReferenceNumber.
If the feature configuration option SuppressTcsi
is enabled, then the Suppress_T_CSI
flag will be set in the CamelInfo on the request.
This will prevent the VLR number from being included in the response.
The HLR may return either a failure response, or a SendRoutingInfo-Res response containing the MSRN in the field ExtendedRoutingInfo.
If the feature is invoked, it increments the Started counter.
If any fatal error during the feature execution occurs, it increments the Failed counter.
If the feature is able to find an MSRN in the returned set, it increments the RequestSuccessful counter, and modifies the output session state variables. If there is a VLR number in the returned set, this will also be output to a session state variable.
If the returned set is empty, the feature increments the RequestFailed counter, and does not modify any output session state variables.
If the HLR returns a failure response, the feature increments the RequestFailed counter, and does not modify any output session state variables.