summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--resources/PhoneNumberAlternateFormats.xml10
-rw-r--r--resources/PhoneNumberMetadata.xml151
-rw-r--r--resources/PhoneNumberMetadataForTesting.xml110
-rw-r--r--resources/ShortNumberMetadata.xml186
-rw-r--r--resources/carrier/en/226.txt10
-rw-r--r--resources/carrier/en/509.txt3
-rw-r--r--resources/carrier/en/593.txt73
-rw-r--r--resources/carrier/en/679.txt7
-rw-r--r--resources/geocoding/hi/82.txt14
-rw-r--r--resources/geocoding/iw/82.txt2
-rw-r--r--resources/geocoding/tr/82.txt2
-rw-r--r--resources/phonemetadata.proto24
12 files changed, 469 insertions, 123 deletions
diff --git a/resources/PhoneNumberAlternateFormats.xml b/resources/PhoneNumberAlternateFormats.xml
index dfa8ddaf..3d0eedb1 100644
--- a/resources/PhoneNumberAlternateFormats.xml
+++ b/resources/PhoneNumberAlternateFormats.xml
@@ -30,12 +30,12 @@
mainCountryForCode set to true in PhoneNumberMetadata.xml should be present
here.
- Note: Territories are in alphabetical order by their IDs, which are based on ISO 3166-1
- two-letter country codes. The country names in the comments are the official short names
- in English according to ISO 3166-1.
+ Note: Territories are in alphabetical order by their IDs, which are based on CLDR
+ two-letter region codes (or are set to "001" for non-geographical entities, which
+ represents "World" in the UN M.49 standard). The country names in the comments are the
+ official short names in English according to CLDR.
- For more information on what each element represents, see
- resources/phonemetadata.proto
+ For more information on what each element represents, see resources/phonemetadata.proto
-->
<!DOCTYPE phoneNumberMetadata [
diff --git a/resources/PhoneNumberMetadata.xml b/resources/PhoneNumberMetadata.xml
index d731a246..d62e82a1 100644
--- a/resources/PhoneNumberMetadata.xml
+++ b/resources/PhoneNumberMetadata.xml
@@ -15,10 +15,10 @@
@author: Shaopeng Jia
Metadata on Phone Number Plan and formatting rules
- Note: Territories are in alphabetical order by their IDs, which are based on ISO 3166-1
- two-letter country codes (or are set to "001" for non-geographical entities, which
+ Note: Territories are in alphabetical order by their IDs, which are based on CLDR
+ two-letter region codes (or are set to "001" for non-geographical entities, which
represents "World" in the UN M.49 standard). The country names in the comments are the
- official short names in English according to ISO 3166-1.
+ official short names in English according to CLDR.
For more information on what each element represents, see
resources/phonemetadata.proto
@@ -2890,25 +2890,32 @@
0(?:
49|
5[23]|
+ 6[56]|
9[016-9]
)|
- [45]\d{2}
+ 4(?:
+ 4[569]|
+ 5[4-6]|
+ 6[56]|
+ 7[0179]
+ )|
+ 5(?:
+ [34]\d|
+ 50|
+ 6[56]
+ )
)\d{4}
</nationalNumberPattern>
<possibleLengths national="8"/>
<exampleNumber>20491234</exampleNumber>
</fixedLine>
<mobile>
- <!-- 550 range is assigned to Airtel as per a issue reported. -->
+ <!-- 550 range is assigned to Airtel as per a reported issue. -->
<nationalNumberPattern>
(?:
- 55[0-5]|
- 6(?:
- [0-689]\d|
- 7[0-5]
- )
- )\d{5}|
- 7\d{7}
+ 5[15]|
+ [67]\d
+ )\d{6}
</nationalNumberPattern>
<possibleLengths national="8"/>
<exampleNumber>70123456</exampleNumber>
@@ -7034,7 +7041,7 @@
<territory id="EE" countryCode="372" internationalPrefix="00" mobileNumberPortableRegion="true">
<references>
<sourceUrl>http://www.itu.int/oth/T0202000043/en</sourceUrl>
- <sourceUrl>http://www.tja.ee/public/Legislation_side/Numbering_/Estonian_NP_eng.htm</sourceUrl>
+ <sourceUrl>http://www.tja.ee/numbering/</sourceUrl>
</references>
<availableFormats>
<numberFormat pattern="([3-79]\d{2})(\d{4})">
@@ -7835,7 +7842,7 @@
</references>
<availableFormats>
<numberFormat pattern="(\d{3})(\d{4})">
- <leadingDigits>[36-9]</leadingDigits>
+ <leadingDigits>[35-9]</leadingDigits>
<format>$1 $2</format>
</numberFormat>
<numberFormat pattern="(\d{4})(\d{3})(\d{4})">
@@ -7845,7 +7852,7 @@
</availableFormats>
<generalDesc>
<nationalNumberPattern>
- [36-9]\d{6}|
+ [35-9]\d{6}|
0\d{10}
</nationalNumberPattern>
<possibleNumberPattern>\d{7}(?:\d{4})?</possibleNumberPattern>
@@ -7866,13 +7873,13 @@
<exampleNumber>3212345</exampleNumber>
</fixedLine>
<mobile>
- <!-- Adding 7[5-8], 8[03679], and 9[034678] from numbers found online and numbers where SMSs
- have been received from. Adding 9[15] and 84 from Vodafone Fiji IR21. -->
+ <!-- Adding 8[03679] and 9[034678] from numbers found online and numbers from which SMSs
+ have been received. -->
<nationalNumberPattern>
(?:
- 7[0-8]|
- 8[034679]|
- 9\d
+ 5[018]|
+ [79]\d|
+ 8[034679]
)\d{5}
</nationalNumberPattern>
<possibleNumberPattern>\d{7}</possibleNumberPattern>
@@ -8370,21 +8377,19 @@
3[0189]|
4[017]|
8[0-46-9]|
- 9[012]
+ 9[0-2]
)\d{7}|
1(?:
(?:
1(?:
3[0-48]|
[46][0-4]|
- 5[0126-9]|
- 7[0-49]|
- 8[01349]
+ 5[0-26-9]|
+ [78][0-49]
)|
21[0-7]|
31[0-8]|
- [459]1\d|
- 61[0-46-9]
+ [4-69]1\d
)
)\d{6}|
1(?:
@@ -8394,7 +8399,7 @@
3[3-79]|
4[1-689]|
[58][02-9]|
- 6[0-4789]|
+ 6[0-47-9]|
7[013-9]|
9\d
)|
@@ -8403,19 +8408,19 @@
[25][02-9]|
3[02-579]|
[468][0-46-9]|
- 7[1235679]|
- 9[24578]
+ 7[1-35-79]|
+ 9[2-578]
)|
4(?:
0[03-9]|
- [28][02-5789]|
+ [28][02-57-9]|
[37]\d|
4[02-69]|
5[0-8]|
[69][0-79]
)|
5(?:
- 0[1235-9]|
+ 0[1-35-9]|
2[024-9]|
3[015689]|
4[02-9]|
@@ -8423,7 +8428,7 @@
6\d|
7[0-35-9]|
8[0-468]|
- 9[0-5789]
+ 9[0-57-9]
)|
6(?:
0[034689]|
@@ -8438,7 +8443,7 @@
7(?:
0[0246-9]|
2\d|
- 3[023678]|
+ 3[0236-8]|
4[03-9]|
5[0-46-9]|
6[013-9]|
@@ -8448,7 +8453,7 @@
)|
8(?:
0[35-9]|
- 2[1-5789]|
+ 2[1-57-9]|
3[02-578]|
4[0-578]|
5[124-9]|
@@ -8460,11 +8465,11 @@
9(?:
0[02-589]|
2[02-689]|
- 3[1-5789]|
+ 3[1-57-9]|
4[2-9]|
5[0-579]|
- 6[234789]|
- 7[0124578]|
+ 6[2-47-9]|
+ 7[0-24578]|
8\d|
9[2-57]
)
@@ -8488,7 +8493,7 @@
)|
8(?:
2[2-8]|
- 7[0-4789]|
+ 7[0-47-9]|
8[345]
)
)
@@ -8498,7 +8503,7 @@
647[23]|
8(?:
47[04-9]|
- 64[015789]
+ 64[0157-9]
)
)|
4(?:
@@ -8595,7 +8600,7 @@
9561
)
)\d{3}|
- 176888[234678]\d{2}|
+ 176888[2-46-8]\d{2}|
16977[23]\d{3}
</nationalNumberPattern>
<possibleLengths national="9,10" localOnly="[4-8]"/>
@@ -10082,7 +10087,18 @@
<exampleNumber>51234567</exampleNumber>
</mobile>
<pager>
- <nationalNumberPattern>7\d{7}</nationalNumberPattern>
+ <nationalNumberPattern>
+ 7(?:
+ 1[0-369]|
+ [23][0-37-9]|
+ 47|
+ 5[1578]|
+ 6[0235]|
+ 7[278]|
+ 8[236-9]|
+ 9[025-9]
+ )\d{5}
+ </nationalNumberPattern>
<possibleNumberPattern>\d{8}</possibleNumberPattern>
<possibleLengths national="8"/>
<exampleNumber>71234567</exampleNumber>
@@ -10105,7 +10121,13 @@
<exampleNumber>90012345678</exampleNumber>
</premiumRate>
<personalNumber>
- <nationalNumberPattern>8[1-3]\d{6}</nationalNumberPattern>
+ <nationalNumberPattern>
+ 8(?:
+ 1[1-4679]|
+ 2[0-367]|
+ 3[02-47]
+ )\d{5}
+ </nationalNumberPattern>
<possibleNumberPattern>\d{8}</possibleNumberPattern>
<possibleLengths national="8"/>
<exampleNumber>81123456</exampleNumber>
@@ -10323,25 +10345,25 @@
<possibleNumberPattern>\d{8}</possibleNumberPattern>
</generalDesc>
<fixedLine>
- <!-- The prefix 24 seems to be also used, based on online searches. -->
+ <!-- Digicel reported 281 and 29[149] belong to them, the more recent ITU doc 20.I.2017
+ agrees and classifies them as fixedLine so we follow that here. -->
<nationalNumberPattern>
2(?:
- [24]\d|
- 5[1-5]
+ 2\d|
+ 5[1-5]|
+ 81|
+ 9[149]
)\d{5}
</nationalNumberPattern>
<possibleLengths national="8"/>
<exampleNumber>22453300</exampleNumber>
</fixedLine>
<mobile>
+ <!-- 32, 33, 35 are kept even though they are not in the ITU doc because numbers found
+ online are working. -->
<nationalNumberPattern>
(?:
- 2(?:
- 81|
- 9\d
- )|
- 3[1-9]\d|
- 4\d{2}|
+ [34]\d{2}|
9(?:
8[0-35]|
9[5-9]
@@ -11564,9 +11586,8 @@
2[0-249]|
3[0-25]|
4[145]|
- [569][14]|
+ [59][14]|
7[1257]|
- 8[1346]|
[68][1-9]
)|
2(?:
@@ -11608,8 +11629,8 @@
)|
6(?:
12|
- [2345]1|
- 57|
+ [2-4]1|
+ 5[17]|
6[13]|
7[14]|
80
@@ -12166,7 +12187,9 @@
</tollFree>
<premiumRate>
<!-- Only televoting numbers are covered here for now. The 900 numbers are not covered
- because they overlap with mobile, and we haven't found any real numbers online. -->
+ because they overlap with mobile, and we haven't found any real numbers online.
+ 1863 424 Tele-voting (Different Charge Rate) numbers are not added as there are no
+ valid numbers online. -->
<nationalNumberPattern>186[12]\d{9}</nationalNumberPattern>
<possibleNumberPattern>\d{13}</possibleNumberPattern>
<possibleLengths national="13"/>
@@ -12182,7 +12205,8 @@
<exampleNumber>18603451234</exampleNumber>
</sharedCost>
<uan>
- <!-- Telemarketing numbers: http://en.wikipedia.org/wiki/Telephone_numbers_in_India -->
+ <!-- Telemarketing numbers: http://en.wikipedia.org/wiki/Telephone_numbers_in_India. 1869 -
+ long distance UAN numbers are not added here as there are no valid numbers online. -->
<nationalNumberPattern>140\d{7}</nationalNumberPattern>
<possibleNumberPattern>\d{10}</possibleNumberPattern>
<possibleLengths national="10"/>
@@ -21355,7 +21379,10 @@
<mobile>
<!-- http://www.enigma-system.net/business/customized-phone-number.html confirms that the
numbers are restricted to those starting with 07000. Mobile prefix 0799 added based on
- open-source report and confirmation by existence of such numbers online. -->
+ open-source report and confirmation by existence of such numbers online.
+ As per Ancom official doc, mobile numbers can also begin with 6. However, we didn't
+ find any numbers online with this prefix, and the wikipedia source doesn't mention it,
+ so we do not support it for now. -->
<nationalNumberPattern>
7(?:
[0-8]\d{2}|
@@ -21379,17 +21406,13 @@
<exampleNumber>900123456</exampleNumber>
</premiumRate>
<sharedCost>
+ <!-- 803\d{6} shared cost number pattern is not included as we couldn't find any working
+ numbers online. -->
<nationalNumberPattern>801\d{6}</nationalNumberPattern>
<possibleNumberPattern>\d{9}</possibleNumberPattern>
<possibleLengths national="9"/>
<exampleNumber>801123456</exampleNumber>
</sharedCost>
- <personalNumber>
- <nationalNumberPattern>802\d{6}</nationalNumberPattern>
- <possibleNumberPattern>\d{9}</possibleNumberPattern>
- <possibleLengths national="9"/>
- <exampleNumber>802123456</exampleNumber>
- </personalNumber>
<uan>
<!-- http://www.ancom.org.ro/pnn_1300 refers to numbers beginning with 37, 38 or 39 as
location-independent national numbers. Only numbers beginning with 37 have been seen so
diff --git a/resources/PhoneNumberMetadataForTesting.xml b/resources/PhoneNumberMetadataForTesting.xml
index 9a74e58d..25b2b900 100644
--- a/resources/PhoneNumberMetadataForTesting.xml
+++ b/resources/PhoneNumberMetadataForTesting.xml
@@ -30,6 +30,7 @@
<fixedLine>
<nationalNumberPattern>\d{6}</nationalNumberPattern>
<possibleLengths national="6"/>
+ <exampleNumber>123456</exampleNumber>
</fixedLine>
</territory>
@@ -134,24 +135,28 @@
<possibleNumberPattern>\d{6,11}</possibleNumberPattern>
</generalDesc>
<fixedLine>
- <nationalNumberPattern>[1-3]\d{9}</nationalNumberPattern>
- <possibleNumberPattern>\d{6,10}</possibleNumberPattern>
- <possibleLengths national="[6-10]"/>
+ <nationalNumberPattern>[1-3]\d{5,9}</nationalNumberPattern>
+ <possibleNumberPattern>\d{6,10}</possibleNumberPattern>
+ <possibleLengths national="[6-10]"/>
+ <exampleNumber>1234567890</exampleNumber>
</fixedLine>
<mobile>
<nationalNumberPattern>9\d{10}|[1-3]\d{9}</nationalNumberPattern>
<possibleNumberPattern>\d{10,11}</possibleNumberPattern>
<possibleLengths national="10,11"/>
+ <exampleNumber>9234567890</exampleNumber>
</mobile>
<tollFree>
<nationalNumberPattern>80\d{8}</nationalNumberPattern>
<possibleNumberPattern>\d{10}</possibleNumberPattern>
<possibleLengths national="10"/>
+ <exampleNumber>8034567890</exampleNumber>
</tollFree>
<premiumRate>
<nationalNumberPattern>6(0\d|10)\d{7}</nationalNumberPattern>
<possibleNumberPattern>\d{10}</possibleNumberPattern>
<possibleLengths national="10"/>
+ <exampleNumber>6234567890</exampleNumber>
</premiumRate>
</territory>
@@ -179,21 +184,25 @@
<nationalNumberPattern>[2378]\d{8}</nationalNumberPattern>
<possibleNumberPattern>\d{9}</possibleNumberPattern>
<possibleLengths national="9"/>
+ <exampleNumber>212345678</exampleNumber>
</fixedLine>
<mobile>
<nationalNumberPattern>4\d{8}</nationalNumberPattern>
<possibleNumberPattern>\d{9}</possibleNumberPattern>
<possibleLengths national="9"/>
+ <exampleNumber>412345678</exampleNumber>
</mobile>
<tollFree>
<nationalNumberPattern>1800\d{6}</nationalNumberPattern>
<possibleNumberPattern>\d{10}</possibleNumberPattern>
<possibleLengths national="10"/>
+ <exampleNumber>1800123456</exampleNumber>
</tollFree>
<premiumRate>
<nationalNumberPattern>190[0126]\d{6}</nationalNumberPattern>
<possibleNumberPattern>\d{10}</possibleNumberPattern>
<possibleLengths national="10"/>
+ <exampleNumber>1900123456</exampleNumber>
</premiumRate>
</territory>
@@ -205,6 +214,7 @@
</generalDesc>
<fixedLine>
<possibleLengths national="10" localOnly="7"/>
+ <exampleNumber>2464567890</exampleNumber>
</fixedLine>
</territory>
@@ -220,6 +230,7 @@
<fixedLine>
<nationalNumberPattern>\d{8,10}</nationalNumberPattern>
<possibleLengths national="10" localOnly="8"/>
+ <exampleNumber>12345678</exampleNumber>
</fixedLine>
</territory>
@@ -253,21 +264,25 @@
)\d{4}
</nationalNumberPattern>
<possibleLengths national="10" localOnly="7"/>
+ <exampleNumber>2425027890</exampleNumber>
</fixedLine>
<mobile>
<nationalNumberPattern>242(357|359|457|557)\d{4}</nationalNumberPattern>
<possibleNumberPattern>\d{10}</possibleNumberPattern>
<possibleLengths national="10"/>
+ <exampleNumber>2423577890</exampleNumber>
</mobile>
<tollFree>
<nationalNumberPattern>8(00|66|77|88)\d{7}</nationalNumberPattern>
<possibleNumberPattern>\d{10}</possibleNumberPattern>
<possibleLengths national="10"/>
+ <exampleNumber>8001234567</exampleNumber>
</tollFree>
<premiumRate>
<nationalNumberPattern>900\d{7}</nationalNumberPattern>
<possibleNumberPattern>\d{10}</possibleNumberPattern>
<possibleLengths national="10"/>
+ <exampleNumber>9001234567</exampleNumber>
</premiumRate>
</territory>
@@ -316,6 +331,7 @@
<fixedLine>
<nationalNumberPattern>226\d{7}</nationalNumberPattern>
<possibleLengths national="10" localOnly="7"/>
+ <exampleNumber>2261234567</exampleNumber>
</fixedLine>
</territory>
@@ -331,6 +347,7 @@
<fixedLine>
<nationalNumberPattern>\d{6,10}</nationalNumberPattern>
<possibleLengths national="10" localOnly="6"/>
+ <exampleNumber>2261234567</exampleNumber>
</fixedLine>
</territory>
@@ -398,6 +415,7 @@
<fixedLine>
<nationalNumberPattern>\d{8,10}</nationalNumberPattern>
<possibleLengths national="10" localOnly="8"/>
+ <exampleNumber>2261234567</exampleNumber>
</fixedLine>
</territory>
@@ -458,16 +476,19 @@
<nationalNumberPattern>1(5\d{9}|7\d{8}|6[02]\d{8}|63\d{7})</nationalNumberPattern>
<possibleNumberPattern>\d{10,11}</possibleNumberPattern>
<possibleLengths national="10,11"/>
+ <exampleNumber>15123456789</exampleNumber>
</mobile>
<tollFree>
<nationalNumberPattern>800\d{7}</nationalNumberPattern>
<possibleNumberPattern>\d{10}</possibleNumberPattern>
<possibleLengths national="10"/>
+ <exampleNumber>8001234567</exampleNumber>
</tollFree>
<premiumRate>
<nationalNumberPattern>900([135]\d{6}|9\d{7})</nationalNumberPattern>
<possibleNumberPattern>\d{10,11}</possibleNumberPattern>
<possibleLengths national="10,11"/>
+ <exampleNumber>9001234567</exampleNumber>
</premiumRate>
</territory>
@@ -490,6 +511,7 @@
<fixedLine>
<nationalNumberPattern>3\d{6}</nationalNumberPattern>
<possibleLengths national="7"/>
+ <exampleNumber>3123456</exampleNumber>
</fixedLine>
</territory>
@@ -522,41 +544,49 @@
<fixedLine>
<nationalNumberPattern>[1-6]\d{9}</nationalNumberPattern>
<possibleLengths national="9,10" localOnly="6,7,8"/>
+ <exampleNumber>3123456789</exampleNumber>
</fixedLine>
<mobile>
<nationalNumberPattern>7[1-57-9]\d{8}</nationalNumberPattern>
<possibleNumberPattern>\d{10}</possibleNumberPattern>
<possibleLengths national="10"/>
+ <exampleNumber>7123456789</exampleNumber>
</mobile>
<pager>
<nationalNumberPattern>76\d{8}</nationalNumberPattern>
<possibleNumberPattern>\d{10}</possibleNumberPattern>
<possibleLengths national="10"/>
+ <exampleNumber>7623456789</exampleNumber>
</pager>
<tollFree>
<nationalNumberPattern>80\d{8}</nationalNumberPattern>
<possibleNumberPattern>\d{10}</possibleNumberPattern>
<possibleLengths national="10"/>
+ <exampleNumber>8023456789</exampleNumber>
</tollFree>
<premiumRate>
<nationalNumberPattern>9[018]\d{8}</nationalNumberPattern>
<possibleNumberPattern>\d{10}</possibleNumberPattern>
<possibleLengths national="10"/>
+ <exampleNumber>9023456789</exampleNumber>
</premiumRate>
<sharedCost>
<nationalNumberPattern>8(?:4[3-5]|7[0-2])\d{7}</nationalNumberPattern>
<possibleNumberPattern>\d{10}</possibleNumberPattern>
<possibleLengths national="10"/>
+ <exampleNumber>8433456789</exampleNumber>
</sharedCost>
<voip>
<nationalNumberPattern>56\d{8}</nationalNumberPattern>
<possibleNumberPattern>\d{10}</possibleNumberPattern>
<possibleLengths national="10"/>
+ <exampleNumber>5633456789</exampleNumber>
</voip>
<personalNumber>
<nationalNumberPattern>70\d{8}</nationalNumberPattern>
<possibleNumberPattern>\d{10}</possibleNumberPattern>
<possibleLengths national="10"/>
+ <exampleNumber>7033456789</exampleNumber>
</personalNumber>
</territory>
@@ -571,6 +601,7 @@
<fixedLine>
<nationalNumberPattern>\d{6,10}</nationalNumberPattern>
<possibleLengths national="10" localOnly="6"/>
+ <exampleNumber>7033456789</exampleNumber>
</fixedLine>
</territory>
@@ -585,6 +616,7 @@
<nationalNumberPattern>30\d{7}</nationalNumberPattern>
<possibleNumberPattern>\d{9}</possibleNumberPattern>
<possibleLengths national="9"/>
+ <exampleNumber>301234567</exampleNumber>
</mobile>
</territory>
@@ -617,21 +649,25 @@
<nationalNumberPattern>0\d{9,10}</nationalNumberPattern>
<possibleNumberPattern>\d{10,11}</possibleNumberPattern>
<possibleLengths national="10,11"/>
+ <exampleNumber>0123456789</exampleNumber>
</fixedLine>
<mobile>
<nationalNumberPattern>3\d{8,9}</nationalNumberPattern>
<possibleNumberPattern>\d{9,10}</possibleNumberPattern>
<possibleLengths national="9,10"/>
+ <exampleNumber>3123456789</exampleNumber>
</mobile>
<tollFree>
<nationalNumberPattern>80(?:0\d{6}|3\d{3})</nationalNumberPattern>
<possibleNumberPattern>\d{6,9}</possibleNumberPattern>
<possibleLengths national="6,9"/>
+ <exampleNumber>800123456</exampleNumber>
</tollFree>
<premiumRate>
<nationalNumberPattern>89(?:2\d{3}|9\d{6})</nationalNumberPattern>
<possibleNumberPattern>\d{6,9}</possibleNumberPattern>
<possibleLengths national="6,9"/>
+ <exampleNumber>892123</exampleNumber>
</premiumRate>
</territory>
@@ -682,6 +718,7 @@
<nationalNumberPattern>[23]\d{3}</nationalNumberPattern>
<possibleNumberPattern>\d{4}</possibleNumberPattern>
<possibleLengths national="4"/>
+ <exampleNumber>2123</exampleNumber>
</noInternationalDialling>
<generalDesc>
<nationalNumberPattern>07\d{5}|[1-357-9]\d{3,10}</nationalNumberPattern>
@@ -690,6 +727,7 @@
<fixedLine>
<nationalNumberPattern>07\d{5}|[1-357-9]\d{3,10}</nationalNumberPattern>
<possibleLengths national="[4-11]"/>
+ <exampleNumber>0712345</exampleNumber>
</fixedLine>
<tollFree>
<nationalNumberPattern>0777[01]\d{2}</nationalNumberPattern>
@@ -854,21 +892,25 @@
<nationalNumberPattern>[2-9]\d{9}</nationalNumberPattern>
<possibleNumberPattern>\d{7,10}</possibleNumberPattern>
<possibleLengths national="10" localOnly="7"/>
+ <exampleNumber>2123456789</exampleNumber>
</fixedLine>
<mobile>
<nationalNumberPattern>1\d{10}</nationalNumberPattern>
<possibleNumberPattern>\d{11}</possibleNumberPattern>
<possibleLengths national="11"/>
+ <exampleNumber>11234567890</exampleNumber>
</mobile>
<tollFree>
<nationalNumberPattern>800\d{7}</nationalNumberPattern>
<possibleNumberPattern>\d{10}</possibleNumberPattern>
<possibleLengths national="10"/>
+ <exampleNumber>8001234567</exampleNumber>
</tollFree>
<premiumRate>
<nationalNumberPattern>900\d{7}</nationalNumberPattern>
<possibleNumberPattern>\d{10}</possibleNumberPattern>
<possibleLengths national="10"/>
+ <exampleNumber>9001234567</exampleNumber>
</premiumRate>
</territory>
@@ -900,21 +942,25 @@
<nationalNumberPattern>24099\d{3}|(?:3[2-79]|[479][2-689]|6[235-9])\d{6}</nationalNumberPattern>
<possibleNumberPattern>\d{7,8}</possibleNumberPattern>
<possibleLengths national="7,8"/>
+ <exampleNumber>24099123</exampleNumber>
</fixedLine>
<mobile>
<nationalNumberPattern>2(?:[027]\d{7}|9\d{6,7}|1(?:0\d{5,7}|[12]\d{5,6}|[3-9]\d{5})|4[1-9]\d{6}|8\d{7,8})</nationalNumberPattern>
<possibleNumberPattern>\d{8,10}</possibleNumberPattern>
<possibleLengths national="[8-10]"/>
+ <exampleNumber>201234567</exampleNumber>
</mobile>
<tollFree>
<nationalNumberPattern>800\d{6,7}</nationalNumberPattern>
<possibleNumberPattern>\d{9,10}</possibleNumberPattern>
<possibleLengths national="9,10"/>
+ <exampleNumber>8001234567</exampleNumber>
</tollFree>
<premiumRate>
<nationalNumberPattern>900\d{6,7}</nationalNumberPattern>
<possibleNumberPattern>\d{9,10}</possibleNumberPattern>
<possibleLengths national="9,10"/>
+ <exampleNumber>9001234567</exampleNumber>
</premiumRate>
</territory>
@@ -934,14 +980,17 @@
<mobile>
<nationalNumberPattern>(?:5[01]|6[069]|7[289]|88)\d{7}</nationalNumberPattern>
<possibleLengths national="9"/>
+ <exampleNumber>501234567</exampleNumber>
</mobile>
<tollFree>
<nationalNumberPattern>800\d{6}</nationalNumberPattern>
<possibleLengths national="9"/>
+ <exampleNumber>800123456</exampleNumber>
</tollFree>
<premiumRate>
<nationalNumberPattern>70\d{7}</nationalNumberPattern>
<possibleLengths national="9"/>
+ <exampleNumber>701234567</exampleNumber>
</premiumRate>
</territory>
@@ -994,6 +1043,7 @@
</generalDesc>
<fixedLine>
<possibleLengths national="9"/>
+ <exampleNumber>123456789</exampleNumber>
</fixedLine>
</territory>
@@ -1028,24 +1078,54 @@
<nationalNumberPattern>[36]\d{7}</nationalNumberPattern>
<possibleNumberPattern>\d{8}</possibleNumberPattern>
<possibleLengths national="8"/>
+ <exampleNumber>31234567</exampleNumber>
</fixedLine>
<mobile>
<nationalNumberPattern>[89]\d{7}</nationalNumberPattern>
<possibleNumberPattern>\d{8}</possibleNumberPattern>
<possibleLengths national="8"/>
+ <exampleNumber>81234567</exampleNumber>
</mobile>
<tollFree>
<nationalNumberPattern>1?800\d{7}</nationalNumberPattern>
<possibleNumberPattern>\d{10,11}</possibleNumberPattern>
<possibleLengths national="10,11"/>
+ <exampleNumber>8001234567</exampleNumber>
</tollFree>
<premiumRate>
<nationalNumberPattern>1900\d{7}</nationalNumberPattern>
<possibleNumberPattern>\d{11}</possibleNumberPattern>
<possibleLengths national="11"/>
+ <exampleNumber>19001234567</exampleNumber>
</premiumRate>
</territory>
+ <!-- Tristan da Cunha -->
+ <!-- Added this country, which in real life has no mobile numbers, to test
+ isPossibleNumberForType for the case where the fixed-line and mobile lengths are different,
+ there is a hole in the middle, and the type FIXED_LINE_OR_MOBILE is passed in. Also added
+ tollFree to test that this doesn't influence things. -->
+ <territory id="TA" countryCode="290" internationalPrefix="00">
+ <generalDesc>
+ <nationalNumberPattern>8\d{3,7}</nationalNumberPattern>
+ </generalDesc>
+ <fixedLine>
+ <nationalNumberPattern>8\d{5}</nationalNumberPattern>
+ <possibleLengths national="6"/>
+ <exampleNumber>812345</exampleNumber>
+ </fixedLine>
+ <mobile>
+ <nationalNumberPattern>8\d{3}</nationalNumberPattern>
+ <possibleLengths national="4"/>
+ <exampleNumber>8123</exampleNumber>
+ </mobile>
+ <tollFree>
+ <nationalNumberPattern>8\d{7}</nationalNumberPattern>
+ <possibleLengths national="8"/>
+ <exampleNumber>81234567</exampleNumber>
+ </tollFree>
+ </territory>
+
<!-- United States -->
<!-- http://www.nanpa.com/reports/reports_npa.html -->
<!-- For testing purposes, numbers starting with 24 are not considered US numbers.-->
@@ -1084,16 +1164,19 @@
<nationalNumberPattern>800\d{7}</nationalNumberPattern>
<possibleNumberPattern>\d{10}</possibleNumberPattern>
<possibleLengths national="10"/>
+ <exampleNumber>8004567890</exampleNumber>
</noInternationalDialling>
<tollFree>
<nationalNumberPattern>8(?:00|66|77|88)\d{7}</nationalNumberPattern>
<possibleNumberPattern>\d{10}</possibleNumberPattern>
<possibleLengths national="10"/>
+ <exampleNumber>8004567890</exampleNumber>
</tollFree>
<premiumRate>
<nationalNumberPattern>900\d{7}</nationalNumberPattern>
<possibleNumberPattern>\d{10}</possibleNumberPattern>
<possibleLengths national="10"/>
+ <exampleNumber>9004567890</exampleNumber>
</premiumRate>
</territory>
@@ -1141,7 +1224,26 @@
</tollFree>
</territory>
- <!-- Universal International Premium Rate Number -->
+ <!-- A non-geographical entity which we declare as having no fixed-line, but some mobile
+ numbers. -->
+ <territory id="001" countryCode="882">
+ <availableFormats>
+ <numberFormat pattern="(\d)(\d{4})(\d{4})">
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ </availableFormats>
+ <generalDesc>
+ <nationalNumberPattern>\d{9}</nationalNumberPattern>
+ <possibleNumberPattern>\d{9}</possibleNumberPattern>
+ </generalDesc>
+ <mobile>
+ <nationalNumberPattern>\d{9}</nationalNumberPattern>
+ <possibleLengths national="9"/>
+ <exampleNumber>123456789</exampleNumber>
+ </mobile>
+ </territory>
+
+ <!-- Universal International Preium Rate Number -->
<territory id="001" countryCode="979">
<availableFormats>
<numberFormat pattern="(\d)(\d{4})(\d{4})">
diff --git a/resources/ShortNumberMetadata.xml b/resources/ShortNumberMetadata.xml
index 9ab5813b..8c34f0cb 100644
--- a/resources/ShortNumberMetadata.xml
+++ b/resources/ShortNumberMetadata.xml
@@ -1590,8 +1590,11 @@
<!-- For unsubscribing to SMS short code campaigns: 457 is Vivo, 4112 is Tim, 55555 is Oi,
4040 is Claro. For example, see
http://www.tim.com.br/sp/sobre-a-tim/regulatorio/mensagens-publicitarias. Note this
- also mentions 4111 as the TIM short-code to sign up. -->
+ also mentions 4111 as the TIM short-code to sign up.
+ 151 is listed here since it isn't available throughout the country; e.g. not in Rio
+ Grande do Sul. -->
<nationalNumberPattern>
+ 151|
27878|
4(?:
0404?|
@@ -5390,17 +5393,51 @@
<!-- India -->
<!-- http://www.itu.int/oth/T0202000063/en -->
<!-- http://en.wikipedia.org/wiki/%2B91 -->
+ <!-- http://www.dot.gov.in/access-services/national-numbering-plan-2003 -->
<territory id="IN">
<generalDesc>
<nationalNumberPattern>[125]\d{2,6}</nationalNumberPattern>
<possibleNumberPattern>\d{3,7}</possibleNumberPattern>
</generalDesc>
+ <!-- 1802 - Virtual Card calling (VCC) codes are actually access codes for making VCC calls as
+ per http://www.cdothelpline.ernet.in/documents/C-DOT_IN/INS&FDES.PDF. Not adding them to
+ phone or short number metadata as there are no valid numbers online. Same is the case
+ with 1804 Account Card Calling (ACC) numbers. -->
<shortCode>
<nationalNumberPattern>
1(?:
- 0[0128]|
- 12|
- 298
+ 0(?:
+ [01248]|
+ 5(?:
+ 010|
+ 6|
+ 902
+ )|
+ 7(?:
+ [07]|
+ 80
+ )|
+ 9[0157]
+ )|
+ 1(?:
+ [289]|
+ [67][0-2]\d{3}
+ )|
+ 2(?:
+ 1|
+ 98
+ )|
+ 39|
+ 4[01]|
+ 55[23]\d{2}|
+ 7000|
+ 9(?:
+ 0[019]|
+ 47|
+ 50|
+ 6[1347]|
+ [89]
+ )
)|
2611|
5(?:
@@ -5412,9 +5449,16 @@
757555
)
</nationalNumberPattern>
- <possibleLengths national="[3-5],7"/>
+ <possibleLengths national="[3-7]"/>
<exampleNumber>108</exampleNumber>
</shortCode>
+ <tollFree>
+ <nationalNumberPattern>
+ 1\d{2,5}
+ </nationalNumberPattern>
+ <possibleLengths national="[3-6]"/>
+ <exampleNumber>105010</exampleNumber>
+ </tollFree>
<standardRate>
<!-- Cost of SMS to 5142[5-9], 514[34]\d and 5757555 is of standard rate. -->
<nationalNumberPattern>
@@ -5430,11 +5474,37 @@
<possibleLengths national="5,7"/>
<exampleNumber>5757555</exampleNumber>
</standardRate>
+ <premiumRate>
+ <!-- As per DOT's doc 116 is for "Wakeup call Registration" and 117 for "Wakeup call
+ Cancellation". Dialling format 11[67] + <hours_in_24_hours_format> + <minutes>. This
+ service costs double the standard rate.
+ http://delhi.mtnl.net.in/services/phonewakeup.htm -->
+ <nationalNumberPattern>
+ 11[67][0-2]\d{3}
+ </nationalNumberPattern>
+ <possibleLengths national="7"/>
+ <exampleNumber>1160530</exampleNumber>
+ </premiumRate>
<carrierSpecific>
<!-- https://support.twitter.com/articles/20170024 -->
- <nationalNumberPattern>53000</nationalNumberPattern>
- <possibleNumberPattern>\d{5}</possibleNumberPattern>
- <possibleLengths national="5"/>
+ <nationalNumberPattern>
+ 1(?:
+ 1(?:
+ [67][0-2]\d{3}|
+ [89]
+ )|
+ 21|
+ 4[01]|
+ 55330|
+ 7\d{3}|
+ 9(?:
+ [89]|
+ 09
+ )
+ )|
+ 53000
+ </nationalNumberPattern>
+ <possibleLengths national="[3-7]"/>
<exampleNumber>53000</exampleNumber>
</carrierSpecific>
<emergency>
@@ -5450,8 +5520,25 @@
<possibleLengths national="3,4"/>
<exampleNumber>108</exampleNumber>
</emergency>
+ <expandedEmergency>
+ <nationalNumberPattern>
+ 1(?:
+ 0(?:
+ 56|
+ 9[01]
+ )|
+ 55200
+ )
+ </nationalNumberPattern>
+ <possibleLengths national="4,6"/>
+ <exampleNumber>1090</exampleNumber>
+ </expandedEmergency>
<smsServices>
<nationalNumberPattern>
+ 1(?:
+ 39|
+ 90[019]
+ )|
5(?:
14(?:
2[5-9]|
@@ -5460,8 +5547,7 @@
757555
)
</nationalNumberPattern>
- <possibleNumberPattern>\d{5,7}</possibleNumberPattern>
- <possibleLengths national="5,7"/>
+ <possibleLengths national="[3-5],7"/>
<exampleNumber>51431</exampleNumber>
</smsServices>
</territory>
@@ -8935,22 +9021,36 @@
<!-- Romania -->
<!-- http://www.itu.int/oth/T02020000AC/en -->
+ <!-- https://en.wikipedia.org/wiki/Telephone_numbers_in_Romania -->
<territory id="RO">
<generalDesc>
- <nationalNumberPattern>1\d{2,5}</nationalNumberPattern>
+ <nationalNumberPattern>[18]\d{2,5}</nationalNumberPattern>
<possibleNumberPattern>\d{3,6}</possibleNumberPattern>
</generalDesc>
<shortCode>
<nationalNumberPattern>
- 11(?:
- 2|
- 6(?:
- 000|
- 111
+ 1(?:
+ 1(?:
+ 2|
+ 6(?:
+ 000|
+ 111
+ )|
+ 8(?:
+ 300|
+ 932
+ )
+ )|
+ [24]\d{2}|
+ 9(?:
+ 21|
+ 3[02]|
+ 5[178]
)
- )
+ )|
+ 8[48]\d{2}
</nationalNumberPattern>
- <possibleLengths national="3,6"/>
+ <possibleLengths national="3,4,6"/>
<exampleNumber>112</exampleNumber>
</shortCode>
<tollFree>
@@ -8964,6 +9064,23 @@
<possibleLengths national="6"/>
<exampleNumber>116000</exampleNumber>
</tollFree>
+ <premiumRate>
+ <nationalNumberPattern>
+ (?:
+ 1(?:
+ 18(?:
+ 300|
+ 932
+ )|
+ [24]\d{2}
+ )|
+ 8[48]\d{2}
+ )
+ </nationalNumberPattern>
+ <possibleNumberPattern>\d{4,6}</possibleNumberPattern>
+ <possibleLengths national="4,6"/>
+ <exampleNumber>8844</exampleNumber>
+ </premiumRate>
<emergency>
<nationalNumberPattern>112</nationalNumberPattern>
<possibleLengths national="3"/>
@@ -8980,6 +9097,17 @@
<possibleLengths national="6"/>
<exampleNumber>116000</exampleNumber>
</expandedEmergency>
+ <smsServices>
+ <nationalNumberPattern>
+ (?:
+ 1[24]|
+ 8[48]
+ )\d{2}
+ </nationalNumberPattern>
+ <possibleNumberPattern>\d{4}</possibleNumberPattern>
+ <possibleLengths national="4"/>
+ <exampleNumber>8844</exampleNumber>
+ </smsServices>
</territory>
<!-- Serbia -->
@@ -10238,19 +10366,28 @@
<!-- http://www.itu.int/oth/T02020000D6/en -->
<territory id="TR">
<generalDesc>
- <nationalNumberPattern>1\d{2}</nationalNumberPattern>
- <possibleNumberPattern>\d{3}</possibleNumberPattern>
+ <nationalNumberPattern>[15]\d{2,3}</nationalNumberPattern>
+ <possibleNumberPattern>\d{3,4}</possibleNumberPattern>
</generalDesc>
<shortCode>
<nationalNumberPattern>
1(?:
1[02]|
55
- )
+ )|
+ 5420
</nationalNumberPattern>
- <possibleLengths national="3"/>
+ <possibleLengths national="3,4"/>
<exampleNumber>112</exampleNumber>
</shortCode>
+ <standardRate>
+ <!-- As per Vodafone's article http://www.vodafone.com.tr/Net/vodafonenet-basvuru.php#sms,
+ 5420 is an SMS only service and its cost is based on the end user's carrier. However it
+ is charged at standard rate as per above article. -->
+ <nationalNumberPattern>5420</nationalNumberPattern>
+ <possibleLengths national="4"/>
+ <exampleNumber>5420</exampleNumber>
+ </standardRate>
<emergency>
<nationalNumberPattern>
1(?:
@@ -10261,6 +10398,11 @@
<possibleLengths national="3"/>
<exampleNumber>112</exampleNumber>
</emergency>
+ <smsServices>
+ <nationalNumberPattern>5420</nationalNumberPattern>
+ <possibleLengths national="4"/>
+ <exampleNumber>5420</exampleNumber>
+ </smsServices>
</territory>
<!-- Trinidad and Tobago -->
diff --git a/resources/carrier/en/226.txt b/resources/carrier/en/226.txt
index a6b0ea2f..bd45176b 100644
--- a/resources/carrier/en/226.txt
+++ b/resources/carrier/en/226.txt
@@ -13,13 +13,11 @@
# limitations under the License.
# http://www.itu.int/oth/T0202000021/en
+# ITU doc has Telemob, but their home-page refers to them as Telmob
+# (www.telmob.bf)
-226550|Airtel
-226551|Airtel
-226552|Airtel
-226553|Airtel
-226554|Airtel
-226555|Airtel
+22651|Telmob
+22655|Airtel
22660|Telmob
22661|Telmob
22662|Telmob
diff --git a/resources/carrier/en/509.txt b/resources/carrier/en/509.txt
index 74700555..43c4e836 100644
--- a/resources/carrier/en/509.txt
+++ b/resources/carrier/en/509.txt
@@ -12,8 +12,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-509281|Digicel
-50929|Digicel
+50930|Digicel
50931|Digicel
50934|Digicel
50936|Digicel
diff --git a/resources/carrier/en/593.txt b/resources/carrier/en/593.txt
index 9883589b..260f227c 100644
--- a/resources/carrier/en/593.txt
+++ b/resources/carrier/en/593.txt
@@ -13,7 +13,14 @@
# limitations under the License.
# Source: IR.21 docs of individual carriers.
+# Conecel goes by the brand name of Claro.
+593939|Claro
+5939586|Movistar
+5939587|Movistar
+5939588|Movistar
+5939589|Movistar
+593959|Claro
593960|CNT
593961|CNT
5939620|CNT
@@ -21,3 +28,69 @@
5939622|CNT
5939623|CNT
5939624|CNT
+593967|Claro
+593968|Claro
+593969|Claro
+5939690|Movistar
+5939786|Movistar
+5939787|Movistar
+5939788|Movistar
+5939789|Movistar
+5939790|Movistar
+5939791|Movistar
+5939792|Movistar
+5939793|Movistar
+5939794|Claro
+5939795|Claro
+5939796|Claro
+5939797|Claro
+5939798|Claro
+5939799|Claro
+593980|Claro
+593981|Claro
+5939820|CNT
+5939821|CNT
+5939822|CNT
+5939823|CNT
+5939824|CNT
+5939825|Claro
+5939826|Claro
+5939827|Claro
+5939828|Claro
+5939829|Claro
+593983|Movistar
+5939836|Claro
+593984|Movistar
+593985|Claro
+593986|Claro
+593987|Movistar
+593988|Claro
+593989|Claro
+593990|Claro
+593991|Claro
+5939920|Claro
+5939921|Claro
+5939922|Claro
+5939923|Claro
+5939924|Claro
+5939925|Movistar
+5939926|Movistar
+5939927|Movistar
+5939928|Movistar
+5939929|Movistar
+593993|Claro
+593994|Claro
+593995|Movistar
+593996|CNT
+593997|Claro
+593998|Movistar
+5939990|Movistar
+5939991|Claro
+5939992|Movistar
+5939993|Claro
+5939994|Claro
+5939995|Claro
+5939996|Claro
+5939997|Movistar
+5939998|Movistar
+5939999|Movistar
diff --git a/resources/carrier/en/679.txt b/resources/carrier/en/679.txt
index 2e6b709d..ccb81686 100644
--- a/resources/carrier/en/679.txt
+++ b/resources/carrier/en/679.txt
@@ -12,11 +12,14 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-# Digicel prefix from ITU doc. Vodafone prefixes from Wikipedia and open-source
-# bug reports, e.g.
+# Digicel prefixes from ITU and other authoritative docs. Vodafone prefixes from
+# Wikipedia, authoritative docs, and open-source bug reports, e.g.
# https://github.com/googlei18n/libphonenumber/issues/476
# https://github.com/googlei18n/libphonenumber/issues/386
+67950|Digicel
+67951|Digicel
+67958|Vodafone
6797|Digicel
67984|Vodafone
67989|Vodafone
diff --git a/resources/geocoding/hi/82.txt b/resources/geocoding/hi/82.txt
index 9affef60..9275a5a4 100644
--- a/resources/geocoding/hi/82.txt
+++ b/resources/geocoding/hi/82.txt
@@ -19,18 +19,18 @@
# https://hi.wikipedia.org/wiki/%E0%A4%A6%E0%A4%95%E0%A5%8D%E0%A4%B7%E0%A4%BF%E0%A4%A3_%E0%A4%95%E0%A5%8B%E0%A4%B0%E0%A4%BF%E0%A4%AF%E0%A4%BE_%E0%A4%95%E0%A5%87_%E0%A4%AA%E0%A5%8D%E0%A4%B0%E0%A4%B6%E0%A4%BE%E0%A4%B8%E0%A4%A8%E0%A4%BF%E0%A4%95_%E0%A4%B5%E0%A4%BF%E0%A4%AD%E0%A4%BE%E0%A4%97
822|सियोल
-8231|ग्वांगवोन-दो
+8231|ग्येओंगगी-दो
8232|इन्चेयोन
-8233|चुंगचेओंगबुक-दो
-8241|जेओल्लाबुक-दो
+8233|ग्वांगवोन-दो
+8241|चुंगचेओंगनाम-दो
8242|डाएजेओन
-8243|चुंगचेओंगनाम-दो
+8243|चुंगचेओंगबुक-दो
8251|बुसान
8252|उलसान
8253|डाएगू
-8254|ग्येओंगसांगनाम-दो
+8254|ग्येओंगसांगबुक-दो
8255|ग्येओंगसांगनाम-दो
-8261|ग्येओंगसांगबुक-दो
+8261|जेओल्लानाम-दो
8262|ग्वांगजू
-8263|जेओल्लानाम-दो
+8263|जेओल्लाबुक-दो
8264|जेजू-डो
diff --git a/resources/geocoding/iw/82.txt b/resources/geocoding/iw/82.txt
index fe009063..452fc8c1 100644
--- a/resources/geocoding/iw/82.txt
+++ b/resources/geocoding/iw/82.txt
@@ -28,7 +28,7 @@
8243|מחוז צפון צְ'הוּ‏נגצְ'הַ‏א‏נג
8251|פוסאן
8252|אורסן
-8253|מחוז ג'ג'ו
+8253|טגו
8254|מחוז צפון קיאנגסאנג
8255|מחוז דרום קיאנגסאנג
8261|מחוז דרום צ'אלה
diff --git a/resources/geocoding/tr/82.txt b/resources/geocoding/tr/82.txt
index 90f8efc4..b7cfe3df 100644
--- a/resources/geocoding/tr/82.txt
+++ b/resources/geocoding/tr/82.txt
@@ -18,7 +18,7 @@
822|Seul
8231|Gyeonggi
-8232|Daejeon
+8232|İncheon
8233|Gangwon
8241|Güney Chungcheong
8242|Daejeon
diff --git a/resources/phonemetadata.proto b/resources/phonemetadata.proto
index 7e9971eb..aa0f63be 100644
--- a/resources/phonemetadata.proto
+++ b/resources/phonemetadata.proto
@@ -131,6 +131,8 @@ message PhoneNumberDesc {
// and mobile numbers, so this field should only be set for those types of
// numbers (and the general description) - however there are exceptions for
// NANPA countries.
+ // This data is used to calculate whether a number could be a possible number
+ // for a particular type.
repeated int32 possible_length_local_only = 10;
// An example national significant number for the specific type. It should
@@ -171,11 +173,11 @@ message PhoneMetadata {
// nationally.
optional PhoneNumberDesc no_international_dialling = 24;
- // The ISO 3166-1 alpha-2 representation of a country/region, with the
- // exception of "country calling codes" used for non-geographical entities,
- // such as Universal International Toll Free Number (+800). These are all
- // given the ID "001", since this is the numeric region code for the world
- // according to UN M.49: http://en.wikipedia.org/wiki/UN_M.49
+ // The CLDR 2-letter representation of a country/region, with the exception of
+ // "country calling codes" used for non-geographical entities, such as
+ // Universal International Toll Free Number (+800). These are all given the ID
+ // "001", since this is the numeric region code for the world according to UN
+ // M.49: http://en.wikipedia.org/wiki/UN_M.49
required string id = 9;
// The country calling code that one would dial from overseas when trying to
@@ -282,10 +284,14 @@ message PhoneMetadata {
// This field is populated only for countries or regions that share a country
// calling code. If a number matches this pattern, it could belong to this
- // region. This is not intended as a replacement for IsValidForRegion, and
- // does not mean the number must come from this region (for example, 800
- // numbers are valid for all NANPA countries.) This field should be a regular
- // expression of the expected prefix match.
+ // region. This is not intended as a replacement for IsValidForRegion since a
+ // matching prefix is insufficient for a number to be valid. Furthermore, it
+ // does not contain all the prefixes valid for a region - for example, 800
+ // numbers are valid for all NANPA countries and are hence not listed here.
+ // This field should be a regular expression of the expected prefix match.
+ // It is used merely as a short-cut for working out which region a number
+ // comes from in the case that there is only one, so leading_digit prefixes
+ // should not overlap.
optional string leading_digits = 23;
// The leading zero in a phone number is meaningful in some countries (e.g.