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

SCCTerm_SipAccess_SubscriberCheck SCCTermTads_SipAccess_SubscriberCheck SCCTerm_SipAccess_PartyResponse SCCTermTads_SipAccess_PartyResponse

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.

RoutingMode

TADSRoutingMode

PS_CS, CS_PS, CS_ONLY, PS_ONLY or PARALLEL

TADSCurrentLegType

LegType

None, CS or PS

ChargeMode

ChargeMode

RO, CAP, OFFLINE or DEFAULT

CompanionDevices

List<CompanionDevice>

Used to obtain MSRNs corresponding to MSISDNs of any companion devices

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 SendRoutingInfo-v3Result response.

CompanionDeviceMSRNs

List<String>

MSRNs retrieved for the MSISDNs of the companion devices

CompanionDeviceCSRNs

List<String>

CSRNs derived from the CompanionDeviceMSRNs

Note 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 Suppress_T_CSI flag in outgoing SRI requests.

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 user=phone parameter.

TerminatingSuppressionOfAnnouncement

boolean

false

If true, will set the Suppression Of Announcement flag in outgoing SRI requests.

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.1.0].SbbID[name=scc-fetch-msrn-feature,vendor=OpenCloud,version=3.1.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

if FetchedMSRN session state field is set, the feature finishes with no further processing.

If the feature has not previously run on this session then if none of the following conditions are true it does not need to run and the feature finishes with no further processing

  • RoutingMode session state field is PARALLEL

  • TADSCurrentLegType session state field is CS

  • ChargeMode session state field is CAP.

Otherwise, the feature has previously run on this session. If either of the following conditions are true, then it does not need to run again and the feature finishes with no further processing

  • RoutingMode session state field is PARALLEL

  • There are no more companion device MSRNs to be fetched, in the FetchedMSRNLegs session state field, which in the non parallel case is actually the MSISDNs of the as yet unfetched legs.

If not done in a previous invocation of the feature, the feature builds a list of subscriber numbers as follows and saves it in FetchedMSRNLegs session state field.

  • the first value is 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.

  • subsequent values, if any, are the MSISDNs of any companion devices where the radio access is CS or PS_CS.

If session state field RoutingMode is PARALLEL then

  • the feature issues an SRI request to the HLR for each subscriber as below

  • once all responses are received (or failed), the feature finishes.

Otherwise

  • the feature issues an SRI request to the HLR for the first subscriber in FetchedMSRNLegs session state field as below, and removes that subscriber from the session state field

  • once a response (or failure) is received, the feature finishes

  • SCC T-ADS Routing features will subsequently clear the FetchedMSRN session state field as necessary and trigger this feature to re-run in order to process subsequent subscribers sequentially.

Sending SRI and processing SRI-Response

The feature builds a query to the HLR for the MSRN using the MAP operation Send Routing Info. The MAP Application Context used is locationInfoRetrievalContext_v3_ac.

While building the HLR request the feature will generate a Call Reference Number used in the SRI. This is then put into a header on the incoming INVITE (from where it is copied as part of the outgoing INVITE) called OC-IM-CallReferenceNumber as well as saved in session state (for inclusion in CDRs).

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 FetchedMSRN session state field is set to true to prevent the feature repeating the SRI request(s).

The feature issues the query to the HLR.

The HLR may return either a failure response, or a SendRoutingInfo-Res response containing the MSRN in the field ExtendedRoutingInfo.

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.

Previous page Next page
Sentinel VoLTE Version 3.1.0