summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlararennie@google.com <lararennie@google.com@ee073f10-1060-11df-b6a4-87a95322a99c>2012-09-04 08:44:20 +0000
committerlararennie@google.com <lararennie@google.com@ee073f10-1060-11df-b6a4-87a95322a99c>2012-09-04 08:44:20 +0000
commitf67646e372c982ab10b3b918aa32402d4452ab0c (patch)
treea485bda5e207dd7b033d8b8c31ec9aaed8cf6f3e
parent5753c6944d4ed68a149acb2c4485ff4b5b44c77c (diff)
downloadresources-f67646e372c982ab10b3b918aa32402d4452ab0c.tar.gz
JAVA: libphonenumber 5.1: AYTF changes and metadata updates.
git-svn-id: http://libphonenumber.googlecode.com/svn/trunk/resources@516 ee073f10-1060-11df-b6a4-87a95322a99c
-rw-r--r--PhoneNumberMetaData.xml350
-rw-r--r--PhoneNumberMetaDataForTesting.xml38
2 files changed, 305 insertions, 83 deletions
diff --git a/PhoneNumberMetaData.xml b/PhoneNumberMetaData.xml
index fb53359..4528132 100644
--- a/PhoneNumberMetaData.xml
+++ b/PhoneNumberMetaData.xml
@@ -22,7 +22,7 @@
official short names in English according to ISO 3166-1.
For more information on what each element represents, see
- resources/phonemetadata.proto
+ java/com/google/i18n/phonenumbers/phonemetadata.proto
Note that if you want to add validation metadata, the generalDesc nationalNumberPattern and
possibleNumberPattern must be provided. If this is missing, then the country will be
@@ -2471,13 +2471,14 @@
<mobile>
<!-- Including the whole range of 75 despite the document restricting it to only a few,
since diallable numbers have been found outside the range that the document specifies.
- Including 716 as well since many numbers seem to have this prefix. -->
+ Including 716 as well since many numbers seem to have this prefix. Including 65 as a
+ prefix for Airtel, since they have informed us they are using it. -->
<nationalNumberPattern>
(?:
6(?:
- 0\d|
+ [05]\d|
1[01]|
- 6[0-4]|
+ 6[0-7]|
8[0-2]
)|
7(?:
@@ -2503,27 +2504,30 @@
<territory id="BG" countryCode="359" internationalPrefix="00"
nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
<availableFormats>
+ <!-- Formatting rules follow the conventions seen in web-search results. A space has been
+ used to separate the area code from the rest of the number, based on sites like
+ http://www.goldenpages.bg. -->
<numberFormat pattern="(2)(\d{5})">
<leadingDigits>29</leadingDigits>
- <format>$1/$2</format>
+ <format>$1 $2</format>
</numberFormat>
<numberFormat pattern="(2)(\d{3})(\d{3,4})">
<leadingDigits>2</leadingDigits>
- <format>$1/$2 $3</format>
+ <format>$1 $2 $3</format>
</numberFormat>
<numberFormat pattern="(\d{3})(\d{4})">
<leadingDigits>
43[124-7]|
70[1-9]
</leadingDigits>
- <format>$1/$2</format>
+ <format>$1 $2</format>
</numberFormat>
<numberFormat pattern="(\d{3})(\d{3})(\d{2})">
<leadingDigits>
43[124-7]|
70[1-9]
</leadingDigits>
- <format>$1/$2 $3</format>
+ <format>$1 $2 $3</format>
</numberFormat>
<numberFormat pattern="(\d{3})(\d{2})(\d{3})">
<leadingDigits>[78]00</leadingDigits>
@@ -2536,7 +2540,7 @@
8[1-6]|
9[1-7]
</leadingDigits>
- <format>$1/$2 $3</format>
+ <format>$1 $2 $3</format>
</numberFormat>
<numberFormat pattern="(\d{2})(\d{3})(\d{3,4})">
<leadingDigits>
@@ -2549,8 +2553,8 @@
</availableFormats>
<generalDesc>
<nationalNumberPattern>
- [23567]\d{5,7}|
- [489]\d{6,8}
+ [23567]\d{5,7}|
+ [489]\d{6,8}
</nationalNumberPattern>
<possibleNumberPattern>\d{5,9}</possibleNumberPattern>
</generalDesc>
@@ -5978,13 +5982,17 @@
<exampleNumber>12345678</exampleNumber>
</fixedLine>
<mobile>
- <!-- Adding 65 and 78 from numbers found online. -->
+ <!-- Adding 65 and 78 from numbers found online. Also, prefix 670 is added since the carrier
+ Mobilis Algeria provided it.-->
<nationalNumberPattern>
(?:
5[56]|
- 6[569]|
7[7-9]
- )\d{7}
+ )\d{7}|
+ 6(?:
+ [569]\d|
+ 70
+ )\d{6}
</nationalNumberPattern>
<possibleNumberPattern>\d{9}</possibleNumberPattern>
<exampleNumber>551234567</exampleNumber>
@@ -7152,26 +7160,32 @@
<!-- Gabon -->
<!-- http://www.itu.int/oth/T020200004E/en -->
- <territory id="GA" countryCode="241" internationalPrefix="00"
- nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
+ <territory id="GA" countryCode="241" internationalPrefix="00" leading_zero_possible="true"
+ nationalPrefix="0">
<availableFormats>
- <numberFormat pattern="(\d)(\d{2})(\d{2})(\d{2})">
+ <numberFormat pattern="(1)(\d{2})(\d{2})(\d{2})" nationalPrefixFormattingRule="$NP$FG">
+ <leadingDigits>1</leadingDigits>
+ <format>$1 $2 $3 $4</format>
+ </numberFormat>
+ <numberFormat pattern="(0\d)(\d{2})(\d{2})(\d{2})">
+ <leadingDigits>0</leadingDigits>
<format>$1 $2 $3 $4</format>
</numberFormat>
</availableFormats>
<generalDesc>
- <nationalNumberPattern>[1-7]\d{6}</nationalNumberPattern>
- <possibleNumberPattern>\d{7}</possibleNumberPattern>
+ <nationalNumberPattern>[01]\d{6,7}</nationalNumberPattern>
+ <possibleNumberPattern>\d{7,8}</possibleNumberPattern>
</generalDesc>
- <!-- A 7-digit fixed-line plan was implemented as of June 17, 2012. (The doc refers to an
- 8-digit plan since it counts the initial 0.) -->
+ <!-- A 7-digit fixed-line plan was scheduled to be implemented on June 17, 2012 to unify fixed
+ line and mobile numbering. However the change to remove the leading '0' from mobile NDCs
+ has not gone through. This is now scheduled to happen on October 28, 2012. -->
<fixedLine>
<nationalNumberPattern>1\d{6}</nationalNumberPattern>
<exampleNumber>1441234</exampleNumber>
</fixedLine>
<mobile>
- <nationalNumberPattern>[2-7]\d{6}</nationalNumberPattern>
- <exampleNumber>6031234</exampleNumber>
+ <nationalNumberPattern>0[2-7]\d{6}</nationalNumberPattern>
+ <exampleNumber>06031234</exampleNumber>
</mobile>
<emergency>
<nationalNumberPattern>
@@ -11234,8 +11248,11 @@
<availableFormats>
<!-- The leading zero for fixed numbers will be prepended before the matching of these
regular expressions. -->
- <numberFormat pattern="(0[26])(\d{3,4})(\d{4})">
- <leadingDigits>0[26]</leadingDigits>
+ <numberFormat pattern="(\d{2})(\d{3,4})(\d{4})">
+ <leadingDigits>
+ 0[26]|
+ 55
+ </leadingDigits>
<format>$1 $2 $3</format>
</numberFormat>
<numberFormat pattern="(0[26])(\d{4})(\d{5})">
@@ -11250,15 +11267,33 @@
<leadingDigits>0[13-57-9][0159]</leadingDigits>
<format>$1 $2 $3</format>
</numberFormat>
- <numberFormat pattern="(0\d{2})(\d{4,6})">
- <leadingDigits>0[13-57-9][0159]</leadingDigits>
+ <numberFormat pattern="(\d{3})(\d{3,6})">
+ <leadingDigits>
+ 0[13-57-9][0159]|
+ 8(?:
+ 03|
+ 4[17]|
+ 9[245]
+ )
+ </leadingDigits>
+ <leadingDigits>
+ 0[13-57-9][0159]|
+ 8(?:
+ 03|
+ 4[17]|
+ 9(?:
+ 2|
+ [45][0-4]
+ )
+ )
+ </leadingDigits>
<format>$1 $2</format>
</numberFormat>
<numberFormat pattern="(0\d{3})(\d{3})(\d{4})">
<leadingDigits>0[13-57-9][2-46-8]</leadingDigits>
<format>$1 $2 $3</format>
</numberFormat>
- <numberFormat pattern="(0\d{3})(\d{4,6})">
+ <numberFormat pattern="(0\d{3})(\d{2,6})">
<leadingDigits>0[13-57-9][2-46-8]</leadingDigits>
<format>$1 $2</format>
</numberFormat>
@@ -11267,29 +11302,36 @@
[13]|
8(?:
00|
- 4[78]|
- 99
+ 4[08]|
+ 9[59]
)
</leadingDigits>
- <format>$1 $2 $3</format>
- </numberFormat>
- <numberFormat pattern="(\d{3})(\d{4})(\d{4})">
- <leadingDigits>3</leadingDigits>
- <format>$1 $2 $3</format>
- </numberFormat>
- <numberFormat pattern="(\d{3})(\d{3,6})">
<leadingDigits>
+ [13]|
8(?:
- 03|
- 92
+ 00|
+ 4[08]|
+ 9(?:
+ 5[5-9]|
+ 9
+ )
)
</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(\d{4})(\d{4})">
+ <leadingDigits>894</leadingDigits>
+ <leadingDigits>894[5-9]</leadingDigits>
<format>$1 $2</format>
</numberFormat>
+ <numberFormat pattern="(\d{3})(\d{4})(\d{4})">
+ <leadingDigits>3</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>
- [0189]\d{5,10}|
+ [01589]\d{5,10}|
3(?:
[12457-9]\d{8}|
[36]\d{7,9}
@@ -11298,18 +11340,75 @@
<possibleNumberPattern>\d{6,11}</possibleNumberPattern>
</generalDesc>
<noInternationalDialling>
- <nationalNumberPattern>848\d{6,7}</nationalNumberPattern>
- <possibleNumberPattern>\d{9,10}</possibleNumberPattern>
- <exampleNumber>8481234567</exampleNumber>
+ <nationalNumberPattern>848\d{6}</nationalNumberPattern>
+ <possibleNumberPattern>\d{9}</possibleNumberPattern>
+ <exampleNumber>848123456</exampleNumber>
</noInternationalDialling>
<fixedLine>
+ <!-- Maximum lengths in the ITU document are 10, but it states above that for numbers
+ starting with 01, the maximum length is in fact 11. In fact, online, numbers can be
+ found with other prefixes that are 11 digits long as well, so we allow it for all the
+ three and four digit area codes. -->
<nationalNumberPattern>
0(?:
[26]\d{4,9}|
- [13-57-9](?:
- [0159]\d{4,8}|
- [2-46-8]\d{5,8}
- )
+ (?:
+ 1(?:
+ [0159]\d|
+ [27][1-5]|
+ 31|
+ 4[1-4]|
+ 6[1356]|
+ 8[2-57]
+ )|
+ 3(?:
+ [0159]\d|
+ 2[1-4]|
+ 3[12]|
+ [48][1-6]|
+ 6[2-59]|
+ 7[1-7]
+ )|
+ 4(?:
+ [0159]\d|
+ [23][1-9]|
+ 4[245]|
+ 6[1-5]|
+ 7[1-4]|
+ 81
+ )|
+ 5(?:
+ [0159]\d|
+ 2[1-5]|
+ 3[2-6]|
+ 4[1-79]|
+ 6[4-6]|
+ 7[1-578]|
+ 8[3-8]
+ )|
+ 7(?:
+ [0159]\d|
+ 2[12]|
+ 3[1-7]|
+ 4[2346]|
+ 6[13569]|
+ 7[13-6]|
+ 8[1-59]
+ )|
+ 8(?:
+ [0159]\d|
+ 2[34578]|
+ 3[1-356]|
+ [6-8][1-5]
+ )|
+ 9(?:
+ [0159]\d|
+ [238][1-5]|
+ 4[12]|
+ 6[1-8]|
+ 7[1-6]
+ )
+ )\d{2,7}
)
</nationalNumberPattern>
<possibleNumberPattern>\d{6,11}</possibleNumberPattern>
@@ -11352,26 +11451,80 @@
)\d{6}|
89(?:
2\d{3}|
+ 4(?:
+ [0-4]\d{2}|
+ [5-9]\d{4}
+ )|
+ 5(?:
+ [0-4]\d{2}|
+ [5-9]\d{6}
+ )|
9\d{6}
)
</nationalNumberPattern>
- <possibleNumberPattern>\d{6,9}</possibleNumberPattern>
+ <possibleNumberPattern>\d{6,10}</possibleNumberPattern>
<exampleNumber>899123456</exampleNumber>
</premiumRate>
<sharedCost>
- <nationalNumberPattern>84[78]\d{6,7}</nationalNumberPattern>
- <possibleNumberPattern>\d{9,10}</possibleNumberPattern>
- <exampleNumber>8481234567</exampleNumber>
+ <nationalNumberPattern>
+ 84(?:
+ [08]\d{6}|
+ [17]\d{3}
+ )
+ </nationalNumberPattern>
+ <possibleNumberPattern>\d{6,9}</possibleNumberPattern>
+ <exampleNumber>848123456</exampleNumber>
</sharedCost>
- <!-- The plan says these should be 6 digits long, but when you go to telephone companies in
- Italy, such as http://www.gnetwork.it/EmailServizi/Numerazioni178/tabid/91/Default.aspx
- and when you search for 178 numbers, they seem to all be 7 digits, so we cover both
- lengths here. -->
<personalNumber>
- <nationalNumberPattern>178\d{6,7}</nationalNumberPattern>
+ <nationalNumberPattern>
+ 1(?:
+ 78\d|
+ 99
+ )\d{6}
+ </nationalNumberPattern>
<possibleNumberPattern>\d{9,10}</possibleNumberPattern>
<exampleNumber>1781234567</exampleNumber>
</personalNumber>
+ <voip>
+ <nationalNumberPattern>55\d{8}</nationalNumberPattern>
+ <possibleNumberPattern>\d{10}</possibleNumberPattern>
+ <exampleNumber>5512345678</exampleNumber>
+ </voip>
+ <shortCode>
+ <!-- Later, when we have better support for short-codes, we could add the codes
+ used for MMS and SMS services here too. -->
+ <nationalNumberPattern>
+ 1(?:
+ 1(?:
+ [47]|
+ 6\d{3}
+ )|
+ 2\d{2}|
+ 4(?:
+ 82|
+ 9\d{1,3}
+ )|
+ 5(?:
+ 00|
+ 1[58]|
+ 2[25]|
+ 3[03]|
+ 44
+ )|
+ 86|
+ 9(?:
+ 2(?:
+ [01]\d{2}|
+ [2-9]\d
+ )|
+ 4\d|
+ 696
+ )
+ )
+ </nationalNumberPattern>
+ <possibleNumberPattern>\d{3,6}</possibleNumberPattern>
+ <exampleNumber>114</exampleNumber>
+ </shortCode>
<emergency>
<nationalNumberPattern>11[2358]</nationalNumberPattern>
<possibleNumberPattern>\d{3}</possibleNumberPattern>
@@ -11909,8 +12062,40 @@
<leadingDigits>088</leadingDigits>
<format>$1-$2-$3</format>
</numberFormat>
- <numberFormat pattern="(\d{3})(\d{4})(\d{4})">
- <leadingDigits>037</leadingDigits>
+ <numberFormat pattern="(\d{3})(\d{3})(\d{3,4})">
+ <leadingDigits>
+ 0(?:
+ 37|
+ 66
+ )
+ </leadingDigits>
+ <format>$1-$2-$3</format>
+ </numberFormat>
+ <numberFormat pattern="(\d{3})(\d{4})(\d{4,5})">
+ <leadingDigits>
+ 0(?:
+ 37|
+ 66
+ )
+ </leadingDigits>
+ <format>$1-$2-$3</format>
+ </numberFormat>
+ <numberFormat pattern="(\d{3})(\d{5})(\d{5,6})">
+ <leadingDigits>
+ 0(?:
+ 37|
+ 66
+ )
+ </leadingDigits>
+ <format>$1-$2-$3</format>
+ </numberFormat>
+ <numberFormat pattern="(\d{3})(\d{6})(\d{6,7})">
+ <leadingDigits>
+ 0(?:
+ 37|
+ 66
+ )
+ </leadingDigits>
<format>$1-$2-$3</format>
</numberFormat>
<!-- Some leading digits are explicitly reserved for a particular purpose.
@@ -12078,7 +12263,7 @@
9[1-578]
)|
2(?:
- 2[03-9]|
+ 2[03-689]|
3[3-58]|
4[0-468]|
5[04-8]|
@@ -12147,7 +12332,7 @@
)|
2(?:
2(?:
- [04-9]|
+ [04-689]|
3[23]
)|
3[3-58]|
@@ -12265,7 +12450,7 @@
)|
2(?:
2(?:
- [04-9]|
+ [04-689]|
3[23]
)|
3[3-58]|
@@ -12404,7 +12589,7 @@
)|
2(?:
2(?:
- [04-9]|
+ [04-689]|
3[23]
)|
3[3-58]|
@@ -12537,7 +12722,7 @@
<leadingDigits>
1|
2(?:
- 23|
+ 2[37]|
5[5-9]|
64|
78|
@@ -12567,7 +12752,7 @@
<leadingDigits>
1|
2(?:
- 23|
+ 2[37]|
5(?:
[57]|
[68]0|
@@ -12605,7 +12790,7 @@
<leadingDigits>
1|
2(?:
- 23|
+ 2[37]|
5(?:
[57]|
[68]0|
@@ -12681,18 +12866,19 @@
<nationalNumberPattern>
[1-9]\d{8,9}|
0(?:
- 3\d{9}|
+ [36]\d{7,14}|
7\d{5,7}|
8\d{7}
)
</nationalNumberPattern>
- <possibleNumberPattern>\d{7,11}</possibleNumberPattern>
+ <possibleNumberPattern>\d{7,16}</possibleNumberPattern>
</generalDesc>
<noInternationalDialling>
<!-- Toll-free numbers with a leading "00" cannot be dialled internationally. -->
<nationalNumberPattern>
0(?:
- 37\d{8}|
+ 37\d{6,13}|
+ 66\d{6,13}|
777(?:
[01]\d{2}|
5\d{3}|
@@ -12701,7 +12887,7 @@
882[1245]\d{4}
)
</nationalNumberPattern>
- <possibleNumberPattern>\d{7,11}</possibleNumberPattern>
+ <possibleNumberPattern>\d{7,16}</possibleNumberPattern>
<exampleNumber>0777012</exampleNumber>
</noInternationalDialling>
<fixedLine>
@@ -12767,11 +12953,20 @@
</pager>
<tollFree>
<!-- http://www.kddi.com/english/business/free_call_dx/number.html and
- http://tm.softbank.jp/english/business/phone_service/freecall_sp/index.html -->
+ http://tm.softbank.jp/english/business/phone_service/freecall_sp/index.html
+ http://eonet.jp/home/denwa/service/access.html
+ http://ci.fusioncom.co.jp/feature/
+ http://www.auhikari.jp/service/tel/connection/index.html -->
+ <!-- Note that in fact, the number length for 0037 and 0066 numbers should extend to 21
+ digits, confirmed with Yahoo JP. However, this extends well beyond the maximum number
+ length allowed by ITU and hence our library, so we only allow numbers up to 17 digits
+ for now (including both leading 00s). -->
<nationalNumberPattern>
120\d{6}|
800\d{7}|
0(?:
+ 37\d{6,13}|
+ 66\d{6,13}|
777(?:
[01]\d{2}|
5\d{3}|
@@ -12780,7 +12975,7 @@
882[1245]\d{4}
)
</nationalNumberPattern>
- <possibleNumberPattern>\d{7,10}</possibleNumberPattern>
+ <possibleNumberPattern>\d{7,16}</possibleNumberPattern>
<exampleNumber>120123456</exampleNumber>
</tollFree>
<premiumRate>
@@ -12794,13 +12989,8 @@
<exampleNumber>601234567</exampleNumber>
</personalNumber>
<voip>
- <nationalNumberPattern>
- (?:
- 037|
- 50
- )\d{8}
- </nationalNumberPattern>
- <possibleNumberPattern>\d{10,11}</possibleNumberPattern>
+ <nationalNumberPattern>50\d{8}</nationalNumberPattern>
+ <possibleNumberPattern>\d{10}</possibleNumberPattern>
<exampleNumber>5012345678</exampleNumber>
</voip>
<!-- Storing "unified number service" as UAN. -->
@@ -13634,7 +13824,7 @@
<nationalNumberPattern>
(?:
5(?:
- 0[0-2568]|
+ 0[0-25-9]|
11|
5\d
)|
@@ -18338,7 +18528,7 @@
<nationalNumberPattern>
(?:
[27]\d{2}|
- 3[0-59]\d|
+ 3[0-79]\d|
411
)\d{3}
</nationalNumberPattern>
diff --git a/PhoneNumberMetaDataForTesting.xml b/PhoneNumberMetaDataForTesting.xml
index 588a2d7..73440cf 100644
--- a/PhoneNumberMetaDataForTesting.xml
+++ b/PhoneNumberMetaDataForTesting.xml
@@ -177,6 +177,39 @@
</premiumRate>
</territory>
+ <!-- Belarus -->
+ <!-- This country has been coopted to test the case of a national prefix formatting rule with a
+ space in it. -->
+ <territory id="BY" countryCode="375" internationalPrefix="810" nationalPrefix="8"
+ nationalPrefixForParsing="80?|99999" nationalPrefixFormattingRule="$NP $FG">
+ <availableFormats>
+ <!-- We make some bogus formatting templates that differ only in length to check that
+ switching formatting patterns works as expected.-->
+ <numberFormat pattern="(\d{4})">
+ <leadingDigits>[1-8]</leadingDigits>
+ <format>$1</format>
+ </numberFormat>
+ <!-- This pattern has an override to remove the space after the national prefix. -->
+ <numberFormat pattern="(\d{2})(\d{3})" nationalPrefixFormattingRule="$NP$FG">
+ <leadingDigits>[1-8]</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
+ <numberFormat pattern="(\d{3})(\d{3})">
+ <leadingDigits>[1-8]</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
+ </availableFormats>
+ <generalDesc>
+ <!-- This numbering plan is completely bogus, but is used to test the AYTF logic. For that
+ reason, it is kept very simple. -->
+ <nationalNumberPattern>[1-9]\d{5}</nationalNumberPattern>
+ <possibleNumberPattern>\d{6}</possibleNumberPattern>
+ </generalDesc>
+ <fixedLine>
+ <exampleNumber>112345</exampleNumber>
+ </fixedLine>
+ </territory>
+
<!-- Germany -->
<territory id="DE" countryCode="49" internationalPrefix="00"
nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
@@ -701,11 +734,10 @@
<!-- United States -->
<!-- http://www.nanpa.com/reports/reports_npa.html -->
- <!-- For testing purposes, numbers starting with 24 are not considered US
- numbers.-->
+ <!-- For testing purposes, numbers starting with 24 are not considered US numbers.-->
<territory id="US" countryCode="1" internationalPrefix="011"
preferredExtnPrefix=" extn. " nationalPrefix="1"
- mainCountryForCode="true" >
+ mainCountryForCode="true" nationalPrefixOptionalWhenFormatting="true">
<availableFormats>
<numberFormat pattern="(\d{3})(\d{4})">
<format>$1 $2</format>