This feature parses P-Visited-Network-Identifier (PVNI) and P-Access-Network-Info (PANI) headers to extract the Mobile Country Code (MCC) and Mobile Network Code (MNC) values for the subscriber into session state fields.

This feature parses PVNI and PANI headers in the initial SIP request or Registration Records to extract MCC and MNC values to store in session state. The following features rely on the MCC and MNC data stored by this feature for use in Credit Control Requests (CCR), Call Detail Records (CDR) and Accounting Requests (ACR):

Description

Feature Script Name

ExtractNetworkInfo

Call-Type

Orig or Term

Prerequisite features

N/A

Session Plan

all

Execution points

For Sentinel Express: Post_SipAccess_SubscriberCheck, Post_SubscriptionSubscriberCheck, Post_SipTransaction_SubscriberCheck, Post_SipThirdPartyAccess_SubscriberCheck. For Sentinel VoLTE: Post_SipAccess_SessionCheck, Post_SubscriptionSessionCheck, Post_SipTransaction_SessionCheck.

Network Operator Config

Yes

Subscriber Config

No

POJO or SBB

POJO

Feature FSMs

None

Feature Parameters

None

SAS Support

Yes

RA Entity Links

None

Prerequisite features

Session State Inputs and Outputs

Inputs

Name Type Purpose

PvniMccMnc

com.opencloud.sentinel.common.MccMnc

If set, the feature will not attempt to do PVNI header analysis. See Outputs below.

PaniMccsMncs

List<com.opencloud.sentinel.common.MccMnc>

If set, the feature will not attempt to do PANI header analysis again. See Outputs below.

IsoCountryCode

String

If set, the feature will not update the IsoCountryCode. See Outputs below.

RegistrationRecords

RegistrationRecord

PANI and PVNI headers from registration records are used if the initial SIP request did not contain the corresponding header with MCC and MNC data. The MCC and MNC are parsed from the header and stored in the PvniMccMnc session state field. The RegistrationRecord field is normally set by IMSIDLookup in VoLTE.

Outputs

Name Type Description

PvniMccMnc

com.opencloud.sentinel.common.MccMnc

The MCC and MNC data that was retrieved from a PVNI header found either on the request itself or in registration records.

PaniMccsMncs

List<com.opencloud.sentinel.common.MccMnc>

A list of MCC and MNC data retrieved from the PANI headers found either on the request itself or in registration records.

IsoCountryCode

String

The ISO Country Code found from the PANI headers found either on the request itself or in registration records.

Behaviour

MCC and MNC

The ExtractNetworkInfo feature parses P-Access-Network-Info (PANI) and P-Visited-Network-Identifier (PVNI) headers found in the SIP trigger or Registration Records to determine the Mobile Country Code (MCC) and Mobile Network Code (MNC) for the subscriber. The following OpenCloud extension AVPs are used to communicate MCC and MNC information in CDRs and CCRs:

  • OC-ACCESS-NETWORK-MCC-MNC

  • OC-VISITED-NETWORK-MCC-MNC

  • OC-IMSI-NETWORK-MCC-MNC

Priority is given to any headers present in the SIP trigger, if they are able to be parsed. In Mobile Terminating cases OC-Term-P-Access-Network and OC-Term-P-Visited-Network headers added by SCC during reorigination are used if present. For any given header type, if it is missing or invalid in the SIP trigger, the feature will then check registration records. When an MNC cannot be determined, but the MCC was able to be extracted, a value of "000" will be used in place of the missing MNC.

For information on Sentinel AVP definitions, please refer to Sentinel AVPs in the Sentinel Administration guide.

ISO Country Code

The ExtractNetworkInfo feature parses P-Access-Network-Info (PANI) and P-Visited-Network-Identifier (PVNI) headers found in the SIP trigger or Registration Records to determine the ISO Country Code for the subscriber and populates the IsoCountryCode session state field. The section below explains precedence:

Originating

  • Look for a country parameter in the trigger’s P-Access-Network-Info headers

  • Look for an MCC in the trigger’s P-Access-Network-Info headers and find the ISOCountryCode for that MCC in the corresponding MobileCountryCodeInformation profile

  • Look for an MCC in the Cellular-Network-Info headers and find the ISOCountryCode for that MCC in the corresponding MobileCountryCodeInformation profile

  • Look for an MCC in the P-Cellular-Network-Info headers and find the ISOCountryCode for that MCC in the corresponding MobileCountryCodeInformation profile

  • Look for a country parameter in the registration data P-Access-Network-Info headers

  • Look for an MCC in the registration P-Access-Network-Info headers and find the ISOCountryCode for the corresponding MobileCountryCodeInformation profile

Terminating

  • Look for a country parameter in the registration data P-Access-Network-Info headers

If a country parameter is not found in stored P-Access-Network-Info headers:

  • Look at available MCC information from the registration P-Visited-Network-Info header to determine if the subscriber is roaming

  • Look at available MCC information from the registration P-Access-Network-Info headers to determine if the subscriber is roaming and determine the subscribers Access-Network type (WLAN or EUTRAN)

Store the ISOCountryCode associated with the first available MCC found in the subscriber’s P-Access-Network-Info headers

Statistics

ExtractNetworkInfo statistics are tracked by the sentinel.sip SBB and can be found under the following parameter set in REM:
SLEE-Usage → sentinel.sip service → sentinel.sip SBB → feature → ExtractNetworkInfo
or with rhino-stats:
"SLEE-Usage.Services.ServiceID[name=sentinel.sip,vendor=OpenCloud,version=2.9.0].SbbID[name=sentinel.sip,vendor=OpenCloud,version=2.9.0].feature.ExtractNetworkInfo"

Name Type Description
Started

Counter

Incremented when the feature is triggered.

FailedToStart

Counter

Incremented when the feature fails to start.

FailedDuringExecution

Counter

Incremented when the feature fails while executing.

IssuedWarning

Counter

Incremented when the feature issues a warning.

TimedOut

Counter

Incremented when the feature times out during execution.

AccessNetworkMccMncFoundInTrigger

Counter

Incremented when access network MCCs and MNCs are found in the triggering message.

AccessNetworkMccMncFoundInRegistrationData

Counter

Incremented when access network MCCs and MNCs are found in registration data.

CellularNetworkMccMncFoundInTrigger

Counter

Incremented when access network MCCs and MNCs are determined from a Cellular-Network header on the triggering message.

UnableToDetermineAccessNetworkMccMnc

Counter

Incremented when access network MCCs and MNCs cannot be determined.

VisitedNetworkMccMncFoundInRegistrationData

Counter

Incremented when the visited network MCC and MNC are found in registration data.

VisitedNetworkMccMncFoundInTrigger

Counter

Incremented when the visited network MCC and MNC are found in trigger.

UnableToDetermineVisitedNetworkMccMnc

Counter

Incremented when the visited network MCC and MNC cannot be determined.

IsoCountryCodeFoundFromHeader

Counter

Incremented when an ISO country code is extracted directly from an access network info header.

IsoCountryCodeFoundFromMccMnc

Counter

Incremented when an ISO country code is determined from an MCC and MNC value.

IsoCountryCodeFoundFromHomeNetworkConfig

Counter

Incremented when an ISO country code is determined from home network configuration in Sentinel.

UnableToDetermineAccessNetworkIsoCountryCode

Counter

Incremented when an ISO country code cannot be determined.

Configuration

When parsing MNC’s from digit strings (such as an IMSI), the MobileCountryCodeInformation profile table is used to determine whether the MNC is two or three digits. The table maps an MCC to a list of that country’s MNC’s which are then compared against the digit string to determine length. At present, other fields are for administrative use only.

Parameter Type Description

MCC

String

The three digit Mobile Country Code each profile represents.

MNCs

String[]

An ordered list of the two or three digit Mobile Network Codes for this MCC.

Country

String

The name of the country the MCC belongs to (for documentation purposes only.)

CountryDialCode

String

A digit string representing the actual dial code for this country.

ISOCountryCode

String[]

An ordered list of two-character strings representing the ISOCountryCode - each entry corresponds to an MNC. Use "UNKNOWN" for missing values.

Brands

String[]

An ordered list of brand names corresponding to each MNC. Use "UNKNOWN" for missing values.

Operators

String[]

An ordered list of operator names corresponding to each MNC. Use "UKNOWN" for missing values.

The ExtractNetworkInfo feature also relies on configuration from the SipSentinelConfigurationTable. The data is scoped by selection key.

Parameter

Type

Description

ISOCode

String

A two-character string representing the ISOCountryCode for the home network

MCC

String

The three digit Mobile Country Code for the home network

An example MobileCountryCodeInformation profile:

            MCC: "530"
            Country: "New Zealand"
            ISOCountryCode: "nz"
            CountryDialCode: "64"
            MNCs: !array
                type: java.lang.String
                values:
                   - "00"
                   - "01"
            ...
            Brands: !array
                type: java.lang.String
                values:
                   - "Telecom"
                   - "Vodafone"
            ...
            Operators: !array
                type: java.lang.String
                values:
                   - "Telecom New Zealand"
                   - "Vodafone New Zealand"
            ...

The value at at a given index of each of the following array attributes corresponds to the value at the same index of any other:

  • MNC (01)

  • Brands (Vodafone)

  • Operators (Vodafone New Zealand)

Configuration Profile Naming

Table Name Description Profile Naming

MobileCountryCodeInformation

The Mobile Network Codes associated with a given Mobile Country Code.

SentinelSelectionKey with three digit Mobile Country Code suffix (for example, metaswitch::::722.)

The ExtractNetworkInfo feature also relies on configuration from the SipSentinelConfigurationTable. The data is scoped by selection key.

Table Name Description Profile Naming

SipSentinelConfigurationTable

SentinelSelectionKey (for example, metaswitch::::.)

Provisioning Interfaces

The feature is provisioned using the Sentinel Features REST API or web interface.

Previous page Next page
Sentinel Express Version 2.9.0