This feature identifies and classifies numbers dialled in the North American numbering plan (NANP).
Details
Feature name |
NorthAmericanNumberingPlan |
---|---|
Applicable contexts |
SIP service |
SAS Support |
Yes |
Prerequisite features |
Session State inputs and outputs
Inputs
Name | Type | Description | Behaviour if null/invalid |
---|---|---|---|
AnalysedDialledNumber |
com.opencloud.sentinel.numbers.TaggedNumber |
Has analysis of the dialled number. |
Feature ends immediately. |
AnalysedHomeCountryCode |
String |
The home country dialling code for the network. |
Feature will be unable to identify a NANP number dialled without the country code. |
SentinelSelectionKey |
com.opencloud.sentinel.common.SentinelSelectionKey |
For selecting area code configuration data. |
Feature will be unable to get geographic information from the area code of a NANP number. |
Behaviour
The NANP feature analyses the number dialled by the calling party, and has three tasks while doing so:
-
Determine if the number is in the North American numbering plan.
-
If so, identify the format of the number (i.e. 7 digit, 10 digit, or 1+10 digit).
-
Extract the NANP area code for the number (if it is present) and retrieve geographic information for it.
In order to determine if the number is part of the North American numbering plan,
the feature examines the analysed version of the dialled number as provided by the Vertical Service Code feature in the AnalysedDialledNumber
session state field.
The number will be considered part of the NANP if it meets any one of the following three criteria:
-
It was dialled with the network’s international escape code, and has
1
as the country code. -
It was dialled in international format (i.e. starting with a
+
character), and has1
as the country code. -
The number does not have a country code, and the home network county code is
1
.
If the number is in the NANP, the feature will move on to identify its format. For the purpose of checking number lengths in this stage in the analysis, any vertical service codes in the dialled number will be skipped over. Formats are classified in the following ways:
-
For numbers in international format or with an international escape code, the number is checked to make sure there are 10 digits after the country code. If so the format is classified as 10 digit, and if not the format is left unclassified.
-
For numbers that start with the national dialling prefix the same check is applied for the length of the number after the prefix. However, when the national prefix is
1
and there are 10 digits after the prefix, the number will be classified as 1+10 digit format rather than 10 digit. -
For numbers lacking national or international prefixes, the length of the whole number is checked and if its seven or ten digits it will be classified accordingly. For other lengths, the number is left unclassified.
If the number was classified as 10 digit or 1+10 digit, the feature will extract the area code from the number.
This area code will be looked up in the NorthAmericanNumberingPlanAreaCodes
profile table, which has geographic information for each area code.
The feature will output the results of its analysis to the NANPNumberInfo
session state field.
This session state field contains a data structure with the following fields:
Field Name | Description |
---|---|
Number |
The part of the originally dialled number that is actually in the NANP (i.e. without service codes, dial prefixes, country codes etc.). |
Format |
The format of the number, one of: 7-Digit, 10-Digit, 1+10-Digit, or Unknown. |
Area Code |
The area code that was extracted from the number. |
Country Name |
The full name of the country that the area code is in. |
ISO Country code |
The two-letter ISO standard country code for the country that the area code is in. |
Location |
A more specific description of the location the area code is in. For the US, this will be the two-letter code for the state/territory. For Canada, this will be the full name of the province/territory. For other countries, this will be the same as the Country Name. |
If no area code or geographic information was found, those fields will be empty. If no dialled number was found, or the dialled number was not in the NANP, then the entire session state field will be left null.
Relationship with number translation features
The NANP feature analyses the dialled number as it was originally received by Sentinel.
This means that if a number translation feature such as Location Based Dialling or SIP Short Code modifies the number and the resulting number is part of the NANP, it will not be analysed by the NANP feature.
Classification Examples
Number | Format | Area Code | Notes |
---|---|---|---|
+14255550000 |
10 Digit |
425 |
|
18795550000 |
1+10 Digit |
879 |
|
7415550000 |
10 Digit |
741 |
|
5550000 |
7 Digit |
None |
|
Error scenarios
Scenario | Handling |
---|---|
VSC feature number analysis not available |
Record stat, report to SAS, and end feature normally. |
Configuration
This feature’s behaviour is not configurable, however geographic data for the NANP area codes is.
This data is stored in the NorthAmericanNumberingPlanAreaCodes
profile table.
The table is pre-populated with area code information from the North American Numbering Plan Authority, and is updated with each major release of Sentinel.
Each profile on the table is scoped by Sentinel Selection Key and corresponds to a single area code.
Each profile has the following fields:
Field Name | Type | Description |
---|---|---|
Area Code |
String |
The area code. |
Country Name |
String |
The full name of the country that the area code is in. |
ISO Country code |
String |
The two-letter ISO standard country code (in upper case) for the country that the area code is in. |
Location |
String |
A more specific description of the location the area code is in. For the US, this will be the two-letter code for the state/territory. For Canada, this will be the full name of the province/territory. For other countries, this will be the same as the Country Name. |
Profile example:
Profile Name |
Metaswitch:::::415 |
---|---|
Area Code |
415 |
Country Name |
United States |
ISO Country code |
US |
Location |
CA |
Provisioning interfaces
Area code data can be provisioned using the Sentinel Features REST API or the web interface.
Statistics
NANP feature 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 → NorthAmericanNumberingPlan or with rhino-stats: "SLEE-Usage.Services.ServiceID[name=sentinel.sip,vendor=OpenCloud,version=4.0.0].SbbID[name=sentinel.sip,vendor=OpenCloud,version=4.0.0].feature.NorthAmericanNumberingPlan"
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. |
DialledNumberNotFound |
Counter |
Incremented when the dialled number analysis from the Vertical Service Code feature is not available in session state. |
DialledNumberOutsideNANP |
Counter |
Incremented when the dialled number is not within the NANP. |
DialledNumberInsideNANP |
Counter |
Incremented when the dialled number is within the NANP. |
AreaCodeNotFound |
Counter |
Incremented when the dialled number is withn the NANP, but does not have an area code. |
FoundAreaCodeInfo |
Counter |
Incremented when the geographic information for the area code is found. |
AreaCodeInfoNotFound |
Counter |
Incremented when no geographic information is found for an area code. |