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 |
---|---|
Applicable contexts |
SIP service |
SAS Support |
No |
Prerequisite features |
N/A |
Feature execution points |
All SubscriberCheck or SessionCheck post feature execution points: Post_SipAccess_SessionCheck Post_SubscriptionSessionCheck Post_SipTransaction_SessionCheck Post_SipThirdPartyAccess_SessionCheck Post_SipAccess_SubscriberCheck Post_SubscriptionSubscriberCheck Post_SipTransaction_SubscriberCheck Post_SipThirdPartyAccess_SubscriberCheck |
Session State Inputs and Outputs
Inputs
Name | Type | Purpose |
---|---|---|
PvniMccMnc |
com.opencloud.sentinel.common.MccMnc |
If set, the feature will not attempt to do |
PaniMccsMncs |
List<com.opencloud.sentinel.common.MccMnc> |
If set, the feature will not attempt to do |
RegistrationRecords |
RegistrationRecord |
|
Outputs
Name | Type | Description |
---|---|---|
PvniMccMnc |
com.opencloud.sentinel.common.MccMnc |
The |
PaniMccsMncs |
List<com.opencloud.sentinel.common.MccMnc> |
A list of |
Behaviour
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. For any given header type, 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.
Statistics
Name | Description |
---|---|
AccessNetworkMccMncFoundInRegistrationData |
Incremented when AccessNetwork MCC and MNC found in registration data |
VisitedNetworkMccMncFoundInRegistrationData |
Incremented when VisitedNetwork MCC and MNC found in registration data |
AccessNetworkMccMncFoundInTrigger |
Incremented when AccessNetwork MCC and MNC found in trigger |
VisitedNetworkMccMncFoundInTrigger |
Incremented when VisitedNetwork MCC and MNC found in trigger |
UnableToDetermineAccessNetworkMccMnc |
Incremented when AccessNetwork MCC and MNC not found in registration data or trigger |
UnableToDetermineVisitedNetworkMccMnc |
Incremented when VisitedNetwork MCC and MNC not found in registration data or trigger |
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. |
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, |
Provisioning Interfaces
The feature is provisioned using the Sentinel Features REST API or web interface.