diff options
author | lararennie@google.com <lararennie@google.com@ee073f10-1060-11df-b6a4-87a95322a99c> | 2012-09-04 08:44:20 +0000 |
---|---|---|
committer | lararennie@google.com <lararennie@google.com@ee073f10-1060-11df-b6a4-87a95322a99c> | 2012-09-04 08:44:20 +0000 |
commit | f67646e372c982ab10b3b918aa32402d4452ab0c (patch) | |
tree | a485bda5e207dd7b033d8b8c31ec9aaed8cf6f3e | |
parent | 5753c6944d4ed68a149acb2c4485ff4b5b44c77c (diff) | |
download | resources-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.xml | 350 | ||||
-rw-r--r-- | PhoneNumberMetaDataForTesting.xml | 38 |
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> |