diff options
author | georgey@chromium.org <georgey@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-05-03 23:21:30 +0000 |
---|---|---|
committer | georgey@chromium.org <georgey@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-05-03 23:21:30 +0000 |
commit | 69d71c5676b955a891f0ca1c106e0367638c328c (patch) | |
tree | a5e14074ae2d9142d2c78ba5ac25136103d5b2bc /third_party/libphonenumber/resources | |
parent | a9481f48c038017efaac888b13f0d592d0975932 (diff) | |
download | chromium_src-69d71c5676b955a891f0ca1c106e0367638c328c.zip chromium_src-69d71c5676b955a891f0ca1c106e0367638c328c.tar.gz chromium_src-69d71c5676b955a891f0ca1c106e0367638c328c.tar.bz2 |
Autofill phone number enhancements and integration of Phone Number Util Library: part 1
Temporarily the whole library is included, until the patch is upstreamed.
BUG=71443
TEST=Unit-tested
Review URL: http://codereview.chromium.org/6803005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@84000 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'third_party/libphonenumber/resources')
4 files changed, 20322 insertions, 0 deletions
diff --git a/third_party/libphonenumber/resources/PhoneNumberMetaData.xml b/third_party/libphonenumber/resources/PhoneNumberMetaData.xml new file mode 100644 index 0000000..748ce21 --- /dev/null +++ b/third_party/libphonenumber/resources/PhoneNumberMetaData.xml @@ -0,0 +1,19202 @@ +<!-- Copyright (C) 2009 Google Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + @author: Shaopeng Jia + @author: Lara Rennie + + 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. The country names in the comments are the official short names + in English according to ISO 3166-1. + + For more information on what each element represents, see + 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 + considered to have no more specific phone-number type metadata (fixedLine, mobile etc) and + hence only basic validation rules (numbers should be between 3 and 15 digits long) will be + applied. + + Country code, international and national prefix information main source: + http://www.itu.int/publ/T-SP-E.164C-2010/en +--> + +<!DOCTYPE phoneNumberMetadata [ + <!ELEMENT phoneNumberMetadata (territories)> + <!ELEMENT territories (territory+)> + <!ELEMENT territory (availableFormats?, generalDesc?, noInternationalDialling?, + areaCodeOptional?, fixedLine?, mobile?, pager?, tollFree?, premiumRate?, + sharedCost?, personalNumber?, voip?, uan?, shortCode?)> + <!ELEMENT generalDesc (nationalNumberPattern, possibleNumberPattern)> + <!ELEMENT noInternationalDialling (nationalNumberPattern, possibleNumberPattern, + exampleNumber?)> + <!ELEMENT areaCodeOptional (nationalNumberPattern, possibleNumberPattern, exampleNumber?)> + <!ELEMENT fixedLine (nationalNumberPattern?, possibleNumberPattern?, exampleNumber?)> + <!ELEMENT mobile (nationalNumberPattern?, possibleNumberPattern?, exampleNumber?)> + <!ELEMENT pager (nationalNumberPattern?, possibleNumberPattern?, exampleNumber?)> + <!ELEMENT tollFree (nationalNumberPattern?, possibleNumberPattern?, exampleNumber?)> + <!ELEMENT premiumRate (nationalNumberPattern?, possibleNumberPattern?, exampleNumber?)> + <!ELEMENT sharedCost (nationalNumberPattern?, possibleNumberPattern?, exampleNumber?)> + <!ELEMENT personalNumber (nationalNumberPattern?, possibleNumberPattern?, exampleNumber?)> + <!ELEMENT voip (nationalNumberPattern?, possibleNumberPattern?, exampleNumber?)> + <!ELEMENT uan (nationalNumberPattern?, possibleNumberPattern?, exampleNumber?)> + <!ELEMENT shortCode (nationalNumberPattern?, possibleNumberPattern?, exampleNumber?)> + <!ELEMENT availableFormats (numberFormat+, intlNumberFormat*)> + <!ELEMENT nationalNumberPattern (#PCDATA)> + <!ELEMENT possibleNumberPattern (#PCDATA)> + <!ELEMENT exampleNumber (#PCDATA)> + <!ELEMENT numberFormat (leadingDigits*, format)> + <!ELEMENT intlNumberFormat (leadingDigits*, format)> + <!ELEMENT format (#PCDATA)> + <!ELEMENT leadingDigits (#PCDATA)> + + <!ATTLIST territory id CDATA #REQUIRED> + <!ATTLIST territory countryCode CDATA #REQUIRED> + <!ATTLIST territory leadingDigits CDATA #IMPLIED> + <!ATTLIST territory preferredInternationalPrefix CDATA #IMPLIED> + <!ATTLIST territory internationalPrefix CDATA #REQUIRED> + <!ATTLIST territory nationalPrefix CDATA #IMPLIED> + <!ATTLIST territory nationalPrefixForParsing CDATA #IMPLIED> + <!ATTLIST territory nationalPrefixTransformRule CDATA #IMPLIED> + <!ATTLIST territory preferredExtnPrefix CDATA #IMPLIED> + <!ATTLIST territory nationalPrefixFormattingRule CDATA #IMPLIED> + <!ATTLIST territory mainCountryForCode (true) #IMPLIED> + <!ATTLIST territory leadingZeroPossible (true) #IMPLIED> + <!ATTLIST territory carrierCodeFormattingRule CDATA #IMPLIED> + <!ATTLIST numberFormat nationalPrefixFormattingRule CDATA #IMPLIED> + <!ATTLIST numberFormat carrierCodeFormattingRule CDATA #IMPLIED> + <!ATTLIST numberFormat pattern CDATA #REQUIRED> + <!ATTLIST intlNumberFormat pattern CDATA #REQUIRED> + <!ATTLIST intlNumberFormat carrierCodeFormattingRule CDATA #IMPLIED> +]> + +<phoneNumberMetadata> + <territories> + <!-- Ascension Island --> + <!-- www.itu.int/oth/T02020000AF --> + <territory id="AC" countryCode="247" internationalPrefix="00"> + <!-- Formatted as a block. --> + <generalDesc> + <nationalNumberPattern>[2-46]\d{3}</nationalNumberPattern> + <possibleNumberPattern>\d{4}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + (?: + 3[0-5]| + 4[4-6]| + [26]\d + )\d{2} + </nationalNumberPattern> + <possibleNumberPattern>\d{4}</possibleNumberPattern> + <exampleNumber>6889</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern>NA</nationalNumberPattern> + <possibleNumberPattern>NA</possibleNumberPattern> + </mobile> + </territory> + + <!-- Andorra --> + <!-- http://www.itu.int/oth/T0202000005/en --> + <territory id="AD" countryCode="376" internationalPrefix="00"> + <availableFormats> + <numberFormat pattern="(\d{3})(\d{3})"> + <leadingDigits>[346-9]</leadingDigits> + <format>$1 $2</format> + </numberFormat> + <numberFormat pattern="(180[02])(\d{4})"> + <leadingDigits>1</leadingDigits> + <format>$1 $2</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern> + (?: + [346-9]| + 180 + )\d{5} + </nationalNumberPattern> + <possibleNumberPattern>\d{6,8}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern>[78]\d{5}</nationalNumberPattern> + <possibleNumberPattern>\d{6}</possibleNumberPattern> + <exampleNumber>712345</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern>[346]\d{5}</nationalNumberPattern> + <possibleNumberPattern>\d{6}</possibleNumberPattern> + <exampleNumber>312345</exampleNumber> + </mobile> + <tollFree> + <!-- Note that the definitions of 1800 and 1802 numbers differ in the plan and on the + Andorran www.sta.ad website, but we consider both to be freephone here. --> + <nationalNumberPattern>180[02]\d{4}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>18001234</exampleNumber> + </tollFree> + <!-- The national numbering plan says that numbers beginning with 9 are reserved for special + services, so we assume they are premium rate here, although we cannot find examples + online. --> + <premiumRate> + <nationalNumberPattern>9\d{5}</nationalNumberPattern> + <possibleNumberPattern>\d{6}</possibleNumberPattern> + <exampleNumber>912345</exampleNumber> + </premiumRate> + </territory> + + <!-- United Arab Emirates --> + <!-- http://www.itu.int/oth/T02020000DC/en --> + <territory id="AE" countryCode="971" internationalPrefix="00" + nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG"> + <availableFormats> + <numberFormat pattern="([2-4679])(\d{3})(\d{4})"> + <leadingDigits>[2-4679][2-8]</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(5[056])(\d{3})(\d{4})"> + <leadingDigits>5</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="([4679]00)(\d)(\d{5})" nationalPrefixFormattingRule="$FG"> + <leadingDigits>[4679]0</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(800)(\d{2,9})" nationalPrefixFormattingRule="$FG"> + <leadingDigits>8</leadingDigits> + <format>$1 $2</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern> + [2-79]\d{7,8}| + 800\d{2,9} + </nationalNumberPattern> + <possibleNumberPattern>\d{5,12}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + (?: + [2-4679][2-8]\d| + 600[25] + )\d{5} + </nationalNumberPattern> + <possibleNumberPattern>\d{7,9}</possibleNumberPattern> + <exampleNumber>22345678</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern>5[056]\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>501234567</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern> + 400\d{6}| + 800\d{2,9} + </nationalNumberPattern> + <possibleNumberPattern>\d{5,12}</possibleNumberPattern> + <exampleNumber>800123456</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>900[02]\d{5}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>900234567</exampleNumber> + </premiumRate> + <sharedCost> + <nationalNumberPattern>700[05]\d{5}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>700012345</exampleNumber> + </sharedCost> + </territory> + + <!-- Afghanistan --> + <!-- http://www.itu.int/oth/T0202000001/en --> + <territory id="AF" countryCode="93" internationalPrefix="00" + nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG"> + <availableFormats> + <numberFormat pattern="([2-7]\d)(\d{3})(\d{4})"> + <format>$1 $2 $3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[2-7]\d{8}</nationalNumberPattern> + <possibleNumberPattern>\d{7,9}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + (?: + [25][0-8]| + [34][0-4]| + 6[0-5] + )[2-9]\d{6} + </nationalNumberPattern> + <exampleNumber>234567890</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern>7[057-9]\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>701234567</exampleNumber> + </mobile> + </territory> + + <!-- Antigua and Barbuda --> + <!-- http://www.itu.int/oth/T0202000008/en --> + <territory id="AG" countryCode="1" leadingDigits="268" + nationalPrefix="1" internationalPrefix="011"> + <generalDesc> + <!-- NANPA country - uses US formatting rules --> + <nationalNumberPattern>[2589]\d{9}</nationalNumberPattern> + <possibleNumberPattern>\d{7}(?:\d{3})?</possibleNumberPattern> + </generalDesc> + <fixedLine> + <!-- 268 468 is not in the plan, but has been added after numbers with this prefix have been + found in online searches. --> + <nationalNumberPattern> + 268(?: + 4(?: + 6[0-38]| + 84 + )| + 56[0-2] + )\d{4} + </nationalNumberPattern> + <exampleNumber>2684601234</exampleNumber> + </fixedLine> + <mobile> + <!-- 268 776/778/779 are not in the plan, but have been added after numbers with these + prefixes have been found in online searches. Same for 268 780/782/784/786. --> + <nationalNumberPattern> + 268(?: + 464| + 7(?: + 2[0-9]| + 64| + 7[0-689]| + 8[02-68] + ) + )\d{4} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>2684641234</exampleNumber> + </mobile> + <pager> + <nationalNumberPattern>26840[69]\d{4}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>2684061234</exampleNumber> + </pager> + <tollFree> + <nationalNumberPattern> + 8(?: + 00| + 55| + 66| + 77| + 88 + )[2-9]\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>8002123456</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>900[2-9]\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>9002123456</exampleNumber> + </premiumRate> + <personalNumber> + <!-- http://www.nanpa.com/pdf/PL_416.pdf --> + <nationalNumberPattern> + 5(?: + 00| + 33| + 44 + )[2-9]\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>5002345678</exampleNumber> + </personalNumber> + <voip> + <!-- This is included as Centrex in the plan. --> + <nationalNumberPattern>26848[01]\d{4}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>2684801234</exampleNumber> + </voip> + </territory> + + <!-- Anguilla --> + <!-- http://www.itu.int/oth/T0202000007/en --> + <territory id="AI" countryCode="1" leadingDigits="264" + nationalPrefix="1" internationalPrefix="011"> + <generalDesc> + <!-- NANPA country - uses US formatting rules --> + <nationalNumberPattern>[2589]\d{9}</nationalNumberPattern> + <possibleNumberPattern>\d{7}(?:\d{3})?</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + 2644(?: + 6[12]| + 9[78] + )\d{4} + </nationalNumberPattern> + <exampleNumber>2644612345</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern> + 264(?: + 235| + 476| + 5(?: + 3[6-9]| + 8[1-4] + )| + 7(?: + 29| + 72 + ) + )\d{4} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>2642351234</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern> + 8(?: + 00| + 55| + 66| + 77| + 88 + )[2-9]\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>8002123456</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>900[2-9]\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>9002123456</exampleNumber> + </premiumRate> + <personalNumber> + <!-- http://www.nanpa.com/pdf/PL_416.pdf --> + <nationalNumberPattern> + 5(?: + 00| + 33| + 44 + )[2-9]\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>5002345678</exampleNumber> + </personalNumber> + </territory> + + <!-- Albania --> + <!-- http://www.itu.int/oth/T0202000002/en --> + <territory id="AL" countryCode="355" internationalPrefix="00" + nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG"> + <availableFormats> + <!-- Formats mostly follow http://tirana.usembassy.gov/list_of_doctors.html --> + <numberFormat pattern="(4)(\d{3})(\d{4})"> + <leadingDigits>4[0-6]</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(6[6-9])(\d{3})(\d{4})"> + <leadingDigits>6</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(\d{2})(\d{3})(\d{3})"> + <leadingDigits> + [2358][2-5]| + 4[7-9] + </leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(\d{3})(\d{3,5})"> + <leadingDigits> + [235][16-9]| + 8[016-9]| + [79] + </leadingDigits> + <format>$1 $2</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern> + [2-57]\d{7}| + 6\d{8}| + 8\d{5,7}| + 9\d{5} + </nationalNumberPattern> + <possibleNumberPattern>\d{5,9}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + (?: + 2(?: + [168][1-9]| + [247]\d| + 9[1-7] + )| + 3(?: + 1[1-3]| + [2-6]\d| + [79][1-8]| + 8[1-9] + )| + 4\d{2}| + 5(?: + 1[1-4]| + [2-578]\d| + 6[1-5]| + 9[1-7] + )| + 8(?: + [19][1-5]| + [2-6]\d| + [78][1-7] + ) + )\d{5} + </nationalNumberPattern> + <possibleNumberPattern>\d{5,8}</possibleNumberPattern> + <exampleNumber>22345678</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern>6[6-9]\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>661234567</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern>800\d{4}</nationalNumberPattern> + <possibleNumberPattern>\d{7}</possibleNumberPattern> + <exampleNumber>8001234</exampleNumber> + </tollFree> + <premiumRate> + <!-- It is named "Shared Revenue Services" in the plan, but as there is a separate "Shared + Cost Services", it is highly likely these numbers are premium rate numbers. No + information/example is found in the Internet. --> + <nationalNumberPattern>900\d{3}</nationalNumberPattern> + <possibleNumberPattern>\d{6}</possibleNumberPattern> + <exampleNumber>900123</exampleNumber> + </premiumRate> + <sharedCost> + <nationalNumberPattern>808\d{3}</nationalNumberPattern> + <possibleNumberPattern>\d{6}</possibleNumberPattern> + <exampleNumber>808123</exampleNumber> + </sharedCost> + <personalNumber> + <nationalNumberPattern>700\d{5}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>70012345</exampleNumber> + </personalNumber> + </territory> + + <!-- Armenia --> + <!-- http://www.itu.int/oth/T020200000A/en --> + <!-- We think the national dialling prefix is 0 - it seems this was a change in 2005 (or 2008) + along with the new city codes. However, their official document makes no mention of it, + websites disagree, and we are not sure if the change has actually been made. --> + <territory id="AM" countryCode="374" internationalPrefix="00" + nationalPrefix="0" nationalPrefixFormattingRule="($NP$FG)"> + <availableFormats> + <numberFormat pattern="(\d{2})(\d{6})"> + <leadingDigits> + [17]| + 9[1-9] + </leadingDigits> + <format>$1 $2</format> + </numberFormat> + <numberFormat pattern="(\d{2})(\d{6})" + nationalPrefixFormattingRule="$NP$FG"> + <leadingDigits>6</leadingDigits> + <format>$1 $2</format> + </numberFormat> + <numberFormat pattern="(\d{3})(\d{5})"> + <leadingDigits>[23]</leadingDigits> + <format>$1 $2</format> + </numberFormat> + <numberFormat pattern="(\d{3})(\d{2})(\d{3})" + nationalPrefixFormattingRule="$NP $FG"> + <leadingDigits> + 8| + 90 + </leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[1-36-9]\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{5,8}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + (?: + 10\d| + 2(?: + 2[2-46]| + 3[1-8]| + 4[2-69]| + 5[2-7]| + 6[1-9]| + 8[1-7] + )| + 3[12]2 + )\d{5} + </nationalNumberPattern> + <exampleNumber>10123456</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern> + (?: + 77| + 9[1-46-9] + )\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>77123456</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern>800\d{5}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>80012345</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>90[016]\d{5}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>90012345</exampleNumber> + </premiumRate> + <sharedCost> + <nationalNumberPattern>80[1-4]\d{5}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>80112345</exampleNumber> + </sharedCost> + <voip> + <!-- More info on this found at www.arminco.com/en/voip --> + <nationalNumberPattern>6027\d{4}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>60271234</exampleNumber> + </voip> + <shortCode> + <nationalNumberPattern> + 8[1-7]\d{2}| + 1\d{2} + </nationalNumberPattern> + <possibleNumberPattern>\d{3,4}</possibleNumberPattern> + <exampleNumber>8711</exampleNumber> + </shortCode> + </territory> + + <!-- Netherlands Antilles --> + <!-- http://www.itu.int/oth/T0202000097/en --> + <territory id="AN" countryCode="599" internationalPrefix="00"> + <availableFormats> + <numberFormat pattern="(\d{3})(\d{4})"> + <leadingDigits>[13-7]</leadingDigits> + <format>$1 $2</format> + </numberFormat> + <numberFormat pattern="(9)(\d{3})(\d{4})"> + <leadingDigits>9</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[13-79]\d{6,7}</nationalNumberPattern> + <possibleNumberPattern>\d{7,8}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + (?: + 318| + 5(?: + 25| + 4\d| + 8[239] + )| + 7(?: + 1[578]| + 50 + )| + 9(?: + [48]\d{2}| + 50\d| + 7(?: + 2[0-2]| + [34]\d| + 6[35-7]| + 77 + ) + ) + )\d{4}| + 416[0239]\d{3} + </nationalNumberPattern> + <exampleNumber>7151234</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern> + (?: + 318| + 5(?: + 1[01]| + 2[0-7]| + 5\d| + 8[016-8] + )| + 7(?: + 0[01]| + [89]\d + )| + 9(?: + 5(?: + [1246]\d| + 3[01] + )| + 6(?: + [1679]\d| + 3[01] + ) + ) + )\d{4}| + 416[15-8]\d{3} + </nationalNumberPattern> + <exampleNumber>3181234</exampleNumber> + </mobile> + <!-- Value-added services are lumped together under shared cost, since we are not sure exactly + what they are. --> + <sharedCost> + <nationalNumberPattern> + (?: + 10| + 69 + )\d{5} + </nationalNumberPattern> + <exampleNumber>1011234</exampleNumber> + </sharedCost> + </territory> + + <!-- Angola --> + <!-- http://www.itu.int/oth/T0202000006/en --> + <territory id="AO" countryCode="244" internationalPrefix="00"> + <availableFormats> + <numberFormat pattern="(\d{3})(\d{3})(\d{3})"> + <format>$1 $2 $3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[29]\d{8}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + 2\d(?: + [26-9]\d| + \d[26-9] + )\d{5} + </nationalNumberPattern> + <exampleNumber>222123456</exampleNumber> + </fixedLine> + <mobile> + <!-- Expanded the 92 prefix possibilities to match numbers found online. --> + <nationalNumberPattern>9[1-3]\d{7}</nationalNumberPattern> + <exampleNumber>923123456</exampleNumber> + </mobile> + </territory> + + <!-- Argentina --> + <!-- http://www.itu.int/oth/T0202000009/en --> + <!-- http://www.cnc.gov.ar/numeracion/IndicativosInterurbanos.asp --> + <territory id="AR" countryCode="54" internationalPrefix="00" + nationalPrefix="0" nationalPrefixForParsing="0(?:(11|2(?:2(?:02?|[13]|2[13-79]|4[1-6]|5[2457]|6[124-8]|7[1-4]|8[13-6]|9[1-367])|3(?:[06]2|1[467]|2[02-6]|3[13-8]|[49][2-6]|5[2-8]|7)|47[3-578]|6(?:1|2[2-7]|4[6-8]?|5[125-8])|9(?:0[1-3]|[19]|2\d|3[1-6]|4[0-24-68]|5[2-4]|6[2-6]|72?|8[23]?))|3(?:3(?:2[79]|8[2578])|4(?:0[124-9]|[12]|3[5-8]?|4[24-7]|5[4-68]?|6\d|7[126]|8[237-9]|9[1-36-8])|5(?:1|2[1245]|3[2-4]?|4[1-46-9]|6[2-4]|7[1-6]|8[2-5]?)|7(?:1[15-8]|2[125]|3[1245]|4[13]|5[124-8]|7[2-57]|8[1-36])|8(?:1|2[125-7]|3[23578]|4[13-6]|5[4-8]?|6[1-357-9]|7[5-8]?|8[4-7]?|9[124])))15)?" + nationalPrefixTransformRule="9$1" nationalPrefixFormattingRule="$NP$FG"> + <availableFormats> + <numberFormat pattern="([68]\d{2})(\d{3})(\d{4})"> + <leadingDigits>[68]</leadingDigits> + <format>$1-$2-$3</format> + </numberFormat> + <intlNumberFormat pattern="([68]\d{2})(\d{3})(\d{4})"> + <leadingDigits>[68]</leadingDigits> + <format>$1-$2-$3</format> + </intlNumberFormat> + <numberFormat pattern="9(11)(\d{4})(\d{4})"> + <leadingDigits>91</leadingDigits> + <format>$1 15-$2-$3</format> + </numberFormat> + <intlNumberFormat pattern="9(11)(\d{4})(\d{4})"> + <leadingDigits>91</leadingDigits> + <format>9 $1 $2-$3</format> + </intlNumberFormat> + <numberFormat pattern="9(\d{3})(\d{3})(\d{4})"> + <leadingDigits> + 9(?: + 2[2369]| + 3[458] + ) + </leadingDigits> + <leadingDigits> + 9(?: + 2(?: + 2[013]| + 37| + 6[14]| + 9[179] + )| + 3(?: + 4[1235]| + 5[138]| + 8[1578] + ) + ) + </leadingDigits> + <format>$1 15-$2-$3</format> + </numberFormat> + <intlNumberFormat pattern="9(\d{3})(\d{3})(\d{4})"> + <leadingDigits> + 9(?: + 2[2369]| + 3[458] + ) + </leadingDigits> + <leadingDigits> + 9(?: + 2(?: + 2[013]| + 37| + 6[14]| + 9[179] + )| + 3(?: + 4[1235]| + 5[138]| + 8[1578] + ) + ) + </leadingDigits> + <format>9 $1 $2-$3</format> + </intlNumberFormat> + <numberFormat pattern="9(\d{4})(\d{2})(\d{4})"> + <leadingDigits> + 9(?: + 2[2-469]| + 3[3-578] + ) + </leadingDigits> + <leadingDigits> + 9(?: + 2(?: + 2[24-9]| + 3[0-69]| + 47| + 6[25]| + 9[02-68] + )| + 3(?: + 3[28]| + 4[046-9]| + 5[2467]| + 7[1-578]| + 8[23469] + ) + ) + </leadingDigits> + <format>$1 15-$2-$3</format> + </numberFormat> + <intlNumberFormat pattern="9(\d{4})(\d{2})(\d{4})"> + <leadingDigits> + 9(?: + 2[2-469]| + 3[3-578] + ) + </leadingDigits> + <leadingDigits> + 9(?: + 2(?: + 2[24-9]| + 3[0-69]| + 47| + 6[25]| + 9[02-68] + )| + 3(?: + 3[28]| + 4[046-9]| + 5[2467]| + 7[1-578]| + 8[23469] + ) + ) + </leadingDigits> + <format>9 $1 $2-$3</format> + </intlNumberFormat> + <numberFormat pattern="(11)(\d{4})(\d{4})"> + <leadingDigits>1</leadingDigits> + <format>$1 $2-$3</format> + </numberFormat> + <intlNumberFormat pattern="(11)(\d{4})(\d{4})"> + <leadingDigits>1</leadingDigits> + <format>$1 $2-$3</format> + </intlNumberFormat> + <!-- Some 4-digit area codes actually are caught by this rule. I'm giving however preference + to the 3-digit area codes, since they are considerably larger communities. --> + <numberFormat pattern="(\d{3})(\d{3})(\d{4})"> + <leadingDigits> + 2(?: + 2[013]| + 37| + 6[14]| + 9[179] + )| + 3(?: + 4[1235]| + 5[138]| + 8[1578] + ) + </leadingDigits> + <format>$1 $2-$3</format> + </numberFormat> + <intlNumberFormat pattern="(\d{3})(\d{3})(\d{4})"> + <leadingDigits> + 2(?: + 2[013]| + 37| + 6[14]| + 9[179] + )| + 3(?: + 4[1235]| + 5[138]| + 8[1578] + ) + </leadingDigits> + <format>$1 $2-$3</format> + </intlNumberFormat> + <numberFormat pattern="(\d{4})(\d{2})(\d{4})"> + <leadingDigits>[23]</leadingDigits> + <format>$1 $2-$3</format> + </numberFormat> + <intlNumberFormat pattern="(\d{4})(\d{2})(\d{4})"> + <leadingDigits>[23]</leadingDigits> + <format>$1 $2-$3</format> + </intlNumberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[1-9]\d{9,11}</nationalNumberPattern> + <possibleNumberPattern>\d{6,12}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern>[1-9]\d{9}</nationalNumberPattern> + <possibleNumberPattern>\d{6,10}</possibleNumberPattern> + <exampleNumber>1123456789</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern> + 9(?: + 11[2-9]\d{7}| + (?: + 2(?: + 2[013]| + 37| + 6[14]| + 9[179] + )| + 3(?: + 4[1235]| + 5[138]| + 8[1578] + ) + )[2-9]\d{6}| + \d{4}[2-9]\d{5} + ) + </nationalNumberPattern> + <possibleNumberPattern>\d{6,12}</possibleNumberPattern> + <exampleNumber>91123456789</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern>80\d{8}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>8012345678</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern> + 6(?: + 0\d| + 10 + )\d{7} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>6001234567</exampleNumber> + </premiumRate> + </territory> + + <!-- American Samoa --> + <!-- http://www.itu.int/oth/T0202000004/en --> + <territory id="AS" countryCode="1" leadingDigits="684" + nationalPrefix="1" internationalPrefix="011"> + <generalDesc> + <!-- NANPA country - uses US formatting rules --> + <nationalNumberPattern>[5689]\d{9}</nationalNumberPattern> + <possibleNumberPattern>\d{7}(?:\d{3})?</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + 6846(?: + 22| + 33| + 44| + 55| + 77| + 88| + 9[19] + )\d{4} + </nationalNumberPattern> + <exampleNumber>6846221234</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern> + 684(?: + 733| + 258 + )\d{4} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>6847331234</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern> + 8(?: + 00| + 55| + 66| + 77| + 88 + )[2-9]\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>8002123456</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>900[2-9]\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>9002123456</exampleNumber> + </premiumRate> + <personalNumber> + <!-- http://www.nanpa.com/pdf/PL_416.pdf --> + <nationalNumberPattern> + 5(?: + 00| + 33| + 44 + )[2-9]\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>5002345678</exampleNumber> + </personalNumber> + </territory> + + <!-- Austria --> + <!-- http://www.rtr.at/en/tk/E129 --> + <territory id="AT" countryCode="43" internationalPrefix="00" + nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG"> + <availableFormats> + <numberFormat pattern="([15])(\d{3,12})"> + <leadingDigits> + 1| + 5[079] + </leadingDigits> + <format>$1 $2</format> + </numberFormat> + <numberFormat pattern="(\d{3})(\d{3,10})"> + <leadingDigits> + 316| + 46| + 51| + 732| + 6(?: + 44| + 5[0-3579]| + [6-9] + )| + 7(?: + 1| + [28]0 + )| + [89] + </leadingDigits> + <format>$1 $2</format> + </numberFormat> + <numberFormat pattern="(\d{4})(\d{3,9})"> + <leadingDigits> + 2| + 3(?: + 1[1-578]| + [3-8] + )| + 4[2378]| + 5[2-6]| + 6(?: + [12]| + 4[1-35-9]| + 5[468] + )| + 7(?: + 2[1-8]| + 35| + 4[1-8]| + [57-9] + ) + </leadingDigits> + <format>$1 $2</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>\d{4,13}</nationalNumberPattern> + <possibleNumberPattern>\d{3,13}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <!-- Note the 050, 057 and 059 prefixes are defined as "private network" in the Austrian + plan. This just means they are registered to companies who are distributed over + different geographical areas and maintain their own network. Examples here: + http://www.rtr.at/?id=4506&S=05&art=d Also note that the full area code is not + validated - just the first 3 digits. This also means that even though for most + Austrian numbers the minimum length is 7, we allow 6 since we don't differentiate below + between 3 and 4 digit area codes for reasons of efficiency. --> + <nationalNumberPattern> + 1\d{3,12}| + (?: + 2(?: + 1[467]| + 2[134-8]| + 5[2357]| + 6[1-46-8]| + 7[1-8]| + 8[124-7]| + 8[1458] + )| + 3(?: + 1[1-8]| + 3[23568]| + 4[5-7]| + 5[1378]| + 6[1-38]| + 8[3-68] + )| + 4(?: + 2[1-8]| + 35| + 63| + 7[1368]| + 8[2457] + )| + 5(?: + 1[27]| + 2[1-8]| + 3[357]| + 4[147]| + 5[12578]| + 6[37] + )| + 6(?: + 13| + 2[1-47]| + 4[1-35-8]| + 5[468]| + 62 + )| + 7(?: + 2[1-8]| + 3[25]| + 4[13478]| + 5[68]| + 6[16-8]| + 7[1-6]| + 9[45] + ) + )\d{3,10}| + 5(?: + 0[1-9]| + [79]\d + )\d{2,10}| + 720\d{6,10} + </nationalNumberPattern> + <exampleNumber>1234567890</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern> + 6(?: + 44| + 5[0-3579]| + 6[013-9]| + [7-9]\d + )\d{4,10} + </nationalNumberPattern> + <possibleNumberPattern>\d{7,13}</possibleNumberPattern> + <exampleNumber>644123456</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern>80[02]\d{6,10}</nationalNumberPattern> + <possibleNumberPattern>\d{9,13}</possibleNumberPattern> + <exampleNumber>800123456</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern> + (?: + 711| + 9(?: + 0[01]| + 3[019] + ) + )\d{6,10} + </nationalNumberPattern> + <possibleNumberPattern>\d{9,13}</possibleNumberPattern> + <exampleNumber>900123456</exampleNumber> + </premiumRate> + <sharedCost> + <nationalNumberPattern> + 8(?: + 10| + 2[018] + )\d{6,10} + </nationalNumberPattern> + <possibleNumberPattern>\d{9,13}</possibleNumberPattern> + <exampleNumber>810123456</exampleNumber> + </sharedCost> + <voip> + <nationalNumberPattern>780\d{6,10}</nationalNumberPattern> + <possibleNumberPattern>\d{9,13}</possibleNumberPattern> + <exampleNumber>780123456</exampleNumber> + </voip> + </territory> + + <!-- Australia --> + <!-- http://www.itu.int/dms_pub/itu-t/oth/02/02/T020200000D0001MSWE.doc --> + <!-- http://en.wikipedia.org/wiki/Telephone_numbers_in_Australia --> + <territory id="AU" countryCode="61" preferredInternationalPrefix="0011" + internationalPrefix="(?:14(?:1[14]|34|4[17]|[56]6|7[47]|88))?001[14-689]" + nationalPrefix="0"> + <availableFormats> + <numberFormat nationalPrefixFormattingRule="($NP$FG)" + pattern="([2378])(\d{4})(\d{4})"> + <leadingDigits>[2378]</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat nationalPrefixFormattingRule="$NP$FG" + pattern="(4\d{2})(\d{3})(\d{3})"> + <leadingDigits>4</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat nationalPrefixFormattingRule="$NP$FG" + pattern="(5[05]0)(\d{3})(\d{3})"> + <leadingDigits>5</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat nationalPrefixFormattingRule="$FG" + pattern="(1[389]\d{2})(\d{3})(\d{3})"> + <leadingDigits> + 1(?: + [38]0| + 9 + ) + </leadingDigits> + <leadingDigits> + 1(?: + [38]00| + 9 + ) + </leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <!-- Although the national plan doesn't explicitly say so, there is no evidence that a 180 + xxxx number could be 180 0xxx. --> + <numberFormat nationalPrefixFormattingRule="$FG" + pattern="(180)(\d{4})"> + <leadingDigits>180</leadingDigits> + <leadingDigits>180[1-9]</leadingDigits> + <format>$1 $2</format> + </numberFormat> + <numberFormat nationalPrefixFormattingRule="$FG" + pattern="(13)(\d{2})(\d{2})"> + <leadingDigits>13[1-9]</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[1-578]\d{5,9}</nationalNumberPattern> + <possibleNumberPattern>\d{6,10}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern>[2378]\d{8}</nationalNumberPattern> + <possibleNumberPattern>\d{8,9}</possibleNumberPattern> + <exampleNumber>212345678</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern> + 4(?: + [0-2]\d| + 3[0-57-9]| + 4[47-9]| + 5[0-37-9]| + 6[6-9]| + 7[07-9]| + 8[7-9] + )\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>412345678</exampleNumber> + </mobile> + <tollFree> + <!-- Local-rate (SmartNumbers) are put here for now because they are also a reverse-charge + network, although they charge a small local call connect fee (around 25c). These start + with 13 or 1300. --> + <nationalNumberPattern> + 1(?: + 80(?: + 0\d{2} + )? | + 3(?: + 00\d{2} + )? + )\d{4} + </nationalNumberPattern> + <possibleNumberPattern>\d{6,10}</possibleNumberPattern> + <exampleNumber>1800123456</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>190[0126]\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>1900123456</exampleNumber> + </premiumRate> + <!-- Wikipedia was the source for these types of numbers, and number allocation search here + http://web.acma.gov.au/numb/openAccess/inquiry/allocationSearch.do confirms this. (Search + from 0500000000 to 0590000000) --> + <personalNumber> + <nationalNumberPattern>500\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>500123456</exampleNumber> + </personalNumber> + <voip> + <nationalNumberPattern>550\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>550123456</exampleNumber> + </voip> + </territory> + + <!-- Aruba --> + <!-- http://www.itu.int/oth/T020200000B/en --> + <territory id="AW" countryCode="297" internationalPrefix="00"> + <availableFormats> + <numberFormat pattern="([5-9]\d{2})(\d{4})"> + <format>$1 $2</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[5-9]\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{7}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + 5(?: + 2\d{2}| + 8(?: + [2-7]\d| + 8[0-79]| + 9[48] + ) + )\d{3} + </nationalNumberPattern> + <exampleNumber>5212345</exampleNumber> + </fixedLine> + <mobile> + <!-- Adding 660 since SMS messages have been successfully delivered to numbers with this + prefix, and numbers can be found in the yellow pages. --> + <nationalNumberPattern> + (?: + 5[69]\d| + 660| + 9(?: + 6\d| + 9[02-9] + )| + 7[34]\d + )\d{4} + </nationalNumberPattern> + <exampleNumber>5601234</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern>800\d{4}</nationalNumberPattern> + <exampleNumber>8001234</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>900\d{4}</nationalNumberPattern> + <exampleNumber>9001234</exampleNumber> + </premiumRate> + </territory> + + <!-- Azerbaijan --> + <!-- http://www.itu.int/oth/T020200000F/en --> + <territory id="AZ" countryCode="994" internationalPrefix="00" + nationalPrefix="0" nationalPrefixFormattingRule="($NP$FG)"> + <availableFormats> + <numberFormat pattern="(\d{2})(\d{3})(\d{2})(\d{2})"> + <leadingDigits>1[28]</leadingDigits> + <format>$1 $2 $3 $4</format> + </numberFormat> + <numberFormat pattern="(\d{2})(\d{2})(\d{2})(\d{2})"> + <leadingDigits>22</leadingDigits> + <format>$1 $2 $3 $4</format> + </numberFormat> + <numberFormat pattern="(\d{2})(\d{2,3})(\d{2})(\d{2})"> + <leadingDigits>3</leadingDigits> + <format>$1 $2 $3 $4</format> + </numberFormat> + <numberFormat pattern="(\d{3})(\d)(\d{2})(\d{2})"> + <leadingDigits> + 1[013-79]| + 2[013-9] + </leadingDigits> + <format>$1 $2 $3 $4</format> + </numberFormat> + <numberFormat pattern="(\d{2})(\d{3})(\d{2})(\d{2})" + nationalPrefixFormattingRule="$NP$FG"> + <leadingDigits>[4-8]</leadingDigits> + <format>$1 $2 $3 $4</format> + </numberFormat> + <numberFormat pattern="(\d{3})(\d{2})(\d{2})(\d{2})" + nationalPrefixFormattingRule="$NP$FG"> + <leadingDigits>9</leadingDigits> + <format>$1 $2 $3 $4</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[1-9]\d{7,8}</nationalNumberPattern> + <possibleNumberPattern>\d{5,9}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <!-- Added the 164 area code after it was found in other online lists and in many online + numbers. Also includes the area code 44 for CDMA regions, which are classified under + "Fixed Network" by the national plan. --> + <nationalNumberPattern> + (?: + 1(?: + (?: + [28]\d| + 9 + )\d| + 02| + 1[0-589]| + 3[358]| + 4[013-79]| + 5[0-479]| + 6[02346-9]| + 7[0-24-8] + )| + 2(?: + 16| + 2\d| + 3[0-24]| + 4[1468]| + 55| + 6[56]| + 79 + )| + 365?\d| + 44\d{2} + )\d{5} + </nationalNumberPattern> + <exampleNumber>123123456</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern> + (?: + [46]0| + 5[015]| + 7[07] + )\d{7} + </nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>401234567</exampleNumber> + </mobile> + <tollFree> + <!-- 88 is listed as fixed-line for Baku in the ITU document, but online numbers seem to + suggest they are in fact national toll-free numbers. --> + <nationalNumberPattern>88\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>881234567</exampleNumber> + </tollFree> + <premiumRate> + <!-- These are marked as Interactive Calls in the ITU document. --> + <nationalNumberPattern>900200\d{3}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>900200123</exampleNumber> + </premiumRate> + </territory> + + <!-- Bosnia and Herzegovina --> + <!-- http://www.cra.ba/en/telecom/numbering/ --> + <!-- http://en.wikipedia.org/wiki/+387 --> + <territory id="BA" countryCode="387" internationalPrefix="00" + nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG"> + <availableFormats> + <numberFormat pattern="([3-689]\d)(\d{3})(\d{3})"> + <format>$1 $2-$3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[3-689]\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{6,8}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + (?: + [35]\d| + 49 + )\d{6} + </nationalNumberPattern> + <exampleNumber>30123456</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern>6[1-356]\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>61123456</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern>8[08]\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>80123456</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>9[0246]\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>90123456</exampleNumber> + </premiumRate> + <sharedCost> + <!-- Using this category to model national tariff numbers - these are under Shared Cost in + the plan. --> + <nationalNumberPattern>82\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>82123456</exampleNumber> + </sharedCost> + <uan> + <nationalNumberPattern>81\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>81123456</exampleNumber> + </uan> + </territory> + + <!-- Barbados --> + <!-- http://www.itu.int/oth/T0202000013/en --> + <territory id="BB" countryCode="1" leadingDigits="246" + nationalPrefix="1" internationalPrefix="011"> + <generalDesc> + <!-- NANPA country - uses US formatting rules --> + <nationalNumberPattern>[2589]\d{9}</nationalNumberPattern> + <possibleNumberPattern>\d{7}(?:\d{3})?</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern>246[2-9]\d{6}</nationalNumberPattern> + <exampleNumber>2462345678</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern> + 246(?: + (?: + 2[346]| + 45| + 82 + )\d| + 25[0-4] + )\d{4} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>2462501234</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern> + 8(?: + 00| + 55| + 66| + 77| + 88 + )[2-9]\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>8002123456</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>900[2-9]\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>9002123456</exampleNumber> + </premiumRate> + <personalNumber> + <!-- http://www.nanpa.com/pdf/PL_416.pdf --> + <nationalNumberPattern> + 5(?: + 00| + 33| + 44 + )[2-9]\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>5002345678</exampleNumber> + </personalNumber> + </territory> + + <!-- Bangladesh --> + <!-- http://www.itu.int/oth/T0202000012/en --> + <!-- http://en.wikipedia.org/wiki/Telephone_numbers_in_Bangladesh --> + <!-- http://www.btrc.gov.bd/engineering/national_numbering_plan_2005.pdf --> + <territory id="BD" countryCode="880" internationalPrefix="00[12]?" + preferredInternationalPrefix="00" + nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG"> + <availableFormats> + <numberFormat pattern="(2)(\d{7})"> + <leadingDigits>2</leadingDigits> + <format>$1 $2</format> + </numberFormat> + <numberFormat pattern="(\d{2})(\d{4,6})"> + <leadingDigits>[3-79]1</leadingDigits> + <format>$1 $2</format> + </numberFormat> + <numberFormat pattern="(\d{3})(\d{3,7})"> + <leadingDigits> + [3-79][2-9]| + 8 + </leadingDigits> + <format>$1 $2</format> + </numberFormat> + <numberFormat pattern="(\d{4})(\d{6})"> + <leadingDigits>1</leadingDigits> + <format>$1 $2</format> + </numberFormat> + </availableFormats> + <generalDesc> + <!-- This is quite complex so we can define that numbers beginning with 88 are not part of the + plan, so the country code can be accurately stripped off. --> + <nationalNumberPattern> + [2-79]\d{5,9}| + 1\d{9}| + 8[0-7]\d{4,8} + </nationalNumberPattern> + <possibleNumberPattern>\d{6,10}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <!-- There was a plan to move to 10 digit fixed-line numbers, but this does not seem to have + been realised, judging by online numbers and wikipedia. These patterns are grouped + first by leading digit, then within by number of digits. Several Dhaka prefixes (02 + 731, 751 etc) are included despite not being mentioned on the wikipedia page due to + online evidence. Another oddity is Chittagong - some numbers have a leading 2, others + do not - both are allowed for now. --> + <nationalNumberPattern> + 2(?: + 7\d1| + 8(?: + [026]1| + [1379][1-5]| + 8[1-8] + )| + 9(?: + 0[0-2]| + 1[1-4]| + 3[3-5]| + 5[56]| + 6[67]| + 71| + 8[078] + ) + )\d{4}| + 3(?: + [6-8]1| + (?: + 0[23]| + [25][12]| + 82| + 416 + )\d| + (?: + 31| + 12?[5-7] + )\d{2} + )\d{3}| + 4(?: + (?: + 02| + [49]6| + [68]1 + )| + (?: + 0[13]| + 21\d? | + [23]2| + [457][12]| + 6[28] + )\d| + (?: + 23| + [39]1 + )\d{2}| + 1\d{3} + )\d{3}| + 5(?: + (?: + [457-9]1| + 62 + )| + (?: + 1\d? | + 2[12]| + 3[1-3]| + 52 + )\d| + 61{2} + )| + 6(?: + [45]1| + (?: + 11| + 2[15]| + [39]1 + )\d| + (?: + [06-8]1| + 62 + )\d{2} + )| + 7(?: + (?: + 32| + 91 + )| + (?: + 02| + 31| + [67][12] + )\d| + [458]1\d{2}| + 21\d{3} + )\d{3}| + 8(?: + (?: + 4[12]| + [5-7]2| + 1\d? + )| + (?: + 0| + 3[12]| + [5-7]1| + 217 + )\d + )\d{4}| + 9(?: + [35]1| + (?: + [024]2| + 81 + )\d| + (?: + 1| + [24]1 + )\d{2} + )\d{3} + </nationalNumberPattern> + <possibleNumberPattern>\d{6,9}</possibleNumberPattern> + <exampleNumber>27111234</exampleNumber> + </fixedLine> + <mobile> + <!-- Presuming that mobile numbers with the prefixes 66, 37, 44 and 38 must be followed by + numbers [02-9] or they would clash with fixed-line codes. According to the plan, mobile + numbers should be moving to 1[13-9] anyway. --> + <nationalNumberPattern> + (?: + 1[13-9]\d| + (?: + 3[78]| + 44 + )[02-9]| + 6(?: + 44| + 6[02-9] + ) + )\d{7} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>1812345678</exampleNumber> + </mobile> + <tollFree> + <!-- Note: Including Tele-voting numbers here as they are free of charge. --> + <nationalNumberPattern>80[03]\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>8001234567</exampleNumber> + </tollFree> + </territory> + + <!-- Belgium --> + <!-- http://www.bipt.be/en/161/ShowContent/502/Database/Databases.aspx --> + <!-- http://www.telefoonzones.be/ --> + <!-- Information on non-geographic numbers here: (Dutch) + http://www.scarletbusiness.be/business/largeenterprise/nl/products/voiceservices/servicenumbers.jsp + --> + <territory id="BE" countryCode="32" internationalPrefix="00" + nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG"> + <availableFormats> + <numberFormat pattern="(4[7-9]\d)(\d{2})(\d{2})(\d{2})"> + <leadingDigits>4[7-9]</leadingDigits> + <format>$1 $2 $3 $4</format> + </numberFormat> + <numberFormat pattern="([2-49])(\d{3})(\d{2})(\d{2})"> + <leadingDigits> + [23]| + [49][23] + </leadingDigits> + <format>$1 $2 $3 $4</format> + </numberFormat> + <numberFormat pattern="([15-8]\d)(\d{2})(\d{2})(\d{2})"> + <leadingDigits> + [156]| + 7[0178]| + 8(?: + 0[1-9]| + [1-79] + ) + </leadingDigits> + <format>$1 $2 $3 $4</format> + </numberFormat> + <numberFormat pattern="([89]\d{2})(\d{2})(\d{3})"> + <leadingDigits> + (?: + 80| + 9 + )0 + </leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[1-9]\d{7,8}</nationalNumberPattern> + <possibleNumberPattern>\d{8,9}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <!-- Note that 80 is a valid area code, so we explicitly check for this case that the third + digit begins with 1-9 --> + <nationalNumberPattern> + (?: + 1[0-69]| + [23][2-8]| + [49][23]| + 5\d| + 6[013-57-9]| + 7[18] + )\d{6}| + 8(?: + 0[1-9]| + [1-69]\d + )\d{5} + </nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>12345678</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern> + 4(?: + 7\d| + 8[4-9]| + 9[1-9] + )\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>470123456</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern>800\d{5}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>80012345</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern> + (?: + 90| + 7[07] + )\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>90123456</exampleNumber> + </premiumRate> + <sharedCost> + <nationalNumberPattern>87\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>87123456</exampleNumber> + </sharedCost> + </territory> + + <!-- Burkina Faso --> + <!-- http://www.itu.int/oth/T0202000021/en --> + <territory id="BF" countryCode="226" internationalPrefix="00"> + <availableFormats> + <!-- The national numbering plan from ITU suggests grouping of 2, 2 and 4, but we have + chosen to use the standard from numbers found on the internet instead. --> + <numberFormat pattern="(\d{2})(\d{2})(\d{2})(\d{2})"> + <format>$1 $2 $3 $4</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[2457]\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <!-- 50 48 and 50 49 exist as well. --> + <nationalNumberPattern> + (?: + 20(?: + 49| + 5[23]| + 9[016-9] + )| + 40(?: + 4[569]| + 55| + 7[0179] + )| + 50[34]\d + )\d{4} + </nationalNumberPattern> + <exampleNumber>20491234</exampleNumber> + </fixedLine> + <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. --> + <nationalNumberPattern> + 7(?: + [024-6]\d| + 1[0-4689]| + 3[0-6]| + 7[01]| + 8[013-9]| + 9[0-4] + )\d{5} + </nationalNumberPattern> + <exampleNumber>70123456</exampleNumber> + </mobile> + </territory> + + <!-- Bulgaria --> + <!-- http://www.itu.int/oth/T0202000020/en --> + <territory id="BG" countryCode="359" internationalPrefix="00" + nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG"> + <availableFormats> + <numberFormat pattern="(2)(\d{3})(\d{3,4})"> + <leadingDigits>2</leadingDigits> + <format>$1/$2 $3</format> + </numberFormat> + <numberFormat pattern="(\d{3})(\d{4})"> + <leadingDigits> + 43[124-7]| + 70[1-9] + </leadingDigits> + <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> + </numberFormat> + <numberFormat pattern="(\d{3})(\d{2})(\d{3})"> + <leadingDigits>[78]00</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(\d{2})(\d{3})(\d{2,3})"> + <leadingDigits> + [356]| + 7[1-9]| + 8[1-6]| + 9[1-7] + </leadingDigits> + <format>$1/$2 $3</format> + </numberFormat> + <numberFormat pattern="(\d{2})(\d{3})(\d{3,4})"> + <leadingDigits> + 48| + 8[7-9]| + 9[08] + </leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[2-9]\d{6,8}</nationalNumberPattern> + <possibleNumberPattern>\d{7,9}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + (?: + 2\d| + [36]\d| + 5[1-9]| + 8[1-6]| + 9[1-7] + )\d{5,6}| + (?: + 4(?: + [124-7]\d| + 3[1-6] + )| + 7(?: + 0[1-9]| + [1-9]\d + ) + )\d{4,5} + </nationalNumberPattern> + <possibleNumberPattern>\d{7,8}</possibleNumberPattern> + <exampleNumber>2123456</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern> + (?: + 8[7-9]| + 98 + )\d{7}| + 4(?: + 3[0789]| + 8\d + )\d{5} + </nationalNumberPattern> + <possibleNumberPattern>\d{8,9}</possibleNumberPattern> + <exampleNumber>48123456</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern>800\d{5}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>80012345</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>90\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>90123456</exampleNumber> + </premiumRate> + <personalNumber> + <nationalNumberPattern>700\d{5}</nationalNumberPattern> + <exampleNumber>70012345</exampleNumber> + </personalNumber> + </territory> + + <!-- Bahrain --> + <!-- http://www.itu.int/oth/T0202000011/en --> + <!-- http://www.tra.org.bh/en/pdf/National_Numbering_Plan_2.pdf --> + <territory id="BH" countryCode="973" internationalPrefix="00"> + <availableFormats> + <numberFormat pattern="(\d{4})(\d{4})"> + <format>$1 $2</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[136-9]\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + </generalDesc> + <!-- Universal Service numbers are under both Mobile and Fixed-Line, as they can be assigned + to either. --> + <fixedLine> + <nationalNumberPattern> + (?: + 1(?: + 3[3-6]| + 6[0156]| + 7\d + )| + 6(?: + 1[16]| + 6[03469]| + 9[69] + )| + 77\d + )\d{5} + </nationalNumberPattern> + <exampleNumber>17001234</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern> + (?: + 3(?: + [369]\d| + 77| + 8[38] + )| + 6(?: + 1[16]| + 6[03469]| + 9[69] + )| + 77\d + )\d{5} + </nationalNumberPattern> + <exampleNumber>36001234</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern>80\d{6}</nationalNumberPattern> + <exampleNumber>80123456</exampleNumber> + </tollFree> + <!-- 87 numbers are "wholly paid by the caller", so they are slotted under premium-rate for + now. --> + <premiumRate> + <nationalNumberPattern> + (?: + 87| + 9[014578] + )\d{6} + </nationalNumberPattern> + <exampleNumber>90123456</exampleNumber> + </premiumRate> + <sharedCost> + <nationalNumberPattern>84\d{6}</nationalNumberPattern> + <exampleNumber>84123456</exampleNumber> + </sharedCost> + </territory> + + <!-- Burundi --> + <!-- http://www.itu.int/oth/T0202000022/en --> + <territory id="BI" countryCode="257" internationalPrefix="00"> + <availableFormats> + <numberFormat + pattern="([27]\d)(\d{2})(\d{2})(\d{2})"> + <format>$1 $2 $3 $4</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[27]\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + 22(?: + 2[0-7]| + [3-5]0 + )\d{4} + </nationalNumberPattern> + <exampleNumber>22201234</exampleNumber> + </fixedLine> + <mobile> + <!-- Extra online mobile number prefixes found: 79 10, 78 \d{2} and 76 [29]\d. The 29 + prefix is listed as a mobile prefix, but many people list it as their fixed home + number. We will keep it as mobile for now, but it may actually be a prefix for fixed + satellite phones. --> + <nationalNumberPattern> + (?: + 29\d| + 7(?: + 1[1-3]| + [4-9]\d + ) + )\d{5} + </nationalNumberPattern> + <exampleNumber>79561234</exampleNumber> + </mobile> + </territory> + + <!-- Benin --> + <!-- http://www.itu.int/oth/T0202000017/en --> + <territory id="BJ" countryCode="229" internationalPrefix="00"> + <availableFormats> + <numberFormat pattern="(\d{2})(\d{2})(\d{2})(\d{2})"> + <format>$1 $2 $3 $4</format> + </numberFormat> + <!-- Numbers beginning with 7 should be formatted as a block. --> + </availableFormats> + <generalDesc> + <nationalNumberPattern> + [2689]\d{7}| + 7\d{3} + </nationalNumberPattern> + <possibleNumberPattern>\d{4,8}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <!-- These come from the national numbering plan, but have been widened to include other + prefixes found in the yellow pages - specifically 21 0. --> + <nationalNumberPattern> + 2(?: + 02| + 1[037]| + 2[45]| + 3[68] + )\d{5} + </nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>20211234</exampleNumber> + </fixedLine> + <mobile> + <!-- 93 0, 93 4, 93 5 and 93 8 have been added as many online examples of these prefixes can + be found. 9[68] and 97[23] prefixes have also been added because of online numbers + following these patterns and numbers where SMSs were successfully delivered. 66 has + been also added, as it seems to be a prefix for Mobile MTN. --> + <nationalNumberPattern> + 66\d{6}| + 9(?: + 0[069]| + [35][0-2457-9]| + [6-8]\d + )\d{5} + </nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>90011234</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern>7[3-5]\d{2}</nationalNumberPattern> + <possibleNumberPattern>\d{4}</possibleNumberPattern> + <exampleNumber>7312</exampleNumber> + </tollFree> + <!-- Other numbers beginning with 81 are reserved for _either_ free phone or shared-cost, but + there is no clear differentiation between these. --> + <voip> + <nationalNumberPattern>857[58]\d{4}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>85751234</exampleNumber> + </voip> + </territory> + + <!-- Saint Barthélemy, French Antilles --> + <!-- There seems to be some overlap with phone numbers from Saint Martin and Guadeloupe. The + national numbering plan does not specify any St Barthélemy-specific numbering prefixes, but + it appears from searches in online white and yellow pages that a subset of the prefixes + available in Guadeloupe are used. In these cases, if getRegionCodeForNumber is used, one of + these region codes will be returned, although numbers will be valid for both regions. --> + <!-- http://www.itu.int/oth/T0202000058/en --> + <territory id="BL" countryCode="590" internationalPrefix="00" + nationalPrefix="0"> + <!-- Formatting rules borrowed from Guadeloupe. --> + <generalDesc> + <nationalNumberPattern>[56]\d{8}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + 590(?: + 2[7-9]| + 5[12]| + 87 + )\d{4} + </nationalNumberPattern> + <exampleNumber>590271234</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern> + 690(?: + 10| + 2[27]| + 66| + 77| + 8[78] + )\d{4} + </nationalNumberPattern> + <exampleNumber>690221234</exampleNumber> + </mobile> + </territory> + + <!-- Bermuda --> + <!-- http://www.itu.int/oth/T0202000018/en --> + <territory id="BM" countryCode="1" leadingDigits="441" + nationalPrefix="1" internationalPrefix="011"> + <generalDesc> + <!-- NANPA country - uses US formatting rules --> + <nationalNumberPattern>[4589]\d{9}</nationalNumberPattern> + <possibleNumberPattern>\d{7}(?:\d{3})?</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + 441(?: + 2(?: + 02| + 23| + 61| + [3479]\d + )| + [46]\d{2}| + 5(?: + 4\d| + 60| + 89 + )| + 824 + )\d{4} + </nationalNumberPattern> + <exampleNumber>4412345678</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern> + 441(?: + [37]\d| + 5[0-39] + )\d{5} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>4413701234</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern> + 8(?: + 00| + 55| + 66| + 77| + 88 + )[2-9]\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>8002123456</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>900[2-9]\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>9002123456</exampleNumber> + </premiumRate> + <personalNumber> + <!-- http://www.nanpa.com/pdf/PL_416.pdf --> + <nationalNumberPattern> + 5(?: + 00| + 33| + 44 + )[2-9]\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>5002345678</exampleNumber> + </personalNumber> + </territory> + + <!-- Brunei Darussalam --> + <!-- http://www.itu.int/oth/T020200001F/en --> + <territory id="BN" countryCode="673" internationalPrefix="00" + nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG"> + <!-- Format is from http://aiti.gov.bn/contact.html --> + <availableFormats> + <numberFormat pattern="([2-578]\d{2})(\d{4})"> + <format>$1 $2</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[2-578]\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{7}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern>[2-5]\d{6}</nationalNumberPattern> + <exampleNumber>2345678</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern>[78]\d{6}</nationalNumberPattern> + <exampleNumber>7123456</exampleNumber> + </mobile> + </territory> + + <!-- Bolivia --> + <!-- http://www.itu.int/oth/T020200001A/en --> + <!-- http://www.bolivia.com/Servicios/Plandenumeracion.pdf --> + <!-- http://www.itu.int/dms_pub/itu-t/oth/02/02/T020200001A0001MSWE.doc --> + <territory id="BO" countryCode="591" + internationalPrefix="00(1\d)?" + nationalPrefix="0" + nationalPrefixForParsing="0(1\d)?" + carrierCodeFormattingRule="$NP$CC $FG"> + <availableFormats> + <numberFormat pattern="([234])(\d{7})"> + <leadingDigits>[234]</leadingDigits> + <format>$1 $2</format> + </numberFormat> + <numberFormat pattern="([67]\d{7})"> + <leadingDigits>[67]</leadingDigits> + <format>$1</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[23467]\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{7,8}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + (?: + 2(?: + 2\d{2}| + 5(?:11|[258]\d|9[67])| + 6(?:12|2\d|9[34])| + 8(?:2[34]|39|62) + )| + 3(?: + 3\d{2}| + 4(?:6\d|8[24])| + 8(?:25|42|5[257]|86|9[25])| + 9(?:2\d|3[234]|4[248]|5[24]|6[2-6]|7\d) + )| + 4(?: + 4\d{2}| + 6(?:11|[24689]\d|72) + ) + )\d{4} + </nationalNumberPattern> + <possibleNumberPattern>\d{7,8}</possibleNumberPattern> + <exampleNumber>22123456</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern>[67]\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>71234567</exampleNumber> + </mobile> + </territory> + + <!-- Brazil --> + <!-- http://en.wikipedia.org/wiki/%2B55 --> + <territory id="BR" countryCode="55" + internationalPrefix="00(?:1[45]|2[135]|[34]1|43)" + nationalPrefix="0" + nationalPrefixForParsing="0(?:(1[245]|2[135]|[34]1)(\d{10}))?" + nationalPrefixTransformRule="$2"> + <!--The national prefix for parsing here also contains a capturing group for the main number, + since the carrier codes here may also be area codes, so we want to check the length of + the number after capturing. We also need a nationalTransformRule to repopulate with the + number without the carrier code. --> + <availableFormats> + <numberFormat nationalPrefixFormattingRule="($FG)" + pattern="(\d{2})(\d{4})(\d{4})" + carrierCodeFormattingRule="$NP $CC ($FG)"> + <leadingDigits>[1-9][1-9]</leadingDigits> + <format>$1 $2-$3</format> + </numberFormat> + <numberFormat pattern="([34]00\d)(\d{4})"> + <leadingDigits>[34]00</leadingDigits> + <leadingDigits> + 400| + 3003 + </leadingDigits> + <format>$1-$2</format> + </numberFormat> + <numberFormat nationalPrefixFormattingRule="$NP$FG" + pattern="([3589]00)(\d{2,3})(\d{4})"> + <leadingDigits>[3589]00</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[1-9]\d{7,9}</nationalNumberPattern> + <possibleNumberPattern>\d{8,10}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + (?: + [14689][1-9]| + 2[12478]| + 3[1-578]| + 5[13-5]| + 7[13-579] + )[2-5]\d{7} + </nationalNumberPattern> + <exampleNumber>1123456789</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern> + (?: + [14689][1-9]| + 2[12478]| + 3[1-578]| + 5[13-5]| + 7[13-579] + )[6-9]\d{7} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>1161234567</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern>800\d{6,7}</nationalNumberPattern> + <exampleNumber>800123456</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>[359]00\d{6,7}</nationalNumberPattern> + <exampleNumber>300123456</exampleNumber> + </premiumRate> + <sharedCost> + <nationalNumberPattern> + (?: + 400\d| + 3003 + )\d{4} + </nationalNumberPattern> + <exampleNumber>40041234</exampleNumber> + </sharedCost> + </territory> + + <!-- Bahamas --> + <!-- http://www.itu.int/dms_pub/itu-t/oth/02/02/T02020000100001MSWE.pdf --> + <territory id="BS" countryCode="1" leadingDigits="242" + nationalPrefix="1" internationalPrefix="011"> + <generalDesc> + <!-- NANPA country - uses US formatting rules --> + <nationalNumberPattern>[2589]\d{9}</nationalNumberPattern> + <possibleNumberPattern>\d{7}(?:\d{3})?</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + 242(?: + 3(?: + 02| + [236][1-9]| + 4[0-24-9]| + 5[0-68]| + 7[3467]| + 8[0-4]| + 9[2-467] + )| + 461| + 502| + 6(?: + 12| + 7[67]| + 8[78]| + 9[89] + )| + 702 + )\d{4} + </nationalNumberPattern> + <exampleNumber>2423456789</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern> + 242(?: + 3(?: + 5[79]| + [79]5 + )| + 4(?: + [2-4][1-9]| + 5[1-8]| + 6[2-8]| + 7\d| + 81 + )| + 5(?: + 2[34]| + 3[35]| + 44| + 5[1-9]| + 65| + 77 + )| + 6[34]6| + 727 + )\d{4} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>2423591234</exampleNumber> + </mobile> + <tollFree> + <!-- 242 300 is a Domestic Toll Free service. --> + <nationalNumberPattern> + 242300\d{4}| + 8(?: + 00| + 55| + 66| + 77| + 88 + )[2-9]\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>8002123456</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>900[2-9]\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>9002123456</exampleNumber> + </premiumRate> + <personalNumber> + <!-- http://www.nanpa.com/pdf/PL_416.pdf --> + <nationalNumberPattern> + 5(?: + 00| + 33| + 44 + )[2-9]\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>5002345678</exampleNumber> + </personalNumber> + </territory> + + <!-- Bhutan --> + <!-- http://www.itu.int/oth/T0202000019/en --> + <territory id="BT" countryCode="975" internationalPrefix="00"> + <availableFormats> + <!-- Format is from + http://www.tourism.gov.bt/tour-operators/bhutan-abbot-tours-and-travels.html --> + <numberFormat pattern="(17)(\d{2})(\d{2})(\d{2})"> + <leadingDigits>1</leadingDigits> + <format>$1 $2 $3 $4</format> + </numberFormat> + <numberFormat pattern="([2-8])(\d{3})(\d{3})"> + <leadingDigits>[2-8]</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern> + (?: + 17| + [2-8] + )\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{6,8}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + (?: + 2[3-6]| + [34][5-7]| + 5[236]| + 6[2-46]| + 7[246]| + 8[2-4] + )\d{5} + </nationalNumberPattern> + <possibleNumberPattern>\d{6,7}</possibleNumberPattern> + <exampleNumber>2345678</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern>17\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>17123456</exampleNumber> + </mobile> + <!-- No information on other types of phone numbers for Bhutan has been found. --> + </territory> + + <!-- Botswana --> + <!-- http://www.itu.int/oth/T020200001C/en --> + <territory id="BW" countryCode="267" internationalPrefix="00"> + <availableFormats> + <numberFormat pattern="(\d{3})(\d{4})"> + <leadingDigits>[2-6]</leadingDigits> + <format>$1 $2</format> + </numberFormat> + <numberFormat pattern="(7\d)(\d{3})(\d{3})"> + <leadingDigits>7</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(90)(\d{5})"> + <leadingDigits>9</leadingDigits> + <format>$1 $2</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[2-79]\d{6,7}</nationalNumberPattern> + <possibleNumberPattern>\d{7,8}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + (?: + 2(?: + 4[0-48]| + 6[0-24]| + 9[0578] + )| + 3(?: + 1[0235-9]| + 55| + 6\d| + 7[01]| + 9[0-57] + )| + 4(?: + 6[03]| + 7[1267]| + 9[0-5] + )| + 5(?: + 3[0389]| + 4[0489]| + 7[1-47]| + 88| + 9[0-49] + )| + 6(?: + 2[1-35]| + 5[149]| + 8[067] + ) + )\d{4} + </nationalNumberPattern> + <possibleNumberPattern>\d{7}</possibleNumberPattern> + <exampleNumber>2401234</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern> + 7(?: + [1-35]\d{6}| + [46][0-7]\d{5} + ) + </nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>71123456</exampleNumber> + </mobile> + <!-- No reliable information about toll-free numbers can be found; many are written on the + internet like 0800 123 456, but this is not supported by any documentation and no + numbers can be found that actually work. --> + <premiumRate> + <nationalNumberPattern>90\d{5}</nationalNumberPattern> + <possibleNumberPattern>\d{7}</possibleNumberPattern> + <exampleNumber>9012345</exampleNumber> + </premiumRate> + <voip> + <nationalNumberPattern>79[12][01]\d{4}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>79101234</exampleNumber> + </voip> + </territory> + + <!-- Belarus --> + <!-- http://eng.beltelecom.by/info/numbering/ --> + <!-- Information on national prefix provided by a Belarussian person. --> + <territory id="BY" countryCode="375" internationalPrefix="8~10" + nationalPrefixForParsing="80?" nationalPrefix="8"> + <availableFormats> + <numberFormat nationalPrefixFormattingRule="$NP 0$FG" + pattern="([1-4]\d)(\d{3})(\d{4})"> + <leadingDigits>[1-4]</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat nationalPrefixFormattingRule="$NP $FG" + pattern="([89]\d{2})(\d{3})(\d{4})"> + <leadingDigits>[89]</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern> + [12-4]\d{8}| + [89]\d{9} + </nationalNumberPattern> + <!-- Numbers are often written without the city code. --> + <possibleNumberPattern>\d{7,10}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + (?: + 1(?: + 5(?: + 1[1-5]| + 2\d| + 6[1-4]| + 9[1-7] + )| + 6(?: + [235]\d| + 4[1-7] + )| + 7\d{2} + )| + 2(?: + 1(?: + [246]\d| + 3[0-35-9]| + 5[1-9] + )| + 2(?: + [235]\d| + 4[0-8] + )| + 3(?: + 2\d| + 3[02-79]| + 4[024-7]| + 5[0-7] + ) + ) + )\d{5} + </nationalNumberPattern> + <possibleNumberPattern>\d{7,9}</possibleNumberPattern> + <!-- Using test number for Grodno from the plan. --> + <exampleNumber>152450911</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern> + (?: + 2(?: + 5[679]| + 9[1-9] + )| + 33\d| + 44\d + )\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <!-- Using test number for BelCel from the plan. --> + <exampleNumber>294911911</exampleNumber> + </mobile> + <tollFree> + <!-- Putting Interactive Polling Service (free) here too. --> + <nationalNumberPattern>80[13]\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>8011234567</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>902\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>9021234567</exampleNumber> + </premiumRate> + </territory> + + <!-- Belize --> + <!-- http://www.itu.int/oth/T0202000016/en --> + <!-- The trunk prefix, formally 0, was dropped in the last reorganisation of the numbering plan. + --> + <territory id="BZ" countryCode="501" internationalPrefix="00" leadingZeroPossible="true"> + <availableFormats> + <numberFormat pattern="(\d{3})(\d{4})"> + <leadingDigits>[2-8]</leadingDigits> + <!-- Adding hyphen following the Belize Telemedia formatting rules. --> + <format>$1-$2</format> + </numberFormat> + <numberFormat pattern="(0)(800)(\d{4})(\d{3})"> + <leadingDigits>0</leadingDigits> + <format>$1-$2-$3-$4</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern> + [2-8]\d{6}| + 0\d{10} + </nationalNumberPattern> + <possibleNumberPattern>\d{7}(?:\d{4})?</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern>[234578][02]\d{5}</nationalNumberPattern> + <possibleNumberPattern>\d{7}</possibleNumberPattern> + <exampleNumber>2221234</exampleNumber> + </fixedLine> + <mobile> + <!-- 62[6-9] were added as we have been able to successfully send SMSs to these numbers. --> + <nationalNumberPattern> + 6(?: + [0-2]\d| + [67][01] + )\d{4} + </nationalNumberPattern> + <possibleNumberPattern>\d{7}</possibleNumberPattern> + <exampleNumber>6221234</exampleNumber> + </mobile> + <!-- We don't know how these would be dialled internationally - it is possible that they can't + be dialled internationally at all - so we represent the leading 0 as part of the number. + Information from www.belizetelemedia.net. --> + <tollFree> + <nationalNumberPattern>0800\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{11}</possibleNumberPattern> + <exampleNumber>08001234123</exampleNumber> + </tollFree> + </territory> + + <!-- Canada --> + <!-- http://www.cnac.ca/canadian_dial_plan/canadian_dial_plan.htm --> + <territory id="CA" countryCode="1" internationalPrefix="011" nationalPrefix="1"> + <generalDesc> + <!-- NANPA country - uses US formatting rules --> + <nationalNumberPattern> + [2-9]\d{9}| + 3\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{7}(?:\d{3})?</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + (?: + 2(?: + 04| + 26| + [48]9| + 50 + )| + 3(?: + 06| + 43 + )| + 4(?: + 03| + 1[68]| + 38| + 5[06] + )| + 5(?: + 0[06]| + 1[49]| + 79| + 8[17] + )| + 6(?: + 0[04]| + 13| + 47 + )| + 7(?: + 0[059]| + [18]0| + 78 + )| + 8(?: + [06]7| + 19| + )| + 90[25] + )[2-9]\d{6}| + 310\d{4} + </nationalNumberPattern> + <exampleNumber>2042345678</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern> + (?: + 2(?: + 04| + 26| + [48]9| + 50 + )| + 3(?: + 06| + 43 + )| + 4(?: + 03| + 1[68]| + 38| + 5[06] + )| + 5(?: + 0[06]| + 1[49]| + 79| + 8[17] + )| + 6(?: + 0[04]| + 13| + 47 + )| + 7(?: + 0[059]| + [18]0| + 78 + )| + 8(?: + [06]7| + 19| + )| + 90[25] + )[2-9]\d{6} + </nationalNumberPattern> + <exampleNumber>2042345678</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern> + 8(?: + 00| + 55| + 66| + 77| + 88 + )[2-9]\d{6}| + 310\d{4} + </nationalNumberPattern> + <exampleNumber>8002123456</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>900[2-9]\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>9002123456</exampleNumber> + </premiumRate> + <personalNumber> + <!-- http://www.nanpa.com/pdf/PL_416.pdf --> + <nationalNumberPattern> + 5(?: + 00| + 33| + 44 + )[2-9]\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>5002345678</exampleNumber> + </personalNumber> + </territory> + + <!-- Congo, Dem. Rep. of the (formerly Zaire) --> + <!-- http://www.itu.int/oth/T0202000037/en --> + <territory id="CD" countryCode="243" internationalPrefix="00" + nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG"> + <availableFormats> + <numberFormat pattern="([89]\d{2})(\d{3})(\d{3})"> + <leadingDigits>[89]</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="([1-6]\d)(\d{5})"> + <leadingDigits>[1-6]</leadingDigits> + <format>$1 $2</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern> + [89]\d{8}| + [1-6]\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{7,9}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern>[1-6]\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{7}</possibleNumberPattern> + <exampleNumber>1234567</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern> + (?: + 8[0-2489]| + 9[7-9] + )\d{7} + </nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>991234567</exampleNumber> + </mobile> + </territory> + + <!-- Central African Republic --> + <!-- http://www.itu.int/oth/T0202000028/en --> + <territory id="CF" countryCode="236" internationalPrefix="00"> + <availableFormats> + <numberFormat pattern="(\d{2})(\d{2})(\d{2})(\d{2})"> + <format>$1 $2 $3 $4</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[278]\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern>2[12]\d{6}</nationalNumberPattern> + <exampleNumber>21612345</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern>7[0257]\d{6}</nationalNumberPattern> + <exampleNumber>70012345</exampleNumber> + </mobile> + <premiumRate> + <nationalNumberPattern>8776\d{4}</nationalNumberPattern> + <exampleNumber>87761234</exampleNumber> + </premiumRate> + </territory> + + <!-- Congo (Rep. of the) (Brazzaville) --> + <!-- http://www.itu.int/oth/T020200002E/en --> + <territory id="CG" countryCode="242" internationalPrefix="00" leadingZeroPossible="true"> + <availableFormats> + <numberFormat pattern="(\d{2})(\d{3})(\d{4})"> + <leadingDigits>[02]</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(\d)(\d{4})(\d{4})"> + <leadingDigits>8</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[028]\d{8}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern>222[1-589]\d{5}</nationalNumberPattern> + <exampleNumber>222123456</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern>0[14-6]\d{7}</nationalNumberPattern> + <exampleNumber>061234567</exampleNumber> + </mobile> + <!-- Referred to as a "Green number" in the telephone plan. --> + <tollFree> + <nationalNumberPattern>800\d{6}</nationalNumberPattern> + <exampleNumber>800123456</exampleNumber> + </tollFree> + </territory> + + <!-- Switzerland --> + <!-- http://www.bakom.admin.ch/themen/telekom/00479/00604/index.html?lang=en + under Technical prescriptions: Numbering plan for international carriers --> + <territory id="CH" countryCode="41" internationalPrefix="00" + nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG"> + <availableFormats> + <numberFormat pattern="([2-9]\d)(\d{3})(\d{2})(\d{2})"> + <leadingDigits> + [2-7]| + [89]1 + </leadingDigits> + <format>$1 $2 $3 $4</format> + </numberFormat> + <numberFormat pattern="([89]\d{2})(\d{3})(\d{3})"> + <leadingDigits> + 8[047]| + 90 + </leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[2-9]\d{8}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + (?: + 2[12467]| + 3[1-4]| + 4[134]| + 5[12568]| + 6[12]| + [7-9]1 + )\d{7} + </nationalNumberPattern> + <exampleNumber>212345678</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern>7[46-9]\d{7}</nationalNumberPattern> + <exampleNumber>741234567</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern>800\d{6}</nationalNumberPattern> + <exampleNumber>800123456</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>90[016]\d{6}</nationalNumberPattern> + <exampleNumber>900123456</exampleNumber> + </premiumRate> + <sharedCost> + <nationalNumberPattern>84[0248]\d{6}</nationalNumberPattern> + <exampleNumber>840123456</exampleNumber> + </sharedCost> + <personalNumber> + <nationalNumberPattern>878\d{6}</nationalNumberPattern> + <exampleNumber>878123456</exampleNumber> + </personalNumber> + </territory> + + <!-- Côte d'Ivoire --> + <!-- http://www.itu.int/oth/T0202000031/en --> + <territory id="CI" countryCode="225" internationalPrefix="00" leadingZeroPossible="true"> + <availableFormats> + <!-- Using format from online yellow pages over format implied in national numbering plan. + --> + <numberFormat pattern="(\d{2})(\d{2})(\d{2})(\d{2})"> + <format>$1 $2 $3 $4</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[02-5]\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + (?: + 2(?: + 0[023]| + 1[02357]| + [23][045]| + 4[03-5] + )| + 3(?: + 0[06]| + 1[069]| + [2-4][07]| + 5[09]| + 6[08] + ) + )\d{5} + </nationalNumberPattern> + <exampleNumber>21234567</exampleNumber> + </fixedLine> + <mobile> + <!-- Added the prefixes 40 and 57 because SMS messages have been successfully delivered. + Supported by numbers found on the internet. --> + <nationalNumberPattern> + (?: + 0[1-9]| + 4[04-9]| + 5[07]| + 6[067] + )\d{6} + </nationalNumberPattern> + <exampleNumber>01234567</exampleNumber> + </mobile> + </territory> + + <!-- Cook Islands --> + <!-- http://www.itu.int/oth/T020200002F/en --> + <territory id="CK" countryCode="682" internationalPrefix="00"> + <availableFormats> + <numberFormat pattern="(\d{2})(\d{3})"> + <format>$1 $2</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[2-57]\d{4}</nationalNumberPattern> + <possibleNumberPattern>\d{5}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + (?: + 2\d| + 3[13-7]| + 4[1-5] + )\d{3} + </nationalNumberPattern> + <exampleNumber>21234</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern> + (?: + 5[0-68]| + 7\d + )\d{3} + </nationalNumberPattern> + <exampleNumber>71234</exampleNumber> + </mobile> + </territory> + + <!-- Chile --> + <!-- http://www.itu.int/oth/T020200002A/en --> + <!-- http://en.wikipedia.org/wiki/%2B56 --> + <!-- Carriers listed here: http://www.turismochile.com/datos/carrier.php --> + <territory id="CL" countryCode="56" + internationalPrefix="(?:0|1(?:1[0-69]|2[0-57]|5[13-58]|69|7[0167]|8[018]))0" + nationalPrefix="0" + nationalPrefixForParsing="0|(1(?:1[0-69]|2[0-57]|5[13-58]|69|7[0167]|8[018]))" + nationalPrefixFormattingRule="$NP$FG"> + <!-- When dialling mobile numbers from landlines, or vice versa, you need a prefix of 0, which + we strip here. National destinations may be dialled with a carrier if they are not local so + we extract these carrier codes as well. --> + <availableFormats> + <numberFormat pattern="(2)(\d{3})(\d{4})" + nationalPrefixFormattingRule="($FG)" + carrierCodeFormattingRule="$CC ($FG)"> + <leadingDigits>2</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(\d{2})(\d{2,3})(\d{4})" + nationalPrefixFormattingRule="($FG)" + carrierCodeFormattingRule="$CC ($FG)"> + <leadingDigits> + [357]| + 4[1-35]| + 6[13-57] + </leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(9)([6-9]\d{3})(\d{4})"> + <leadingDigits>9</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(44)(\d{3})(\d{4})"> + <leadingDigits>44</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat nationalPrefixFormattingRule="$FG" + pattern="([68]00)(\d{3})(\d{3,4})"> + <leadingDigits> + 60| + 8 + </leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat nationalPrefixFormattingRule="$FG" + pattern="(600)(\d{3})(\d{2})(\d{3})"> + <leadingDigits>60</leadingDigits> + <format>$1 $2 $3 $4</format> + </numberFormat> + <numberFormat nationalPrefixFormattingRule="$FG" + pattern="(1230)(\d{3})(\d{4})"> + <leadingDigits>1</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern> + (?: + [2-9]| + 600| + 123 + )\d{7,8} + </nationalNumberPattern> + <possibleNumberPattern>\d{6,11}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + (?: + 2| + 32| + 41 + )\d{7}| + (?: + 3[3-5]| + 4[235]| + 5[1-3578]| + 6[13-57]| + 7[1-35] + )\d{6,7} + </nationalNumberPattern> + <!-- Area codes do not need to be dialled when dialling within the same area, so the + smallest possible number is length 6. --> + <possibleNumberPattern>\d{6,9}</possibleNumberPattern> + <exampleNumber>21234567</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern>9[6-9]\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{8,9}</possibleNumberPattern> + <exampleNumber>961234567</exampleNumber> + </mobile> + <!-- Toll free and premium rate patterns have been collected by looking at numbers on the + internet, rather than from a definitive source. --> + <tollFree> + <!-- 1230 numbers are used by Visa/Mastercard helplines in Chile --> + <nationalNumberPattern> + 800\d{6}| + 1230\d{7} + </nationalNumberPattern> + <possibleNumberPattern>\d{9,11}</possibleNumberPattern> + <exampleNumber>800123456</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>600\d{7,8}</nationalNumberPattern> + <possibleNumberPattern>\d{10,11}</possibleNumberPattern> + <exampleNumber>6001234567</exampleNumber> + </premiumRate> + <voip> + <nationalNumberPattern>44\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>441234567</exampleNumber> + </voip> + </territory> + + <!-- Cameroon --> + <!-- http://www.itu.int/oth/T0202000024/en --> + <territory id="CM" countryCode="237" internationalPrefix="00"> + <availableFormats> + <!-- Formatting on the internet is consistently with the first 2 extracted, and usually in + the same format as France (all 2 digit groups) so we use this instead of the guidance + of the national numbering plan (which has 1 3 2 2 and 4 4 as its two formatting + examples.) --> + <numberFormat pattern="([237-9]\d)(\d{2})(\d{2})(\d{2})"> + <leadingDigits> + [2379]| + 88 + </leadingDigits> + <format>$1 $2 $3 $4</format> + </numberFormat> + <numberFormat pattern="(800)(\d{2})(\d{3})"> + <leadingDigits>80</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[237-9]\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <!-- Technically, the numbers are required only to start with a 2 or a 3, but all numbers at + the moment start with 22 or 33 since they have been migrated from seven digit numbers + beginning with these numbers. This rule should be relaxed if/when we start getting + numbers beginning in other ways. --> + <nationalNumberPattern> + (?: + 22| + 33 + )\d{6} + </nationalNumberPattern> + <exampleNumber>22123456</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern>[79]\d{7}</nationalNumberPattern> + <exampleNumber>71234567</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern>800\d{5}</nationalNumberPattern> + <exampleNumber>80012345</exampleNumber> + </tollFree> + <premiumRate> + <!-- These numbers are listed as value-added in the guide, and in practice seem to begin + with 88 (usually 880). No information can be found as to whether these are premium rate + or shared cost. --> + <nationalNumberPattern>88\d{6}</nationalNumberPattern> + <exampleNumber>88012345</exampleNumber> + </premiumRate> + </territory> + + <!-- China --> + <!-- http://www.itu.int/dms_pub/itu-t/oth/02/02/T020200002B0001XLSE.xls --> + <territory id="CN" countryCode="86" internationalPrefix="00" + nationalPrefix="0"> + <availableFormats> + <numberFormat nationalPrefixFormattingRule="$NP$FG" + pattern="(80\d{2})(\d{4})"> + <leadingDigits>80[2678]</leadingDigits> + <format>$1 $2</format> + </numberFormat> + <numberFormat pattern="([48]00)(\d{3})(\d{4})"> + <leadingDigits>[48]00</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <!-- Local numbers --> + <!-- Chinese fixed-line numbers can be dialed from a cell phone without area code and they + can be 7 to 8 digits. This rule is here to make formatting work with such numbers, as + people frequently store them in their cellphones. It has to stay before formatting + rules for fixed-line numbers to make AsYouTypeFormatter work with these numbers. The + leadingDigits prefix makes sure it doesn't clash with mobile numbers. --> + <numberFormat pattern="(\d{3,4})(\d{4})"> + <leadingDigits>[2-9]</leadingDigits> + <format>$1 $2</format> + </numberFormat> + <numberFormat nationalPrefixFormattingRule="$NP$FG" + pattern="(21)(\d{4})(\d{4,6})"> + <leadingDigits>21</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat nationalPrefixFormattingRule="$NP$FG" + pattern="([12]\d)(\d{4})(\d{4})"> + <leadingDigits> + 10[1-9]| + 2[02-9] + </leadingDigits> + <!-- Note the leadingDigitsPattern for 4 digits is the same as 3 digits, --> + <leadingDigits> + 10[1-9]| + 2[02-9] + </leadingDigits> + <leadingDigits> + 10(?: + [1-79]| + 8(?: + [1-9]| + 0[1-9] + ) + )| + 2[02-9] + </leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat nationalPrefixFormattingRule="$NP$FG" + pattern="(\d{3})(\d{4})(\d{4})"> + <leadingDigits> + 3(?: + 11| + 7[159] + )| + 4[135]1| + 5(?: + 1| + 2[37]| + 3[12]| + 7[13-79]| + 9[15] + )| + 7(?: + 31| + 5[457]| + 6[09] + )| + 898 + </leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat nationalPrefixFormattingRule="$NP$FG" + pattern="(\d{3})(\d{3})(\d{4})"> + <leadingDigits> + 3(?: + 1[02-9]| + 35| + 49| + 5| + 7[02-68]| + 9[1-68] + )| + 4(?: + 1[02-9]| + 2[179]| + [35][2-9]| + 6[4789]| + 7[0-46-9]| + 8[23] + )| + 5(?: + 3[03-9]| + 4[36]| + 5| + 6[1-6]| + 7[028]| + 80| + 9[2-46-9] + )| + 6(?: + 3[1-5]| + 6[0238]| + 9[12] + )| + 7(?: + 01| + [1579]| + 2[248]| + 3[04-9]| + 4[3-6]| + 6[2368] + )| + 8(?: + 1[236-8]| + 2[5-7]| + [37]| + 5[1-9]| + 8[3678]| + 9[1-7] + )| + 9(?: + 0[1-3689]| + 1[1-79]| + [379]| + 4[13]| + 5[1-5] + ) + </leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(1[3-58]\d)(\d{4})(\d{4})"> + <leadingDigits>1[3-58]</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(10800)(\d{3})(\d{4})"> + <leadingDigits>108</leadingDigits> + <leadingDigits>1080</leadingDigits> + <leadingDigits>10800</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <intlNumberFormat pattern="(21)(\d{4})(\d{4,6})"> + <leadingDigits>21</leadingDigits> + <format>$1 $2 $3</format> + </intlNumberFormat> + <intlNumberFormat pattern="([12]\d)(\d{4})(\d{4})"> + <leadingDigits> + 10[1-9]| + 2[02-9] + </leadingDigits> + <!-- Note the leadingDigitsPattern for 4 digits is the same as 3 digits, --> + <leadingDigits> + 10[1-9]| + 2[02-9] + </leadingDigits> + <leadingDigits> + 10(?: + [1-79]| + 8(?: + [1-9]| + 0[1-9] + ) + )| + 2[02-9] + </leadingDigits> + <format>$1 $2 $3</format> + </intlNumberFormat> + <intlNumberFormat pattern="(80\d{2})(\d{4})"> + <leadingDigits>80[2678]</leadingDigits> + <format>$1 $2</format> + </intlNumberFormat> + <intlNumberFormat + pattern="(\d{3})(\d{4})(\d{4})"> + <leadingDigits> + 3(?: + 11| + 7[159] + )| + 4[135]1| + 5(?: + 1| + 2[37]| + 3[12]| + 7[13-79]| + 9[15] + )| + 7(?: + 31| + 5[457]| + 6[09] + )| + 898 + </leadingDigits> + <format>$1 $2 $3</format> + </intlNumberFormat> + <intlNumberFormat + pattern="(\d{3})(\d{3})(\d{4})"> + <leadingDigits> + 3(?: + 1[02-9]| + 35| + 49| + 5| + 7[02-68]| + 9[1-68] + )| + 4(?: + 1[02-9]| + 2[179]| + [35][2-9]| + 6[4789]| + 7[0-46-9]| + 8[23] + )| + 5(?: + 3[03-9]| + 4[36]| + 5| + 6[1-6]| + 7[028]| + 80| + 9[2-46-9] + )| + 6(?: + 3[1-5]| + 6[0238]| + 9[12] + )| + 7(?: + 01| + [1579]| + 2[248]| + 3[04-9]| + 4[3-6]| + 6[2368] + )| + 8(?: + 1[236-8]| + 2[5-7]| + [37]| + 5[1-9]| + 8[3678]| + 9[1-7] + )| + 9(?: + 0[1-3689]| + 1[1-79]| + [379]| + 4[13]| + 5[1-5] + ) + </leadingDigits> + <format>$1 $2 $3</format> + </intlNumberFormat> + <intlNumberFormat pattern="(1[3-58]\d)(\d{4})(\d{4})"> + <leadingDigits>1[3-58]</leadingDigits> + <format>$1 $2 $3</format> + </intlNumberFormat> + <intlNumberFormat pattern="([48]00)(\d{3})(\d{4})"> + <leadingDigits>[48]00</leadingDigits> + <format>$1 $2 $3</format> + </intlNumberFormat> + <intlNumberFormat pattern="(10800)(\d{3})(\d{4})"> + <leadingDigits>108</leadingDigits> + <leadingDigits>1080</leadingDigits> + <leadingDigits>10800</leadingDigits> + <format>$1 $2 $3</format> + </intlNumberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern> + [1-79]\d{7,11}| + 8[0-357-9]\d{6,9} + </nationalNumberPattern> + <possibleNumberPattern>\d{4,12}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + 21\d{8,10}| + (?: + 10| + 2[02-57-9]| + 3(?: + 11| + 7[159] + )| + 4[135]1| + 5(?: + 1\d| + 2[37]| + 3[12]| + 7[13-79]| + 9[15] + )| + 7(?: + 31| + 5[457]| + 6[09] + )| + 898 + )\d{8}| + (?: + 3(?: + 1[02-9]| + 35| + 49| + 5\d| + 7[02-68]| + 9[1-68] + )| + 4(?: + 1[02-9]| + 2[179]| + [35][2-9]| + 6[4789]| + 7[0-46-9]| + 8[23] + )| + 5(?: + 3[03-9]| + 4[36]| + 5\d| + 6[1-6]| + 7[028]| + 80| + 9[2-46-9] + )| + 6(?: + 3[1-5]| + 6[0238]| + 9[12] + )| + 7(?: + 01| + [1579]\d| + 2[248]| + 3[04-9]| + 4[3-6]| + 6[2368] + )| + 8(?: + 1[236-8]| + 2[5-7]| + [37]\d| + 5[1-9]| + 8[3678]| + 9[1-7] + )| + 9(?: + 0[1-3689]| + 1[1-79]| + [379]\d| + 4[13]| + 5[1-5] + ) + )\d{7}| + 80(?: + 29| + 6[03578]| + 7[018]| + 81 + )\d{4} + </nationalNumberPattern> + <exampleNumber>1012345678</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern> + 1(?: + 3[0-9]| + 47| + 5[0135689]| + 8[05-9] + )\d{8} + </nationalNumberPattern> + <possibleNumberPattern>\d{11}</possibleNumberPattern> + <exampleNumber>13123456789</exampleNumber> + </mobile> + <!-- Toll free, premium rate, and VoIP numbers are not clearly defined in the official Chinese + number plan, and do not seem to have been standardized. The information below is + collected from searching the web. --> + <!-- http://en.wikipedia.org/wiki/Toll-free_telephone_number --> + <tollFree> + <nationalNumberPattern> + (?: + 10 + )?800\d{7} + </nationalNumberPattern> + <possibleNumberPattern>\d{10,12}</possibleNumberPattern> + <exampleNumber>8001234567</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>16[08]\d{5}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>16812345</exampleNumber> + </premiumRate> + <voip> + <nationalNumberPattern>400\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>4001234567</exampleNumber> + </voip> + </territory> + + <!-- Colombia --> + <!-- http://www.itu.int/oth/T020200002C/en + http://en.wikipedia.org/wiki/Telephone_numbers_in_Colombia --> + <territory id="CO" countryCode="57" internationalPrefix="00[579]|#555|#999" + nationalPrefix="0" nationalPrefixForParsing="0([3579]|4(?:44|56))"> + <availableFormats> + <numberFormat pattern="(\d)(\d{7})" carrierCodeFormattingRule="$NP$CC $FG" + nationalPrefixFormattingRule="($FG)"> + <leadingDigits> + 1(?: + 8[2-9]| + 9[0-3]| + [2-7] + )| + [24-8] + </leadingDigits> + <leadingDigits> + 1(?: + 8[2-9]| + 9(?: + 09| + [1-3] + )| + [2-7] + )| + [24-8] + </leadingDigits> + <format>$1 $2</format> + </numberFormat> + <intlNumberFormat pattern="(\d)(\d{7})"> + <leadingDigits> + 1(?: + 8[2-9]| + 9[0-3]| + [2-7] + )| + [24-8] + </leadingDigits> + <leadingDigits> + 1(?: + 8[2-9]| + 9(?: + 09| + [1-3] + )| + [2-7] + )| + [24-8] + </leadingDigits> + <format>$1 $2</format> + </intlNumberFormat> + <numberFormat pattern="(\d{3})(\d{7})" carrierCodeFormattingRule="$NP$CC $FG"> + <leadingDigits>3</leadingDigits> + <format>$1 $2</format> + </numberFormat> + <intlNumberFormat pattern="(\d{3})(\d{7})"> + <leadingDigits>3</leadingDigits> + <format>$1 $2</format> + </intlNumberFormat> + <numberFormat pattern="(1)(\d{3})(\d{7})" nationalPrefixFormattingRule="$NP$FG"> + <leadingDigits> + 1(?: + 80| + 9[04] + ) + </leadingDigits> + <leadingDigits> + 1(?: + 800| + 9(?: + 0[01]| + 4[78] + ) + ) + </leadingDigits> + <format>$1-$2-$3</format> + </numberFormat> + <intlNumberFormat pattern="(1)(\d{3})(\d{7})"> + <leadingDigits> + 1(?: + 80| + 9[04] + ) + </leadingDigits> + <leadingDigits> + 1(?: + 800| + 9(?: + 0[01]| + 4[78] + ) + ) + </leadingDigits> + <format>$1 $2 $3</format> + </intlNumberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern> + (?: + [13]\d{0,3}| + [24-8] + )\d{7} + </nationalNumberPattern> + <possibleNumberPattern>\d{7,11}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern>[124-8][2-9]\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>12345678</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern> + 3(?: + 0[0-24]| + 1[0-8]| + 2[01] + )\d{7} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>3211234567</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern>1800\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{11}</possibleNumberPattern> + <exampleNumber>18001234567</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern> + 19(?: + 0[01]| + 4[78] + )\d{7} + </nationalNumberPattern> + <possibleNumberPattern>\d{11}</possibleNumberPattern> + <exampleNumber>19001234567</exampleNumber> + </premiumRate> + </territory> + + <!-- Costa Rica --> + <!-- http://www.itu.int/oth/T0202000030/en --> + <territory id="CR" countryCode="506" internationalPrefix="00" + nationalPrefixForParsing="(1900)" carrierCodeFormattingRule="$CC $FG"> + <availableFormats> + <numberFormat pattern="(\d{4})(\d{4})"> + <leadingDigits> + [24]| + 8[3-9] + </leadingDigits> + <format>$1 $2</format> + </numberFormat> + <numberFormat pattern="(\d{3})(\d{3})(\d{4})"> + <leadingDigits>[89]0</leadingDigits> + <format>$1-$2-$3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[2489]\d{7,9}</nationalNumberPattern> + <possibleNumberPattern>\d{8,10}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern>2[24-7]\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>22123456</exampleNumber> + </fixedLine> + <mobile> + <!-- Adding 87[0-3] prefixes after numbers were found online where these prefixes have been + assigned. --> + <nationalNumberPattern> + 8(?: + [389]\d| + 7[0-3] + )\d{5} + </nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>83123456</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern>800\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>8001234567</exampleNumber> + </tollFree> + <premiumRate> + <!-- Includes "mass calls" numbers with prefix 905. --> + <nationalNumberPattern>90[059]\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>9001234567</exampleNumber> + </premiumRate> + <voip> + <nationalNumberPattern>4000\d{4}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>40001234</exampleNumber> + </voip> + <shortCode> + <!-- This pattern excludes 4-digit SMS content numbers for now. --> + <nationalNumberPattern> + 1(?: + 02[2-469]| + 1(?: + 1[0235-9]| + 2| + 37| + 46| + 75| + 8[79]| + 9[0-379] + )| + 212) + </nationalNumberPattern> + <possibleNumberPattern>\d{3,4}</possibleNumberPattern> + <exampleNumber>1022</exampleNumber> + </shortCode> + </territory> + + <!-- Cuba --> + <!-- www.itu.int/oth/T0202000033/en --> + <territory id="CU" countryCode="53" internationalPrefix="119" + nationalPrefix="0" nationalPrefixFormattingRule="($NP$FG)"> + <availableFormats> + <numberFormat pattern="(\d)(\d{6,7})"> + <leadingDigits>7</leadingDigits> + <format>$1 $2</format> + </numberFormat> + <numberFormat pattern="(\d{2})(\d{4,6})"> + <leadingDigits>[2-4]</leadingDigits> + <format>$1 $2</format> + </numberFormat> + <numberFormat pattern="(\d)(\d{7})" nationalPrefixFormattingRule="$NP$FG"> + <leadingDigits>5</leadingDigits> + <format>$1 $2</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[2-57]\d{5,7}</nationalNumberPattern> + <possibleNumberPattern>\d{4,8}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + 2[1-4]\d{5,6}| + 3(?: + 1\d{6}| + [23]\d{4,6})| + 4(?: + [125]\d{5,6}| + [36]\d{6}| + [78]\d{4,6})| + 7\d{6,7} + </nationalNumberPattern> + <exampleNumber>71234567</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern>5\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>51234567</exampleNumber> + </mobile> + </territory> + + <!-- Cape Verde --> + <!-- http://www.itu.int/oth/T0202000026/en --> + <territory id="CV" countryCode="238" internationalPrefix="0"> + <availableFormats> + <numberFormat pattern="(\d{3})(\d{2})(\d{2})"> + <format>$1 $2 $3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[259]\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{7}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + 2(?: + 2[1-7]| + 3[0-8]| + 4[12]| + 5[1256]| + 6\d| + 7[1-3]| + 8[1-5] + )\d{4} + </nationalNumberPattern> + <exampleNumber>2211234</exampleNumber> + </fixedLine> + <mobile> + <!-- It seems, contrary to their numbering plan, the entire 9X range is used for mobile + phones. SMS messages has been successfully sent to numbers starting with 95 and 97 for + example, and there are plenty of numbers on the internet that start with these + prefixes. --> + <nationalNumberPattern> + (?: + 9\d| + 59 + )\d{5} + </nationalNumberPattern> + <exampleNumber>9911234</exampleNumber> + </mobile> + </territory> + + <!-- Cyprus --> + <!-- http://www.itu.int/oth/T0202000034/en --> + <territory id="CY" countryCode="357" internationalPrefix="00"> + <availableFormats> + <!-- Format from http://www.cyprusyellowpages.com/--> + <numberFormat pattern="([27-9]\d)(\d{6})"> + <format>$1 $2</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[27-9]\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern>2[2-6]\d{6}</nationalNumberPattern> + <exampleNumber>22345678</exampleNumber> + </fixedLine> + <mobile> + <!-- Universal Access Service numbers (7777 xxxx) are included here, as they are classified + as Mobile in the Cyprus national numbering plan. --> + <nationalNumberPattern> + 7777\d{4}| + 9(?: + [69]\d| + 7[67] + )\d{5} + </nationalNumberPattern> + <exampleNumber>96123456</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern>8000\d{4}</nationalNumberPattern> + <exampleNumber>80001234</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>9009\d{4}</nationalNumberPattern> + <exampleNumber>90091234</exampleNumber> + </premiumRate> + <personalNumber> + <nationalNumberPattern>700\d{5}</nationalNumberPattern> + <exampleNumber>70012345</exampleNumber> + </personalNumber> + </territory> + + <!-- Czech Rep. --> + <!-- http://www.itu.int/oth/T0202000035/en --> + <!-- http://en.wikipedia.org/wiki/%2B420 --> + <territory id="CZ" countryCode="420" internationalPrefix="00"> + <availableFormats> + <numberFormat pattern="([2-9]\d{2})(\d{3})(\d{3})"> + <format>$1 $2 $3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[2-9]\d{8}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + 2\d{8}| + (?: + 3[1257-9]| + 4[16-9]| + 5[13-9] + )\d{7} + </nationalNumberPattern> + <exampleNumber>212345678</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern> + 60[1-8]\d{6}| + 7[2379]\d{7} + </nationalNumberPattern> + <exampleNumber>601123456</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern>800\d{6}</nationalNumberPattern> + <exampleNumber>800123456</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>90[0689]\d{6}</nationalNumberPattern> + <exampleNumber>900123456</exampleNumber> + </premiumRate> + <sharedCost> + <nationalNumberPattern>8[134]\d{7}</nationalNumberPattern> + <exampleNumber>811234567</exampleNumber> + </sharedCost> + <personalNumber> + <nationalNumberPattern>70[01]\d{6}</nationalNumberPattern> + <exampleNumber>700123456</exampleNumber> + </personalNumber> + </territory> + + <!-- Germany --> + <!-- http://www.itu.int/oth/T0202000051/en --> + <territory id="DE" countryCode="49" internationalPrefix="00" + nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG"> + <availableFormats> + <numberFormat pattern="(\d{2})(\d{4,11})"> + <leadingDigits> + 3[02]| + 40| + [68]9 + </leadingDigits> + <format>$1/$2</format> + </numberFormat> + <!-- The order of the rules on 3-5 digits area code matter as fallback is used here. --> + <!-- 3 digit area codes. --> + <numberFormat pattern="(\d{3})(\d{3,10})"> + <leadingDigits> + 2(?: + \d1| + 0[2389]| + 1[24]| + 28| + 34 + )| + 3(?: + [3-9][15]| + 40 + )| + [4-8][1-9]1| + 9(?: + 06| + [1-9]1 + ) + </leadingDigits> + <format>$1/$2</format> + </numberFormat> + <!-- 4 digit area codes. --> + <numberFormat pattern="(\d{4})(\d{2,8})"> + <leadingDigits> + [24-6]| + [7-9](?: + \d[1-9]| + [1-9]\d + )| + 3(?: + [3569][02-46-9]| + 4[2-4679]| + 7[2-467]| + 8[2-46-8] + ) + </leadingDigits> + <leadingDigits> + [24-6]| + [7-9](?: + \d[1-9]| + [1-9]\d + )| + 3(?: + 3(?: + 0[1-467]| + 2[127-9]| + 3[124578]| + [46][1246]| + 7[1257-9]| + 8[1256]| + 9[145] + )| + 4(?: + 2[135]| + 3[1357]| + 4[13578]| + 6[1246]| + 7[1356]| + 9[1346] + )| + 5(?: + 0[14]| + 2[1-3589]| + 3[1357]| + 4[1246]| + 6[1-4]| + 7[1346]| + 8[13568]| + 9[1246] + )| + 6(?: + 0[356]| + 2[1-489]| + 3[124-6]| + 4[1347]| + 6[13]| + 7[12579]| + 8[1-356]| + 9[135] + )| + 7(?: + 2[1-7]| + 3[1357]| + 4[145]| + 6[1-5]| + 7[1-4] + )| + 8(?: + 21| + 3[1468]| + 4[1347]| + 6[0135-9]| + 7[1467]| + 8[136] + )| + 9(?: + 0[12479]| + 2[1358]| + 3[1357]| + 4[134679]| + 6[1-9]| + 7[136]| + 8[147]| + 9[1468] + ) + ) + </leadingDigits> + <format>$1/$2</format> + </numberFormat> + <!-- 5 digit area codes. --> + <numberFormat pattern="(\d{5})(\d{1,6})"> + <leadingDigits>3</leadingDigits> + <format>$1/$2</format> + </numberFormat> + <!-- http://www.t-mobile.de/servicehotlines/0,13401,17660-_,00.html --> + <numberFormat pattern="([18]\d{2})(\d{7,9})"> + <leadingDigits> + 1[5-7]| + 800 + </leadingDigits> + <format>$1 $2</format> + </numberFormat> + <numberFormat pattern="(\d{3})(\d)(\d{4,10})"> + <leadingDigits> + (?: + 18| + 90 + )0 + </leadingDigits> + <leadingDigits> + 180| + 900[1359] + </leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(700)(\d{4})(\d{4})"> + <leadingDigits>700</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <!-- When deciding whether to assume a leading 49 is a country code or not, the number is + examined to see if it is valid with the 49 as part of the number. Due to the variable + length of German numbers, this test is hard to do. The national pattern is hence + stricter for numbers starting with 49, to try and remove the country code if the number + begins with 49 whenever possible. --> + <nationalNumberPattern> + [1-35-9]\d{3,13}| + 4(?: + [0-8]\d{4,12}| + 9(?: + 4[1-8]| + [0-35-7]\d + )\d{2,7} + ) + </nationalNumberPattern> + <possibleNumberPattern>\d{2,14}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <!-- The numbering plan defines rather optimistic longest-number limits - online numbers + don't seem to respect this. The max-length is hence extended. --> + <nationalNumberPattern> + [246]\d{5,13}| + 3(?: + [03-9]\d{4,11}| + 2\d{9} + )| + 5(?: + 0[2-8]| + [38][0-8]| + [124-6]\d| + [79][0-7] + )\d{3,10}| + 7(?: + 0[2-8]| + [1-9]\d + )\d{3,10}| + 8(?: + 0[2-9]| + [1-9]\d + )\d{3,10}| + 9(?: + 0[6-9]| + [1-9]\d + )\d{3,10} + </nationalNumberPattern> + <exampleNumber>30123456</exampleNumber> + </fixedLine> + <mobile> + <!-- Note: 8 digit numbers seem to be available for prefix 176 now, + although no official documentation can be found, according to user + bug-reports. --> + <nationalNumberPattern> + 1(?: + 5\d{9}| + 7(?: + [0-57-9]| + 6\d + )\d{7}| + 6(?: + [02]\d{7,8}| + 3\d{7} + ) + ) + </nationalNumberPattern> + <possibleNumberPattern>\d{10,11}</possibleNumberPattern> + <exampleNumber>15123456789</exampleNumber> + </mobile> + <pager> + <nationalNumberPattern> + 16(?: + 4\d{1,10}| + [89]\d{1,11} + ) + </nationalNumberPattern> + <possibleNumberPattern>\d{4,14}</possibleNumberPattern> + <exampleNumber>16412345</exampleNumber> + </pager> + <tollFree> + <nationalNumberPattern>800\d{7,9}</nationalNumberPattern> + <possibleNumberPattern>\d{10,12}</possibleNumberPattern> + <exampleNumber>8001234567</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern> + 900(?: + [135]\d{6}| + 9\d{7} + ) + </nationalNumberPattern> + <possibleNumberPattern>\d{10,11}</possibleNumberPattern> + <exampleNumber>9001234567</exampleNumber> + </premiumRate> + <sharedCost> + <!-- See bug 1683119 for a discussion about maximum number lengths. --> + <nationalNumberPattern>180\d{5,11}</nationalNumberPattern> + <possibleNumberPattern>\d{8,14}</possibleNumberPattern> + <exampleNumber>18012345</exampleNumber> + </sharedCost> + <personalNumber> + <nationalNumberPattern>700\d{8}</nationalNumberPattern> + <possibleNumberPattern>\d{11}</possibleNumberPattern> + <exampleNumber>70012345678</exampleNumber> + </personalNumber> + </territory> + + <!-- Djibouti --> + <!-- http://www.itu.int/oth/T020200003A/en --> + <territory id="DJ" countryCode="253" internationalPrefix="00"> + <availableFormats> + <!-- The number format here is suggested in the plan and used online, + although the phone numbers of the national numbering authority itself on + the plan do not follow this. --> + <numberFormat pattern="(\d{2})(\d{2})(\d{2})"> + <format>$1 $2 $3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[1-8]\d{5}</nationalNumberPattern> + <possibleNumberPattern>\d{6}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <!-- Includes "Numéro long CDMA fixe" numbers starting with the digit 5. --> + <nationalNumberPattern> + (?: + 1[05]| + [2-5]\d + )\d{4} + </nationalNumberPattern> + <exampleNumber>251234</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern>[6-8]\d{5}</nationalNumberPattern> + <exampleNumber>601234</exampleNumber> + </mobile> + </territory> + + <!-- Denmark --> + <!-- http://en.itst.dk/telecom-internet-regulation/numbering-issues/numbering-lists --> + <territory id="DK" countryCode="45" internationalPrefix="00"> + <availableFormats> + <numberFormat pattern="([1-9]\d)(\d{2})(\d{2})(\d{2})"> + <format>$1 $2 $3 $4</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[1-9]\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + (?: + 3[2-9]| + 4[3-9]| + 5[4-9]| + 6[2-9]| + 7[02-9]| + 8[26-9]| + 9[6-9] + )\d{6} + </nationalNumberPattern> + <exampleNumber>32123456</exampleNumber> + </fixedLine> + <mobile> + <!-- There are some overlaps for some number prefixes - the plan says that they are 'mainly' + used for a certain type of number. --> + <nationalNumberPattern> + (?: + 2[0-9]| + 3[0-2]| + 4[0-2]| + 5[0-3]| + 6[01]| + 7[12]| + 81| + 99 + )\d{6} + </nationalNumberPattern> + <exampleNumber>20123456</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern>80\d{6}</nationalNumberPattern> + <exampleNumber>80123456</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>90\d{6}</nationalNumberPattern> + <exampleNumber>90123456</exampleNumber> + </premiumRate> + </territory> + + <!-- Dominica --> + <!-- http://www.itu.int/oth/T020200003B/en --> + <territory id="DM" countryCode="1" leadingDigits="767" + nationalPrefix="1" internationalPrefix="011"> + <generalDesc> + <!-- NANPA country - uses US formatting rules --> + <nationalNumberPattern>[57-9]\d{9}</nationalNumberPattern> + <possibleNumberPattern>\d{7}(?:\d{3})?</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + 767(?: + 2(?: + 55| + 66 + )| + 4(?: + 2[01]| + 4[0-25-9] + )| + 50[0-4] + )\d{4} + </nationalNumberPattern> + <exampleNumber>7674201234</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern> + 767(?: + 2(?: + [2346]5| + 7[5-7] + )| + 31[5-7]| + 61[4-6] + )\d{4} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>7672251234</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern> + 8(?: + 00| + 55| + 66| + 77| + 88 + )[2-9]\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>8002123456</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>900[2-9]\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>9002123456</exampleNumber> + </premiumRate> + <personalNumber> + <!-- http://www.nanpa.com/pdf/PL_416.pdf --> + <nationalNumberPattern> + 5(?: + 00| + 33| + 44 + )[2-9]\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>5002345678</exampleNumber> + </personalNumber> + </territory> + + <!-- Dominican Rep. --> + <!-- http://www.itu.int/oth/T020200003C/en --> + <territory id="DO" countryCode="1" leadingDigits="8[024]9" + nationalPrefix="1" internationalPrefix="011"> + <generalDesc> + <!-- NANPA country - uses US formatting rules --> + <nationalNumberPattern>[589]\d{9}</nationalNumberPattern> + <possibleNumberPattern>\d{7}(?:\d{3})?</possibleNumberPattern> + </generalDesc> + <fixedLine> + <!-- We could be more detailed here, as the metadata contains information about some of the + mobile/fixed-line prefixes, but the data is incomplete, so we restrict ourselves to a + more generic rule for now. --> + <nationalNumberPattern>8[024]9[2-9]\d{6}</nationalNumberPattern> + <exampleNumber>8092345678</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern>8[024]9[2-9]\d{6}</nationalNumberPattern> + <exampleNumber>8092345678</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern> + 8(?: + 00| + 55| + 66| + 77| + 88 + )[2-9]\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>8002123456</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>900[2-9]\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>9002123456</exampleNumber> + </premiumRate> + <personalNumber> + <!-- http://www.nanpa.com/pdf/PL_416.pdf --> + <nationalNumberPattern> + 5(?: + 00| + 33| + 44 + )[2-9]\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>5002345678</exampleNumber> + </personalNumber> + </territory> + + <!-- Algeria --> + <!-- http://www.itu.int/oth/T0202000003/en --> + <!-- www.arpt.dz --> + <territory id="DZ" countryCode="213" internationalPrefix="00" + nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG"> + <availableFormats> + <!-- Formatting from www.pagesjaunes-dz.com. --> + <numberFormat pattern="([1-4]\d)(\d{2})(\d{2})(\d{2})"> + <leadingDigits>[1-4]</leadingDigits> + <format>$1 $2 $3 $4</format> + </numberFormat> + <numberFormat pattern="([5-8]\d{2})(\d{2})(\d{2})(\d{2})"> + <leadingDigits>[5-8]</leadingDigits> + <format>$1 $2 $3 $4</format> + </numberFormat> + <numberFormat pattern="(9\d)(\d{3})(\d{2})(\d{2})"> + <leadingDigits>9</leadingDigits> + <format>$1 $2 $3 $4</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern> + (?: + [1-4]| + [5-9]\d + )\d{7} + </nationalNumberPattern> + <possibleNumberPattern>\d{8,9}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <!-- We include the VSAT lines here. --> + <nationalNumberPattern> + (?: + 1\d| + 2[014-79]| + 3[0-8]| + 4[0135689] + )\d{6}| + 9619\d{5} + </nationalNumberPattern> + <exampleNumber>12345678</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern> + (?: + 5[56]| + 6[69]| + 7[79] + )\d{7} + </nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>551234567</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern>800\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>800123456</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>80[3-689]1\d{5}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>808123456</exampleNumber> + </premiumRate> + <!-- The Algerian plan doesn't specify where the costs start to be considered "premium", so we + draw an arbitrary line here and say that from 50 Da up they will be considered premium. + --> + <sharedCost> + <nationalNumberPattern>80[12]1\d{5}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>801123456</exampleNumber> + </sharedCost> + <voip> + <nationalNumberPattern>98[23]\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>983123456</exampleNumber> + </voip> + </territory> + + <!-- Ecuador --> + <!-- http://en.wikipedia.org/wiki/+593 --> + <!-- http://www.conatel.gov.ec --> + <!-- http://www.itu.int/oth/T020200003D/en --> + <!-- A new plan has been prepared, but no implementation date has yet been stated. --> + <territory id="EC" countryCode="593" internationalPrefix="00" + nationalPrefix="0" nationalPrefixFormattingRule="($NP$FG)"> + <availableFormats> + <numberFormat pattern="(\d)(\d{3})(\d{4})"> + <leadingDigits>[2-7]</leadingDigits> + <format>$1 $2-$3</format> + </numberFormat> + <intlNumberFormat pattern="(\d)(\d{3})(\d{4})"> + <leadingDigits>[2-7]</leadingDigits> + <format>$1-$2-$3</format> + </intlNumberFormat> + <numberFormat pattern="(\d{2})(\d{3})(\d{3})" + nationalPrefixFormattingRule="$NP$FG"> + <leadingDigits>[89]</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <intlNumberFormat pattern="(\d{2})(\d{3})(\d{3})"> + <leadingDigits>[89]</leadingDigits> + <format>$1 $2 $3</format> + </intlNumberFormat> + <numberFormat pattern="(1800)(\d{3})(\d{3,4})" + nationalPrefixFormattingRule="$FG"> + <leadingDigits>1</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <intlNumberFormat pattern="(1800)(\d{3})(\d{3,4})"> + <leadingDigits>1</leadingDigits> + <format>$1 $2 $3</format> + </intlNumberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[2-9]\d{7}|1\d{9,10}</nationalNumberPattern> + <possibleNumberPattern>\d{7,11}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern>[2-7][2-7]\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{7,8}</possibleNumberPattern> + <exampleNumber>22123456</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern>[89]\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>99123456</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern>1800\d{6,7}</nationalNumberPattern> + <possibleNumberPattern>\d{10,11}</possibleNumberPattern> + <exampleNumber>18001234567</exampleNumber> + </tollFree> + </territory> + + <!-- Estonia --> + <!-- http://www.itu.int/oth/T0202000043/en --> + <!-- http://www.tja.ee/public/Legislation_side/Numbering_/Estonian_NP_eng.htm --> + <territory id="EE" countryCode="372" internationalPrefix="00"> + <availableFormats> + <numberFormat pattern="([34-79]\d{2})(\d{4})"> + <leadingDigits> + [369]| + 4[3-8]| + 5(?: + [0-2]| + 5[0-478]| + 6[45] + )| + 7[1-9] + </leadingDigits> + <leadingDigits> + [369]| + 4[3-8]| + 5(?: + [02]| + 1(?: + [0-8]| + 95 + )| + 5[0-478]| + 6(?: + 4[0-4]| + 5[1-589] + ) + )| + 7[1-9] + </leadingDigits> + <format>$1 $2</format> + </numberFormat> + <numberFormat pattern="(70)(\d{2})(\d{4})"> + <leadingDigits>70</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(8000)(\d{3})(\d{3})"> + <leadingDigits>800</leadingDigits> + <leadingDigits>8000</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="([458]\d{3})(\d{3,4})"> + <leadingDigits> + 40| + 5| + 8(?: + 00| + [1-5] + ) + </leadingDigits> + <leadingDigits> + 40| + 5| + 8(?: + 00[1-9]| + [1-5] + ) + </leadingDigits> + <format>$1 $2</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern> + [3-9]\d{6,7}| + 800\d{6,7} + </nationalNumberPattern> + <possibleNumberPattern>\d{7,10}</possibleNumberPattern> + </generalDesc> + <noInternationalDialling> + <nationalNumberPattern>800[2-9]\d{3}</nationalNumberPattern> + <possibleNumberPattern>\d{7}</possibleNumberPattern> + <exampleNumber>8002123</exampleNumber> + </noInternationalDialling> + <fixedLine> + <!-- Supporting eFax numbers here as well. --> + <nationalNumberPattern> + (?: + 3[23589]| + 4(?: + 0\d| + [3-8] + )| + 6\d| + 7[1-9]| + 88 + )\d{5} + </nationalNumberPattern> + <possibleNumberPattern>\d{7,8}</possibleNumberPattern> + <exampleNumber>3212345</exampleNumber> + </fixedLine> + <mobile> + <!-- 7 digit mobile numbers currently in use with special prefixes are preserved - new + numbers are 8 digits. --> + <nationalNumberPattern> + (?: + 5\d| + 8[1-5] + )\d{6}| + 5(?: + [02]\d{2}| + 1(?: + [0-8]\d| + 95 + )| + 5[0-478]\d| + 64[0-4]| + 65[1-589] + )\d{3} + </nationalNumberPattern> + <possibleNumberPattern>\d{7,8}</possibleNumberPattern> + <exampleNumber>51234567</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern> + 800(?: + 0\d{3}| + 1\d| + [2-9] + )\d{3} + </nationalNumberPattern> + <possibleNumberPattern>\d{7,10}</possibleNumberPattern> + <exampleNumber>80012345</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>900\d{4}</nationalNumberPattern> + <possibleNumberPattern>\d{7}</possibleNumberPattern> + <exampleNumber>9001234</exampleNumber> + </premiumRate> + <personalNumber> + <nationalNumberPattern>70[0-2]\d{5}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>70012345</exampleNumber> + </personalNumber> + <shortCode> + <nationalNumberPattern>1[1-9]\d</nationalNumberPattern> + <possibleNumberPattern>\d{3}</possibleNumberPattern> + <exampleNumber>112</exampleNumber> + </shortCode> + </territory> + + <!-- Egypt --> + <!-- http://www.itu.int/dms_pub/itu-t/oth/02/02/T020200003E0001MSWE.doc --> + <territory id="EG" countryCode="20" internationalPrefix="00" + nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG"> + <availableFormats> + <!-- Note that no explicit formatting rule is here for 5-digit numbers starting with a 16 + or 19. These are formatted without national prefix, as a block, so do not need to be + listed here. --> + <numberFormat pattern="(\d)(\d{7,8})"> + <leadingDigits>[23]</leadingDigits> + <format>$1 $2</format> + </numberFormat> + <numberFormat pattern="(\d{2})(\d{7})"> + <leadingDigits> + [14-6]| + [89][2-9] + </leadingDigits> + <format>$1 $2</format> + </numberFormat> + <numberFormat pattern="([89]00)(\d{3})(\d{4})"> + <leadingDigits>[89]00</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern> + 1\d{4,9}| + [2-689]\d{7,9} + </nationalNumberPattern> + <possibleNumberPattern>\d{5,10}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <!-- Short numbers used for businesses (starting with 16 or 19) are covered here. --> + <nationalNumberPattern> + (?: + 1[35][23]| + 2[23]\d| + 3\d| + 4(?: + 0[2-4]| + [578][23]| + 64 + )| + 5(?: + 0[234]| + [57][23] + )| + 6[24-689]3| + 8(?: + [28][2-4]| + 42| + 6[23] + )| + 9(?: + [25]2| + 3[24]| + 6[23]| + 7[2-4] + ) + )\d{6}| + 1[69]\d{3} + </nationalNumberPattern> + <possibleNumberPattern>\d{5,9}</possibleNumberPattern> + <exampleNumber>234567890</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern>1[0-246-9]\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>101234567</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern>800\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>8001234567</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>900\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>9001234567</exampleNumber> + </premiumRate> + </territory> + + <!-- Eritrea --> + <!-- http://www.itu.int/oth/T0202000042/en --> + <territory id="ER" countryCode="291" internationalPrefix="00" + nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG"> + <availableFormats> + <numberFormat pattern="(\d)(\d{3})(\d{3})"> + <format>$1 $2 $3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[178]\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{6,7}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + 1(?: + 1[12568]| + 20| + 40| + 55| + 6[146] + )\d{4}| + 8\d{6} + </nationalNumberPattern> + <exampleNumber>8370362</exampleNumber><!-- Test number from plan. --> + </fixedLine> + <mobile> + <!-- It is unclear in the plan whether the 07 mobile prefix superseded the previous 017[1-3] + numbers or was in addition to them, so we support both here. --> + <nationalNumberPattern> + 17[1-3]\d{4}| + 7\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{7}</possibleNumberPattern> + <exampleNumber>7123456</exampleNumber> + </mobile> + </territory> + + <!-- Spain --> + <!-- http://www.mityc.es/telecomunicaciones/es-ES/Servicios/Numeracion/Paginas/Plan.aspx --> + <territory id="ES" countryCode="34" internationalPrefix="00"> + <availableFormats> + <numberFormat pattern="([5-9]\d{2})(\d{2})(\d{2})(\d{2})"> + <format>$1 $2 $3 $4</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[5-9]\d{8}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern>[89][1-8]\d{7}</nationalNumberPattern> + <exampleNumber>812345678</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern>6\d{8}</nationalNumberPattern> + <exampleNumber>612345678</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern>[89]00\d{6}</nationalNumberPattern> + <exampleNumber>800123456</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>80[367]\d{6}</nationalNumberPattern> + <exampleNumber>803123456</exampleNumber> + </premiumRate> + <sharedCost> + <nationalNumberPattern>90[12]\d{6}</nationalNumberPattern> + <exampleNumber>901123456</exampleNumber> + </sharedCost> + <personalNumber> + <nationalNumberPattern>70\d{7}</nationalNumberPattern> + <exampleNumber>701234567</exampleNumber> + </personalNumber> + <!-- Modelling non-geographic nomadic numbers as UAN. --> + <uan> + <nationalNumberPattern>51\d{7}</nationalNumberPattern> + <exampleNumber>511234567</exampleNumber> + </uan> + </territory> + + <!-- Ethiopia --> + <!-- http://www.itu.int/oth/T0202000044/en --> + <territory id="ET" countryCode="251" internationalPrefix="00" + nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG"> + <availableFormats> + <numberFormat pattern="([1-59]\d)(\d{3})(\d{4})"> + <format>$1 $2 $3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[1-59]\d{8}</nationalNumberPattern> + <possibleNumberPattern>\d{7,9}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + (?: + 11(?: + 1(?: + 1[124]| + 2[2-57]| + 3[1-5]| + 5[5-8]| + 8[6-8] + )| + 2(?: + 13| + 3[6-8]| + 5[89]| + 7[05-9]| + 8[2-6] + )| + 3(?: + 2[01]| + 3[0-289]| + 4[1289]| + 7[1-4]| + 87 + )| + 4(?: + 1[69]| + 3[2-49]| + 4[0-23]| + 6[5-8] + )| + 5(?: + 1[57]| + 44| + 5[0-4] + )| + 6(?: + 18| + 2[69]| + 4[5-7]| + 5[1-5]| + 6[0-59]| + 8[015-8] + ) + )| + 2(?: + 2(?: + 11[1-9]| + 22[0-7]| + 33\d| + 44[1467]| + 66[1-68] + )| + 5(?: + 11[124-6]| + 33[2-8]| + 44[1467]| + 55[14]| + 66[1-3679]| + 77[124-79]| + 880 + ) + )| + 3(?: + 3(?: + 11[0-46-8]| + 22[0-6]| + 33[0134689]| + 44[04]| + 55[0-6]| + 66[01467] + )| + 4(?: + 44[0-8]| + 55[0-69]| + 66[0-3]| + 77[1-5] + ) + )| + 4(?: + 6(?: + 22[0-24-7]| + 33[1-5]| + 44[13-69]| + 55[14-689]| + 660| + 88[1-4] + )| + 7(?: + 11[1-9]| + 22[1-9]| + 33[13-7]| + 44[13-6]| + 55[1-689] + ) + )| + 5(?: + 7(?: + 227| + 55[05]| + (?: + 66| + 77 + )[14-8] + )| + 8(?: + 11[149]| + 22[013-79]| + 33[0-68]| + 44[013-8]| + 550| + 66[1-5]| + 77\d + ) + ) + )\d{4} + </nationalNumberPattern> + <exampleNumber>111112345</exampleNumber> + </fixedLine> + <mobile> + <!-- The data here is not regularly updated by the Ethiopian authorities, and many more + numbers are visible online than are reported in the ITU document. This pattern is + therefore somewhat more relaxed than in the ITU document. --> + <nationalNumberPattern>91[0-8]\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>911234567</exampleNumber> + </mobile> + </territory> + + <!-- Finland --> + <!-- http://www.ficora.fi/en/index/palvelut/palvelutaiheittain/numerointi/numerotyypitjaalueet.html --> + <territory id="FI" countryCode="358" internationalPrefix="00|99[049]" + nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG"> + <availableFormats> + <numberFormat pattern="(\d{2})(\d{4,10})"> + <leadingDigits> + 2[09]| + [14]| + 50| + 7[135] + </leadingDigits> + <format>$1 $2</format> + </numberFormat> + <numberFormat pattern="(\d)(\d{4,11})"> + <leadingDigits> + [25689][1-8]| + 3 + </leadingDigits> + <format>$1 $2</format> + </numberFormat> + <numberFormat pattern="([6-8]00)(\d{4,7})"> + <leadingDigits>[6-8]0</leadingDigits> + <format>$1 $2</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern> + 1\d{4,11}| + [2-9]\d{4,10} + </nationalNumberPattern> + <possibleNumberPattern>\d{5,12}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <!-- This is limited to geographic numbers - non-geographic nationwide + subscriber numbers are listed under UAN. --> + <nationalNumberPattern> + 1(?: + [35689][1-8]\d{3,9}| + [47]\d{5,10} + )| + 2[1-8]\d{3,9}| + 3(?: + [1-8]\d{3,9}| + 9\d{4,8} + )| + [5689][1-8]\d{3,9}| + </nationalNumberPattern> + <exampleNumber>1312345678</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern> + 4\d{5,10}| + 50\d{4,8} + </nationalNumberPattern> + <possibleNumberPattern>\d{6,11}</possibleNumberPattern> + <exampleNumber>412345678</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern>800\d{4,7}</nationalNumberPattern> + <possibleNumberPattern>\d{7,10}</possibleNumberPattern> + <exampleNumber>8001234567</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>[67]00\d{5,6}</nationalNumberPattern> + <possibleNumberPattern>\d{8,9}</possibleNumberPattern> + <exampleNumber>600123456</exampleNumber> + </premiumRate> + <uan> + <nationalNumberPattern> + 10[1-9]\d{3,7}| + 2(?: + 0(?: + [16-8]\d{3,7}| + 2[14-9]\d{1,6}| + [3-5]\d{2,7}| + 9[0-7]\d{1,6} + )| + 9\d{4,8} + )| + 30[1-9]\d{3,7}| + 7(?: + 1\d{7}| + 3\d{8}| + 5[03-9]\d{2,7} + ) + </nationalNumberPattern> + <possibleNumberPattern>\d{6,10}</possibleNumberPattern> + <exampleNumber>10112345</exampleNumber> + </uan> + </territory> + + <!-- Fiji --> + <!-- http://www.itu.int/oth/T0202000048/en --> + <!-- www.tfl.com.fj --> + <territory id="FJ" countryCode="679" internationalPrefix="0(?:0|52)" + preferredInternationalPrefix="00" leadingZeroPossible="true"> + <availableFormats> + <numberFormat pattern="(\d{3})(\d{4})"> + <leadingDigits>[36-9]</leadingDigits> + <format>$1 $2</format> + </numberFormat> + <numberFormat pattern="(\d{4})(\d{3})(\d{4})"> + <leadingDigits>0</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern> + [36-9]\d{6}| + 0\d{10} + </nationalNumberPattern> + <possibleNumberPattern>\d{7}(?:\d{4})?</possibleNumberPattern> + </generalDesc> + <fixedLine> + <!-- Adding the prefixes 30X, 31X and 62X, since numbers with these prefixes have been found + online, including in the white pages. 35X and 85X were found in the exchanges listed on + www.tfl.com.fj. --> + <nationalNumberPattern> + (?: + 3[0-5]| + 6[25-7]| + 8[58] + )\d{5} + </nationalNumberPattern> + <possibleNumberPattern>\d{7}</possibleNumberPattern> + <exampleNumber>3212345</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern> + (?: + 7[0-4]| + 9[29] + )\d{5} + </nationalNumberPattern> + <possibleNumberPattern>\d{7}</possibleNumberPattern> + <exampleNumber>7012345</exampleNumber> + </mobile> + <tollFree> + <!-- Information found on www.tfl.com.fj. It is not clear if these are internationally + diallable, or if so, how. --> + <nationalNumberPattern>0800\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{11}</possibleNumberPattern> + <exampleNumber>08001234567</exampleNumber> + </tollFree> + <shortCode> + <!-- From the Emergency Numbers page on the Telecom Fiji website. --> + <nationalNumberPattern> + 0(?: + 04| + 1[34]| + 8[1-4] + )| + 1(?: + 0[1-3]| + [25]9 + )| + 2[289]| + 30| + [45]4| + 75| + 91[137] + </nationalNumberPattern> + <possibleNumberPattern>\d{2,3}</possibleNumberPattern> + <exampleNumber>22</exampleNumber> + </shortCode> + </territory> + + <!-- Falkland Islands (Malvinas) --> + <!-- http://www.itu.int/oth/T0202000046/en --> + <territory id="FK" countryCode="500" internationalPrefix="00"> + <!-- All numbers are formatted together, as a block. --> + <generalDesc> + <nationalNumberPattern>[2-7]\d{4}</nationalNumberPattern> + <possibleNumberPattern>\d{5}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern>[2-47]\d{4}</nationalNumberPattern> + <exampleNumber>31234</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern>[56]\d{4}</nationalNumberPattern> + <exampleNumber>51234</exampleNumber> + </mobile> + <shortCode> + <!-- Service numbers use 3 digit short codes --> + <nationalNumberPattern> + 1\d{2}| + 999 + </nationalNumberPattern> + <exampleNumber>123</exampleNumber> + </shortCode> + </territory> + + <!-- Micronesia, Federated States of --> + <!-- http://www.itu.int/oth/T020200008B/en --> + <territory id="FM" countryCode="691" internationalPrefix="00"> + <availableFormats> + <numberFormat pattern="(\d{3})(\d{4})"> + <format>$1 $2</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[39]\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{7}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + 3[2357]0[1-9]\d{3}| + 9[2-6]\d{5} + </nationalNumberPattern> + <exampleNumber>3201234</exampleNumber> + </fixedLine> + <mobile> + <!-- Note that most ranges are used for both fixed and mobile but numbers starting with 970 + are exclusively mobile. --> + <nationalNumberPattern> + 3[2357]0[1-9]\d{3}| + 9[2-7]\d{5} + </nationalNumberPattern> + <exampleNumber>3501234</exampleNumber> + </mobile> + </territory> + + <!-- Faroe Islands --> + <!-- http://www.itu.int/oth/T0202000047/en --> + <territory id="FO" countryCode="298" internationalPrefix="00" + nationalPrefixForParsing="(10(?:01|[12]0|88))" + carrierCodeFormattingRule="$CC $FG"> + <!-- All numbers are formatted together, as a block. --> + <availableFormats> + <numberFormat pattern="(\d{6})"> + <format>$1</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[2-9]\d{5}</nationalNumberPattern> + <possibleNumberPattern>\d{6}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + (?: + 20| + [3-4]\d| + 8[19] + )\d{4} + </nationalNumberPattern> + <exampleNumber>201234</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern> + (?: + 2[1-9]| + 5\d| + 7[1-79] + )\d{4} + </nationalNumberPattern> + <exampleNumber>211234</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern>80[257-9]\d{3}</nationalNumberPattern> + <exampleNumber>802123</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern> + 90(?: + [1345][15-7]| + 2[125-7]| + 99 + )\d{2} + </nationalNumberPattern> + <exampleNumber>901123</exampleNumber> + </premiumRate> + <voip> + <nationalNumberPattern> + (?: + 6[0-36]| + 88 + )\d{4} + </nationalNumberPattern> + <exampleNumber>601234</exampleNumber> + </voip> + <shortCode> + <!-- Includes special numbers, special services and universal services. --> + <nationalNumberPattern> + 1(?: + 1[248]| + 4[124]\d| + 71\d| + 8[7-9]\d + ) + </nationalNumberPattern> + <possibleNumberPattern>\d{3,4}</possibleNumberPattern> + <exampleNumber>211234</exampleNumber> + </shortCode> + </territory> + + <!-- France --> + <!-- http://www.itu.int/dms_pub/itu-t/oth/02/02/T020200004A0001MSWE.doc --> + <!-- http://www.arcep.fr/index.php?id=8146 --> + <!-- http://en.wikipedia.org/wiki/%2B33 --> + <territory id="FR" countryCode="33" internationalPrefix="[04579]0" + preferredInternationalPrefix="00" + nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG"> + <availableFormats> + <numberFormat pattern="([1-79])(\d{2})(\d{2})(\d{2})(\d{2})"> + <leadingDigits>[1-79]</leadingDigits> + <format>$1 $2 $3 $4 $5</format> + </numberFormat> + <numberFormat nationalPrefixFormattingRule="$NP $FG" + pattern="(8\d{2})(\d{2})(\d{2})(\d{2})"> + <leadingDigits>8</leadingDigits> + <format>$1 $2 $3 $4</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[1-9]\d{8}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern>[1-5]\d{8}</nationalNumberPattern> + <exampleNumber>123456789</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern> + 6\d{8}| + 7[5-9]\d{7} + </nationalNumberPattern> + <exampleNumber>612345678</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern>80\d{7}</nationalNumberPattern> + <exampleNumber>801234567</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>89[1-37-9]\d{6}</nationalNumberPattern> + <exampleNumber>891123456</exampleNumber> + </premiumRate> + <sharedCost> + <nationalNumberPattern> + 8(?: + 1[019]| + 2[0156]| + 84| + 90 + )\d{6} + </nationalNumberPattern> + <exampleNumber>810123456</exampleNumber> + </sharedCost> + <voip> + <nationalNumberPattern>9\d{8}</nationalNumberPattern> + <exampleNumber>912345678</exampleNumber> + </voip> + </territory> + + <!-- Gabon --> + <!-- http://www.itu.int/oth/T020200004E/en --> + <territory id="GA" countryCode="241" internationalPrefix="00" leadingZeroPossible="true"> + <availableFormats> + <numberFormat pattern="(\d{2})(\d{2})(\d{2})"> + <leadingDigits>[4-9]</leadingDigits> + <format>$1 $2 $3</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> + [4-9]\d{5}| + 0\d{7} + </nationalNumberPattern> + <possibleNumberPattern>\d{6,8}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + (?: + 4(?: + [04-8]\d| + 2[04] + )| + (?: + 5[04-689]| + 6[024-9]| + 7\d| + 8[236]| + 9[02368] + )\d + )\d{3} + </nationalNumberPattern> + <possibleNumberPattern>\d{6}</possibleNumberPattern> + <exampleNumber>441234</exampleNumber> + </fixedLine> + <!-- The leading zero here is supposed to be temporary - at a later date, + Gabon intends to have a 0 as their national prefix for all numbers + instead. --> + <!-- http://www.wtng.info/wtng-241-ga.html was used as the basis for the acceptable prefixes, + with some supplementary prefixes added from internet research. There is supposedly a + resource on mobile prefixes on the Gabon Telecom website, but the site (www.ogooue.ga) + doesn't seem to work and no alternative can be found. Extra prefixes added: 07 12, 07 13, + 06 71, 07 33, 07 [67]\d --> + <mobile> + <nationalNumberPattern> + 0(?: + 5(?: + 0[89]| + 3[0-4]| + 8[0-26]| + 9[238] + )| + 6(?: + 0[3-7]| + 1[01]| + 2[0-7]| + 6[0-589]| + 71| + 83| + 9[57] + )| + 7(?: + 1[2-5]| + 2[89]| + 3[35-9]| + 4[01]| + 5[0-347-9]| + [67]\d| + 8[457-9]| + 9[0146] + ) + )\d{4} + </nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>06031234</exampleNumber> + </mobile> + </territory> + + <!-- United Kingdom --> + <!-- http://stakeholders.ofcom.org.uk/telecoms/numbering/ --> + <!-- http://en.wikipedia.org/wiki/List_of_United_Kingdom_dialling_codes --> + <!-- http://www.numberingplans.com/?page=dialling&sub=areacodes&ac=GB --> + <!-- Note that this excludes Isle of Man, Jersey and Guernsey prefixes for the purposes of + validation, although the formatting rules are shared. --> + <territory id="GB" countryCode="44" internationalPrefix="00" + nationalPrefix="0" preferredExtnPrefix=" x" nationalPrefixFormattingRule="$NP$FG" + mainCountryForCode="true"> + <availableFormats> + <!-- 2d, 55, 56, 70, 76 with 10 digits. --> + <numberFormat pattern="(\d{2})(\d{4})(\d{4})"> + <leadingDigits> + 2| + 5[56]| + 7[06] + </leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <!-- 11d, 1d1, 3dd, 9dd with 10 digits. --> + <numberFormat pattern="(\d{3})(\d{3})(\d{4})"> + <leadingDigits> + 1(?: + 1| + \d1 + )| + 3| + 9[018] + </leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <!-- 1dddd with 9 or 10 digits. + These area codes are very rare in GB, and are only available in the following places: + 13873(Langholm), 15242(Hornby), 15394(Hawkshead), 15395(Grange-over-Sands), + 15396(Sedbergh), 16973(Wigton), 16974(Raughton Head), 16977(Brampton), + 17683(Appleby), 17684(Pooley Bridge), 17687(Keswick), 19467(Gosforth). --> + <numberFormat pattern="(\d{5})(\d{4,5})"> + <leadingDigits> + 1(?: + 38| + 5[23]| + 69| + 76| + 94 + ) + </leadingDigits> + <leadingDigits> + 1(?: + 387| + 5(?: + 24| + 39 + )| + 697| + 768| + 946 + ) + </leadingDigits> + <leadingDigits> + 1(?: + 3873| + 5(?: + 242| + 39[456] + )| + 697[347]| + 768[347]| + 9467 + ) + </leadingDigits> + <format>$1 $2</format> + </numberFormat> + <!-- 1ddd with 9 or 10 digits. --> + <numberFormat pattern="(1\d{3})(\d{5,6})"> + <leadingDigits>1</leadingDigits> + <format>$1 $2</format> + </numberFormat> + <!-- 7ddd (not 70, 76) with 10 digits. --> + <numberFormat pattern="(7\d{3})(\d{6})"> + <leadingDigits>7[1-5789]</leadingDigits> + <format>$1 $2</format> + </numberFormat> + <!-- 800 1111 : UK ChildLine. --> + <numberFormat pattern="(800)(\d{4})"> + <leadingDigits>800</leadingDigits> + <leadingDigits>8001</leadingDigits> + <leadingDigits>80011</leadingDigits> + <leadingDigits>800111</leadingDigits> + <leadingDigits>8001111</leadingDigits> + <format>$1 $2</format> + </numberFormat> + <!-- 845 46 47 : UK NHS Direct. --> + <numberFormat pattern="(845)(46)(4\d)"> + <leadingDigits>845</leadingDigits> + <leadingDigits>8454</leadingDigits> + <leadingDigits>84546</leadingDigits> + <leadingDigits>845464</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <!-- 84d, 87d with 10 digits. --> + <numberFormat pattern="(8\d{2})(\d{3})(\d{4})"> + <leadingDigits> + 8(?: + 4[2-5]| + 7[0-3] + ) + </leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <!-- 80d (including 800) with 10 digits. --> + <numberFormat pattern="(80\d)(\d{3})(\d{4})"> + <leadingDigits>80</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <!-- 500, 800 with 9 digits. --> + <numberFormat pattern="([58]00)(\d{6})"> + <leadingDigits>[58]00</leadingDigits> + <format>$1 $2</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>\d{7,10}</nationalNumberPattern> + <possibleNumberPattern>\d{4,10}</possibleNumberPattern> + </generalDesc> + <areaCodeOptional> + <!-- These are a subset of the fixed-line rules, with digits 2-9 as the leading digit of the + subscriber number. There are patterns for 2+8, 3+7 and a combined pattern for all + 4+6/4+5 and 5+5/5+4 numbers. Note that numbers matching this pattern are not + necessarily valid numbers. --> + <nationalNumberPattern> + 2\d[2-9]\d{7}| + 1(?: + 1\d| + \d1 + )[2-9]\d{6}| + 1(?: + [248][02-9]\d[2-9]\d{4,5}| + (?: + 3(?: + [02-79]\d| + 8[0-69] + )| + 5(?: + [04-9]\d| + 2[0-35-9]| + 3[0-8] + )| + 6(?: + [02-8]\d| + 9[0-689] + )| + 7(?: + [02-5789]\d| + 6[0-79] + )| + 9(?: + [0235-9]\d| + 4[0-5789] + ) + )[2-9]\d{4,5}| + (?: + 387(?: + 3[2-9]| + [24-9]\d + )| + 5(?: + 24(?: + 2[2-9]| + [3-9]\d + )| + 39(?: + [4-6][2-9]| + [237-9]\d + ) + )| + 697(?: + [347][2-9]| + [25689]\d + )| + 768(?: + [347][2-9]| + [25679]\d + )| + 946(?: + 7[2-9]| + [2-689]\d + ) + )\d{3,4} + ) + </nationalNumberPattern> + <possibleNumberPattern>\d{9,10}</possibleNumberPattern> + <exampleNumber>1332456789</exampleNumber> + </areaCodeOptional> + <fixedLine> + <!-- http://en.wikipedia.org/wiki/List_of_United_Kingdom_dialling_codes --> + <!-- Pattern matches geographic NSN=10 numbers as follows: + - area code and local number first digit for 2+8, + - area code and local number first digit for 3+7, + - area code only for 4+6 (including areas with embedded 5+5). + Pattern matches geographic NSN=9 numbers as follows: + - area code and local number first two digits for 4+5, + - area code and local number first three digits for 4+5 special case (01768) 88Ddd, + - area code and local number first digit for 5+4 special case (016977) Dddd. + All patterns exclude ranges used in GG, IM, JE. --> + <nationalNumberPattern> + 2(?: + 0[01378]| + 3[0189]| + 4[017]| + 8[0-46-9]| + 9[012] + )\d{7}| + 1(?: + (?:1 + (?:3[0-48]| + [46][0-4]| + 5[012789]| + 7[0-39]| + 8[01349] + )| + 21[0-7]| + 31[0-8]| + [459]1\d| + 61[0-46-9] + ) + )\d{6}| + 1(?: + 2(?: + 0[024-9]| + 2[3-9]| + 3[3-79]| + 4[1-689]| + [58][02-9]| + 6[0-4789]| + 7[013-9]| + 9\d + )| + 3(?: + 0\d| + [25][02-9]| + 3[02-579]| + [468][0-46-9]| + 7[1235679]| + 9[24578] + )| + 4(?: + 0[03-9]| + [28][02-5789]| + [37]\d| + 4[02-69]| + 5[0-8]| + [69][0-79] + )| + 5(?: + 0[1235-9]| + 2[024-9]| + 3[015689]| + 4[02-9]| + 5[03-9]| + 6\d| + 7[0-35-9]| + 8[0-468]| + 9[0-5789] + )| + 6(?: + 0[034689]| + 2[0-35689]| + [38][013-9]| + 4[1-467]| + 5[0-69]| + 6[13-9]| + 7[0-8]| + 9[0124578] + )| + 7(?: + 0[0246-9]| + 2\d| + 3[023678]| + 4[03-9]| + 5[0-46-9]| + 6[013-9]| + 7[0-35-9]| + 8[024-9]| + 9[02-9] + )| + 8(?: + 0[35-9]| + 2[1-5789]| + 3[02-578]| + 4[0-578]| + 5[124-9]| + 6[2-69]| + 7\d| + 8[02-9]| + 9[02569] + )| + 9(?: + 0[02-589]| + 2[02-689]| + 3[1-5789]| + 4[2-9]| + 5[0-579]| + 6[234789]| + 7[0124578]| + 8\d| + 9[2-57] + ) + )\d{6}| + 1(?: + 2(?: + 0(?: + 46[1-4]| + 87[2-9] + )| + 545[1-79]| + 76(?: + 2\d| + 3[1-8]| + 6[1-6] + )| + 9(?: + 7(?: + 2[0-4]| + 3[2-5] + )| + 8(?: + 2[2-8]| + 7[0-4789]| + 8[345] + ) + ) + )| + 3(?: + 638[2-5]| + 647[23]| + 8(?: + 47[04-9]| + 64[015789] + ) + )| + 4(?: + 044[1-7]| + 20(?: + 2[23]| + 8\d + )| + 6(?: + 0(?: + 30| + 5[2-57]| + 6[1-8]| + 7[2-8] + )| + 140 + )| + 8(?: + 052| + 87[123] + ) + )| + 5(?: + 24(?: + 3[2-79]| + 6\d + )| + 276\d| + 6(?: + 26[06-9]| + 686 + ) + )| + 6(?: + 06(?: + 4\d| + 7[4-79] + )| + 295[567]| + 35[34]\d| + 47(?: + 24| + 61 + )| + 59(?: + 5[08]| + 6[67]| + 74 + )| + 955[0-4] + )| + 7(?: + 26(?: + 6[13-9]| + 7[0-7] + )| + 442\d| + 50(?: + 2[0-3]| + [3-68]2| + 76 + ) + )| + 8(?: + 27[56]\d| + 37(?: + 5[2-5]| + 8[239] + )| + 84(?: + 3[2-58] + ) + )| + 9(?: + 0(?: + 0(?: + 6[1-8]| + 85 + )| + 52\d + )| + 3583| + 4(?: + 66[1-8]| + 9(?: + 2[01]| + 81 + ) + )| + 63(?: + 23| + 3[1-4] + )| + 9561 + ) + )\d{3}| + 176888[234678]\d{2}| + 16977[23]\d{3} + </nationalNumberPattern> + <exampleNumber>1212345678</exampleNumber> + </fixedLine> + <mobile> + <!-- http://stakeholders.ofcom.org.uk/telecoms/numbering/telephone-no-availability/numbers-administered/ + 7100-7599, 7700-7999 with 10 digits; excluding ranges used in GG, IM, JE. --> + <nationalNumberPattern> + 7(?: + [1-4]\d\d| + 5(?: + 0[0-8]| + [13-9]\d| + 2[0-35-9] + )| + 7(?: + 0[1-9]| + [1-7]\d| + 8[02-9]| + 9[0-689] + )| + 8(?: + [014-9]\d| + [23][0-8] + )| + 9(?: + [04-9]\d| + 1[02-9]| + 2[0-35-9]| + 3[0-689] + ) + )\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>7400123456</exampleNumber> + </mobile> + <pager> + <!-- 76 with 10 digits; excluding ranges used in IM. --> + <nationalNumberPattern> + 76(?: + 0[012]| + 2[356]| + 4[0134]| + 5[49]| + 6[0-369]| + 77| + 81| + 9[39] + )\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>7640123456</exampleNumber> + </pager> + <!-- Source for non geographic numbers: + http://en.wikipedia.org/wiki/Non-geographical_telephone_numbers_in_the_UK --> + <tollFree> + <!-- 800 1111 with 7 digits, 800 with 9 or 10 digits, 808 with 10 digits, 500 with 9 digits. --> + <nationalNumberPattern> + 80(?: + 0(?: + 1111| + \d{6,7} + )| + 8\d{7} + )| + 500\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{7}(?:\d{2,3})?</possibleNumberPattern> + <exampleNumber>8001234567</exampleNumber> + </tollFree> + <premiumRate> + <!-- 871, 872, 873 with 10 digits are now Controlled Premium Rate Services, so are listed + here as well as 900-909, 910-919, 980-983 with 10 digits. --> + <nationalNumberPattern> + (?: + 87[123]| + 9(?: + [01]\d| + 8[0-3] + ) + )\d{7} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>9012345678</exampleNumber> + </premiumRate> + <sharedCost> + <!-- Using shared cost to deal with the various revenue sharing number prefixes in the + United Kingdom: 845 46 47 with 7 digits, 842-845, 870 with 10 digits. --> + <nationalNumberPattern> + 8(?: + 4(?: + 5464\d| + [2-5]\d{7} + )| + 70\d{7} + ) + </nationalNumberPattern> + <possibleNumberPattern>\d{7}(?:\d{3})?</possibleNumberPattern> + <exampleNumber>8431234567</exampleNumber> + </sharedCost> + <personalNumber> + <!-- 70 with 10 digits. --> + <nationalNumberPattern>70\d{8}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>7012345678</exampleNumber> + </personalNumber> + <voip> + <!-- 56 with 10 digits. --> + <nationalNumberPattern>56\d{8}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>5612345678</exampleNumber> + </voip> + <uan> + <!-- 30d, 33d, 34d, 37d, 55 with 10 digits. --> + <nationalNumberPattern> + (?: + 3[0347]| + 55 + )\d{8} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>5512345678</exampleNumber> + </uan> + <shortCode> + <!-- This is a list of the ones that can be called. --> + <nationalNumberPattern> + 1(?: + 0[01]| + 1(?: + [12]| + [68]\d{3} + )| + 2[123]| + 33| + 4(?: + 1| + 7\d + )| + 5\d| + 70\d| + 800\d| + 9[15] + )| + 2(?: + 02| + 2(?: + 02| + 11| + 2 + )| + 3(?: + 02| + 45 + ) + 425 + )| + 3[13]3| + 4(?: + 0[02]| + 35[01]| + 44[45]| + 5\d + )| + 650| + 789| + 9(?: + 01| + 99 + ) + </nationalNumberPattern> + <possibleNumberPattern>\d{3,6}</possibleNumberPattern> + <exampleNumber>150</exampleNumber> + </shortCode> + </territory> + + <!-- Grenada --> + <!-- http://www.itu.int/oth/T0202000057/en --> + <territory id="GD" countryCode="1" leadingDigits="473" + nationalPrefix="1" internationalPrefix="011"> + <generalDesc> + <!-- NANPA country - uses US formatting rules --> + <nationalNumberPattern>[4589]\d{9}</nationalNumberPattern> + <possibleNumberPattern>\d{7}(?:\d{3})?</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + 473(?: + 2(?: + 3[0-2]| + 69 + )| + 3(?: + 2[89]| + 86 + )| + 4(?: + [06]8| + 3[5-9]| + 4[0-49]| + 5[5-79]| + 73| + 90 + )| + 63[68]| + 7(?: + 58| + 84 + )| + 938 + )\d{4} + </nationalNumberPattern> + <exampleNumber>4732691234</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern> + 473(?: + 4(?: + 0[3-79]| + 1[04-9]| + 20| + 58 + )| + 53[3-8] + )\d{4} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>4734031234</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern> + 8(?: + 00| + 55| + 66| + 77| + 88 + )[2-9]\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>8002123456</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>900[2-9]\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>9002123456</exampleNumber> + </premiumRate> + <personalNumber> + <!-- http://www.nanpa.com/pdf/PL_416.pdf --> + <nationalNumberPattern> + 5(?: + 00| + 33| + 44 + )[2-9]\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>5002345678</exampleNumber> + </personalNumber> + </territory> + + <!-- Georgia --> + <!-- http://www.itu.int/oth/T0202000050/en + http://en.wikipedia.org/wiki/Telephone_numbers_in_Georgia. --> + <territory id="GE" countryCode="995" internationalPrefix="8~10" + nationalPrefix="8" nationalPrefixFormattingRule="$NP $FG"> + <availableFormats> + <!-- Format isn't very strictly defined - the yellow pages omits area code and does 2 2 2, + the communications commission uses 2 3 3. Wikipedia says 3 2 3. Some use 2 6. --> + <numberFormat pattern="(\d{2})(\d{2})(\d{2})(\d{2})"> + <leadingDigits>[13-79]</leadingDigits> + <format>$1 $2 $3 $4</format> + </numberFormat> + <numberFormat pattern="(800)(\d{2})(\d{2})(\d{2})"> + <leadingDigits>8</leadingDigits> + <format>$1 $2 $3 $4</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern> + [13-79]\d{7}| + 8\d{8} + </nationalNumberPattern> + <possibleNumberPattern>\d{5,9}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + (?: + 3(?: + [256]\d| + 4[124-9]| + 7[0-4] + )| + 4(?: + 1\d| + 2[2-7]| + 3[1-79]| + 4[2-8]| + 7[239]| + 9[1-7] + ) + )\d{5} + </nationalNumberPattern> + <possibleNumberPattern>\d{5,8}</possibleNumberPattern> + <exampleNumber>32123456</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern> + (?: + 14| + 5[01578]| + 6[28]| + 7[0147-9]| + 9[0-35-9] + )\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>55123456</exampleNumber> + </mobile> + <!-- Information from www.yell.ge, examples such as Wissol Petroleum Georgia hotline. --> + <tollFree> + <nationalNumberPattern>800\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>800123456</exampleNumber> + </tollFree> + <!-- It seems there may be special 6 digit numbers beginning with 91, but we are not sure, so + these are omitted for now. --> + </territory> + + <!-- French Guiana (French Dept. of) --> + <territory id="GF" countryCode="594" internationalPrefix="00"> + </territory> + + <!-- Guernsey --> + <!-- Inherits formatting rules from the UK. --> + <!-- http://en.wikipedia.org/wiki/Telephone_numbers_in_the_United_Kingdom --> + <territory id="GG" countryCode="44" internationalPrefix="00" + nationalPrefix="0" preferredExtnPrefix=" x" nationalPrefixFormattingRule="$NP$FG"> + <generalDesc> + <nationalNumberPattern>[135789]\d{6,9}</nationalNumberPattern> + <possibleNumberPattern>\d{6,10}</possibleNumberPattern> + </generalDesc> + <areaCodeOptional> + <nationalNumberPattern>1481[2-9]\d{5}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>1481250123</exampleNumber> + </areaCodeOptional> + <!-- Specific to GG. --> + <fixedLine> + <!-- 1481 with 10 digits. --> + <nationalNumberPattern>1481\d{6}</nationalNumberPattern> + <exampleNumber>1481456789</exampleNumber> + </fixedLine> + <mobile> + <!-- 7781, 7839, 7911 with 10 digits. --> + <nationalNumberPattern> + 7(?: + 781| + 839| + 911 + )\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>7781123456</exampleNumber> + </mobile> + <!-- Other numbers as per GB. --> + <pager> + <nationalNumberPattern> + 76(?: + 0[012]| + 2[356]| + 4[0134]| + 5[49]| + 6[0-369]| + 77| + 81| + 9[39] + )\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>7640123456</exampleNumber> + </pager> + <tollFree> + <nationalNumberPattern> + 80(?: + 0(?: + 1111| + \d{6,7} + )| + 8\d{7} + )| + 500\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{7}(?:\d{2,3})?</possibleNumberPattern> + <exampleNumber>8001234567</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern> + (?: + 87[123]| + 9(?: + [01]\d| + 8[0-3] + ) + )\d{7} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>9012345678</exampleNumber> + </premiumRate> + <sharedCost> + <nationalNumberPattern> + 8(?: + 4(?: + 5464\d| + [2-5]\d{7} + )| + 70\d{7} + ) + </nationalNumberPattern> + <possibleNumberPattern>\d{7}(?:\d{3})?</possibleNumberPattern> + <exampleNumber>8431234567</exampleNumber> + </sharedCost> + <personalNumber> + <nationalNumberPattern>70\d{8}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>7012345678</exampleNumber> + </personalNumber> + <voip> + <nationalNumberPattern>56\d{8}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>5612345678</exampleNumber> + </voip> + <uan> + <nationalNumberPattern> + (?: + 3[0347]| + 55 + )\d{8} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>5512345678</exampleNumber> + </uan> + <shortCode> + <nationalNumberPattern> + 1\d{2}(?:\d{3})?| + 999 + </nationalNumberPattern> + <possibleNumberPattern>\d{3,6}</possibleNumberPattern> + <exampleNumber>150</exampleNumber> + </shortCode> + </territory> + + <!-- Ghana --> + <!-- http://www.itu.int/oth/T0202000052/en --> + <!-- http://www.nca.org.gh/index.php?option=com_content&view=article&id=90&Itemid=65 --> + <territory id="GH" countryCode="233" internationalPrefix="00" + nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG"> + <availableFormats> + <numberFormat pattern="(\d{2})(\d{3})(\d{4})"> + <format>$1 $2 $3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[235]\d{6,8}</nationalNumberPattern> + <possibleNumberPattern>\d{7,9}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + 3(?: + 0[237]\d| + [167](?: + 2[0-6]| + 7\d + )| + 2(?: + 2[0-5]| + 7\d + )| + 3(?: + 2[0-37]| + 7\d + )| + 4(?: + [27]\d| + 30 + )| + 5(?: + 2[0-7]| + 7\d + )| + 8(?: + 2[0-2]| + 7\d + )| + 9(?: + 20| + 7\d + ) + )\d{5} + </nationalNumberPattern> + <possibleNumberPattern>\d{7,9}</possibleNumberPattern> + <exampleNumber>302345678</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern> + 2(?: + (?: + [47]\d| + 08 + )\d{6}| + [368]\d{7} + )| + 54\d{7} + </nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>231234567</exampleNumber> + </mobile> + <!-- No tollFree or premiumRate information can be found. --> + </territory> + + <!-- Gibraltar --> + <territory id="GI" countryCode="350" internationalPrefix="00"> + <!-- No formatting rules - numbers are always formatted as a block. --> + <generalDesc> + <nationalNumberPattern>[2568]\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + 2(?: + 00\d| + 16[0-7]| + 22[2457] + )\d{4} + </nationalNumberPattern> + <exampleNumber>20012345</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern> + (?: + 5[4-8]| + 60 + )\d{6} + </nationalNumberPattern> + <exampleNumber>57123456</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern>80\d{6}</nationalNumberPattern> + <exampleNumber>80123456</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>8[1-689]\d{6}</nationalNumberPattern> + <exampleNumber>88123456</exampleNumber> + </premiumRate> + <sharedCost> + <nationalNumberPattern>87\d{6}</nationalNumberPattern> + <exampleNumber>87123456</exampleNumber> + </sharedCost> + <shortCode> + <nationalNumberPattern> + 1(?: + 00| + 1(?: + 2| + 6(?: + 00[06]| + 11[17] + )| + 8\d{2} + )| + 23| + 4(?: + 1| + 7[014] + )| + 5[015]| + 9[0349] + )| + 8(?: + 00| + 4[0-2]| + 8\d + ) + </nationalNumberPattern> + <possibleNumberPattern>\d{3,6}</possibleNumberPattern> + <exampleNumber>116123</exampleNumber> + </shortCode> + </territory> + + <!-- Greenland --> + <!-- http://www.itu.int/oth/T0202000056/en --> + <territory id="GL" countryCode="299" internationalPrefix="00"> + <availableFormats> + <numberFormat pattern="(\d{2})(\d{2})(\d{2})"> + <format>$1 $2 $3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[1-689]\d{5}</nationalNumberPattern> + <possibleNumberPattern>\d{6}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <!-- Including VSAT numbers here. --> + <nationalNumberPattern> + (?: + 19| + 3[1-6]| + 6[14689]| + 8[14-79]| + 9\d + )\d{4} + </nationalNumberPattern> + <exampleNumber>321000</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern>[245][2-9]\d{4}</nationalNumberPattern> + <exampleNumber>221234</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern>80\d{4}</nationalNumberPattern> + <exampleNumber>801234</exampleNumber> + </tollFree> + <voip> + <nationalNumberPattern>3[89]\d{4}</nationalNumberPattern> + <exampleNumber>381234</exampleNumber> + </voip> + </territory> + + <!-- Gambia --> + <!-- http://www.itu.int/oth/T020200004F/en --> + <territory id="GM" countryCode="220" internationalPrefix="00"> + <availableFormats> + <numberFormat pattern="(\d{3})(\d{4})"> + <format>$1 $2</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[3-9]\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{7}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + (?: + 4(?: + [23]\d{2}| + 4(?: + 1[024679]| + [6-9]\d + ) + )| + 5(?: + 54[0-7]| + 6(?: + [67]\d + )| + 7(?: + 1[04]| + 2[035]| + 3[58]| + 48 + ) + )| + 8\d{3} + )\d{3} + </nationalNumberPattern> + <exampleNumber>5661234</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern>[3679]\d{6}</nationalNumberPattern> + <exampleNumber>3012345</exampleNumber> + </mobile> + </territory> + + <!-- Guinea --> + <!-- http://www.itu.int/oth/T020200005B/en --> + <territory id="GN" countryCode="224" internationalPrefix="00"> + <availableFormats> + <numberFormat pattern="(\d{2})(\d{2})(\d{2})(\d{2})"> + <format>$1 $2 $3 $4</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[3567]\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + 30(?: + 24| + 3[12]| + 4[1-35-7]| + 5[13]| + 6[189]| + [78]1| + 9[1478] + )\d{4} + </nationalNumberPattern> + <exampleNumber>30241234</exampleNumber> + </fixedLine> + <mobile> + <!-- WiMAX is in the plan - which is a wireless broadband protocol. Not including this in + the metadata for now unless this proves to be necessary. These would start with 79. --> + <nationalNumberPattern> + 55\d{6}| + 6(?: + 0(?: + 2\d| + 3[3467]| + 5[2457-9] + )| + [24578]\d{2}| + 3(?: + [14]0| + 35 + ) + )\d{4} + </nationalNumberPattern> + <exampleNumber>60201234</exampleNumber> + </mobile> + </territory> + + <!-- Guadeloupe --> + <!-- http://www.itu.int/oth/T0202000058/en --> + <territory id="GP" countryCode="590" internationalPrefix="00" + mainCountryForCode="true" nationalPrefix="0" + nationalPrefixFormattingRule="$NP$FG"> + <availableFormats> + <numberFormat pattern="([56]90)(\d{2})(\d{4})"> + <format>$1 $2-$3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[56]\d{8}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <!-- The plan says 59011 and 59012 are not implemented yet, but is from 2006 and online + examples can be found. --> + <nationalNumberPattern> + 590(?: + 1[12]| + 2[0-68]| + 3[28]| + 4[126-8]| + 5[067]| + 6[018]| + [89]\d + )\d{4} + </nationalNumberPattern> + <exampleNumber>590201234</exampleNumber> + </fixedLine> + <mobile> + <!-- Adding 1[1-9] and 2[013-5] as prefixes after SMSs have been successfully sent to + numbers with this prefix. starpy.net/rates.php also attributes this range to Guadeloupe + Digicel Mobile. --> + <nationalNumberPattern> + 690(?: + 00| + 1[1-9]| + 2[013-5]| + [3-5]\d| + 6[0-57-9]| + 7[1-6]| + 8[0-6]| + 9[09] + )\d{4} + </nationalNumberPattern> + <exampleNumber>690301234</exampleNumber> + </mobile> + </territory> + + <!-- Equatorial Guinea --> + <!-- http://www.itu.int/oth/T0202000041/en --> + <territory id="GQ" countryCode="240" internationalPrefix="00"> + <availableFormats> + <numberFormat pattern="(\d{2})(\d{3})(\d{4})"> + <leadingDigits>[235]</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(\d{3})(\d{6})"> + <leadingDigits>[89]</leadingDigits> + <format>$1 $2</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[23589]\d{8}</nationalNumberPattern> + <!-- The 6 here refers to the old number pattern - numbers written down may still be this + length although they can no longer be dialled. --> + <possibleNumberPattern>\d{6,9}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + 3(?: + 3(?: + 3\d[7-9]| + [0-24-9]\d[46] + )| + 5\d{2}[7-9] + )\d{4} + </nationalNumberPattern> + <exampleNumber>333091234</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern> + (?: + 222| + 551 + )\d{6} + </nationalNumberPattern> + <exampleNumber>222123456</exampleNumber> + </mobile> + <!-- Note that personal and sharedCost numbers are said to go under here too - hopefully when + they start allocating them there will be a differentiation of prefixes, but this is not + clear now. --> + <tollFree> + <nationalNumberPattern>80\d[1-9]\d{5}</nationalNumberPattern> + <exampleNumber>800123456</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>90\d[1-9]\d{5}</nationalNumberPattern> + <exampleNumber>900123456</exampleNumber> + </premiumRate> + </territory> + + <!-- Greece --> + <!-- http://www.itu.int/oth/T0202000055/en --> + <!-- http://en.wikipedia.org/wiki/%2B30 --> + <territory id="GR" countryCode="30" internationalPrefix="00"> + <availableFormats> + <numberFormat pattern="([27]\d)(\d{4})(\d{4})"> + <leadingDigits> + 21| + 7 + </leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(\d{3})(\d{3})(\d{4})"> + <leadingDigits> + 2[2-9]1| + [689] + </leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(2\d{3})(\d{6})"> + <leadingDigits>2[2-9][02-9]</leadingDigits> + <format>$1 $2</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[26-9]\d{9}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + 2(?: + 1\d{2}| + 2(?: + 3[1-8]| + 4[1-7]| + 5[1-4]| + 6[1-8]| + 7[1-5]| + [289][1-9] + )| + 3(?: + 1\d| + 2[1-5]| + 3[1-4]| + [45][1-3]| + 7[1-7]| + 8[1-6]| + 9[1-79] + )| + 4(?: + 1\d| + 2[1-8]| + 3[1-4]| + 4[13-5]| + 6[1-578]| + 9[1-5] + )| + 5(?: + 1\d| + 2[1-3]| + 4[124]| + 5[1-6]| + [39][1-4] + )| + 6(?: + 1\d| + 3[24]| + 4[1-7]| + 5[13-9]| + [269][1-6]| + 7[14]| + 8[1-35] + )| + 7(?: + 1\d| + [23][1-5]| + 4[1-7]| + 5[1-57]| + 6[134]| + 9[15-7] + )| + 8(?: + 1\d| + 2[1-5]| + [34][1-4]| + 9[1-7] + ) + )\d{6} + </nationalNumberPattern> + <exampleNumber>2123456789</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern>69\d{8}</nationalNumberPattern> + <exampleNumber>6912345678</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern>800\d{7}</nationalNumberPattern> + <exampleNumber>8001234567</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>90[19]\d{7}</nationalNumberPattern> + <exampleNumber>9091234567</exampleNumber> + </premiumRate> + <!-- Including calls with maximum charge of 0,25 EUR/minute here instead of under premium + rate. --> + <sharedCost> + <nationalNumberPattern> + 8(?: + 0[16]| + 12| + 25 + )\d{7} + </nationalNumberPattern> + <exampleNumber>8011234567</exampleNumber> + </sharedCost> + <personalNumber> + <nationalNumberPattern>70\d{8}</nationalNumberPattern> + <exampleNumber>7012345678</exampleNumber> + </personalNumber> + </territory> + + <!-- Guatemala --> + <!-- http://www.itu.int/oth/T020200005A/en + http://www.sit.gob.gt/index.php?page=plan-de-numeracion + http://en.wikipedia.org/wiki/Telephone_numbers_in_Guatemala --> + <territory id="GT" countryCode="502" internationalPrefix="00"> + <availableFormats> + <numberFormat pattern="(\d{4})(\d{4})"> + <leadingDigits>[2-7]</leadingDigits> + <format>$1 $2</format> + </numberFormat> + <numberFormat pattern="(\d{4})(\d{3})(\d{4})"> + <leadingDigits>1</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern> + [2-7]\d{7}| + 1[89]\d{9} + </nationalNumberPattern> + <possibleNumberPattern>\d{8}(?:\d{3})?</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern>[267][2-9]\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>22456789</exampleNumber> + </fixedLine> + <mobile> + <!-- Wikipedia claims numbers with 3 are also mobile although in ITU document it says that + they are just reserved. --> + <nationalNumberPattern>[345]\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>51234567</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern>18[01]\d{8}</nationalNumberPattern> + <possibleNumberPattern>\d{11}</possibleNumberPattern> + <exampleNumber>18001112222</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>19\d{9}</nationalNumberPattern> + <possibleNumberPattern>\d{11}</possibleNumberPattern> + <exampleNumber>19001112222</exampleNumber> + </premiumRate> + <shortCode> + <nationalNumberPattern> + 1(?: + 2| + [57]\d + )\d + </nationalNumberPattern> + <possibleNumberPattern>\d{3,4}</possibleNumberPattern> + <exampleNumber>123</exampleNumber> + </shortCode> + </territory> + + <!-- Guam --> + <!-- http://www.nationalnanpa.com/nas/public/assigned_code_query_step1.do?method=resetCodeQueryModel --> + <territory id="GU" countryCode="1" leadingDigits="671" + nationalPrefix="1" internationalPrefix="011"> + <generalDesc> + <!-- NANPA country - uses US formatting rules --> + <nationalNumberPattern>[5689]\d{9}</nationalNumberPattern> + <possibleNumberPattern>\d{7}(?:\d{3})?</possibleNumberPattern> + </generalDesc> + <fixedLine> + <!-- Added 671 555/720/721 based on information from + http://www.area-codes.com/area-code/area-code-671.asp --> + <nationalNumberPattern> + 671(?: + 3(?: + 00| + 3[39]| + 4[349]| + 55| + 6[26] + )| + 4(?: + 56| + 7[1-9]| + 8[23678] + )| + 5(?: + 55| + 6[2-5]| + 88 + )| + 6(?: + 3[2-578]| + 4[24-9]| + 5[34]| + 78| + 8[5-9] + )| + 7(?: + [079]7| + 2[0167]| + 3[45]| + 8[789] + )| + 8(?: + [2-5789]8| + 6[48] + )| + 9(?: + 2[29]| + 6[79]| + 7[179]| + 8[789]| + 9[78] + ) + )\d{4} + </nationalNumberPattern> + <exampleNumber>6713001234</exampleNumber> + </fixedLine> + <!-- We assume mobile phone numbers to be the same as fixed-line - further info unavailable --> + <mobile> + <nationalNumberPattern> + 671(?: + 3(?: + 00| + 3[39]| + 4[349]| + 55| + 6[26] + )| + 4(?: + 56| + 7[1-9]| + 8[23678] + )| + 5(?: + 55| + 6[2-5]| + 88 + )| + 6(?: + 3[2-578]| + 4[24-9]| + 5[34]| + 78| + 8[5-9] + )| + 7(?: + [079]7| + 2[0167]| + 3[45]| + 8[789] + )| + 8(?: + [2-5789]8| + 6[48] + )| + 9(?: + 2[29]| + 6[79]| + 7[179]| + 8[789]| + 9[78] + ) + )\d{4} + </nationalNumberPattern> + <exampleNumber>6713001234</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern> + 8(?: + 00| + 55| + 66| + 77| + 88 + )[2-9]\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>8002123456</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>900[2-9]\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>9002123456</exampleNumber> + </premiumRate> + <personalNumber> + <!-- http://www.nanpa.com/pdf/PL_416.pdf --> + <nationalNumberPattern> + 5(?: + 00| + 33| + 44 + )[2-9]\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>5002345678</exampleNumber> + </personalNumber> + </territory> + + <!-- Guinea-Bissau --> + <!-- http://www.itu.int/oth/T020200005C/en --> + <territory id="GW" countryCode="245" internationalPrefix="00"> + <availableFormats> + <numberFormat pattern="(\d{3})(\d{4})"> + <format>$1 $2</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[3567]\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{7}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + 3(?: + 2[0125]| + 3[1245]| + 4[12]| + 5[1-4]| + 70| + 9[1-467] + )\d{4} + </nationalNumberPattern> + <exampleNumber>3201234</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern>[5-7]\d{6}</nationalNumberPattern> + <exampleNumber>5012345</exampleNumber> + </mobile> + </territory> + + <!-- Guyana --> + <!-- http://www.itu.int/oth/T020200005D/en --> + <territory id="GY" countryCode="592" internationalPrefix="001"> + <availableFormats> + <numberFormat pattern="(\d{3})(\d{4})"> + <format>$1 $2</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[2-4679]\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{7}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + (?: + 2(?: + 1[6-9]| + 2[0-35-9]| + 3[1-4]| + 5[3-9]| + 6\d| + 7[0-24-79] + )| + 3(?: + 2[25-9]| + 3\d + )| + 4(?: + 4[0-24]| + 5[56] + )| + 77[1-57] + )\d{4} + </nationalNumberPattern> + <exampleNumber>2201234</exampleNumber> + </fixedLine> + <mobile> + <!-- The ITU document only describes a few ranges for mobile numbers but there is evidence + that SMS messages have been succesfully sent to numbers in the entire range prefixed + with 6. --> + <nationalNumberPattern>6\d{6}</nationalNumberPattern> + <exampleNumber>6091234</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern> + (?: + 289| + 862 + )\d{4} + </nationalNumberPattern> + <exampleNumber>2891234</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>9008\d{3}</nationalNumberPattern> + <exampleNumber>9008123</exampleNumber> + </premiumRate> + <shortCode> + <nationalNumberPattern> + 0(?: + 02| + 171| + 444| + 7[67]7| + 801| + 9(?: + 0[78]| + [2-47] + ) + ) + </nationalNumberPattern> + <possibleNumberPattern>\d{3,4}</possibleNumberPattern> + <exampleNumber>0801</exampleNumber> + </shortCode> + </territory> + + <!-- Hong Kong --> + <!-- http://www.ofta.gov.hk/numbering/main.html --> + <territory id="HK" countryCode="852" internationalPrefix="00"> + <availableFormats> + <numberFormat pattern="(\d{4})(\d{4})"> + <leadingDigits> + [235-7]| + [89](?: + 0[1-9]| + [1-9] + ) + </leadingDigits> + <format>$1 $2</format> + </numberFormat> + <numberFormat pattern="(800)(\d{3})(\d{3})"> + <leadingDigits>800</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(900)(\d{2})(\d{3})(\d{3})"> + <leadingDigits>900</leadingDigits> + <format>$1 $2 $3 $4</format> + </numberFormat> + </availableFormats> + <generalDesc> + <!-- Slightly more complex pattern to allow the country code to be stripped off if + necessary. --> + <nationalNumberPattern> + [235-7]\d{7}| + 8\d{7,8}| + 9\d{7,10} + </nationalNumberPattern> + <possibleNumberPattern>\d{8,11}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern>[23]\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>21234567</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern>[5-79]\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>51234567</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern>800\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>800123456</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>900\d{8}</nationalNumberPattern> + <possibleNumberPattern>\d{11}</possibleNumberPattern> + <exampleNumber>90012345678</exampleNumber> + </premiumRate> + <personalNumber> + <nationalNumberPattern>8[1-3]\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>81123456</exampleNumber> + </personalNumber> + </territory> + + <!-- Honduras --> + <!-- http://www.itu.int/oth/T020200005F/en --> + <!-- It seems there is no longer a trunk prefix in use, based on websites like + http://www.howtocallabroad.com/codes.html and on seeing how locals write their numbers in + national format. --> + <territory id="HN" countryCode="504" internationalPrefix="00" > + <availableFormats> + <numberFormat pattern="(\d{4})(\d{4})"> + <format>$1-$2</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[237-9]\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + 2(?: + 2(?: + 0[019]| + 1[1-36]| + [23]\d| + 4[056]| + 5[57]| + 9[01] + )| + 4(?: + 2|3-59]| + 3[13-689]| + 4[0-68]| + 5[1-35] + )| + 5(?: + 4[3-5]| + 5\d| + 6[56]| + 74 + )| + 6(?: + 4[0-378]| + [56]\d| + [78][0-8]| + 9[01] + )| + 7(?: + 6[46-9]| + 7[02-9]| + 8[34] + )| + 8(?: + 79| + 8[0-35789]| + 9[1-57-9] + ) + )\d{4} + </nationalNumberPattern> + <exampleNumber>22123456</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern>[37-9]\d{7}</nationalNumberPattern> + <exampleNumber>91234567</exampleNumber> + </mobile> + </territory> + + <!-- Croatia --> + <!-- http://www.itu.int/oth/T0202000032/en --> + <!-- http://en.wikipedia.org/wiki/%2B385 --> + <territory id="HR" countryCode="385" internationalPrefix="00" + nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG"> + <availableFormats> + <!-- The plan says 1 XXX XXXX but the government and local telecom websites are formatted 1 + XXXX XXX, so we prefer that formatting here. These same sources prefer XXX XXX to XX + XXXX as well. --> + <numberFormat pattern="(1)(\d{4})(\d{3})"> + <leadingDigits>1</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(6[029])(\d{4})(\d{3})"> + <leadingDigits>6[029]</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="([2-5]\d)(\d{3})(\d{3})"> + <leadingDigits>[2-5]</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(9[12589])(\d{3,4})(\d{3,4})"> + <leadingDigits>9</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(9[12589])(\d{3,4})(\d{3})(\d{3})"> + <leadingDigits>9</leadingDigits> + <format>$1 $2 $3 $4</format> + </numberFormat> + <numberFormat pattern="(\d{2})(\d{2})(\d{2,3})"> + <leadingDigits> + 6[145]| + 7 + </leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(\d{2})(\d{3,4})(\d{3})"> + <leadingDigits> + 6[145]| + 7 + </leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(80[01])(\d{2})(\d{2,3})"> + <leadingDigits>8</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(80[01])(\d{3,4})(\d{3})"> + <leadingDigits>8</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern> + [1-7]\d{5,8}| + [89]\d{6,11} + </nationalNumberPattern> + <possibleNumberPattern>\d{6,12}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <!-- Supporting 060 (general service), 062 (universal access), 069 (children service) + numbers here too. --> + <nationalNumberPattern> + (?: + 1| + 6[029] + )\d{7}| + (?: + 2[0-3]| + 3[1-5]| + 4[02-47-9]| + 5[1-3] + )\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{6,9}</possibleNumberPattern> + <exampleNumber>12345678</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern>9[12589]\d{6,10}</nationalNumberPattern> + <possibleNumberPattern>\d{8,12}</possibleNumberPattern> + <exampleNumber>912345678</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern>80[01]\d{4,7}</nationalNumberPattern> + <possibleNumberPattern>\d{7,10}</possibleNumberPattern> + <exampleNumber>8001234567</exampleNumber> + </tollFree> + <premiumRate> + <!-- 061 is for TeleVoting numbers - but these are charged at similar rates to premium rate + so we include them here. --> + <nationalNumberPattern>6[145]\d{4,7}</nationalNumberPattern> + <possibleNumberPattern>\d{6,9}</possibleNumberPattern> + <exampleNumber>611234</exampleNumber> + </premiumRate> + <personalNumber> + <nationalNumberPattern>7[45]\d{4,7}</nationalNumberPattern> + <possibleNumberPattern>\d{6,9}</possibleNumberPattern> + <exampleNumber>741234567</exampleNumber> + </personalNumber> + </territory> + + <!-- Haiti --> + <!-- http://www.itu.int/oth/T020200005E/en --> + <!-- http://www.numberingplans.com/ --> + <territory id="HT" countryCode="509" internationalPrefix="00"> + <availableFormats> + <numberFormat pattern="(\d{2})(\d{2})(\d{4})"> + <format>$1 $2 $3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[2-489]\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <!-- The prefix 24 seems to be also used, based on online searches. --> + <nationalNumberPattern> + 2(?: + [24]\d| + 5[1-5]| + 94 + )\d{5} + </nationalNumberPattern> + <exampleNumber>22453300</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern> + (?: + 3[4-9]| + 4\d + )\d{6} + </nationalNumberPattern> + <exampleNumber>34101234</exampleNumber> + </mobile> + <tollFree> + <!-- ITU document says numbers with prefix 8 are "value-added services and free numbers + without making any further distinction. However, http://www.numberingplans.com/ seems + to suggest they are free. --> + <nationalNumberPattern>8\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>80012345</exampleNumber> + </tollFree> + <voip> + <!-- ITU document suggests 98\d{6}, but http://www.numberingplans.com/ restricts it to + 98[89]\d{5}. --> + <nationalNumberPattern>98[89]\d{5}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>98901234</exampleNumber> + </voip> + <shortCode> + <nationalNumberPattern>1\d{2}</nationalNumberPattern> + <possibleNumberPattern>\d{3}</possibleNumberPattern> + <exampleNumber>114</exampleNumber> + </shortCode> + </territory> + + <!-- Hungary --> + <!-- http://www.itu.int/dms_pub/itu-t/oth/02/02/T02020000610001MSWE.doc --> + <territory id="HU" countryCode="36" internationalPrefix="00" + nationalPrefix="06" nationalPrefixFormattingRule="($FG)"> + <!-- Although the national prefix is necessary for dialling, the preferred format (confirmed + by a Hungarian person and following the yellow pages) is to omit this when formatting. + Yellow pages: www.aranyoldalak.hu --> + <availableFormats> + <numberFormat pattern="(1)(\d{3})(\d{4})"> + <leadingDigits>1</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(\d{2})(\d{3})(\d{3,4})"> + <leadingDigits>[2-9]</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>\d{8,9}</nationalNumberPattern> + <possibleNumberPattern>\d{6,9}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <!-- Includes numbers for corporate networks. --> + <nationalNumberPattern> + (?: + 1\d| + 2(?: + 1\d| + [2-9] + )| + 3[2-7]| + 4[24-9]| + 5[2-79]| + 6[23689]| + 7(?: + 1\d| + [2-9] + )| + 8[2-57-9]| + 9[2-69] + )\d{6} + </nationalNumberPattern> + <exampleNumber>12345678</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern> + (?: + [27]0| + 3[01] + )\d{7} + </nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>201234567</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern>80\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>80123456</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>9[01]\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>90123456</exampleNumber> + </premiumRate> + <sharedCost> + <nationalNumberPattern>40\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>40123456</exampleNumber> + </sharedCost> + </territory> + + <!-- Indonesia --> + <!-- http://www.itu.int/oth/T0202000064/en (from 2001, very out-of-date) --> + <!-- http://en.wikipedia.org/wiki/%2B62 --> + <territory id="ID" countryCode="62" internationalPrefix="0(?:0[1789]|10(?:00|1[67]))" + nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG"> + <availableFormats> + <numberFormat nationalPrefixFormattingRule="($NP$FG)" + pattern="(\d{2})(\d{7,8})"> + <leadingDigits> + 2[124]| + [36]1 + </leadingDigits> + <format>$1 $2</format> + </numberFormat> + <numberFormat nationalPrefixFormattingRule="($NP$FG)" + pattern="(\d{3})(\d{5,7})"> + <leadingDigits> + [4579]| + 2[035-9]| + [36][02-9] + </leadingDigits> + <format>$1 $2</format> + </numberFormat> + <numberFormat pattern="(8\d{2})(\d{3,4})(\d{3,4})"> + <leadingDigits>8[1-35-9]</leadingDigits> + <format>$1-$2-$3</format> + </numberFormat> + <numberFormat pattern="(177)(\d{6,8})"> + <leadingDigits>1</leadingDigits> + <format>$1 $2</format> + </numberFormat> + <!-- http://en.wikipedia.org/wiki/Toll-free_telephone_number, and examples on the web show + that sometimes they are followed by less digits. --> + <numberFormat pattern="(800)(\d{5,7})"> + <leadingDigits>800</leadingDigits> + <format>$1 $2</format> + </numberFormat> + <numberFormat pattern="(809)(\d)(\d{3})(\d{3})"> + <leadingDigits>809</leadingDigits> + <format>$1 $2 $3 $4</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[1-9]\d{6,10}</nationalNumberPattern> + <possibleNumberPattern>\d{5,11}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <!-- Area codes taken from wikipedia, with missing ones added from + http://www.telkom.co.id/customer-services/area-and-country-code/?type=area. + We also added 0770 after user feedback because it seems to be used on Bintan island. + --> + <nationalNumberPattern> + 2[124]\d{7,8}| + (?: + 2(?: + [35][1-4]| + 6[0-8]| + 7[1-6]| + 8\d| + 9[1-8] + )| + 3(?: + 1| + 2[1-578]| + 3[1-68]| + 4[1-3]| + 5[1-8]| + 6[1-3568]| + 7[0-46]| + 8\d + )| + 4(?: + 0[1-589]| + 1[01347-9]| + 2[0-36-8]| + 3[0-24-68]| + 5[1-378]| + 6[1-5]| + 7[134]| + 8[1245] + )| + 5(?: + 1[1-35-9]| + 2[25-8]| + 3[1246-9]| + 4[1-3589]| + 5[1-46]| + 6[1-8] + )| + 6(?: + 19? | + [25]\d| + 3[1-469]| + 4[1-6] + )| + 7(?: + 1[1-46-9]| + 2[14-9]| + [36]\d| + 4[1-8]| + 5[1-9]| + 7[0-36-9] + )| + 9(?: + 0[12]| + 1[0134-8]| + 2[0-479]| + 5[125-8]| + 6[23679]| + 7[159]| + 8[01346] + ) + )\d{5,8} + </nationalNumberPattern> + <possibleNumberPattern>\d{5,10}</possibleNumberPattern> + <exampleNumber>612345678</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern>8[1-35-9]\d{7,9}</nationalNumberPattern> + <possibleNumberPattern>\d{9,11}</possibleNumberPattern> + <exampleNumber>812345678</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern> + 177\d{6,8}| + 800\d{5,7} + </nationalNumberPattern> + <possibleNumberPattern>\d{8,11}</possibleNumberPattern> + <exampleNumber>8001234567</exampleNumber> + </tollFree> + <!-- The infomation below is provided by an Indonesian --> + <premiumRate> + <nationalNumberPattern>809\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>8091234567</exampleNumber> + </premiumRate> + </territory> + + <!-- Ireland --> + <!-- http://www.comreg.ie/_fileupload/publications/ComReg0802.pdf --> + <!-- http://www.comreg.ie/_fileupload/publications/ComReg0435.pdf --> + <!-- http://www.comreg.ie/_fileupload/publications/ComReg03147.pdf --> + <territory id="IE" countryCode="353" internationalPrefix="00" + nationalPrefix="0" nationalPrefixFormattingRule="($NP$FG)"> + <availableFormats> + <numberFormat pattern="(1)(\d{3,4})(\d{4})"> + <leadingDigits>1</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(\d{2})(\d{5})"> + <leadingDigits> + 2[2-9]| + 4[347]| + 5[2-58]| + 6[2-47-9]| + 9[3-9] + </leadingDigits> + <format>$1 $2</format> + </numberFormat> + <numberFormat pattern="(\d{3})(\d{5})"> + <leadingDigits> + 40[24]| + 50[45] + </leadingDigits> + <format>$1 $2</format> + </numberFormat> + <numberFormat pattern="(48)(\d{4})(\d{4})"> + <leadingDigits>48</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(818)(\d{3})(\d{3})"> + <leadingDigits>81</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(\d{2})(\d{3})(\d{3,4})"> + <leadingDigits> + [24-69]| + 7[14] + </leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat nationalPrefixFormattingRule="$NP$FG" + pattern="([78]\d)(\d{3,4})(\d{4})"> + <leadingDigits> + 76| + 8[35-9] + </leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat nationalPrefixFormattingRule="$NP$FG" + pattern="(700)(\d{3})(\d{3})"> + <leadingDigits>70</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat nationalPrefixFormattingRule="$FG" pattern="(\d{4})(\d{3})(\d{3})"> + <leadingDigits> + 1(?: + 8[059]| + 5 + ) + </leadingDigits> + <leadingDigits> + 1(?: + 8[059]0| + 5 + ) + </leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[124-9]\d{6,9}</nationalNumberPattern> + <possibleNumberPattern>\d{5,10}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <!-- We allow 6-7 digit subscriber numbers for the 021 area code since that seems to be + reflected by the numbers in the Yellow Pages. The 023, 043, 052 and 064 area codes also + may have 7 digit subscriber numbers, although limited to 5 in the plan. This was caused + by a numbering update in 2008 (http://www.wtng.info/wtng-353-ie.html has more details). + Other changes not in the plan include consolidating 0502, 0506 and 0509 into 057 and + 054, 055 and 053 into 053, and making 044 be followed by 7 digits in some cases. + Another peculiarity is that 048 actually replaces 00 44 28 when Irish people dial, + allowing them to easily dial Northern Ireland. We support these numbers here, although + technically they are numbers for the UK. --> + <nationalNumberPattern> + 1\d{7,8}| + 2(?: + 1\d{6,7}| + [24-9]\d{5}| + 3\d{5,7} + )| + 4(?: + 0[24]\d{5}| + [1269]\d{7}| + [34]\d{5,7}| + 5\d{6}| + 7\d{5}| + 8[0-46-9]\d{7} + )| + 5(?: + 0[45]\d{5}| + 1\d{6}| + 2\d{5,7}| + [3679]\d{7}| + 8\d{5} + )| + 6(?: + 1\d{6}| + 4\d{5,7}| + [237-9]\d{5}| + [56]\d{7} + )| + 7[14]\d{7}| + 9(?: + 1\d{6}| + [04]\d{7}| + [3-9]\d{5} + ) + </nationalNumberPattern> + <possibleNumberPattern>\d{5,10}</possibleNumberPattern> + <exampleNumber>2212345</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern> + 8(?: + 22\d{6}| + [35-9]\d{7,8} + ) + </nationalNumberPattern> + <possibleNumberPattern>\d{9,10}</possibleNumberPattern> + <exampleNumber>850123456</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern>1800\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>1800123456</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern> + 15(?: + 1[2-9]| + [2-8]0| + 59| + 9[089] + )\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>1520123456</exampleNumber> + </premiumRate> + <sharedCost> + <nationalNumberPattern>18[59]0\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>1850123456</exampleNumber> + </sharedCost> + <personalNumber> + <nationalNumberPattern>700\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>700123456</exampleNumber> + </personalNumber> + <voip> + <nationalNumberPattern>76\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>761234567</exampleNumber> + </voip> + <uan> + <nationalNumberPattern>818\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>818123456</exampleNumber> + </uan> + </territory> + + <!-- Israel --> + <!-- http://www.itu.int/oth/T020200006A/en --> + <!-- http://en.wikipedia.org/wiki/%2B972 --> + <!-- http://www.wtng.info/wtng-972-il.html --> + <!-- http://www.moc.gov.il/new/documents/engineering/MISP0200.ppt (in Hebrew) --> + <!-- Formatting practice following wikipedia, and government sites. --> + <territory id="IL" countryCode="972" internationalPrefix="0(?:0|1[2-48])" + nationalPrefix="0" nationalPrefixFormattingRule="$FG"> + <availableFormats> + <numberFormat nationalPrefixFormattingRule="$NP$FG" + pattern="([2-489])(\d{3})(\d{4})"> + <leadingDigits>[2-489]</leadingDigits> + <format>$1-$2-$3</format> + </numberFormat> + <numberFormat nationalPrefixFormattingRule="$NP$FG" + pattern="([57]\d)(\d{3})(\d{4})"> + <leadingDigits>[57]</leadingDigits> + <format>$1-$2-$3</format> + </numberFormat> + <numberFormat pattern="(1)([7-9]\d{2})(\d{3})(\d{3})"> + <leadingDigits>1[7-9]</leadingDigits> + <format>$1-$2-$3-$4</format> + </numberFormat> + <!-- The following number is for hospitals. --> + <numberFormat pattern="(1255)(\d{3})"> + <leadingDigits>125</leadingDigits> + <format>$1-$2</format> + </numberFormat> + <numberFormat pattern="(1200)(\d{3})(\d{3})"> + <leadingDigits>120</leadingDigits> + <format>$1-$2-$3</format> + </numberFormat> + <numberFormat pattern="(1212)(\d{2})(\d{2})"> + <leadingDigits>121</leadingDigits> + <format>$1-$2-$3</format> + </numberFormat> + <!-- These are 4-digit star numbers which are only accessible within Israel and must be + dialed with a star in front of the number. --> + <numberFormat pattern="(\d{4})"> + <leadingDigits>[2-689]</leadingDigits> + <format>*$1</format> + </numberFormat> + </availableFormats> + <generalDesc > + <nationalNumberPattern> + [17]\d{6,9}| + [2-589]\d{3}(?:\d{3,6})?| + 6\d{3} + </nationalNumberPattern> + <possibleNumberPattern>\d{4,10}</possibleNumberPattern> + </generalDesc> + <noInternationalDialling> + <nationalNumberPattern> + 1700\d{6}| + [2-689]\d{3} + </nationalNumberPattern> + <possibleNumberPattern>\d{4,10}</possibleNumberPattern> + <exampleNumber>1700123456</exampleNumber> + </noInternationalDialling> + <fixedLine> + <nationalNumberPattern> + (?: + [2-489]| + 7[2-46-8] + )\d{7} + </nationalNumberPattern> + <possibleNumberPattern>\d{7,9}</possibleNumberPattern> + <exampleNumber>21234567</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern>5[024679]\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>501234567</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern> + 1(?: + 80[01]\d{3}| + 255 + )\d{3} + </nationalNumberPattern> + <possibleNumberPattern>\d{7,10}</possibleNumberPattern> + <exampleNumber>1800123456</exampleNumber> + </tollFree> + <premiumRate> + <!-- Peculiarly, one source states that 1956 and 1957 are the new premium rate prefixes. + However, no online numbers starting with these prefixes can be found, and this data + is not found in any other source. Instead, 1919 numbers are commonly used online for + these services, so we support them. --> + <!-- 1200 and 1212 numbers are for televoting. --> + <nationalNumberPattern> + 1(?: + 212| + (?: + 919| + 200 + )\d{2} + )\d{4} + </nationalNumberPattern> + <possibleNumberPattern>\d{8,10}</possibleNumberPattern> + <exampleNumber>1919123456</exampleNumber> + </premiumRate> + <sharedCost> + <nationalNumberPattern> + 1(?: + 700| + 809 + )\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>1700123456</exampleNumber> + </sharedCost> + <voip> + <nationalNumberPattern>77\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>771234567</exampleNumber> + </voip> + <uan> + <!-- 4-digit star numbers. --> + <nationalNumberPattern>[2-689]\d{3}</nationalNumberPattern> + <possibleNumberPattern>\d{4}</possibleNumberPattern> + <exampleNumber>2250</exampleNumber> + </uan> + <shortCode> + <nationalNumberPattern>1\d{3}</nationalNumberPattern> + <possibleNumberPattern>\d{4}</possibleNumberPattern> + <exampleNumber>1455</exampleNumber> + </shortCode> + </territory> + + <!-- Isle of Man --> + <!-- Inherits formatting rules from the UK. --> + <!-- http://en.wikipedia.org/wiki/Telephone_numbers_in_the_United_Kingdom --> + <territory id="IM" countryCode="44" internationalPrefix="00" + nationalPrefix="0" preferredExtnPrefix=" x" nationalPrefixFormattingRule="$NP$FG"> + <generalDesc> + <nationalNumberPattern>[135789]\d{6,9}</nationalNumberPattern> + <possibleNumberPattern>\d{6,10}</possibleNumberPattern> + </generalDesc> + <areaCodeOptional> + <nationalNumberPattern>1624[2-9]\d{5}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>1624250123</exampleNumber> + </areaCodeOptional> + <!-- Specific to IM. --> + <fixedLine> + <!-- 1624 with 10 digits. --> + <nationalNumberPattern>1624\d{6}</nationalNumberPattern> + <exampleNumber>1624456789</exampleNumber> + </fixedLine> + <mobile> + <!-- 7524, 7624, 7924 with 10 digits. --> + <nationalNumberPattern>7[569]24\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>7924123456</exampleNumber> + </mobile> + <tollFree> + <!-- 808 162 with 10 digits. --> + <nationalNumberPattern>808162\d{4}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>8081624567</exampleNumber> + </tollFree> + <premiumRate> + <!-- 872 299, 900 624, 901 624, 906 624, 907 624 with 10 digits. --> + <nationalNumberPattern> + (?: + 872299| + 90[0167]624 + )\d{4} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>9016247890</exampleNumber> + </premiumRate> + <sharedCost> + <!-- 844 040 6, 844 090 6, 845 624, 870 624 with 10 digits. --> + <nationalNumberPattern> + 8(?: + 4(?: + 40[49]06| + 5624\d + )| + 70624\d + )\d{3} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>8456247890</exampleNumber> + </sharedCost> + <!-- Other numbers as per GB. --> + <personalNumber> + <nationalNumberPattern>70\d{8}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>7012345678</exampleNumber> + </personalNumber> + <voip> + <nationalNumberPattern>56\d{8}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>5612345678</exampleNumber> + </voip> + <uan> + <!-- 308 162, 33d, 344 040 6, 344 090 6, 345 624, 370 624, 372 299, 55 with 10 digits. --> + <nationalNumberPattern> + 3(?: + 08162\d| + 3\d{5}| + 4(?: + 40[49]06| + 5624\d + )| + 7(?: + 0624\d| + 2299\d + ) + )\d{3}| + 55\d{8} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>5512345678</exampleNumber> + </uan> + <shortCode> + <nationalNumberPattern> + 1\d{2}(?:\d{3})?| + 999 + </nationalNumberPattern> + <possibleNumberPattern>\d{3,6}</possibleNumberPattern> + <exampleNumber>150</exampleNumber> + </shortCode> + </territory> + + <!-- India --> + <!-- http://www.itu.int/oth/T0202000063/en --> + <!-- http://en.wikipedia.org/wiki/%2B91 --> + <!-- Note that several changes in area codes have occurred since the numbering plan was released + - changes are notified on the www.bsnl.co.in website. Area codes can be verified here at + http://www.bsnl.co.in/stdsearch.php. --> + <territory id="IN" countryCode="91" internationalPrefix="00" + nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG"> + <availableFormats> + <!-- Mobile numbers. --> + <numberFormat pattern="(\d{2})(\d{2})(\d{6})"> + <leadingDigits> + 7(?: + 2[0579]| + 39| + 4[0-389]| + 5[04-9]| + 6| + 7[02-9]| + 8[0-79] + )| + 8(?: + 0[01589]| + 1[024]| + 8[0479]| + 9[057-9] + )| + 9 + </leadingDigits> + <leadingDigits> + 7(?: + 2[0579]| + 39| + 4[0-389]| + 5(?: + 0[0-5]| + 49| + 50| + [6-9] + )| + 6| + 7[02-9]| + 8[0-79] + )| + 8(?: + 0[01589]| + 1[024]| + 8(?: + [079]| + 44 + )| + 9[057-9] + )| + 9 + </leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <!-- 2 digits area code --> + <numberFormat pattern="(\d{2})(\d{4})(\d{4})"> + <leadingDigits> + 11| + 2[02]| + 33| + 4[04]| + 79| + 80[2-6] + </leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <!-- 3 digits area code --> + <numberFormat pattern="(\d{3})(\d{3})(\d{4})"> + <leadingDigits> + 1(?: + 2[0-249]| + 3[0-25]| + 4[145]| + [569][14]| + 7[1257]| + 8[1346]| + [68][1-9] + ) + </leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(\d{3})(\d{3})(\d{4})"> + <leadingDigits> + 2(?: + 1[257]| + 3[013]| + 4[01]| + 5[0137]| + 6[0158]| + 78| + 8[1568]| + 9[14] + ) + </leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(\d{3})(\d{3})(\d{4})"> + <leadingDigits> + 3(?: + 26| + 4[1-3]| + 5[34]| + 6[01489]| + 7[02-46]| + 8[159] + ) + </leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(\d{3})(\d{3})(\d{4})"> + <leadingDigits> + 4(?: + 1[36]| + 2[1-47]| + 3[15]| + 5[12]| + 6[126-9]| + 7[0-24-9]| + 8[013-57]| + 9[014-7] + ) + </leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(\d{3})(\d{3})(\d{4})"> + <leadingDigits> + 5(?: + [136][25]| + 22| + 4[28]| + 5[12]| + [78]1| + 9[15] + ) + </leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(\d{3})(\d{3})(\d{4})"> + <leadingDigits> + 6(?: + 12| + [2345]1| + 57| + 6[13]| + 7[14]| + 80 + ) + </leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(\d{3})(\d{3})(\d{4})"> + <leadingDigits> + 7(?: + 12| + 2[14]| + 3[134]| + 4[47]| + 5[15]| + [67]1| + 88 + ) + </leadingDigits> + <leadingDigits> + 7(?: + 12| + 2[14]| + 3[134]| + 4[47]| + 5(?: + 1| + 5[1-9] + )| + [67]1| + 88 + ) + </leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(\d{3})(\d{3})(\d{4})"> + <leadingDigits> + 8(?: + 16| + 2[014]| + 3[126]| + 6[136]| + 7[078]| + 8[34]| + 91 + ) + </leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <!-- 4 digits area code --> + <!-- Fallback for fixed-line numbers. --> + <numberFormat pattern="(\d{4})(\d{3})(\d{3})"> + <leadingDigits> + 1(?: + [2-579]| + [68][1-9] + )| + [2-8] + </leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat nationalPrefixFormattingRule="$FG" + pattern="(1600)(\d{2})(\d{4})"> + <leadingDigits>160</leadingDigits> + <leadingDigits>1600</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat nationalPrefixFormattingRule="$FG" + pattern="(1800)(\d{4,5})"> + <leadingDigits>180</leadingDigits> + <leadingDigits>1800</leadingDigits> + <format>$1 $2</format> + </numberFormat> + <numberFormat nationalPrefixFormattingRule="$FG" + pattern="(18[06]0)(\d{2,4})(\d{4})"> + <leadingDigits>18[06]</leadingDigits> + <leadingDigits>18[06]0</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern> + 1\d{7,11}| + [2-9]\d{9,10} + </nationalNumberPattern> + <possibleNumberPattern>\d{6,12}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <!-- This is a list of the 2 and 3 digit area codes and the first 3 + digits of 4 digit area codes, so we can check the following digit + belongs to one of the operator-codes (2-6). Operator codes from + wikipedia, with the addition of 5 (HFCL Infotel). Area codes starting + with a 7 are listed separately, since the prefixes need to be more + detailed as they would otherwise clash with mobile phone prefixes. --> + <nationalNumberPattern> + (?: + 11| + 2[02]| + 33| + 4[04]| + 79| + 80 + )[2-6]\d{7}| + (?: + 1(?: + 2[0-249]| + 3[0-25]| + 4[145]| + [59][14]| + 6[014]| + 7[1257]| + 8[01346] + )| + 2(?: + 1[257]| + 3[013]| + 4[01]| + 5[0137]| + 6[0158]| + 78| + 8[1568]| + 9[14] + )| + 3(?: + 26| + 4[1-3]| + 5[34]| + 6[01489]| + 7[02-46]| + 8[159] + )| + 4(?: + 1[36]| + 2[1-47]| + 3[15]| + 5[12]| + 6[126-9]| + 7[0-24-9]| + 8[013-57]| + 9[014-7] + )| + 5(?: + [136][25]| + 22| + 4[28]| + 5[12]| + [78]1| + 9[15] + )| + 6(?: + 12| + [2345]1| + 57| + 6[13]| + 7[14]| + 80 + )| + 7(?: + 12| + 2[14]| + 3[134]| + 4[47]| + 5[15]| + [67]1| + 88 + )| + 8(?: + 16| + 2[014]| + 3[126]| + 6[136]| + 7[078]| + 8[34]| + 91 + ) + )[2-6]\d{6}| + (?: + (?: + 1(?: + 2[35-8]| + 3[346-9]| + 4[236-9]| + [59][0235-9]| + 6[235-9]| + 7[34689]| + 8[257-9] + )| + 2(?: + 1[134689]| + 3[24-8]| + 4[2-8]| + 5[25689]| + 6[2-4679]| + 7[13-79]| + 8[2-479]| + 9[235-9] + )| + 3(?: + 01| + 1[79]| + 2[1-5]| + 4[25-8]| + 5[125689]| + 6[235-7]| + 7[157-9]| + 8[2-467] + )| + 4(?: + 1[14578]| + 2[5689]| + 3[2-467]| + 5[4-7]| + 6[35]| + 73| + 8[2689]| + 9[2389] + )| + 5(?: + [16][146-9]| + 2[14-8]| + 3[1346]| + 4[14-69]| + 5[46]| + 7[2-4]| + 8[2-8]| + 9[246] + )| + 6(?: + 1[1358]| + 2[2457]| + 3[2-4]| + 4[235-7]| + 5[2-689]| + 6[24-58]| + 7[23-689]| + 8[1-6] + )| + 8(?: + 1[1357-9]| + 2[235-8]| + 3[03-57-9]| + 4[0-24-9]| + 5\d| + 6[2457-9]| + 7[1-6]| + 8[1256]| + 9[2-4] + ) + )\d| + 7(?: + (?: + 1[013-9]| + 2[0235-9]| + 3[2679]| + 4[1-35689]| + 5[2-46-9]| + [67][02-9]| + 9\d + )\d| + 8(?: + 2[0-6]| + [013-8]\d + ) + ) + )[2-6]\d{5} + </nationalNumberPattern> + <possibleNumberPattern>\d{6,10}</possibleNumberPattern> + <exampleNumber>1123456789</exampleNumber> + </fixedLine> + <!-- http://en.wikipedia.org/wiki/Mobile_telephone_numbering_in_India --> + <mobile> + <!-- A couple of additional prefixes not found on the wikipedia page, such as 7796, are + added because SMS messages have been successfully sent to these numbers. It seems + almost impossible to know for some of these numbers whether they are land-line or + mobile, since the ranges overlap. --> + <nationalNumberPattern> + (?: + 7(?: + 2(?: + 0[04-9]| + 5[09]| + 7[568]| + 9[39] + )| + 3(?: + 07| + 7[3679]| + 9[689] + )| + 4(?: + 05| + 1[15-9]| + [29][89]| + 39| + 8[389] + )| + 5(?: + 0[0-5]| + [47]9| + 50| + 6[6-9]| + [89][7-9] + )| + 6(?: + 0[027]| + 12| + 20| + 3[19]| + 5[45]| + 6[5-9]| + 7[67]| + 9[6-9] + )| + 7(?: + 0[289]| + 3[5-9]| + 42| + 60| + 9[5-9] + )| + 8(?: + [03][07-9]| + 14| + 2[7-9]| + 4[25]| + 6[09]| + 7[015689]| + 9[0357-9] + ) + )\d| + 9\d{4}| + 8(?: + (?: + 0[01589]| + 1[24]| + 2[2369]| + 4[023458]| + 52| + 6[0589]| + 7[2569] + )\d| + 8(?: + [079]\d| + 44 + )| + 9[057-9]\d + )\d + )\d{5} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>9123456789</exampleNumber> + </mobile> + <tollFree> + <!-- Information gathered from sites such as + http://www.surfindia.com/india-facts/toll-free-no.html and + http://indmusings.blogspot.com/2008/09/free-help-line-numbersindia.html --> + <nationalNumberPattern> + 1(?: + 600\d{6}| + 800\d{4,8} + ) + </nationalNumberPattern> + <possibleNumberPattern>\d{8,12}</possibleNumberPattern> + <exampleNumber>1800123456</exampleNumber> + </tollFree> + <!-- The metadata on premium rate is temporarily commented out as wikipedia says 900 is + mobile, conflicting with the national numbering plan. --> + <!-- + <premiumRate> + <nationalNumberPattern>900\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>9001234567</exampleNumber> + </premiumRate> + --> + <uan> + <!-- Information gathered from sites such as http://www.calcutta.bsnl.co.in/insuan.html --> + <nationalNumberPattern>1860345\d{4}</nationalNumberPattern> + <possibleNumberPattern>\d{11}</possibleNumberPattern> + <exampleNumber>18603451234</exampleNumber> + </uan> + </territory> + + <!-- British Indian Ocean Territory / Diego Garcia --> + <!-- http://www.itu.int/oth/T0202000039/en --> + <territory id="IO" countryCode="246" internationalPrefix="00"> + <availableFormats> + <numberFormat pattern="(\d{3})(\d{4})"> + <format>$1 $2</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>3\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{7}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern>37\d{5}</nationalNumberPattern> + <exampleNumber>3709100</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern>38\d{5}</nationalNumberPattern> + <exampleNumber>3801234</exampleNumber> + </mobile> + </territory> + + <!-- Iraq --> + <!-- http://en.wikipedia.org/wiki/%2B964 --> + <!-- http://wtng.info/wtng-964-ik.html --> + <territory id="IQ" countryCode="964" internationalPrefix="00" + nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG"> + <availableFormats> + <numberFormat pattern="(1)(\d{3})(\d{4})"> + <leadingDigits>1</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="([2-6]\d)(\d{3})(\d{3,4})"> + <leadingDigits>[2-6]</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(7[5-9]\d)(\d{3})(\d{4})"> + <leadingDigits>7</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[1-7]\d{7,9}</nationalNumberPattern> + <possibleNumberPattern>\d{6,10}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + 1\d{7}| + (?: + 2[13-5]| + 3[02367]| + 4[023]| + 5[03]| + 6[026] + )\d{6,7} + </nationalNumberPattern> + <possibleNumberPattern>\d{6,9}</possibleNumberPattern> + <exampleNumber>12345678</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern>7[5-9]\d{8}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>7912345678</exampleNumber> + </mobile> + <!-- No tollFree or premiumRate information can be found. --> + </territory> + + <!-- Iran, Islamic Republic of --> + <!-- http://en.wikipedia.org/wiki/%2B98 --> + <!-- http://www.itu.int/oth/T0202000066/en --> + <territory id="IR" countryCode="98" internationalPrefix="00" + nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG"> + <availableFormats> + <!-- Formatting follows wikipedia. --> + <numberFormat pattern="(21)(\d{4})(\d{4})"> + <leadingDigits>21</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(\d{3})(\d{3})(\d{4})"> + <leadingDigits> + [13-89]| + 2[02-9] + </leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[2-6]\d{4,9}|[1789]\d{9}</nationalNumberPattern> + <possibleNumberPattern>\d{5,10}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <!-- The patterns here are organized such that numbers with variable lengths come first, + followed by numbers that are 10 digits long. --> + <nationalNumberPattern> + 2(?: + 1[2-9]\d{2,7}| + 51\d{3,7} + )| + (?: + 241| + 3(?: + 11| + 5[23] + )| + 441| + 5[14]1 + )\d{4,7}| + (?: + 3(?: + 34| + 41 + )| + 6(?: + 11| + 52 + )| + )\d{6,7}| + (?: + 1(?: + [134589][12]| + [27][1-4] + )| + 2(?: + 2[189]| + [3689][12]| + 42| + 5[256]| + 7[34] + )| + 3(?: + 12| + 2[1-4]| + 3[125]| + 4[24-9]| + 51| + [6-9][12] + )| + 4(?: + [135-9][12]| + 2[1-467]| + 4[2-4] + )| + 5(?: + 12| + 2[89]| + 3[1-5]| + 4[2-8]| + [5-7][12]| + 8[1245] + )| + 6(?: + 12| + [347-9][12]| + 51| + 6[1-6] + )| + 7(?: + [13589][12]| + 2[1289]| + 4[1-4]| + 6[1-6]| + 7[1-3] + )| + 8(?: + [145][12]| + 3[124578]| + 6[1256]| + 7[1245] + ) + )\d{7} + </nationalNumberPattern> + <exampleNumber>2123456789</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern> + 9(?: + 1\d| + 3[124-8] + )\d{7} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>9123456789</exampleNumber> + </mobile> + <pager> + <nationalNumberPattern>943[24678]\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>9432123456</exampleNumber> + </pager> + <!-- No tollFree or premiumRate information can be found. --> + <voip> + <!-- Includes VSAT and Boomehen Satellite numbers. --> + <nationalNumberPattern>993[12]\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>9932123456</exampleNumber> + </voip> + <uan> + <!-- TCI Public Relations numbers --> + <nationalNumberPattern>9990\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>9990123456</exampleNumber> + </uan> + </territory> + + <!-- Iceland --> + <!-- http://www.pta.is/default.aspx?cat_id=85 --> + <territory id="IS" countryCode="354" internationalPrefix="00"> + <availableFormats> + <numberFormat pattern="(\d{3})(\d{4})"> + <leadingDigits>[4-9]</leadingDigits> + <format>$1 $2</format> + </numberFormat> + <numberFormat pattern="(3\d{2})(\d{3})(\d{3})"> + <leadingDigits>3</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern> + [4-9]\d{6}| + 38\d{7} + </nationalNumberPattern> + <possibleNumberPattern>\d{7,9}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <!-- Including 87[23] XXXX here as it is listed as a fax number. --> + <nationalNumberPattern> + (?: + 4(?: + 1[0-245]| + 2[0-7]| + [37][0-8]| + 4[0245]| + 5[0-356]| + 6\d| + 8[0-46-8]| + 9[013-79] + )| + 5(?: + 05| + [156]\d| + 2[02578]| + 3[013-6]| + 4[03-6]| + 7[0-2578]| + 8[0-25-9]| + 9[013-689] + )| + 87[23] + )\d{4} + </nationalNumberPattern> + <possibleNumberPattern>\d{7}</possibleNumberPattern> + <exampleNumber>4101234</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern> + 38[59]\d{6}| + (?: + 6(?: + 1[014-8]| + 2[0-8]| + 3[0-27-9]| + 4[0-29]| + 5[029]| + [67][0-69]| + [89]\d + )| + 7(?: + 5[057]| + 7[0-7] + )| + 8(?: + 2[0-5]| + [469]\d| + 5[1-9] + ) + )\d{4} + </nationalNumberPattern> + <exampleNumber>6101234</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern>800\d{4}</nationalNumberPattern> + <possibleNumberPattern>\d{7}</possibleNumberPattern> + <exampleNumber>8001234</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>90\d{5}</nationalNumberPattern> + <possibleNumberPattern>\d{7}</possibleNumberPattern> + <exampleNumber>9011234</exampleNumber> + </premiumRate> + <voip> + <nationalNumberPattern>49[013-79]\d{4}</nationalNumberPattern> + <possibleNumberPattern>\d{7}</possibleNumberPattern> + <exampleNumber>4931234</exampleNumber> + </voip> + </territory> + + <!-- Italy --> + <!-- http://en.wikipedia.org/wiki/%2B39 --> + <territory id="IT" countryCode="39" internationalPrefix="00" leadingZeroPossible="true"> + <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> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(0[26])(\d{4})(\d{5})"> + <leadingDigits>0[26]</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(0[26])(\d{4,6})"> + <leadingDigits>0[26]</leadingDigits> + <format>$1 $2</format> + </numberFormat> + <numberFormat pattern="(0\d{2})(\d{3,4})(\d{4})"> + <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> + <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})"> + <leadingDigits>0[13-57-9][2-46-8]</leadingDigits> + <format>$1 $2</format> + </numberFormat> + <numberFormat pattern="(\d{3})(\d{3})(\d{3,4})"> + <leadingDigits> + [13]| + 8(?: + 00| + 4[78] + ) + </leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(\d{3})(\d{3,6})"> + <leadingDigits> + 8(?: + 03| + 9 + ) + </leadingDigits> + <format>$1 $2</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[01389]\d{5,10}</nationalNumberPattern> + <possibleNumberPattern>\d{6,11}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + 0(?: + [26]\d{4,9}| + [13-57-9](?: + [0159]\d{4,8}| + [2-46-8]\d{5,8} + ) + ) + </nationalNumberPattern> + <possibleNumberPattern>\d{6,11}</possibleNumberPattern> + <exampleNumber>0212345678</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern>3\d{8,9}</nationalNumberPattern> + <possibleNumberPattern>\d{9,10}</possibleNumberPattern> + <exampleNumber>312345678</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern> + 80(?: + 0\d{6}| + 3\d{3} + ) + </nationalNumberPattern> + <possibleNumberPattern>\d{6,9}</possibleNumberPattern> + <exampleNumber>800123456</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern> + 89(?: + 2\d{3}| + 9\d{6} + ) + </nationalNumberPattern> + <possibleNumberPattern>\d{6,9}</possibleNumberPattern> + <exampleNumber>899123456</exampleNumber> + </premiumRate> + <sharedCost> + <nationalNumberPattern>84[78]\d{6,7}</nationalNumberPattern> + <possibleNumberPattern>\d{9,10}</possibleNumberPattern> + <exampleNumber>8481234567</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> + <possibleNumberPattern>\d{9,10}</possibleNumberPattern> + <exampleNumber>1781234567</exampleNumber> + </personalNumber> + </territory> + + <!-- Jersey --> + <!-- Inherits formatting rules from the UK. --> + <!-- http://en.wikipedia.org/wiki/Telephone_numbers_in_the_United_Kingdom --> + <!-- http://www.jcra.je/cms3/v2/public/cmsChild.asp?pageID=1024&childID=1036 --> + <territory id="JE" countryCode="44" internationalPrefix="00" + nationalPrefix="0" preferredExtnPrefix=" x" nationalPrefixFormattingRule="$NP$FG"> + <generalDesc> + <nationalNumberPattern>[135789]\d{6,9}</nationalNumberPattern> + <possibleNumberPattern>\d{6,10}</possibleNumberPattern> + </generalDesc> + <areaCodeOptional> + <nationalNumberPattern>1534[2-9]\d{5}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>1534250123</exampleNumber> + </areaCodeOptional> + <!-- Specific to JE. --> + <fixedLine> + <!-- 1534 with 10 digits. --> + <nationalNumberPattern>1534\d{6}</nationalNumberPattern> + <exampleNumber>1534456789</exampleNumber> + </fixedLine> + <mobile> + <!-- 7509, 7700, 7797, 7829, 7937 with 10 digits. --> + <nationalNumberPattern> + 7(?: + 509| + 7(?: + 00| + 97 + )| + 829| + 937 + )\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>7797123456</exampleNumber> + </mobile> + <pager> + <!-- Pager numbers as per GB. --> + <nationalNumberPattern> + 76(?: + 0[012]| + 2[356]| + 4[0134]| + 5[49]| + 6[0-369]| + 77| + 81| + 9[39] + )\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>7640123456</exampleNumber> + </pager> + <!-- Specific to JE. --> + <tollFree> + <!-- 800 735, 800 781, 808 901 with 10 digits. --> + <nationalNumberPattern> + 80(?: + 07(?: + 35| + 81 + )| + 8901 + )\d{4} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>8007354567</exampleNumber> + </tollFree> + <premiumRate> + <!-- 871 206, 900 665, 900 669, 901 810, 907 107, 907 155 with 10 digits. --> + <nationalNumberPattern> + (?: + 871206| + 90(?: + 066[59]| + 1810| + 71(?: + 07| + 55 + ) + ) + )\d{4} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>9018105678</exampleNumber> + </premiumRate> + <sharedCost> + <!-- 844 405, 844 442, 844 469, 844 703, 845 041, 845 800, 870 002 with 10 digits. --> + <nationalNumberPattern> + 8(?: + 4(?: + 4(?: + 4(?: + 05| + 42| + 69 + )| + 703 + )| + 5(?: + 041| + 800 + ) + )| + 70002 + )\d{4} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>8447034567</exampleNumber> + </sharedCost> + <personalNumber> + <!-- 70 1511 with 10 digits. --> + <nationalNumberPattern>701511\d{4}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>7015115678</exampleNumber> + </personalNumber> + <voip> + <!-- VoIP numbers as per GB. --> + <nationalNumberPattern>56\d{8}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>5612345678</exampleNumber> + </voip> + <uan> + <!-- 300 735, 300 781, 308 901, 33d, 344 405, 344 442, 344 469, 344 703, 345 041, 345 800, + 370 002, 371 206, 55 with 10 digits. --> + <nationalNumberPattern> + 3(?: + 0(?: + 07(?: + 35| + 81 + )| + 8901 + )| + 3\d{4}| + 4(?: + 4(?: + 4(?: + 05| + 42| + 69 + )| + 703 + )| + 5(?: + 041| + 800 + ) + )| + 7(?: + 0002| + 1206 + ) + )\d{4}| + 55\d{8} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>5512345678</exampleNumber> + </uan> + <shortCode> + <!-- http://www.jcra.je/cms3/v2/public/cmsChild.asp?pageID=1024&childID=1036 --> + <nationalNumberPattern> + 1(?: + 00| + 1(?: + 2| + 8\d{3} + )| + 23| + 4(?: + [14]| + 28| + 7\d + )| + 5\d| + 7(?: + 0[12]| + [128]| + 35? + )| + 808| + 9[135] + )| + 23[234]| + 999 + </nationalNumberPattern> + <possibleNumberPattern>\d{3,6}</possibleNumberPattern> + <exampleNumber>150</exampleNumber> + </shortCode> + </territory> + + <!-- Jamaica --> + <!-- http://www.itu.int/oth/T020200006C/en --> + <territory id="JM" countryCode="1" leadingDigits="876" + nationalPrefix="1" internationalPrefix="011"> + <generalDesc> + <!-- NANPA country - uses US formatting rules --> + <nationalNumberPattern>[589]\d{9}</nationalNumberPattern> + <possibleNumberPattern>\d{7}(?:\d{3})?</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + 876(?: + (?: + 5[0-26]| + 6\d + )\d{5}| + (?: + 7(?: + 0[2-689]| + [1-6]\d| + 8[056]| + 9[45] + )| + 9(?: + 0[1-8]| + 1[02378]| + [2-8]\d| + 9[2-468] + ) + )\d{4} + ) + </nationalNumberPattern> + <exampleNumber>8765123456</exampleNumber> + </fixedLine> + <mobile> + <!-- Adding 27, 28 and 31 as extra prefixes, as they have been found to be valid by sending + SMSs and looking at online number lookup sites. --> + <nationalNumberPattern> + 876(?: + (?: + 2[178]| + [348]\d| + 5[78] + )\d| + 7(?: + 0[07]| + 7\d| + 8[1-47-9]| + 9[0-36-9] + )| + 9(?: + [01]9| + 9[0579] + ) + )\d{4} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>8762101234</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern> + 8(?: + 00| + 55| + 66| + 77| + 88 + )[2-9]\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>8002123456</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>900[2-9]\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>9002123456</exampleNumber> + </premiumRate> + <personalNumber> + <!-- http://www.nanpa.com/pdf/PL_416.pdf --> + <nationalNumberPattern> + 5(?: + 00| + 33| + 44 + )[2-9]\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>5002345678</exampleNumber> + </personalNumber> + </territory> + + <!-- Jordan --> + <!-- http://www.trc.gov.jo/images/stories/pdf/NNP_ver200[1].pdf?lang=english --> + <!-- http://www.itu.int/oth/T020200006E/en --> + <!-- http://en.wikipedia.org/wiki/%2B962 --> + <territory id="JO" countryCode="962" internationalPrefix="00" + nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG"> + <availableFormats> + <numberFormat nationalPrefixFormattingRule="($NP$FG)" + pattern="(\d)(\d{3})(\d{4})"> + <leadingDigits> + [2356] + </leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(7)(\d{2})(\d{2})(\d{2})(\d{2})"> + <leadingDigits>7[457-9]</leadingDigits> + <format>$1 $2 $3 $4 $5</format> + </numberFormat> + <numberFormat pattern="(\d{3})(\d{5,6})"> + <leadingDigits> + 70| + [89] + </leadingDigits> + <format>$1 $2</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[235-9]\d{7,8}</nationalNumberPattern> + <possibleNumberPattern>\d{7,9}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <!-- Used the plan from www.trc.gov.jo since it is much more complete than the plan on the + ITU website. --> + <nationalNumberPattern>[2356][2-8]\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{7,8}</possibleNumberPattern> + <exampleNumber>62001234</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern> + 7(?: + [1-8]\d| + 9[02-9] + )\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>790123456</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern>80\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>80012345</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>900\d{5}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>90012345</exampleNumber> + </premiumRate> + <sharedCost> + <nationalNumberPattern>85\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>85012345</exampleNumber> + </sharedCost> + <personalNumber> + <nationalNumberPattern>70\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>700123456</exampleNumber> + </personalNumber> + <uan> + <!-- These numbers are Location Independent Services / Fixed cost according to + http://www.trc.gov.jo --> + <nationalNumberPattern> + 8(?: + 10| + [78]\d + )\d{5} + </nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>87101234</exampleNumber> + </uan> + </territory> + + <!-- Japan --> + <!-- http://www.soumu.go.jp/main_sosiki/joho_tsusin/top/tel_number/fixed.html --> + <!-- http://www.numberingplans.com/?page=dialling&sub=areacodes&ac=JP --> + <territory id="JP" countryCode="81" internationalPrefix="010" + nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG"> + <availableFormats> + <!-- Toll-free numbers --> + <numberFormat pattern="(\d{3})(\d{3})(\d{3})"> + <leadingDigits> + (?: + 12| + 99 + )0 + </leadingDigits> + <format>$1-$2-$3</format> + </numberFormat> + <!-- Some leading digits are explicitly reserved for a particular purpose. + We handle them first in this rule, and let the following rules ignore those exceptions. + Note: The rule here is not in the files we rely on when creating the other rules. + We would need to manually modify it if the Japanese goverment + decided to change the rule. + + (prefix): purpose + "50": IP phone + "90" and "80": Mobile phone + "70": PHS (Personal Handy-phone System, which has been used in Japan + with Non-3G, Japanese-specific protocol). + See also http://ja.wikipedia.org/wiki/PHS (Japanese) + --> + <numberFormat pattern="(\d{2})(\d{4})(\d{4})"> + <leadingDigits>[57-9]0</leadingDigits> + <format>$1-$2-$3</format> + </numberFormat> + <!-- The order of the reg-exps are important. + Examples (not all): + - "15": 15420 -> 154-20, 15472 -> 1547-2, 15410 -> 15-410, + - "22": 22200 -> 22-200, 22300 -> 22-300, 22320 -> 223-20, 22350 -> 22-350 + - "42": 42000 -> 4-2000, 42901 -> 4-2901, 42910 -> 42-910 + - "82": 82200 -> 82-200, 82020 -> 820-20, 82400 -> 82-400 + - "99": 99400 -> 99-400, 99430 -> 994-30, 99692 -> 9969-2, 99750 -> 997-50 + - "993": 99330 -> 993-30, 99331 -> 99-331, 99332 -> 993-32 + --> + <numberFormat pattern="(\d{4})(\d)(\d{4})"> + <leadingDigits> + 1(?: + 26| + 3[79]| + 4[56]| + 5[4-68]| + 6[3-5] + )| + 5(?: + 76| + 97 + )| + 499| + 746| + 8(?: + 3[89]| + 63| + 47| + 51 + )| + 9(?: + 49| + 80| + 9[16] + ) + </leadingDigits> + <leadingDigits> + 1(?: + 267| + 3(?: + 7[247]| + 9[278] + )| + 4(?: + 5[67]| + 66 + )| + 5(?: + 47| + 58| + 64| + 8[67] + )| + 6(?: + 3[245]| + 48| + 5[4-68] + ) + )| + 5(?: + 76| + 97 + )9| + 499[2468]| + 7468| + 8(?: + 3(?: + 8[78]| + 96 + )| + 636| + 477| + 51[24] + )| + 9(?: + 496| + 802| + 9(?: + 1[23]| + 69 + ) + ) + </leadingDigits> + <leadingDigits> + 1(?: + 267| + 3(?: + 7[247]| + 9[278] + )| + 4(?: + 5[67]| + 66 + )| + 5(?: + 47| + 58| + 64| + 8[67] + )| + 6(?: + 3[245]| + 48| + 5[4-68] + ) + )| + 5(?: + 769| + 979[2-69] + )| + 499[2468]| + 7468| + 8(?: + 3(?: + 8[78]| + 96[2457-9] + )| + 636[2-57-9]| + 477| + 51[24] + )| + 9(?: + 496| + 802| + 9(?: + 1[23]| + 69 + ) + ) + </leadingDigits> + <format>$1-$2-$3</format> + </numberFormat> + <numberFormat pattern="(\d{3})(\d{2})(\d{4})"> + <leadingDigits> + 1(?: + 2[3-6]| + 3[3-9]| + 4[2-6]| + 5[2-8]| + [68][2-7]| + 7[2-689]| + 9[1-578] + )| + 2(?: + 2[034-9]| + 3[3-58]| + 4[0-468]| + 5[04-8]| + 6[013-8]| + 7[06-9]| + 8[02-57-9]| + 9[13] + )| + 4(?: + 2[28]| + 3[689]| + 6[035-7]| + 7[05689]| + 80| + 9[3-5] + )| + 5(?: + 3[1-36-9]| + 4[4578]| + 5[013-8]| + 6[1-9]| + 7[2-8]| + 8[14-7]| + 9[4-9] + )| + 7(?: + 2[15]| + 3[5-9]| + 4[02-9]| + 6[135-8]| + 7[0-4689]| + 9[014-9] + )| + 8(?: + 2[49]| + 3[3-8]| + 4[5-8]| + 5[2-9]| + 6[35-9]| + 7[579]| + 8[03-579]| + 9[2-8] + )| + 9(?: + [23]0| + 4[02-46-9]| + 5[0245-79]| + 6[4-9]| + 7[2-47-9]| + 8[02-7]| + 9[3-7] + ) + </leadingDigits> + <leadingDigits> + 1(?: + 2[3-6]| + 3[3-9]| + 4[2-6]| + 5(?: + [236-8]| + [45][2-69] + )| + [68][2-7]| + 7[2-689]| + 9[1-578] + )| + 2(?: + 2(?: + [04-9]| + 3[23] + )| + 3[3-58]| + 4[0-468]| + 5(?: + 5[78]| + 7[2-4]| + [0468][2-9] + )| + 6(?: + [0135-8]| + 4[2-5] + )| + 7(?: + [0679]| + 8[2-7] + )| + 8(?: + [024578]| + 3[25-9]| + 9[6-9] + )| + 9(?: + 11| + 3[2-4] + ) + )| + 4(?: + 2(?: + 2[2-9]| + 8[237-9] + )| + 3[689]| + 6[035-7]| + 7(?: + [059][2-8]| + [68] + )| + 80| + 9[3-5] + )| + 5(?: + 3[1-36-9]| + 4[4578]| + 5[013-8]| + 6[1-9]| + 7[2-8]| + 8[14-7]| + 9(?: + [89][2-8]| + [4-7] + ) + )| + 7(?: + 2[15]| + 3[5-9]| + 4[02-9]| + 6[135-8]| + 7[0-4689]| + 9(?: + [017-9]| + 4[6-8]| + 5[2-478]| + 6[2-589] + ) + )| + 8(?: + 2(?: + 4[4-8]| + 9[2-8] + )| + 3(?: + 7[2-56]| + [3-6][2-9]| + 8[2-5] + )| + 4[5-8]| + 5[2-9]| + 6(?: + [37]| + 5[4-7]| + 6[2-9]| + 8[2-8]| + 9[236-9] + )| + 7[579]| + 8[03-579]| + 9[2-8] + )| + 9(?: + [23]0| + 4[02-46-9]| + 5[0245-79]| + 6[4-9]| + 7[2-47-9]| + 8[02-7]| + 9(?: + 3[34]| + [4-7] + ) + ) + </leadingDigits> + <leadingDigits> + 1(?: + 2[3-6]| + 3[3-9]| + 4[2-6]| + 5(?: + [236-8]| + [45][2-69] + )| + [68][2-7]| + 7[2-689]| + 9[1-578] + )| + 2(?: + 2(?: + [04-9]| + 3[23] + )| + 3[3-58]| + 4[0-468]| + 5(?: + 5[78]| + 7[2-4]| + [0468][2-9] + )| + 6(?: + [0135-8]| + 4[2-5] + )| + 7(?: + [0679]| + 8[2-7] + )| + 8(?: + [024578]| + 3[25-9]| + 9[6-9] + )| + 9(?: + 11| + 3[2-4] + ) + )| + 4(?: + 2(?: + 2[2-9]| + 8[237-9] + )| + 3[689]| + 6[035-7]| + 7(?: + [059][2-8]| + [68] + )| + 80| + 9[3-5] + )| + 5(?: + 3[1-36-9]| + 4[4578]| + 5[013-8]| + 6[1-9]| + 7[2-8]| + 8[14-7]| + 9(?: + [89][2-8]| + [4-7] + ) + )| + 7(?: + 2[15]| + 3[5-9]| + 4[02-9]| + 6[135-8]| + 7[0-4689]| + 9(?: + [017-9]| + 4[6-8]| + 5[2-478]| + 6[2-589] + ) + )| + 8(?: + 2(?: + 4[4-8]| + 9(?: + [3578]| + 20| + 4[04-9]| + 6[56] + ) + )| + 3(?: + 7(?: + [2-5]| + 6[0-59] + )| + [3-6][2-9]| + 8[2-5] + )| + 4[5-8]| + 5[2-9]| + 6(?: + [37]| + 5(?: + [467]| + 5[014-9] + )| + 6(?: + [2-8]| + 9[02-69] + )| + 8[2-8]| + 9(?: + [236-8]| + 9[23] + ) + )| + 7[579]| + 8[03-579]| + 9[2-8] + )| + 9(?: + [23]0| + 4[02-46-9]| + 5[0245-79]| + 6[4-9]| + 7[2-47-9]| + 8[02-7]| + 9(?: + 3(?: + 3[02-9]| + 4[0-24689] + )| + 4[2-69]| + [5-7] + ) + ) + </leadingDigits> + <leadingDigits> + 1(?: + 2[3-6]| + 3[3-9]| + 4[2-6]| + 5(?: + [236-8]| + [45][2-69] + )| + [68][2-7]| + 7[2-689]| + 9[1-578] + )| + 2(?: + 2(?: + [04-9]| + 3[23] + )| + 3[3-58]| + 4[0-468]| + 5(?: + 5[78]| + 7[2-4]| + [0468][2-9] + )| + 6(?: + [0135-8]| + 4[2-5] + )| + 7(?: + [0679]| + 8[2-7] + )| + 8(?: + [024578]| + 3[25-9]| + 9[6-9] + )| + 9(?: + 11| + 3[2-4] + ) + )| + 4(?: + 2(?: + 2[2-9]| + 8[237-9] + )| + 3[689]| + 6[035-7]| + 7(?: + [059][2-8]| + [68] + )| + 80| + 9[3-5] + )| + 5(?: + 3[1-36-9]| + 4[4578]| + 5[013-8]| + 6[1-9]| + 7[2-8]| + 8[14-7]| + 9(?: + [89][2-8]| + [4-7] + ) + )| + 7(?: + 2[15]| + 3[5-9]| + 4[02-9]| + 6[135-8]| + 7[0-4689]| + 9(?: + [017-9]| + 4[6-8]| + 5[2-478]| + 6[2-589] + ) + )| + 8(?: + 2(?: + 4[4-8]| + 9(?: + [3578]| + 20| + 4[04-9]| + 6(?: + 5[25]| + 60 + ) + ) + )| + 3(?: + 7(?: + [2-5]| + 6[0-59] + )| + [3-6][2-9]| + 8[2-5] + )| + 4[5-8]| + 5[2-9]| + 6(?: + [37]| + 5(?: + [467]| + 5[014-9] + )| + 6(?: + [2-8]| + 9[02-69] + )| + 8[2-8]| + 9(?: + [236-8]| + 9[23] + ) + )| + 7[579]| + 8[03-579]| + 9[2-8] + )| + 9(?: + [23]0| + 4[02-46-9]| + 5[0245-79]| + 6[4-9]| + 7[2-47-9]| + 8[02-7]| + 9(?: + 3(?: + 3[02-9]| + 4[0-24689] + )| + 4[2-69]| + [5-7] + ) + ) + </leadingDigits> + <format>$1-$2-$3</format> + </numberFormat> + <numberFormat pattern="(\d{2})(\d{3})(\d{4})"> + <leadingDigits> + 1| + 2(?: + 23| + 5[5-89]| + 64| + 78| + 8[39]| + 91 + )| + 4(?: + 2[2689]| + 64| + 7[347] + )| + 5(?: + [2-589]| + 39 + )| + 60| + 8(?: + [46-9]| + 3[279]| + 2[124589] + )| + 9(?: + [235-8]| + 93 + ) + </leadingDigits> + <leadingDigits> + 1| + 2(?: + 23| + 5(?: + [57]| + [68]0| + 9[19] + )| + 64| + 78| + 8[39]| + 917 + )| + 4(?: + 2(?: + [68]| + 20| + 9[178] + )| + 64| + 7[347] + )| + 5(?: + [2-589]| + 39[67] + )| + 60| + 8(?: + [46-9]| + 3[279]| + 2[124589] + )| + 9(?: + [235-8]| + 93[34] + ) + </leadingDigits> + <leadingDigits> + 1| + 2(?: + 23| + 5(?: + [57]| + [68]0| + 9(?: + 17| + 99 + ) + )| + 64| + 78| + 8[39]| + 917 + )| + 4(?: + 2(?: + [68]| + 20| + 9[178] + )| + 64| + 7[347] + )| + 5(?: + [2-589]| + 39[67] + )| + 60| + 8(?: + [46-9]| + 3[279]| + 2[124589] + )| + 9(?: + [235-8]| + 93(?: + 31| + 4 + ) + ) + </leadingDigits> + <format>$1-$2-$3</format> + </numberFormat> + <numberFormat pattern="(\d{3})(\d{2})(\d{4})"> + <leadingDigits> + 2(?: + 9[14-79]| + 74| + [34]7| + [56]9 + )| + 82| + 993 + </leadingDigits> + <format>$1-$2-$3</format> + </numberFormat> + <numberFormat pattern="(\d)(\d{4})(\d{4})"> + <leadingDigits> + 3| + 4(?: + 2[09]| + 7[01] + )| + 6[1-9] + </leadingDigits> + <format>$1-$2-$3</format> + </numberFormat> + <numberFormat pattern="(\d{2})(\d{3})(\d{4})"> + <leadingDigits>[2479]</leadingDigits> + <format>$1-$2-$3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>\d{9,10}</nationalNumberPattern> + <possibleNumberPattern>\d{9,10}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + (?: + 1(?: + 1[236-8]| + 2[3-6]| + 3[3-9]| + 4[2-6]| + [58][2-8]| + 6[2-7]| + 7[2-9]| + 9[1-8] + )| + 2[2-9]\d| + [36][1-9]\d| + 4(?: + 6[0235-8]| + [2-578]\d| + 9[2-59] + )| + 5(?: + 6[1-9]| + 7[2-8]| + [2-589]\d + )| + 7(?: + 3[4-9]| + 4[02-9]| + [25-9]\d + )| + 8(?: + 3[2-9]| + 4[5-9]| + 5[1-9]| + 8[03-9]| + [2679]\d + )| + 9(?: + [679][1-9]| + [2-58]\d + ) + )\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>312345678</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern>[7-9]0\d{8}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>7012345678</exampleNumber> + </mobile> + <!-- Toll free and premium rate numbers are not clearly defined in the official Japanese + number plan, and do not seem to have been standardized. The information below is + collected from searching the web. --> + <tollFree> + <nationalNumberPattern>120\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>120123456</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>990\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>990123456</exampleNumber> + </premiumRate> + <!-- Uncertain on number length allowed here. --> + <personalNumber> + <nationalNumberPattern>60\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>601234567</exampleNumber> + </personalNumber> + <voip> + <nationalNumberPattern>50\d{8}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>5012345678</exampleNumber> + </voip> + </territory> + + <!-- Kenya --> + <!-- http://www.cck.go.ke/licensing/numbering/plan.html --> + <territory id="KE" countryCode="254" internationalPrefix="000" + nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG"> + <availableFormats> + <numberFormat pattern="(\d{2})(\d{4,7})"> + <leadingDigits> + [2-6]| + 91 + </leadingDigits> + <format>$1 $2</format> + </numberFormat> + <numberFormat pattern="(\d{3})(\d{6,7})"> + <leadingDigits> + [78]| + 90 + </leadingDigits> + <format>$1 $2</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>\d{6,10}</nationalNumberPattern> + <possibleNumberPattern>\d{4,10}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + (?: + 20| + 4[0-6]| + 5\d| + 6[0-24-9] + )\d{4,7} + </nationalNumberPattern> + <possibleNumberPattern>\d{4,9}</possibleNumberPattern> + <exampleNumber>202012345</exampleNumber> + </fixedLine> + <mobile> + <!-- Adding 716 after successful delivery of SMSs. --> + <nationalNumberPattern> + 7(?: + 1[0-6]| + 2\d| + 3[2-8]| + 5[0-2]| + 7[023] + )\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>712123456</exampleNumber> + </mobile> + <!-- There is no document that has the information on the actual length of premium rates and + tollfree numbers. The information below comes from research on existing numbers. --> + <tollFree> + <nationalNumberPattern> + 8(?: + 00| + 88 + )\d{6,7} + </nationalNumberPattern> + <possibleNumberPattern>\d{9,10}</possibleNumberPattern> + <exampleNumber>800123456</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern> + 9(?: + 00| + 1 + )\d{6,7} + </nationalNumberPattern> + <possibleNumberPattern>\d{8,10}</possibleNumberPattern> + <exampleNumber>900123456</exampleNumber> + </premiumRate> + </territory> + + <!-- Kyrgyzstan --> + <!-- http://www.itu.int/oth/T0202000074/en --> + <territory id="KG" countryCode="996" internationalPrefix="00" + nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG"> + <availableFormats> + <numberFormat pattern="(\d{3})(\d{3})(\d{3})"> + <leadingDigits> + 31[25]| + [5-8] + </leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(\d{4})(\d{5})"> + <leadingDigits> + 3(?: + 1[36]| + [2-9] + ) + </leadingDigits> + <format>$1 $2</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[356-8]\d{8}</nationalNumberPattern> + <possibleNumberPattern>\d{5,9}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + (?: + 3(?: + 1(?: + 2\d| + 3[1-9]| + 52| + 6[1-8] + )| + 2(?: + 22| + 3[0-479]| + 6[0-7] + )| + 4(?: + 22| + 5[6-9]| + 6[0-4] + )| + 5(?: + 22| + 3[4-7]| + 59| + 6[0-5] + )| + 6(?: + 22| + 5[35-7]| + 6[0-3] + )| + 7(?: + 22| + 3[468]| + 4[1-8]| + 59| + 6\d| + 7[5-7] + )| + 9(?: + 22| + 4[1-7]| + 6[0-8] + ) + )| + 6(?: + 09| + 12| + 2[2-4] + )\d + )\d{5} + </nationalNumberPattern> + <exampleNumber>312123456</exampleNumber> + </fixedLine> + <mobile> + <!-- Added 705 since SMS messages have been successfully sent to numbers with this prefix. + --> + <nationalNumberPattern> + 5[124-7]\d{7}| + 7(?: + 0[05]| + 7\d + )\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>700123456</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern>800\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>800123456</exampleNumber> + </tollFree> + <!-- No premiumRate information can be found. --> + </territory> + + <!-- Cambodia --> + <!-- http://www.itu.int/oth/T0202000023/en --> + <territory id="KH" countryCode="855" internationalPrefix="00[178]" + nationalPrefix="0"> + <availableFormats> + <numberFormat nationalPrefixFormattingRule="$NP$FG" + pattern="(\d{2})(\d{3})(\d{3})"> + <leadingDigits> + 1\d[1-9]| + [2-9] + </leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(1[89]00)(\d{3})(\d{3})"> + <leadingDigits>1[89]0</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[1-9]\d{7,9}</nationalNumberPattern> + <possibleNumberPattern>\d{6,10}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + (?: + 2[3-6]| + 3[2-6]| + 4[2-4]| + [5-7][2-5] + )[2-47-9]\d{5} + </nationalNumberPattern> + <possibleNumberPattern>\d{6,8}</possibleNumberPattern> + <exampleNumber>23456789</exampleNumber> + </fixedLine> + <mobile> + <!-- Adding 171, 13X, 80[89], 85[2-689] and 921 prefixes as SMS messages could be + successfully delivered to these mobile numbers. --> + <nationalNumberPattern> + (?: + (?: + 1[0-35-9]| + 9[1-49] + )[1-9]| + 8(?: + 0[89]| + 5[2-689] + ) + )\d{5} + </nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>91234567</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern> + 1800(?: + 1\d| + 2[09] + )\d{4} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>1800123456</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern> + 1900(?: + 1\d| + 2[09] + )\d{4} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>1900123456</exampleNumber> + </premiumRate> + </territory> + + <!-- Kiribati --> + <!-- http://www.itu.int/oth/T0202000071/en --> + <territory id="KI" countryCode="686" internationalPrefix="00" + nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG"> + <availableFormats> + <numberFormat pattern="(\d{5})"> + <format>$1</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[2-689]\d{4}</nationalNumberPattern> + <possibleNumberPattern>\d{5}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + (?: + [234]\d| + 50| + 8[1-5] + )\d{3} + </nationalNumberPattern> + <exampleNumber>31234</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern>[69]\d{4}</nationalNumberPattern> + <exampleNumber>61234</exampleNumber> + </mobile> + <shortCode> + <nationalNumberPattern> + 10(?: + [0-8]| + 5[01259] + )| + 99[234] + </nationalNumberPattern> + <possibleNumberPattern>\d{3,4}</possibleNumberPattern> + <exampleNumber>992</exampleNumber> + </shortCode> + </territory> + + <!-- Comoros --> + <!-- http://www.itu.int/oth/T020200002D/en --> + <territory id="KM" countryCode="269" internationalPrefix="00"> + <availableFormats> + <numberFormat pattern="(\d)(\d{3})(\d{3})"> + <format>$1 $2 $3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[37]\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{7}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <!-- CDMA phones are included here, as they are considered as an extension of fixed line: + http://www.comorestelecom.km/presentationcdma.php --> + <nationalNumberPattern> + 7(?: + 6[0-37-9]| + 7[0-57-9] + )\d{4} + </nationalNumberPattern> + <exampleNumber>7712345</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern>3[23]\d{5}</nationalNumberPattern> + <exampleNumber>3212345</exampleNumber> + </mobile> + </territory> + + <!-- Saint Kitts and Nevis --> + <!-- http://www.itu.int/oth/T02020000B0/en --> + <territory id="KN" countryCode="1" leadingDigits="869" + nationalPrefix="1" internationalPrefix="011"> + <generalDesc> + <!-- NANPA country - uses US formatting rules --> + <nationalNumberPattern>[589]\d{9}</nationalNumberPattern> + <possibleNumberPattern>\d{7}(?:\d{3})?</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + 869(?: + 2(?: + 29| + 36 + )| + 4(?: + 6[5-9]| + 70 + ) + )\d{4} + </nationalNumberPattern> + <exampleNumber>8692361234</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern> + 869(?: + 5(?: + 5[6-8]| + 6[5-7] + )| + 66[2-9]| + 76[2-5] + )\d{4} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>8695561234</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern> + 8(?: + 00| + 55| + 66| + 77| + 88 + )[2-9]\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>8002123456</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>900[2-9]\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>9002123456</exampleNumber> + </premiumRate> + <personalNumber> + <!-- http://www.nanpa.com/pdf/PL_416.pdf --> + <nationalNumberPattern> + 5(?: + 00| + 33| + 44 + )[2-9]\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>5002345678</exampleNumber> + </personalNumber> + </territory> + + <!-- Korea, Dem. People's Rep. of --> + <territory id="KP" countryCode="850" internationalPrefix="00" + nationalPrefix="0"> + </territory> + + <!-- Korea (Rep. of) --> + <!-- http://www.itu.int/oth/T0202000072/en --> + <!-- http://en.wikipedia.org/wiki/%2B82 --> + <!-- http://www.kcc.go.kr/user.do?mode=view&page=P02030300&dc=K02030300&boardId=1074&boardSeq=2349 --> + <!-- http://www.kcc.go.kr/user.do?mode=view&page=P02030300&dc=K02030300&boardId=1074&boardSeq=2240 --> + <!-- http://www.telecentro.co.kr/sub/index.php?job=detail&ebcf_id=faq&page=1&mid=0503&eb_seq=36 --> + <!-- Exceptions : + internationalPrefix + 0031, 0033, 0071, 0073 - Special services of KT and DACOM, ignorable + nationalPrefix + 1[4-6]XX-YYYY - Country-wide common number services, display as it is without hyphens --> + <territory id="KR" countryCode="82" internationalPrefix="00(?:[124-68]|[37]\d{2})" + nationalPrefix="0" nationalPrefixForParsing="0(8[1-46-8]|85\d{2})?" + nationalPrefixFormattingRule="$NP$FG" carrierCodeFormattingRule="$NP$CC-$FG"> + <availableFormats> + <numberFormat pattern="(\d{2})(\d{4})(\d{4})"> + <leadingDigits> + 1(?: + 0| + 1[19]| + [69]9| + 5[458] + )| + [57]0 + </leadingDigits> + <leadingDigits> + 1(?: + 0| + 1[19]| + [69]9| + 5(?: + 44| + 59| + 8 + ) + )| + [57]0 + </leadingDigits> + <format>$1-$2-$3</format> + </numberFormat> + <numberFormat pattern="(\d{2})(\d{3})(\d{4})"> + <leadingDigits> + 1(?: + [169][2-8]| + [78]| + 5[1-4] + )| + [68]0| + [3-9][1-9][2-9] + </leadingDigits> + <leadingDigits> + 1(?: + [169][2-8]| + [78]| + 5(?: + [1-3]| + 4[56] + ) + )| + [68]0| + [3-9][1-9][2-9] + </leadingDigits> + <format>$1-$2-$3</format> + </numberFormat> + <numberFormat pattern="(\d{3})(\d)(\d{4})"> + <leadingDigits>131</leadingDigits> + <leadingDigits>1312</leadingDigits> + <format>$1-$2-$3</format> + </numberFormat> + <numberFormat pattern="(\d{3})(\d{2})(\d{4})"> + <leadingDigits>131</leadingDigits> + <leadingDigits>131[13-9]</leadingDigits> + <format>$1-$2-$3</format> + </numberFormat> + <numberFormat pattern="(\d{3})(\d{3})(\d{4})"> + <leadingDigits>13[2-9]</leadingDigits> + <format>$1-$2-$3</format> + </numberFormat> + <numberFormat pattern="(\d{2})(\d{2})(\d{3})(\d{4})"> + <leadingDigits>30</leadingDigits> + <format>$1-$2-$3-$4</format> + </numberFormat> + <numberFormat pattern="(\d)(\d{4})(\d{4})"> + <leadingDigits> + 2(?: + [26]| + 3[0-467] + ) + </leadingDigits> + <leadingDigits> + 2(?: + [26]| + 3(?: + 01| + 1[45]| + 2[17-9]| + 39| + 4| + 6[67]| + 7[078] + ) + ) + </leadingDigits> + <format>$1-$2-$3</format> + </numberFormat> + <numberFormat pattern="(\d)(\d{3})(\d{4})"> + <leadingDigits> + 2(?: + 3[0-35-9]| + [457-9] + ) + </leadingDigits> + <leadingDigits> + 2(?: + 3(?: + 0[02-9]| + 1[0-36-9]| + 2[02-6]| + 3[0-8]| + 6[0-589]| + 7[1-69]| + [589] + )| + [457-9] + ) + </leadingDigits> + <format>$1-$2-$3</format> + </numberFormat> + <numberFormat pattern="(\d)(\d{3,4})"> + <leadingDigits>21[0-46-9]</leadingDigits> + <format>$1-$2</format> + </numberFormat> + <numberFormat pattern="(\d{2})(\d{3,4})"> + <leadingDigits>[3-9][1-9]1</leadingDigits> + <leadingDigits> + [3-9][1-9]1(?: + [0-46-9] + ) + </leadingDigits> + <format>$1-$2</format> + </numberFormat> + <!-- Company numbers. --> + <numberFormat pattern="(\d{4})(\d{4})" + nationalPrefixFormattingRule="$FG"> + <leadingDigits> + 1(?: + 5[46-9]| + 6[04678] + ) + </leadingDigits> + <leadingDigits> + 1(?: + 5(?: + 44| + 66| + 77| + 88| + 99 + )| + 6(?: + 00| + 44| + 6[16]| + 70| + 88 + ) + ) + </leadingDigits> + <format>$1-$2</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern> + [1-79]\d{3,9}| + 8\d{8} + </nationalNumberPattern> + <possibleNumberPattern>\d{4,10}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + (?: + 2| + [34][1-3]| + 5[1-5]| + 6[1-4] + )(?: + 1\d{2,3}| + [2-9]\d{6,7} + ) + </nationalNumberPattern> + <possibleNumberPattern>\d{4,10}</possibleNumberPattern> + <exampleNumber>22123456</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern>1[0-25-9]\d{7,8}</nationalNumberPattern> + <possibleNumberPattern>\d{9,10}</possibleNumberPattern> + <exampleNumber>1023456789</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern>80\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>801234567</exampleNumber> + </tollFree> + <!-- The information below is provided by a Korean person. --> + <premiumRate> + <nationalNumberPattern>60[2-9]\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>602345678</exampleNumber> + </premiumRate> + <personalNumber> + <nationalNumberPattern>50\d{8}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>5012345678</exampleNumber> + </personalNumber> + <voip> + <nationalNumberPattern>70\d{8}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>7012345678</exampleNumber> + </voip> + <uan> + <nationalNumberPattern> + 1(?: + 5(?: + 44| + 66| + 77| + 88| + 99 + )| + 6(?: + 00| + 44| + 6[16]| + 70| + 88 + ) + )\d{4} + </nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>15441234</exampleNumber> + </uan> + </territory> + + <!-- Kuwait --> + <!-- http://www.itu.int/oth/T0202000073/en --> + <territory id="KW" countryCode="965" internationalPrefix="00" + nationalPrefixFormattingRule="$NP$FG"> + <availableFormats> + <!-- Format is from ITU. --> + <numberFormat pattern="(\d{4})(\d{3,4})"> + <leadingDigits>[1269]</leadingDigits> + <format>$1 $2</format> + </numberFormat> + <numberFormat pattern="(5[05]\d)(\d{5})"> + <leadingDigits>5</leadingDigits> + <format>$1 $2</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[12569]\d{6,7}</nationalNumberPattern> + <possibleNumberPattern>\d{7,8}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + (?: + 18\d| + 2(?: + [23]\d{2}| + 4[1-35-9]\d| + 5(?: + 0[034]| + [2-46]\d| + 5[1-3]| + 7[1-7] + ) + ) + )\d{4} + </nationalNumberPattern> + <exampleNumber>22345678</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern> + (?: + 5(?: + 0[0-2]| + 5\d + )| + 6(?: + 0[034679]| + 5[015-9]| + 6\d| + 7[067]| + 99 + )| + 9(?: + 0[09]| + 4[049]| + 66| + [79]\d + ) + )\d{5} + </nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>50012345</exampleNumber> + </mobile> + <!-- No tollFree or premiumRate information can be found. --> + <shortCode> + <nationalNumberPattern>1\d{2}</nationalNumberPattern> + <possibleNumberPattern>\d{3}</possibleNumberPattern> + <exampleNumber>177</exampleNumber> + </shortCode> + </territory> + + <!-- Cayman Islands --> + <!-- http://www.itu.int/oth/T0202000027/en --> + <territory id="KY" countryCode="1" leadingDigits="345" + nationalPrefix="1" internationalPrefix="011"> + <generalDesc> + <!-- NANPA country - uses US formatting rules --> + <nationalNumberPattern>[3589]\d{9}</nationalNumberPattern> + <possibleNumberPattern>\d{7}(?:\d{3})?</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + 345(?: + 2(?: + 22| + 44 + )| + 444| + 6(?: + 23| + 38| + 40 + )| + 7(?: + 6[6-9]| + 77 + )| + 8(?: + 00| + 1[45]| + 25| + 4[89]| + 88 + )| + 9(?: + 14| + 4[035-9] + ) + )\d{4} + </nationalNumberPattern> + <exampleNumber>3452221234</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern> + 345(?: + 32[3-79]| + 5(?: + 1[467]| + 2[5-7]| + 4[5-9] + )| + 9(?: + 1[679]| + 2[4-9]| + 3[89] + ) + )\d{4} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>3453231234</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern> + 8(?: + 00| + 55| + 66| + 77| + 88 + )[2-9]\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>8002345678</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern> + 900[2-9]\d{6}| + 345976\d{4} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>9002345678</exampleNumber> + </premiumRate> + <personalNumber> + <!-- http://www.nanpa.com/pdf/PL_416.pdf --> + <nationalNumberPattern> + 5(?: + 00| + 33| + 44 + )[2-9]\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>5002345678</exampleNumber> + </personalNumber> + </territory> + + <!-- Kazakhstan --> + <!-- http://www.itu.int/oth/T020200006F/en --> + <territory id="KZ" countryCode="7" internationalPrefix="8~10" + nationalPrefix="8" nationalPrefixFormattingRule="$NP$FG"> + <!-- Formatting rules obtained from Russia. --> + <generalDesc> + <nationalNumberPattern> + (?: + 7\d{2}| + 80[09] + )\d{7} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + </generalDesc> + <noInternationalDialling> + <nationalNumberPattern>751\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>7511234567</exampleNumber> + </noInternationalDialling> + <fixedLine> + <!-- VSAT numbers are also included here. --> + <nationalNumberPattern> + 7(?: + 1(?: + 0(?: + [23]\d| + 4[023]| + 59| + 63 + )| + 1(?: + [23]\d| + 4[0-79]| + 59 + )| + 2(?: + [23]\d| + 59 + )| + 3(?: + 2\d| + 3[1-79]| + 4[0-35-9]| + 59 + )| + 4(?: + 2\d| + 3[013-79]| + 4[0-8]| + 5[1-79] + )| + 5(?: + 2\d| + 3[1-8]| + 4[1-7]| + 59 + )| + 6(?: + 2\d| + [34]\d| + 5[19]| + 61 + )| + 72\d| + 8(?: + [27]\d| + 3[1-46-9]| + 4[0-5]| + ) + )| + 2(?: + 1(?: + [23]\d| + 4[46-9]| + 5[3469] + )| + 2(?: + 2\d| + 3[0679]| + 46| + 5[12679]| + )| + 3(?: + [234]\d| + 5[139]| + )| + 4(?: + 2\d| + 3[1235-9]| + 59 + )| + 5(?: + [23]\d| + 4[01246-8]| + 59| + 61 + )| + 6(?: + 2\d| + 3[1-9]| + 4[0-4]| + 59 + )| + 7(?: + [23]\d| + 40| + 5[279]| + 7\d + )| + 8(?: + [23]\d| + 4[0-3]| + 59 + )| + 9(?: + 2\d| + 3[124578]| + 59 + ) + )| + 3622 + )\d{5} + </nationalNumberPattern> + <exampleNumber>7123456789</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern> + 7(?: + 0[01257]\d{2}| + 6[02-4]\d{2}| + 7[157]\d{2} + )\d{5} + </nationalNumberPattern> + <exampleNumber>7710009998</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern>800\d{7}</nationalNumberPattern> + <exampleNumber>8001234567</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>809\d{7}</nationalNumberPattern> + <exampleNumber>8091234567</exampleNumber> + </premiumRate> + <voip> + <nationalNumberPattern>751\d{7}</nationalNumberPattern> + <exampleNumber>7511234567</exampleNumber> + </voip> + </territory> + + <!-- Lao People's Dem. Rep. --> + <!-- http://www.itu.int/oth/T0202000075/en --> + <territory id="LA" countryCode="856" internationalPrefix="00" + nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG"> + <availableFormats> + <numberFormat pattern="(20)(\d{2})(\d{3})(\d{3})"> + <leadingDigits>20</leadingDigits> + <format>$1 $2 $3 $4</format> + </numberFormat> + <numberFormat pattern="([2-57]\d)(\d{3})(\d{3})"> + <leadingDigits> + 21| + [3-57] + </leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[2-57]\d{7,9}</nationalNumberPattern> + <possibleNumberPattern>\d{6,10}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + (?: + [2-57]1| + 54 + )\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{6,8}</possibleNumberPattern> + <exampleNumber>21212862</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern> + 20(?: + 2[23]| + 5[4-6]| + 77| + 9[89] + )\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>2023123456</exampleNumber> + </mobile> + <!-- No information on other types of phone numbers for Lao P.D.R. has been found. --> + </territory> + + <!-- Lebanon --> + <!-- http://www.itu.int/oth/T0202000077/en --> + <!-- http://en.wikipedia.org/wiki/%2B961 --> + <territory id="LB" countryCode="961" internationalPrefix="00" + nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG"> + <availableFormats> + <numberFormat pattern="(\d)(\d{3})(\d{3})"> + <leadingDigits> + [13-6]| + 7(?: + [2-57-9]| + 62)| + [89][2-9] + </leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="([7-9]\d)(\d{3})(\d{3})"> + <leadingDigits> + [89][01]| + 7(?: + [01]| + 6[67]) + </leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[13-9]\d{6,7}</nationalNumberPattern> + <possibleNumberPattern>\d{7,8}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + (?: + [14-6]\d{2}| + 7(?: + [2-57-9]\d| + 62)| + [89][2-9]\d + )\d{4} + </nationalNumberPattern> + <possibleNumberPattern>\d{7}</possibleNumberPattern> + <exampleNumber>1123456</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern> + (?: + 3\d| + 7(?: + [01]\d| + 6[67] + ) + )\d{5} + </nationalNumberPattern> + <possibleNumberPattern>\d{7,8}</possibleNumberPattern> + <exampleNumber>71123456</exampleNumber> + </mobile> + <premiumRate> + <nationalNumberPattern>9[01]\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>90123456</exampleNumber> + </premiumRate> + <sharedCost> + <nationalNumberPattern>8[01]\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>80123456</exampleNumber> + </sharedCost> + </territory> + + <!-- Saint Lucia --> + <!-- http://www.itu.int/oth/T02020000B1/en --> + <territory id="LC" countryCode="1" leadingDigits="758" + nationalPrefix="1" internationalPrefix="011"> + <generalDesc> + <!-- NANPA country - uses US formatting rules --> + <nationalNumberPattern>[5789]\d{9}</nationalNumberPattern> + <possibleNumberPattern>\d{7}(?:\d{3})?</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + 758(?: + 234| + 4(?: + 5[0-9]| + 6[2-9]| + 8[0-2] + )| + 638| + 758 + )\d{4} + </nationalNumberPattern> + <exampleNumber>7582345678</exampleNumber> + </fixedLine> + <mobile> + <!-- Adding 721 and 722 as these prefixes are found widely on the internet and SMS messages + have been successfully delivered to these numbers. --> + <nationalNumberPattern> + 758(?: + 28[4-7]| + 384| + 4(?: + 6[01]| + 8[4-9] + )| + 5(?: + 1[89]| + 20| + 84 + )| + 7(?: + 1[2-9]| + 2[0-4] + ) + )\d{4} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>7582845678</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern> + 8(?: + 00| + 55| + 66| + 77| + 88 + )[2-9]\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>8002123456</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>900[2-9]\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>9002123456</exampleNumber> + </premiumRate> + <personalNumber> + <!-- http://www.nanpa.com/pdf/PL_416.pdf --> + <nationalNumberPattern> + 5(?: + 00| + 33| + 44 + )[2-9]\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>5002345678</exampleNumber> + </personalNumber> + </territory> + + <!-- Liechtenstein --> + <!-- http://www.llv.li/amtsstellen/llv-ak-nummerierung.htm --> + <!-- http://www.telecom.li has some different patterns for tollfree and shared cost numbers - + look at "Mehrwertnummer". --> + <territory id="LI" countryCode="423" internationalPrefix="00"> + <availableFormats> + <numberFormat pattern="(\d{3})(\d{2})(\d{2})"> + <leadingDigits> + [23]| + 7[4-9]| + 87 + </leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(6\d)(\d{3})(\d{3})"> + <leadingDigits>6</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="([7-9]0\d)(\d{2})(\d{2})"> + <leadingDigits>[7-9]0</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <!-- 0800 and 0900 are valid prefixes, but Liechtenstein + doesn't have a general national prefix, so we include it manually here + when formatting. We can tell whether it needs one by number length. --> + <numberFormat pattern="([89]0\d)(\d{2})(\d{2})(\d{2})"> + <leadingDigits>[89]0</leadingDigits> + <format>0$1 $2 $3 $4</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern> + (?: + 66| + 80| + 90 + )\d{7}| + [237-9]\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{7,9}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <!-- Regular Cost services are included here as well. --> + <nationalNumberPattern> + (?: + 2(?: + 17| + 3\d| + 6[02-58]| + 96 + )| + 3(?: + 02| + 7[01357]| + 8[048]| + 9[0269] + )| + 870 + )\d{4} + </nationalNumberPattern> + <possibleNumberPattern>\d{7}</possibleNumberPattern> + <exampleNumber>2345678</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern> + 66(?: + [0178][0-4]| + 2[025-9]| + [36]\d| + 4[129]| + 5[45]| + 9[019] + )\d{5}| + 7(?: + 4[2-59]| + 56| + [6-9]\d + )\d{4} + </nationalNumberPattern> + <possibleNumberPattern>\d{7,9}</possibleNumberPattern> + <exampleNumber>661234567</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern> + 80(?: + 0(?: + 07| + 2[238]| + 79| + \d{4} + )| + 9\d{2} + )\d{2} + </nationalNumberPattern> + <possibleNumberPattern>\d{7,9}</possibleNumberPattern> + <exampleNumber>8002222</exampleNumber> + </tollFree> + <sharedCost> + <nationalNumberPattern> + 90(?: + 0(?: + 2[278]| + 79| + \d{4} + )| + 1(?: + 23| + \d{4} + )| + 6(?: + 66| + \d{4} + ) + )\d{2} + </nationalNumberPattern> + <possibleNumberPattern>\d{7,9}</possibleNumberPattern> + <exampleNumber>9002222</exampleNumber> + </sharedCost> + <personalNumber> + <nationalNumberPattern>701\d{4}</nationalNumberPattern> + <possibleNumberPattern>\d{7}</possibleNumberPattern> + <exampleNumber>7011234</exampleNumber> + </personalNumber> + </territory> + + <!-- Sri Lanka --> + <!-- http://en.wikipedia.org/wiki/%2B94 --> + <!-- http://www.itu.int/oth/T02020000C3/en --> + <territory id="LK" countryCode="94" internationalPrefix="00" + nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG"> + <availableFormats> + <numberFormat pattern="(\d{2})(\d{1})(\d{6})"> + <leadingDigits>[1-689]</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(\d{2})(\d{3})(\d{4})"> + <leadingDigits>7</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[1-9]\d{8}</nationalNumberPattern> + <possibleNumberPattern>\d{7,9}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + (?: + [189]1| + 2[13-7]| + 3[1-8]| + 4[157]| + 5[12457]| + 6[35-7] + )[2-57]\d{6} + </nationalNumberPattern> + <exampleNumber>112345678</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern>7[12578]\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>712345678</exampleNumber> + </mobile> + </territory> + + <!-- Liberia --> + <!-- http://www.itu.int/oth/T0202000079/en --> + <territory id="LR" countryCode="231" internationalPrefix="00" + nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG"> + <availableFormats> + <!-- Formatting from Ministry of Agriculture, + http://www.moa.gov.lr/content.php?sub=Email&?related=Contacts --> + <numberFormat pattern="([279]\d)(\d{3})(\d{3})"> + <leadingDigits>[279]</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="([4-6])(\d{3})(\d{3})"> + <leadingDigits>[4-6]</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern> + (?: + [279]\d| + [4-6] + )\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{7,8}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern>2\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>21234567</exampleNumber> + </fixedLine> + <mobile> + <!-- Added 66, 67 and 68 as prefixes because of online numbers fitting this pattern. --> + <nationalNumberPattern> + (?: + 4[67]| + 5\d| + 6[4-8]| + 7\d{2} + )\d{5} + </nationalNumberPattern> + <exampleNumber>4612345</exampleNumber> + </mobile> + <premiumRate> + <!-- Telemedia service is listed under premium rate. --> + <nationalNumberPattern>90\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>90123456</exampleNumber> + </premiumRate> + </territory> + + <!-- Lesotho --> + <!-- http://www.itu.int/oth/T0202000078/en --> + <territory id="LS" countryCode="266" internationalPrefix="00"> + <availableFormats> + <!-- Formatting following yellow pages: www.yellowpages.co.ls --> + <numberFormat pattern="(\d{4})(\d{4})"> + <format>$1 $2</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[2568]\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern>2\d{7}</nationalNumberPattern> + <exampleNumber>22123456</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern>[56]\d{7}</nationalNumberPattern> + <exampleNumber>50123456</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern>800[256]\d{4}</nationalNumberPattern> + <exampleNumber>80021234</exampleNumber> + </tollFree> + </territory> + + <!-- Lithuania --> + <!-- http://www.itu.int/oth/T020200007C/en --> + <territory id="LT" countryCode="370" internationalPrefix="00" + nationalPrefix="8" nationalPrefixFormattingRule="$NP $FG"> + <availableFormats> + <!-- Two-digit area codes --> + <numberFormat pattern="([34]\d)(\d{2})(\d{2})(\d{2})"> + <leadingDigits> + 37| + 4(?: + 1| + 5[45]| + 6[2-4] + ) + </leadingDigits> + <format>$1 $2 $3 $4</format> + </numberFormat> + <!-- Three-digit area codes --> + <numberFormat pattern="([3-689]\d{2})(\d{2})(\d{3})"> + <leadingDigits> + 3[148]| + 4(?: + [24]| + 6[09] + )| + 5(?: + [0189]| + 28 + )| + [689] + </leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(5)(2[0-79]\d)(\d{4})"> + <leadingDigits>52[0-79]</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[3-9]\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + (?: + 3[1478]| + 4[124-6]| + 52 + )\d{6} + </nationalNumberPattern> + <exampleNumber>31234567</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern>6\d{7}</nationalNumberPattern> + <exampleNumber>61234567</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern>800\d{5}</nationalNumberPattern> + <exampleNumber>80012345</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>90[0239]\d{5}</nationalNumberPattern> + <exampleNumber>90012345</exampleNumber> + </premiumRate> + </territory> + + <!-- Luxembourg --> + <!-- http://www.ilr.public.lu/communications_electroniques/numerotation/index.html + --> + <territory id="LU" countryCode="352" internationalPrefix="00" + nationalPrefixForParsing="(15(?:0[06]|1[12]|35|4[04]|55|6[26]|77|88|99)\d)" + carrierCodeFormattingRule="$CC $FG"> + <availableFormats> + <!-- Patterns overlap because of variable number length. --> + <numberFormat pattern="(\d{2})(\d{3})"> + <leadingDigits> + [23-5]| + 7[1-9]| + [89](?: + [1-9]| + 0[2-9] + ) + </leadingDigits> + <format>$1 $2</format> + </numberFormat> + <numberFormat pattern="(\d{2})(\d{2})(\d{2})"> + <leadingDigits> + [23-5]| + 7[1-9]| + [89](?: + [1-9]| + 0[2-9] + ) + </leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(\d{2})(\d{2})(\d{3})"> + <leadingDigits>20</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <!-- The pattern for 7-digit numbers starting with 20 here will never be reached - but since + we want this pattern to apply for 8-digit numbers with a 20 prefix, we include 20 in + the leading digits. This is also done for 9-10 digit numbers starting with 20 below. + --> + <numberFormat pattern="(\d{2})(\d{2})(\d{2})(\d{1,2})"> + <leadingDigits> + 2(?: + [0367]| + 4[3-8] + ) + </leadingDigits> + <format>$1 $2 $3 $4</format> + </numberFormat> + <numberFormat pattern="(\d{2})(\d{2})(\d{2})(\d{3})"> + <leadingDigits>20</leadingDigits> + <format>$1 $2 $3 $4</format> + </numberFormat> + <numberFormat pattern="(\d{2})(\d{2})(\d{2})(\d{2})(\d{1,2})"> + <leadingDigits> + 2(?: + [0367]| + 4[3-8] + ) + </leadingDigits> + <format>$1 $2 $3 $4 $5</format> + </numberFormat> + <numberFormat pattern="(\d{2})(\d{2})(\d{2})(\d{1,4})"> + <leadingDigits> + 2(?: + [12589]| + 4[12] + )| + [3-5]| + 7[1-9]| + [89](?: + [1-9]| + 0[2-9] + ) + </leadingDigits> + <format>$1 $2 $3 $4</format> + </numberFormat> + <numberFormat pattern="(\d{3})(\d{2})(\d{3})"> + <leadingDigits> + [89]0[01]| + 70 + </leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(\d{3})(\d{3})(\d{3})"> + <leadingDigits>6</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <!-- The country-code is an impossible number prefix, so has been excluded here. This is + necessary since the numbers have a variable number length. --> + <nationalNumberPattern> + [24-9]\d{3,10}| + 3(?: + [0-46-9]\d{2,9}| + 5[013-9]\d{1,8} + ) + </nationalNumberPattern> + <possibleNumberPattern>\d{4,11}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <!-- Note that numbers starting with 2[367] can be a maximum of 10 digits - all others a + maximum of 11. --> + <nationalNumberPattern> + (?: + 2(?: + 2\d{1,2}| + 3[2-9]| + [67]\d| + 4[1-8]\d?| + 5[1-5]\d?| + 9[0-24-9]\d? + )| + 3(?: + [059][05-9]| + [13]\d| + [26][015-9]| + 4[0-26-9]| + 7[0-389]| + 8[08] + )\d?| + 4\d{2,3}| + 5(?: + [01458]\d| + [27][0-69]| + 3[0-3]| + [69][0-7] + )\d?| + 7(?: + 1[019]| + 2[05-9]| + 3[05]| + [45][07-9]| + [679][089]| + 8[06-9] + )\d?| + 8(?: + 0[2-9]| + 1[0-36-9]| + 3[3-9]| + [469]9| + [58][7-9]| + 7[89] + )\d?| + 9(?: + 0[89]| + 2[0-49]| + 37| + 49| + 5[0-27-9]| + 7[7-9]| + 9[0-478] + )\d? + )\d{1,7} + </nationalNumberPattern> + <exampleNumber>27123456</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern>6[269][18]\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>628123456</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern>800\d{5}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>80012345</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>90[01]\d{5}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>90012345</exampleNumber> + </premiumRate> + <sharedCost> + <nationalNumberPattern>801\d{5}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>80112345</exampleNumber> + </sharedCost> + <personalNumber> + <nationalNumberPattern>70\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>70123456</exampleNumber> + </personalNumber> + <voip> + <nationalNumberPattern>20\d{2,8}</nationalNumberPattern> + <possibleNumberPattern>\d{4,10}</possibleNumberPattern> + <exampleNumber>2012345</exampleNumber> + </voip> + <shortCode> + <nationalNumberPattern> + 1(?: + 1[23]| + 2\d{3} + ) + </nationalNumberPattern> + <possibleNumberPattern>\d{3,5}</possibleNumberPattern> + <exampleNumber>12123</exampleNumber> + </shortCode> + </territory> + + <!-- Latvia --> + <!-- http://www.itu.int/oth/T0202000076/en --> + <territory id="LV" countryCode="371" internationalPrefix="00"> + <availableFormats> + <numberFormat pattern="([2689]\d)(\d{3})(\d{3})"> + <format>$1 $2 $3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[2689]\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern>6\d{7}</nationalNumberPattern> + <exampleNumber>61234567</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern>2\d{7}</nationalNumberPattern> + <exampleNumber>21234567</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern>80\d{6}</nationalNumberPattern> + <exampleNumber>80123456</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>90\d{6}</nationalNumberPattern> + <exampleNumber>90123456</exampleNumber> + </premiumRate> + </territory> + + <!-- Libya (Soc. People’s Libyan Arab Jamahiriya) --> + <!-- Status as of 21 Jan 2011: a lot of outdated information on the web including on wikipedia + and itu.int. The new area codes are on the Arabic website of the main telecommunication + operator (Hatef Libya). A new mobile operator Aljeel Aljadeed for Technology will start + using 096 (they are allowing customers to register numbers currently), so their code has + also been added. --> + <!-- http://hlc.ly/price.php --> + <territory id="LY" countryCode="218" internationalPrefix="00" + nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG"> + <availableFormats> + <numberFormat pattern="([25679]\d)(\d{7})"> + <format>$1-$2</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[25679]\d{8}</nationalNumberPattern> + <possibleNumberPattern>\d{7,9}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + (?: + 2[1345]| + 5[1347]| + 6[123479]| + 71 + )\d{7} + </nationalNumberPattern> + <exampleNumber>212345678</exampleNumber> + </fixedLine> + <mobile> + <!-- The prefix 094 has been added on the strength of numbers found online, and numbers + where SMS messages have been apparently successfully received. --> + <nationalNumberPattern>9[1-6]\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>912345678</exampleNumber> + </mobile> + </territory> + + <!-- Morocco --> + <!-- http://www.itu.int/oth/T0202000090/en --> + <!-- http://en.wikipedia.org/wiki/+212 --> + <territory id="MA" countryCode="212" internationalPrefix="00" + nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG"> + <availableFormats> + <numberFormat pattern="([56]\d{2})(\d{6})"> + <leadingDigits> + 5(?: + 2[015-7]| + 3[0-4] + )| + 6 + </leadingDigits> + <format>$1-$2</format> + </numberFormat> + <numberFormat pattern="([58]\d{3})(\d{5})"> + <leadingDigits> + 5(?: + 2[2-489]| + 3[5-9] + )| + 892 + </leadingDigits> + <leadingDigits> + 5(?: + 2(?: + [2-48]| + 90 + )| + 3(?: + [5-79]| + 80 + ) + )| + 892 + </leadingDigits> + <format>$1-$2</format> + </numberFormat> + <numberFormat pattern="(5\d{4})(\d{4})"> + <leadingDigits> + 5(?: + 29| + 38 + ) + </leadingDigits> + <leadingDigits> + 5(?: + 29| + 38 + )[89] + </leadingDigits> + <format>$1-$2</format> + </numberFormat> + <numberFormat pattern="(8[09])(\d{7})"> + <leadingDigits> + 8(?: + 0| + 9[013-9] + ) + </leadingDigits> + <format>$1-$2</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[5689]\d{8}</nationalNumberPattern> + <!-- Closed numbering plan. --> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + 5(?: + 2(?: + (?: + [015-7]\d| + 2[2-9]| + 3[2-57]| + 4[2-8]| + 8[235-9]| + )\d| + 9(?: + 0\d| + [89]0 + ) + )| + 3(?: + (?: + [0-4]\d| + [57][2-9]| + 6[235-8]| + 9[3-9] + )\d| + 8(?: + 0\d| + [89]0 + ) + ) + )\d{4} + </nationalNumberPattern> + <exampleNumber>520123456</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern> + 6(?: + 0[06]| + [14-7]\d| + 2[236]| + 33| + 99 + )\d{6} + </nationalNumberPattern> + <exampleNumber>650123456</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern>80\d{7}</nationalNumberPattern> + <exampleNumber>801234567</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>89\d{7}</nationalNumberPattern> + <exampleNumber>891234567</exampleNumber> + </premiumRate> + </territory> + + <!-- Monaco --> + <!-- http://www.itu.int/oth/T020200008D/en --> + <!-- We support Kosovo mobile numbers (044, 045) with a Monaco country-code here, as we do not + support Kosovo at the moment. Kosovo seems to use a variety of country codes currently. --> + <territory id="MC" countryCode="377" internationalPrefix="00" + nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG"> + <availableFormats> + <!-- Following formatting found online rather than in the ITU document example. --> + <numberFormat pattern="(\d{2})(\d{2})(\d{2})(\d{2})"> + <leadingDigits>[89]</leadingDigits> + <format>$1 $2 $3 $4</format> + </numberFormat> + <numberFormat pattern="(\d{2})(\d{3})(\d{3})"> + <leadingDigits>4</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(6)(\d{2})(\d{2})(\d{2})(\d{2})"> + <leadingDigits>6</leadingDigits> + <format>$1 $2 $3 $4 $5</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[4689]\d{7,8}</nationalNumberPattern> + <possibleNumberPattern>\d{8,9}</possibleNumberPattern> + </generalDesc> + <noInternationalDialling> + <nationalNumberPattern>8\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + </noInternationalDialling> + <fixedLine> + <!-- Restricted to this as no numbers with the prefix of 91, 95 or 96 have been found. --> + <nationalNumberPattern>9[2-47-9]\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>99123456</exampleNumber> + </fixedLine> + <mobile> + <!-- 4X mobile numbers are actually used by Kosovo. --> + <nationalNumberPattern> + 6\d{8}| + 4\d{7} + </nationalNumberPattern> + <exampleNumber>612345678</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern> + (?: + 8\d| + 90 + )\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>90123456</exampleNumber> + </tollFree> + </territory> + + <!-- Moldova, Rep. of --> + <!-- http://www.itu.int/oth/T020200008C/en --> + <territory id="MD" countryCode="373" internationalPrefix="00" + nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG"> + <availableFormats> + <numberFormat pattern="(22)(\d{3})(\d{3})"> + <leadingDigits>22</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="([25-7]\d{2})(\d{2})(\d{3})"> + <leadingDigits> + 2[13-79]| + [5-7] + </leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="([89]00)(\d{5})"> + <leadingDigits>[89]</leadingDigits> + <format>$1 $2</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[256-9]\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + (?: + 2(?: + 1[0569]| + 2\d| + 3[015-7]| + 4[1-46-9]| + 5[0-24689]| + 6[2-589]| + 7[1-37]| + 9[1347-9] + )| + 5(?: + 33| + 5[257] + ) + )\d{5} + </nationalNumberPattern> + <possibleNumberPattern>\d{5,8}</possibleNumberPattern> + <exampleNumber>22212345</exampleNumber> + </fixedLine> + <mobile> + <!-- Added 688 and 689 since SMS messages have been successfully sent to these numbers. --> + <nationalNumberPattern> + (?: + 6(?: + 50| + 7[12]| + [89]\d + )| + 7(?: + 80| + 9\d + ) + )\d{5} + </nationalNumberPattern> + <exampleNumber>65012345</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern>800\d{5}</nationalNumberPattern> + <exampleNumber>80012345</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>900\d{5}</nationalNumberPattern> + <exampleNumber>90012345</exampleNumber> + </premiumRate> + </territory> + + <!-- Montenegro --> + <!-- http://www.itu.int/oth/T02020000DA/en + http://en.wikipedia.org/wiki/Telephone_numbers_in_Montenegro + http://www.ekip.me/numeracija/dodijeljena.php --> + <territory id="ME" countryCode="382" internationalPrefix="00" nationalPrefix="0" + nationalPrefixFormattingRule="$NP$FG"> + <availableFormats> + <numberFormat pattern="(\d{2})(\d{3})(\d{3})"> + <leadingDigits>[2-57-9]|6[3789]</leadingDigits> + <leadingDigits> + [2-57-9]| + 6(?: + [389]| + 7(?: + [0-8]| + 9[3-9] + ) + ) + </leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(67)(9)(\d{3})(\d{3})"> + <leadingDigits>679</leadingDigits> + <leadingDigits>679[0-2]</leadingDigits> + <format>$1 $2 $3 $4</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[2-9]\d{7,8}</nationalNumberPattern> + <possibleNumberPattern>\d{6,9}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <!-- Fixed line numbers have prefix 20,30,31,32,33,40,41,50,51,52 followed by 6 digits. + The valid options for the third digit were from + http://www.ekip.me/numeracija/dodijeljena.php --> + <nationalNumberPattern> + (?: + 20[2-8]| + 3(?: + 0[2-7]| + 1[35-7]| + 2[367]| + 3[4-7] + )| + 4(?: + 0[237]| + 1[2467] + )| + 5(?: + 0[47]| + 1[27]| + 2[378] + ) + )\d{5} + </nationalNumberPattern> + <possibleNumberPattern>\d{6,8}</possibleNumberPattern> + <exampleNumber>30234567</exampleNumber> + </fixedLine> + <mobile> + <!-- Mobile numbers start with 632, 67, 68 or 69. --> + <nationalNumberPattern> + 6(?: + 32\d| + [89]\d{2}| + 7(?: + [0-8]\d| + 9(?: + [3-9]| + [0-2]\d + ) + ) + )\d{4} + </nationalNumberPattern> + <!-- According to ITU it is possible for the numbers to be between length 4-12 + (http://www.itu.int/oth/T02020000DA/en). However, in reality they seem to be 8 or 9 + digits long. --> + <possibleNumberPattern>\d{8,9}</possibleNumberPattern> + <exampleNumber>67622901</exampleNumber> + </mobile> + <tollFree> + <!-- All toll free numbers have prefix 80 followed by 02 or 08. --> + <nationalNumberPattern>800[28]\d{4}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>80080002</exampleNumber> + </tollFree> + <premiumRate> + <!-- Numbers with prefix 88, 94 or 95 are services with additional charges. --> + <nationalNumberPattern> + (?: + 88\d| + 9(?: + 4[13-8]| + 5[16-8] + ) + )\d{5} + </nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>94515151</exampleNumber> + </premiumRate> + <voip> + <!-- VOIP are prefixed with 78. --> + <nationalNumberPattern>78[134579]\d{5}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>78108780</exampleNumber> + </voip> + <uan> + <!-- Corporate Telephony are prefixed with 77. --> + <nationalNumberPattern>77\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>77273012</exampleNumber> + </uan> + <shortCode> + <!-- Emergency and other services. --> + <nationalNumberPattern> + 1(?: + 16\d{3}| + 2\d{1,2}| + [0135]\d{2}| + 4\d{2,3}| + 9\d{3} + ) + </nationalNumberPattern> + <possibleNumberPattern>\d{3,6}</possibleNumberPattern> + <exampleNumber>123</exampleNumber> + </shortCode> + </territory> + + <!-- Madagascar --> + <!-- http://www.itu.int/oth/T020200007F/en --> + <territory id="MG" countryCode="261" internationalPrefix="00" + nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG"> + <availableFormats> + <numberFormat pattern="([23]\d)(\d{2})(\d{3})(\d{2})"> + <format>$1 $2 $3 $4</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[23]\d{8}</nationalNumberPattern> + <possibleNumberPattern>\d{7,9}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <!-- Added the prefixes 20 44 and 20 47 as they seem popular on the internet - the plan says + 20 4 is for the rest of the province of Antanarivo, but then fails to mention any area + codes beginning with 4. --> + <nationalNumberPattern> + 2(?: + 0(?: + (?: + 2\d| + 4[47]| + 5[3467]| + 6[279]| + 8[268]| + 9[245] + )\d| + 7(?: + 2[29]| + [35]\d + ) + )| + 210\d + )\d{4} + </nationalNumberPattern> + <exampleNumber>202123456</exampleNumber> + </fixedLine> + <mobile> + <!-- The numbering plan suggests the third digit, Z, should be 24-9, + but this is not borne out by reality. --> + <nationalNumberPattern>3[02-4]\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>301234567</exampleNumber> + </mobile> + </territory> + + <!-- Saint-Martin, French Antilles --> + <!-- http://www.itu.int/oth/T0202000058/en --> + <territory id="MF" countryCode="590" internationalPrefix="00" + nationalPrefix="0"> + <!-- Formatting rules borrowed from Guadeloupe. --> + <generalDesc> + <nationalNumberPattern>[56]\d{8}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + 590(?: + 10| + 2[79]| + 5[128]| + [78]7 + )\d{4} + </nationalNumberPattern> + <exampleNumber>590271234</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern> + 690(?: + 10| + 2[27]| + 66| + 77| + 8[78] + )\d{4} + </nationalNumberPattern> + <exampleNumber>690221234</exampleNumber> + </mobile> + </territory> + + <!-- Marshall Islands --> + <territory id="MH" countryCode="692" internationalPrefix="011" + nationalPrefix="1"> + </territory> + + <!-- Macedonia, Former Yugoslav Rep. of --> + <!-- http://en.wikipedia.org/wiki/%2B389 + http://www.aek.mk/ go to Telecommunications, Numbering, then Numbering plan. --> + <territory id="MK" countryCode="389" internationalPrefix="00" + nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG"> + <availableFormats> + <!-- Formats follow wikipedia. --> + <numberFormat pattern="(2)(\d{3})(\d{4})"> + <leadingDigits>2</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="([347]\d)(\d{3})(\d{3})"> + <leadingDigits>[347]</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="([58]\d{2})(\d)(\d{2})(\d{2})"> + <leadingDigits>[58]</leadingDigits> + <format>$1 $2 $3 $4</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[2-578]\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + (?: + 2(?: + [23]\d| + 5[125]| + 61 + )| + 3(?: + 1[3-6]| + 2[2-6]| + 3[2-5]| + 4[235] + )| + 4(?: + [23][2-6]| + 4[3-6]| + 5[25]| + 6[25-8]| + 7[24-6]| + 8[4-6] + ) + )\d{5} + </nationalNumberPattern> + <possibleNumberPattern>\d{6,8}</possibleNumberPattern> + <exampleNumber>22212345</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern>7[0-25-8]\d{6}</nationalNumberPattern> + <exampleNumber>72345678</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern>800\d{5}</nationalNumberPattern> + <exampleNumber>80012345</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>5[02-9]\d{6}</nationalNumberPattern> + <exampleNumber>50012345</exampleNumber> + </premiumRate> + <sharedCost> + <nationalNumberPattern> + 8(?: + 0[1-9]| + [1-9]\d + )\d{5} + </nationalNumberPattern> + <exampleNumber>80123456</exampleNumber> + </sharedCost> + </territory> + + <!-- Mali --> + <!-- http://www.itu.int/oth/T0202000083/en --> + <!-- http://crt-mali.org/pdf/plan_num --> + <territory id="ML" countryCode="223" internationalPrefix="00" + nationalPrefix="0"> + <availableFormats> + <numberFormat pattern="([246-8]\d)(\d{2})(\d{2})(\d{2})"> + <format>$1 $2 $3 $4</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[246-8]\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <!-- 20 70 seems a common pattern, in addition to 21 25. --> + <nationalNumberPattern> + (?: + 2(?: + 0(?: + 2[0-589]| + 7[027-9] + )| + 1(?: + 2[5-7]| + [3-689]\d + ) + )| + 442\d + )\d{4} + </nationalNumberPattern> + <exampleNumber>20212345</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern> + (?: + 6(?: + [569]\d + )| + 7(?: + [08][1-9]| + [3579][0-4]| + 4[014-7]| + 6\d + ) + )\d{5} + </nationalNumberPattern> + <exampleNumber>65012345</exampleNumber> + </mobile> + <tollFree> + <!-- Online examples have not been found, but this seems to follow the prescriptions in the + plan. --> + <nationalNumberPattern>800\d{5}</nationalNumberPattern> + <exampleNumber>80012345</exampleNumber> + </tollFree> + </territory> + + <!-- Myanmar --> + <!-- http://www.itu.int/oth/T0202000092/en --> + <territory id="MM" countryCode="95" internationalPrefix="00"> + <availableFormats> + <numberFormat pattern="(1)(\d{3})(\d{3})"> + <leadingDigits>1</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <!-- This overlaps the previous pattern. --> + <numberFormat pattern="(1)(3)(33\d)(\d{3})"> + <leadingDigits>133</leadingDigits> + <leadingDigits>1333</leadingDigits> + <format>$1 $2 $3 $4</format> + </numberFormat> + <numberFormat pattern="(2)(\d{2})(\d{3})"> + <leadingDigits>2</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(\d{2})(\d{2})(\d{3})"> + <leadingDigits>[4-8]</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <!-- Format is from http://www.aitaa.ait.ac.th/chapters/copy17_of_aitaa-national-chapters-1 --> + <numberFormat pattern="(9444)(\d{5})"> + <leadingDigits>94</leadingDigits> + <format>$1 $2</format> + </numberFormat> + <numberFormat pattern="(9)([25689]\d{2})(\d{4})"> + <leadingDigits>9[25689]</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern> + [124-8]\d{5,7}| + 9\d{7,8} + </nationalNumberPattern> + <possibleNumberPattern>\d{5,9}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <!-- Fixed satellite network numbers (1 3 33X XXX) are also included here. --> + <nationalNumberPattern> + (?: + 1\d| + 2| + 4[2-6]| + 5[2-9]| + 6\d| + 7[0-5]| + 8[1-6] + )\d{5}| + 1333\d{4} + </nationalNumberPattern> + <possibleNumberPattern>\d{5,8}</possibleNumberPattern> + <exampleNumber>1234567</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern> + 9(?: + [25689]\d| + 444 + )\d{5} + </nationalNumberPattern> + <possibleNumberPattern>\d{8,9}</possibleNumberPattern> + <exampleNumber>92123456</exampleNumber> + </mobile> + <!-- No information on other types of phone numbers for Myanmar has been found. --> + </territory> + + <!-- Mongolia --> + <!-- http://www.itu.int/oth/T020200008E/en --> + <territory id="MN" countryCode="976" internationalPrefix="001" + nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG"> + <availableFormats> + <numberFormat pattern="([12]\d)(\d{2})(\d{4})"> + <leadingDigits>[12]1</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="([12]2\d)(\d{5,6})"> + <leadingDigits>[12]2[1-3]</leadingDigits> + <format>$1 $2</format> + </numberFormat> + <numberFormat pattern="([12]\d{3})(\d{5})"> + <leadingDigits> + [12](?: + 27| + [3-5] + ) + </leadingDigits> + <leadingDigits> + [12](?: + 27| + [3-5]\d + )2 + </leadingDigits> + <format>$1 $2</format> + </numberFormat> + <!-- It seems from online formatting that the national prefix is not written (or perhaps + needed?) for numbers in these ranges. --> + <numberFormat pattern="(\d{4})(\d{4})" + nationalPrefixFormattingRule="$FG"> + <leadingDigits>[57-9]</leadingDigits> + <format>$1 $2</format> + </numberFormat> + <numberFormat pattern="([12]\d{4})(\d{4,5})"> + <leadingDigits> + [12](?: + 27| + [3-5] + ) + </leadingDigits> + <leadingDigits> + [12](?: + 27| + [3-5]\d + )[4-9] + </leadingDigits> + <format>$1 $2</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern> + [12]\d{7,9}| + [57-9]\d{7} + </nationalNumberPattern> + <possibleNumberPattern>\d{6,10}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <!-- Note the leading digit is the access code: 1 is used by Mongolia Telecom subscribers + and 2 is used by Mongolian Railway subscribers. The area code then follows the access + code, and could be 1 to 4 digits long. We also cover wireless local loop numbers here + as well, even though we are not certain whether they are in fact fixed or mobile in + this country. 5-digit subscriber numbers for 4-digit area codes have been added due to + online numbers being found. --> + <nationalNumberPattern> + [12](?: + 1\d| + 2(?: + [1-3]\d?| + 7\d + )| + 3[2-8]\d{1,2}| + 4[2-68]\d{1,2}| + 5[1-4689]\d{1,2} + )\d{5}| + (?: + 5[0568]| + 70 + )\d{6} + </nationalNumberPattern> + <exampleNumber>70123456</exampleNumber> + </fixedLine> + <mobile> + <!-- Adding prefix 98 from numbers found on the internet. --> + <nationalNumberPattern> + (?: + 8[89]| + 9[15689] + )\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>88123456</exampleNumber> + </mobile> + <!-- No tollFree or premiumRate information can be found. --> + <voip> + <nationalNumberPattern>7[569]\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>75123456</exampleNumber> + </voip> + </territory> + + <!-- Macao, China --> + <!-- http://www.itu.int/oth/T020200007E/en --> + <territory id="MO" countryCode="853" internationalPrefix="00"> + <availableFormats> + <numberFormat pattern="([268]\d{3})(\d{4})"> + <format>$1 $2</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[268]\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + (?: + 28[2-57-9]| + 8[2-57-9]\d + )\d{5} + </nationalNumberPattern> + <exampleNumber>28212345</exampleNumber> + </fixedLine> + <mobile> + <!-- The 62 prefix is added as SMS messages have been successfully delivered to these + numbers, and they are also widely present on the Internet. --> + <nationalNumberPattern>6[26]\d{6}</nationalNumberPattern> + <exampleNumber>66123456</exampleNumber> + </mobile> + <!-- No tollFree or premiumRate information can be found. --> + </territory> + + <!-- Northern Mariana Islands --> + <!-- http://www.itu.int/oth/T02020000EE/en --> + <!-- www.cnmiphonebook.com/ --> + <territory id="MP" countryCode="1" leadingDigits="670" + nationalPrefix="1" internationalPrefix="011"> + <generalDesc> + <!-- NANPA country - uses US formatting rules --> + <nationalNumberPattern>[5689]\d{9}</nationalNumberPattern> + <possibleNumberPattern>\d{7}(?:\d{3})?</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + 670(?: + 2(?: + 3[3-5]| + 88| + 56 + )| + 32[23]| + 4[38]3| + 532| + 6(?: + 64| + 70| + 8\d + ) + )\d{4} + </nationalNumberPattern> + <exampleNumber>6702345678</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern> + 670(?: + 2(?: + 3[3-5]| + 88| + 56 + )| + 32[23]| + 4[38]3| + 532| + 6(?: + 64| + 70| + 8\d + ) + )\d{4} + </nationalNumberPattern> + <exampleNumber>6702345678</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern> + 8(?: + 00| + 55| + 66| + 77| + 88 + )[2-9]\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>8002123456</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>900[2-9]\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>9002123456</exampleNumber> + </premiumRate> + <personalNumber> + <!-- http://www.nanpa.com/pdf/PL_416.pdf --> + <nationalNumberPattern> + 5(?: + 00| + 33| + 44 + )[2-9]\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>5002345678</exampleNumber> + </personalNumber> + </territory> + + <!-- Martinique (French Dept. of) --> + <territory id="MQ" countryCode="596" internationalPrefix="00" + nationalPrefix="0"> + </territory> + + <!-- Mauritania --> + <!-- http://www.itu.int/oth/T0202000087/en --> + <!-- http://www.are.mr/com-1-4-1.html --> + <territory id="MR" countryCode="222" internationalPrefix="00" > + <availableFormats> + <numberFormat pattern="([2-48]\d)(\d{2})(\d{2})(\d{2})"> + <format>$1 $2 $3 $4</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[2-48]\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + 25[08]\d{5}| + 35\d{6}| + 45[1-7]\d{5} + </nationalNumberPattern> + <exampleNumber>35123456</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern> + (?: + 2(?: + 2\d| + 70 + )| + 3(?: + 3\d| + 6[1-36]| + 7[1-3] + )| + 4(?: + 4\d| + 6[0457-9]| + 7[4-9] + ) + )\d{5} + </nationalNumberPattern> + <exampleNumber>22123456</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern>800\d{5}</nationalNumberPattern> + <exampleNumber>80012345</exampleNumber> + </tollFree> + </territory> + + <!-- Montserrat --> + <!-- http://www.itu.int/oth/T020200008F/en --> + <territory id="MS" countryCode="1" leadingDigits="664" + nationalPrefix="1" internationalPrefix="011"> + <generalDesc> + <!-- NANPA country - uses US formatting rules --> + <nationalNumberPattern>[5689]\d{9}</nationalNumberPattern> + <possibleNumberPattern>\d{7}(?:\d{3})?</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern>664491\d{4}</nationalNumberPattern> + <exampleNumber>6644912345</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern>664492\d{4}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>6644923456</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern> + 8(?: + 00| + 55| + 66| + 77| + 88 + )[2-9]\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>8002123456</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>900[2-9]\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>9002123456</exampleNumber> + </premiumRate> + <personalNumber> + <!-- http://www.nanpa.com/pdf/PL_416.pdf --> + <nationalNumberPattern> + 5(?: + 00| + 33| + 44 + )[2-9]\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>5002345678</exampleNumber> + </personalNumber> + </territory> + + <!-- Malta --> + <!-- www.itu.int/oth/T0202000084/en --> + <!-- www.mca.org.mt (Numbering link in the LHS menu - has more up-to-date allocations) --> + <territory id="MT" countryCode="356" internationalPrefix="00"> + <availableFormats> + <numberFormat pattern="(\d{4})(\d{4})"> + <format>$1 $2</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[2579]\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + 2(?: + 0(?: + 1[0-6]| + [69]\d + )| + [1-357]\d{2} + )\d{4} + </nationalNumberPattern> + <exampleNumber>21001234</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern> + (?: + 7(?: + 210| + [79]\d{2}| + )| + 9(?: + 2[13]\d| + 696| + 8(?: + 1[1-3]| + 89| + 97 + )| + 9\d{2} + ) + )\d{4} + </nationalNumberPattern> + <exampleNumber>96961234</exampleNumber> + </mobile> + <pager> + <nationalNumberPattern>7117\d{4}</nationalNumberPattern> + <exampleNumber>71171234</exampleNumber> + </pager> + <premiumRate> + <nationalNumberPattern> + 50(?: + 0(?: + 3[1679]| + 4\d + )| + [169]\d{2}| + 7[06]\d + )\d{3} + </nationalNumberPattern> + <exampleNumber>50031234</exampleNumber> + </premiumRate> + </territory> + + <!-- Mauritius --> + <!-- http://www.itu.int/oth/T0202000088/en - covers mobile only --> + <!-- http://www.icta.mu/telecommunications/numbering.htm --> + <territory id="MU" countryCode="230" internationalPrefix="0(?:[2-7]0|33)" + preferredInternationalPrefix="020"> + <!-- There is a proposal to change this to 8 digits - this is supposed to happen August 2010, + and 7 digit numbers will be phased out by 1 November 2010. Update Aug 9th: Changeover + postponed to indeterminate later date. --> + <availableFormats> + <numberFormat pattern="([2-9]\d{2})(\d{4})"> + <format>$1 $2</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[2-9]\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{7}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <!-- Wireless local loop numbers are considered to be fixed, since there is almost no + roaming capability. --> + <nationalNumberPattern> + (?: + 2(?: + [034789]\d| + 1[0-8]| + 2[0-79] + )| + 4(?: + [013-8]\d| + 2[4-7] + )| + [56]\d{2}| + 8(?: + 14| + 3[129] + ) + )\d{4} + </nationalNumberPattern> + <exampleNumber>2012345</exampleNumber> + </fixedLine> + <mobile> + <!--Adding 92 as SMS messages have been successfully sent to this prefix. --> + <nationalNumberPattern> + (?: + 25\d| + 4(?: + 2[12389]| + 9\d + )| + 7\d{2}| + 87[15-7]| + 9[1-8]\d + )\d{4} + </nationalNumberPattern> + <exampleNumber>2512345</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern>80[012]\d{4}</nationalNumberPattern> + <exampleNumber>8001234</exampleNumber> + </tollFree> + <!-- These may be either shared cost or premium rate - they don't differentiate between these + in the plan. This is expected to change with the introduction of the new numbering plan + in late 2010 - at that time, this will be updated appropriately. --> + <premiumRate> + <nationalNumberPattern>30\d{5}</nationalNumberPattern> + <exampleNumber>3012345</exampleNumber> + </premiumRate> + </territory> + + <!-- Maldives --> + <!-- http://www.itu.int/oth/T0202000082/en --> + <!-- www.dhiraagu.com.mv --> + <territory id="MV" countryCode="960" internationalPrefix="0(?:0|19)" + preferredInternationalPrefix="00"> + <availableFormats> + <numberFormat pattern="(\d{3})(\d{4})"> + <leadingDigits> + [367]| + 9(?: + [1-9]| + 0[1-9] + ) + </leadingDigits> + <format>$1-$2</format> + </numberFormat> + <numberFormat pattern="(\d{3})(\d{3})(\d{4})"> + <leadingDigits>900</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern> + [367]\d{6}| + 9(?: + 00\d{7}| + \d{6} + ) + </nationalNumberPattern> + <possibleNumberPattern>\d{7,10}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <!-- 300 has been added as prefixes from online searches, since the numbers seemed to be + diallable. --> + <nationalNumberPattern> + (?: + 3(?: + 0[01]| + 3[0-59]| + )| + 6(?: + [567][02468]| + 8[024689]| + 90 + ) + )\d{4} + </nationalNumberPattern> + <possibleNumberPattern>\d{7}</possibleNumberPattern> + <exampleNumber>6701234</exampleNumber> + </fixedLine> + <mobile> + <!-- 7[45] has been added as many numbers online have been found with this prefix. --> + <nationalNumberPattern> + (?: + 7[3-9]| + 9[6-9] + )\d{5} + </nationalNumberPattern> + <possibleNumberPattern>\d{7}</possibleNumberPattern> + <exampleNumber>7712345</exampleNumber> + </mobile> + <pager> + <nationalNumberPattern>781\d{4}</nationalNumberPattern> + <possibleNumberPattern>\d{7}</possibleNumberPattern> + <exampleNumber>7812345</exampleNumber> + </pager> + <premiumRate> + <nationalNumberPattern>900\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>9001234567</exampleNumber> + </premiumRate> + <shortCode> + <nationalNumberPattern> + 1(?: + [19]0| + 23 + ) + </nationalNumberPattern> + <possibleNumberPattern>\d{3}</possibleNumberPattern> + <exampleNumber>123</exampleNumber> + </shortCode> + </territory> + + <!-- Malawi --> + <!-- http://www.itu.int/oth/T0202000080/en --> + <!-- The plan doesn't state that a national prefix exists, but numbers found on the internet are + consistent in having one. --> + <territory id="MW" countryCode="265" internationalPrefix="00" + nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG"> + <availableFormats> + <numberFormat pattern="(\d)(\d{3})(\d{3})"> + <leadingDigits>[13-5]</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(2\d{2})(\d{3})(\d{3})"> + <leadingDigits>2</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(\d)(\d{4})(\d{4})"> + <leadingDigits>7</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(\d)(\d{3,4})(\d{3,4})"> + <leadingDigits>[89]</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + </availableFormats> + <!-- According to the plan, the switch from 7 to 9 digits for mobile numbers happened in July + 2009. However, online numbers don't seem to reflect this - even on the telephone company + websites such as www.mw.zain.com. Allowing both for now. --> + <generalDesc> + <nationalNumberPattern> + (?: + [13-5]| + [27]\d{2}| + [89](?: + \d{2} + )? + )\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{7,9}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + (?: + 1[2-9]| + 21\d{2} + )\d{5} + </nationalNumberPattern> + <exampleNumber>1234567</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern> + (?: + [3-5]| + 77| + 8(?: + 8\d + )? | + 9(?: + 9\d + )? + )\d{6} + </nationalNumberPattern> + <exampleNumber>991234567</exampleNumber> + </mobile> + </territory> + + <!-- Mexico --> + <!-- http://www.itu.int/oth/T020200008A/en --> + <!-- http://en.wikipedia.org/wiki/%2B52 --> + <!-- http://en.wikipedia.org/wiki/Premium-rate_telephone_number#Mexico --> + <!-- http://en.wikipedia.org/wiki/Toll-free_telephone_number --> + <territory id="MX" countryCode="52" internationalPrefix="0[09]" + nationalPrefix="01" + nationalPrefixForParsing="0[12]|04[45](\d{10})" + nationalPrefixTransformRule="1$1" + nationalPrefixFormattingRule="$NP $FG"> + <!-- When a number starts with 01 or 02, we remove the prefixes; when a number starts with 045 + or 046 followed by 10 digits, we replace the prefixes with 1. This way all the mobile + numbers, regardless of whether they are written in international format (leading 1) or + national format (leading 045/046), will be parsed into the same form. --> + <availableFormats> + <numberFormat pattern="([358]\d)(\d{4})(\d{4})"> + <leadingDigits> + 33| + 55| + 81 + </leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <intlNumberFormat pattern="([358]\d)(\d{4})(\d{4})"> + <leadingDigits> + 33| + 55| + 81 + </leadingDigits> + <format>$1 $2 $3</format> + </intlNumberFormat> + <numberFormat pattern="(\d{3})(\d{3})(\d{4})"> + <leadingDigits> + [2467]| + 3[12457-9]| + 5[89]| + 8[02-9]| + 9[0-35-9] + </leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <intlNumberFormat pattern="(\d{3})(\d{3})(\d{4})"> + <leadingDigits> + [2467]| + 3[12457-9]| + 5[89]| + 8[02-9]| + 9[0-35-9] + </leadingDigits> + <format>$1 $2 $3</format> + </intlNumberFormat> + <numberFormat nationalPrefixFormattingRule="$FG" + pattern="1([358]\d)(\d{4})(\d{4})"> + <leadingDigits> + 1(?: + 33| + 55| + 81 + ) + </leadingDigits> + <format>045 $1 $2 $3</format> + </numberFormat> + <intlNumberFormat pattern="(1)([358]\d)(\d{4})(\d{4})"> + <leadingDigits> + 1(?: + 33| + 55| + 81 + ) + </leadingDigits> + <format>$1 $2 $3 $4</format> + </intlNumberFormat> + <numberFormat nationalPrefixFormattingRule="$FG" + pattern="1(\d{3})(\d{3})(\d{4})"> + <leadingDigits> + 1(?: + [2467]| + 3[12457-9]| + 5[89]| + 8[2-9]| + 9[1-35-9] + ) + </leadingDigits> + <format>045 $1 $2 $3</format> + </numberFormat> + <intlNumberFormat pattern="(1)(\d{3})(\d{3})(\d{4})"> + <leadingDigits> + 1(?: + [2467]| + 3[12457-9]| + 5[89]| + 8[2-9]| + 9[1-35-9] + ) + </leadingDigits> + <format>$1 $2 $3 $4</format> + </intlNumberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[1-9]\d{9,10}</nationalNumberPattern> + <possibleNumberPattern>\d{7,11}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <!-- http://en.wikipedia.org/wiki/Area_codes_in_Mexico_by_code --> + <nationalNumberPattern> + (?: + 33| + 55| + 81 + )\d{8}| + (?: + 2(?: + 2[2-9]| + 3[1-35-8]| + 4[13-9]| + 7[1-689]| + 8[1-58]| + 9[467] + )| + 3(?: + 1[1-79]| + [2458][1-9]| + 7[1-8]| + 9[1-5] + )| + 4(?: + 1[1-57-9]| + [24-6][1-9]| + [37][1-8]| + 8[1-35-9]| + 9[2-689] + )| + 5(?: + 88| + 9[1-79] + )| + 6(?: + 1[2-68]| + [234][1-9]| + 5[1-3689]| + 6[12457-9]| + 7[1-7]| + 8[67]| + 9[4-8] + )| + 7(?: + [13467][1-9]| + 2[1-8]| + 5[13-9]| + 8[1-69]| + 9[17] + )| + 8(?: + 2[13-689]| + 3[1-6]| + 4[124-6]| + 6[1246-9]| + 7[1-378]| + 9[12479] + )| + 9(?: + 1[346-9]| + 2[1-4]| + 3[2-46-8]| + 5[1348]| + [69][1-9]| + 7[12]| + 8[1-8] + ) + )\d{7} + </nationalNumberPattern> + <possibleNumberPattern>\d{7,10}</possibleNumberPattern> + <exampleNumber>2221234567</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern> + 1(?: + (?: + 33| + 55| + 81 + )\d{8}| + (?: + 2(?: + 2[2-9]| + 3[1-35-8]| + 4[13-9]| + 7[1-689]| + 8[1-58]| + 9[467] + )| + 3(?: + 1[1-79]| + [2458][1-9]| + 7[1-8]| + 9[1-5] + )| + 4(?: + 1[1-57-9]| + [24-6][1-9]| + [37][1-8]| + 8[1-35-9]| + 9[2-689] + )| + 5(?: + 88| + 9[1-79] + )| + 6(?: + 1[2-68]| + [2-4][1-9]| + 5[1-3689]| + 6[12457-9]| + 7[1-7]| + 8[67]| + 9[4-8] + )| + 7(?: + [13467][1-9]| + 2[1-8]| + 5[13-9]| + 8[1-69]| + 9[17] + )| + 8(?: + 2[13-689]| + 3[1-6]| + 4[124-6]| + 6[1246-9]| + 7[1-378]| + 9[12479] + )| + 9(?: + 1[346-9]| + 2[1-4]| + 3[2-46-8]| + 5[1348]| + [69][1-9]| + 7[12]| + 8[1-8] + ) + )\d{7} + ) + </nationalNumberPattern> + <possibleNumberPattern>\d{11}</possibleNumberPattern> + <exampleNumber>12221234567</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern>800\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>8001234567</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>900\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>9001234567</exampleNumber> + </premiumRate> + </territory> + + <!-- Malaysia --> + <!-- http://en.wikipedia.org/wiki/%2B60 --> + <!-- http://www.skmm.gov.my/what_we_do/numbering/index.asp --> + <territory id="MY" countryCode="60" internationalPrefix="00" + nationalPrefix="0"> + <availableFormats> + <numberFormat nationalPrefixFormattingRule="$NP$FG" + pattern="([4-79])(\d{3})(\d{4})"> + <leadingDigits>[4-79]</leadingDigits> + <format>$1-$2 $3</format> + </numberFormat> + <numberFormat nationalPrefixFormattingRule="$NP$FG" + pattern="(3)(\d{4})(\d{4})"> + <leadingDigits>3</leadingDigits> + <format>$1-$2 $3</format> + </numberFormat> + <numberFormat nationalPrefixFormattingRule="$NP$FG" + pattern="([18]\d)(\d{3})(\d{3,4})"> + <leadingDigits> + 1[0-46-9][1-9]| + 8 + </leadingDigits> + <format>$1-$2 $3</format> + </numberFormat> + <numberFormat pattern="(1)([36-8]00)(\d{2})(\d{4})"> + <leadingDigits>1[36-8]0</leadingDigits> + <format>$1-$2-$3-$4</format> + </numberFormat> + <numberFormat nationalPrefixFormattingRule="$NP$FG" + pattern="(154)(\d{3})(\d{4})"> + <leadingDigits>15</leadingDigits> + <format>$1-$2 $3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[13-9]\d{7,9}</nationalNumberPattern> + <possibleNumberPattern>\d{6,10}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + (?: + 3\d{2}| + [4-79]\d| + 8[2-9] + )\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{6,9}</possibleNumberPattern> + <exampleNumber>312345678</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern>1[0-46-9]\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>123456789</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern>1[38]00\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>1300123456</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>1600\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>1600123456</exampleNumber> + </premiumRate> + <personalNumber> + <nationalNumberPattern>1700\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>1700123456</exampleNumber> + </personalNumber> + <voip> + <nationalNumberPattern>154\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>1541234567</exampleNumber> + </voip> + </territory> + + <!-- Mozambique --> + <!-- http://www.itu.int/oth/T0202000091/en --> + <territory id="MZ" countryCode="258" internationalPrefix="00"> + <availableFormats> + <numberFormat pattern="([28]\d)(\d{3})(\d{3,4})"> + <leadingDigits> + 2| + 8[24] + </leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(80\d)(\d{3})(\d{3})"> + <leadingDigits>80</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[28]\d{7,8}</nationalNumberPattern> + <possibleNumberPattern>\d{8,9}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + 2(?: + [1346]\d| + 5[0-2]| + [78][12]| + 93 + )\d{5} + </nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>21123456</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern>8[24]\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>821234567</exampleNumber> + </mobile> + <tollFree> + <!-- Unsure of the length requirement on toll-free numbers, so using 9 + based on online examples. --> + <nationalNumberPattern>800\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>800123456</exampleNumber> + </tollFree> + <!-- The plan suggests 801 and 802 numbers are shared-cost numbers, and numbers beginning with + a 9 are premium rate, but no online examples can be found of any of these so they are + omitted for the time-being. --> + </territory> + + <!-- Namibia --> + <!-- http://www.itu.int/oth/T0202000093/en --> + <territory id="NA" countryCode="264" internationalPrefix="00" + nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG"> + <availableFormats> + <numberFormat pattern="(8\d)(\d{3})(\d{4})"> + <leadingDigits>8[125]</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(6\d)(\d{2,3})(\d{4})"> + <leadingDigits>6</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(88)(\d{3})(\d{3})"> + <leadingDigits>88</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(870)(\d{3})(\d{3})"> + <leadingDigits>870</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[68]\d{7,8}</nationalNumberPattern> + <possibleNumberPattern>\d{8,9}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <!-- Includes VSAT service. --> + <nationalNumberPattern> + 6(?: + 1(?: + 17| + 2(?: + [0189]\d| + [23-6]| + 7\d? + )| + 3(?: + 2\d| + 3[378] + )| + 4[01]| + 69| + 7[014] + )| + 2(?: + 17| + 25| + 5(?: + [0-36-8]| + 4\d? + )| + 69| + 70 + )| + 3(?: + 17| + 2(?: + [0237]\d?| + [14-689] + )| + 34| + 6[29]| + 7[01]| + 81 + )| + 4(?: + 17| + 2(?: + [012]| + 7? + )| + 4(?: + [06]| + 1\d + )| + 5(?: + [01357]| + [25]\d? + )| + 69| + 7[01] + )| + 5(?: + 17| + 2(?: + [0459]| + [23678]\d? + )| + 69| + 7[01] + )| + 6(?: + 17| + 2(?: + 5| + 6\d? + )| + 38| + 42| + 69| + 7[01] + )| + 7(?: + 17| + 2(?: + [569]| + [234]\d? + )| + 3(?: + 0\d?| + [13] + )| + 69| + 7[01] + ) + )\d{4} + </nationalNumberPattern> + <exampleNumber>612012345</exampleNumber> + </fixedLine> + <mobile> + <!-- Includes the Switch CDMA Service. --> + <nationalNumberPattern> + (?: + 60| + 8[125] + )\d{7} + </nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>811234567</exampleNumber> + </mobile> + <premiumRate> + <nationalNumberPattern>8701\d{5}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>870123456</exampleNumber> + </premiumRate> + <voip> + <nationalNumberPattern>886\d{5}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>88612345</exampleNumber> + </voip> + <shortCode> + <nationalNumberPattern> + 1(?: + 0111| + \d{3} + )| + 9(?: + 3111| + \d{2} + ) + </nationalNumberPattern> + <possibleNumberPattern>\d{3,5}</possibleNumberPattern> + <exampleNumber>93111</exampleNumber> + </shortCode> + </territory> + + <!-- New Caledonia (Territoire français d'outre-mer) --> + <territory id="NC" countryCode="687" internationalPrefix="00" + nationalPrefix="0"> + </territory> + + <!-- Niger --> + <!-- http://www.itu.int/oth/T020200009B/en --> + <territory id="NE" countryCode="227" internationalPrefix="00" leadingZeroPossible="true"> + <availableFormats> + <numberFormat pattern="([029]\d)(\d{2})(\d{2})(\d{2})"> + <leadingDigits> + [29]| + 09 + </leadingDigits> + <format>$1 $2 $3 $4</format> + </numberFormat> + <numberFormat pattern="(08)(\d{3})(\d{3})"> + <leadingDigits>08</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[029]\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <!-- Adding 20 61 from online numbers. --> + <nationalNumberPattern> + 2(?: + 0(?: + 20| + 3[1-7]| + 4[134]| + 5[14]| + 6[14578]| + 7[1-578] + )| + 1(?: + 4[145]| + 5[14]| + 6[14-68]| + 7[169]| + 88 + ) + )\d{4} + </nationalNumberPattern> + <exampleNumber>20201234</exampleNumber> + </fixedLine> + <mobile> + <!-- Added 90 and 97 from online data. Zain have confirmed that they use the 97 prefix. --> + <nationalNumberPattern>9[03467]\d{6}</nationalNumberPattern> + <exampleNumber>93123456</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern>08\d{6}</nationalNumberPattern> + <exampleNumber>08123456</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>09\d{6}</nationalNumberPattern> + <exampleNumber>09123456</exampleNumber> + </premiumRate> + </territory> + + <!-- Norfolk Island --> + <!-- http://www.itu.int/oth/T020200009D/en --> + <!-- Including numbers for Australian Antarctic stations. --> + <territory id="NF" countryCode="672" internationalPrefix="00"> + <availableFormats> + <numberFormat pattern="(\d{2})(\d{4})"> + <leadingDigits>1</leadingDigits> + <format>$1 $2</format> + </numberFormat> + <numberFormat pattern="(\d)(\d{5})"> + <leadingDigits>3</leadingDigits> + <format>$1 $2</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[13]\d{5}</nationalNumberPattern> + <possibleNumberPattern>\d{5,6}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <!-- ITU says all 3X numbers except 38 are fixed-line, but 3[3-79] numbers don't seem to + connect after we tried calling them. --> + <nationalNumberPattern> + (?: + 1(?: + 06| + 17| + 28| + 39 + )| + 3[012]\d + )\d{3} + </nationalNumberPattern> + <exampleNumber>106609</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern>38\d{4}</nationalNumberPattern> + <exampleNumber>381234</exampleNumber> + </mobile> + </territory> + + <!-- Nigeria --> + <!-- http://www.itu.int/oth/T020200009C/en --> + <territory id="NG" countryCode="234" internationalPrefix="009" + nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG"> + <availableFormats> + <numberFormat pattern="([129])(\d{3})(\d{3,4})"> + <leadingDigits>[129]</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="([3-8]\d)(\d{3})(\d{2,3})"> + <leadingDigits> + [3-6]| + 7(?: + [1-79]| + 0[1-9] + )| + 8[2-9] + </leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="([78]\d{2})(\d{3})(\d{3,4})"> + <leadingDigits> + 70| + 8[01] + </leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="([78]00)(\d{4})(\d{4,5})"> + <leadingDigits>[78]00</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="([78]00)(\d{5})(\d{5,6})"> + <leadingDigits>[78]00</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(78)(\d{2})(\d{3})"> + <leadingDigits>78</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern> + [1-69]\d{5,8}| + [78]\d{5,13} + </nationalNumberPattern> + <possibleNumberPattern>\d{5,14}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + [12]\d{6,7}| + 9\d{7}| + (?: + 4[023568]| + 5[02368]| + 6[02-469]| + 7[569]| + 8[2-9] + )\d{6}| + (?: + 4[47]| + 5[14579]| + 6[1578]| + 7[0-357] + )\d{5,6}| + (?: + 78| + 41 + )\d{5} + </nationalNumberPattern> + <possibleNumberPattern>\d{5,9}</possibleNumberPattern> + <exampleNumber>12345678</exampleNumber> + </fixedLine> + <mobile> + <!-- More 81X prefixes have been added based on online numbers. --> + <nationalNumberPattern> + (?: + 70(?: + [3-9]\d| + 2[1-9] + )| + 8(?: + 0[2-9]| + 1[23689] + )\d + )\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>8021234567</exampleNumber> + </mobile> + <!-- Info on these numbers from http://www.alphatechnologieslimited.com. --> + <tollFree> + <nationalNumberPattern>800\d{7,11}</nationalNumberPattern> + <possibleNumberPattern>\d{10,14}</possibleNumberPattern> + <exampleNumber>80017591759</exampleNumber> + </tollFree> + <personalNumber> + <nationalNumberPattern>700\d{7,11}</nationalNumberPattern> + <possibleNumberPattern>\d{10,14}</possibleNumberPattern> + <exampleNumber>7001234567</exampleNumber> + </personalNumber> + </territory> + + <!-- Nicaragua --> + <!-- http://www.itu.int/oth/T020200009A/en --> + <territory id="NI" countryCode="505" internationalPrefix="00"> + <availableFormats> + <numberFormat pattern="(\d{4})(\d{4})"> + <format>$1 $2</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[128]\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern>2\d{7}</nationalNumberPattern> + <exampleNumber>21234567</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern>8\d{7}</nationalNumberPattern> + <exampleNumber>81234567</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern>1800\d{4}</nationalNumberPattern> + <exampleNumber>18001234</exampleNumber> + </tollFree> + </territory> + + <!-- Netherlands --> + <!-- http://en.wikipedia.org/wiki/%2B31 --> + <!-- http://www2.opta.nl/asp/en/numbers/ --> + <territory id="NL" countryCode="31" internationalPrefix="00" + nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG"> + <availableFormats> + <numberFormat pattern="([1-578]\d)(\d{3})(\d{4})"> + <leadingDigits> + 1[035]| + 2[0346]| + 3[03568]| + 4[0356]| + 5[0358]| + 7| + 8[458] + </leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="([1-5]\d{2})(\d{3})(\d{3})"> + <leadingDigits> + 1[16-8]| + 2[259]| + 3[124]| + 4[17-9]| + 5[124679] + </leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(6)(\d{8})"> + <leadingDigits>6</leadingDigits> + <format>$1 $2</format> + </numberFormat> + <numberFormat pattern="([89]0\d)(\d{4,7})"> + <leadingDigits> + 80| + 9 + </leadingDigits> + <format>$1 $2</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[1-9]\d{6,9}</nationalNumberPattern> + <possibleNumberPattern>\d{7,10}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + (?: + 1[0135-8]| + 2[02-69]| + 3[0-68]| + 4[0135-9]| + [57]\d| + 8[478] + )\d{7} + </nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>101234567</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern>6[1-58]\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>612345678</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern>800\d{4,7}</nationalNumberPattern> + <possibleNumberPattern>\d{7,10}</possibleNumberPattern> + <exampleNumber>8001234</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>90[069]\d{4,7}</nationalNumberPattern> + <possibleNumberPattern>\d{7,10}</possibleNumberPattern> + <exampleNumber>9001234</exampleNumber> + </premiumRate> + <voip> + <nationalNumberPattern>85\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + </voip> + </territory> + + <!-- Norway --> + <!-- Metadata (excluding fixed-line) shared with Svalbard. --> + <!-- http://www.npt.no/pt_internet/numsys/E.164.pdf --> + <territory id="NO" countryCode="47" internationalPrefix="00" leadingZeroPossible="true" + mainCountryForCode="true"> + <availableFormats> + <numberFormat pattern="([489]\d{2})(\d{2})(\d{3})"> + <leadingDigits>[489]</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="([235-7]\d)(\d{2})(\d{2})(\d{2})"> + <leadingDigits>[235-7]</leadingDigits> + <format>$1 $2 $3 $4</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern> + 0\d{4}| + [2-9]\d{7} + </nationalNumberPattern> + <possibleNumberPattern>\d{5}(?:\d{3})?</possibleNumberPattern> + </generalDesc> + <fixedLine> + <!-- Excludes Svalbard fixed-line numbers. --> + <nationalNumberPattern> + (?: + 2[1-4]| + 3[1-3578]| + 5[1-35-7]| + 6[1-4679]| + 7[0-8] + )\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>21234567</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern> + (?: + 4[015-8]| + 9\d + )\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>41234567</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern>80[01]\d{5}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>80012345</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>82[09]\d{5}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>82012345</exampleNumber> + </premiumRate> + <sharedCost> + <nationalNumberPattern> + 810(?: + 0[0-6]| + [2-8]\d + )\d{3} + </nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>81021234</exampleNumber> + </sharedCost> + <personalNumber> + <nationalNumberPattern>880\d{5}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>88012345</exampleNumber> + </personalNumber> + <uan> + <!-- Includes some 810 local-rate numbers, and long-distance rate numbers. --> + <nationalNumberPattern> + 0\d{4}| + 81(?: + 0(?: + 0[7-9]| + 1\d + )| + 5\d{2} + )\d{3} + </nationalNumberPattern> + <exampleNumber>01234</exampleNumber> + </uan> + </territory> + + <!-- Nepal --> + <!-- http://www.itu.int/oth/T0202000095/en --> + <!-- http://www.ntc.net.np/mobile/mob_postpaid_number_scheme.php --> + <territory id="NP" countryCode="977" internationalPrefix="00" + nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG"> + <availableFormats> + <numberFormat pattern="(1)([4-6]\d{3})(\d{3})"> + <leadingDigits>1[4-6]</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(\d{2})(\d{3})(\d{3})"> + <leadingDigits> + 1[01]| + [2-8]| + 9[1-79] + </leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <!-- Format is from http://www.fco.gov.uk/en/travel-and-living-abroad/travel-advice-by-country/country-profile/asia-oceania/nepal/ --> + <numberFormat pattern="(98[45])(\d{3})(\d{4})"> + <leadingDigits>98</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern> + [1-8]\d{5,7}| + 98[45]\d{7} + </nationalNumberPattern> + <possibleNumberPattern>\d{6,10}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + (?: + 1[014-6]| + 2[13-79]| + 3[135-8]| + 4[146-9]| + 5[135-7]| + 6[13-9]| + 7[15-9]| + 8[1-4679]| + 9[1-79] + )\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{6,8}</possibleNumberPattern> + <exampleNumber>14567890</exampleNumber> + </fixedLine> + <!-- There is no definitive source of information for mobile numbers in Nepal. The infomation + here is collected by searching the Internet. --> + <mobile> + <nationalNumberPattern>98[45]\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>9841234567</exampleNumber> + </mobile> + <!-- No information on other types of phone numbers for Nepal has been found. --> + </territory> + + <!-- Nauru --> + <!-- http://www.itu.int/oth/T0202000094/en --> + <territory id="NR" countryCode="674" internationalPrefix="00"> + <availableFormats> + <numberFormat pattern="(\d{3})(\d{4})"> + <format>$1 $2</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[458]\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{7}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + (?: + 444| + 888 + )\d{4} + </nationalNumberPattern> + <exampleNumber>4441234</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern>55[5-9]\d{4}</nationalNumberPattern> + <exampleNumber>5551234</exampleNumber> + </mobile> + <shortCode> + <nationalNumberPattern> + 1(?: + 1[012]| + 23| + 92 + ) + </nationalNumberPattern> + <possibleNumberPattern>\d{3}</possibleNumberPattern> + <exampleNumber>110</exampleNumber> + </shortCode> + </territory> + + <!-- Niue --> + <!-- http://www.itu.int/oth/T02020000EC/en --> + <territory id="NU" countryCode="683" internationalPrefix="00"> + <!-- Numbers are always formatted as a block. --> + <generalDesc> + <nationalNumberPattern>[1-5]\d{3}</nationalNumberPattern> + <possibleNumberPattern>\d{4}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <!-- Putting FWT (fixed-wireless-terminals) numbers here too. --> + <nationalNumberPattern>[34]\d{3}</nationalNumberPattern> + <exampleNumber>4002</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern>[125]\d{3}</nationalNumberPattern> + <exampleNumber>1234</exampleNumber> + </mobile> + </territory> + + <!-- New Zealand --> + <!-- http://www.itu.int/oth/T0202000099/en --> + <!-- Includes Ross Dependency, Antarctica --> + <!-- Does not currently support 083 "Enhanced voice services", New Zealand direct service + numbers and 050 "Nation-Wide Service". --> + <territory id="NZ" countryCode="64" internationalPrefix="0(?:0|161)" + preferredInternationalPrefix="00" nationalPrefix="0" + nationalPrefixFormattingRule="$NP$FG"> + <availableFormats> + <numberFormat pattern="([34679])(\d{3})(\d{4})"> + <leadingDigits> + [3467]| + 9[1-9] + </leadingDigits> + <format>$1-$2 $3</format> + </numberFormat> + <!-- Mobile numbers do not have exclusive leading digits - formatting depends on number + length. --> + <!-- Vodafone numbers are formatted with 021 separated. --> + <numberFormat pattern="(21)(\d{4})(\d{3,4})"> + <leadingDigits>21</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <!-- Adding in the toll free numbers here as well since they follow the same format. --> + <numberFormat pattern="([2589]\d{2})(\d{3})(\d{3,4})"> + <leadingDigits> + 2[0247-9]| + 5| + [89]00 + </leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <!-- Vodafone and Orcon numbers can also be 8 digits (without leading 0), and these are + formatted differently. --> + <numberFormat pattern="(\d{2})(\d{3})(\d{3,4})"> + <leadingDigits>2[0169]|86</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <!-- Antarctica --> + <numberFormat pattern="(24099)(\d{3})"> + <leadingDigits>240</leadingDigits> + <leadingDigits>2409</leadingDigits> + <leadingDigits>24099</leadingDigits> + <format>$1 $2</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern> + 6[235-9]\d{6}| + [2-57-9]\d{7,10} + </nationalNumberPattern> + <possibleNumberPattern>\d{7,11}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + (?: + 3[2-79]| + [49][2-689]| + 6[235-9]| + 7[2-589] + )\d{6}| + 24099\d{3} + </nationalNumberPattern> + <possibleNumberPattern>\d{7,8}</possibleNumberPattern> + <exampleNumber>32345678</exampleNumber> + </fixedLine> + <mobile> + <!-- Includes mobile radio service numbers. --> + <nationalNumberPattern> + 2(?: + [079]\d{7}| + 1(?: + 0\d{5,7}| + [12]\d{5,6}| + [3-9]\d{5} + )| + [28]\d{7,8}| + 4[1-9]\d{6} + ) + </nationalNumberPattern> + <possibleNumberPattern>\d{8,10}</possibleNumberPattern> + <exampleNumber>211234567</exampleNumber> + </mobile> + <pager> + <nationalNumberPattern>[28]6\d{6,7}</nationalNumberPattern> + <possibleNumberPattern>\d{8,9}</possibleNumberPattern> + <exampleNumber>26123456</exampleNumber> + </pager> + <!-- These are the toll free patterns used, by Telecom and Telstra/Clear, but they are + referred to as 'Value-added service' in the phone plan for some reason. 85 numbers are + not covered, as telecom companies don't seem to support them yet. --> + <tollFree> + <nationalNumberPattern> + 508\d{6,7}| + 80\d{6,8} + </nationalNumberPattern> + <possibleNumberPattern>\d{8,10}</possibleNumberPattern> + <exampleNumber>800123456</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>90\d{7,9}</nationalNumberPattern> + <possibleNumberPattern>\d{9,11}</possibleNumberPattern> + <exampleNumber>900123456</exampleNumber> + </premiumRate> + </territory> + + <!-- Oman --> + <!-- http://www.itu.int/oth/T020200009F/en --> + <territory id="OM" countryCode="968" internationalPrefix="00" > + <availableFormats> + <numberFormat pattern="(2\d)(\d{6})"> + <leadingDigits>2</leadingDigits> + <format>$1 $2</format> + </numberFormat> + <numberFormat pattern="(9\d{3})(\d{4})"> + <leadingDigits>9</leadingDigits> + <format>$1 $2</format> + </numberFormat> + <numberFormat pattern="([58]00)(\d{4,6})"> + <leadingDigits>[58]</leadingDigits> + <format>$1 $2</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern> + (?: + 2[3-6]| + 5| + 9[2-9] + )\d{6}| + 800\d{5,6} + </nationalNumberPattern> + <possibleNumberPattern>\d{7,9}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern>2[3-6]\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>23123456</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern>9[2-9]\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>92123456</exampleNumber> + </mobile> + <tollFree> + <!-- Link to document about toll-free numbers on www.tra.gov.om, which suggests they should + be 8007 followed by 4 digits. However, the only examples I can find, including the + customer help line for the main telephony company there (omantel), is 8007 followed by + 5 digits, so am allowing both for now to be on the safe side. 500 numbers seem to offer + international toll-free dialing numbers - +968 500 1300 for international help desk for + omantel, for example. --> + <nationalNumberPattern> + 8007\d{4,5}| + 500\d{4} + </nationalNumberPattern> + <possibleNumberPattern>\d{7,9}</possibleNumberPattern> + <exampleNumber>80071234</exampleNumber> + </tollFree> + <!-- No premiumRate information can be found. --> + </territory> + + <!-- Panama --> + <territory id="PA" countryCode="507" internationalPrefix="00" + nationalPrefix="0"> + </territory> + + <!-- Peru --> + <!-- http://www.itu.int/oth/T02020000A6/en --> + <!-- http://en.wikipedia.org/wiki/+51 --> + <territory id="PE" countryCode="51" internationalPrefix="19(?:1[124]|77|90)00" + nationalPrefix="0" nationalPrefixFormattingRule="($FG)" + preferredExtnPrefix=" Anexo "> + <availableFormats> + <numberFormat pattern="(1)(\d{7})"> + <leadingDigits>1</leadingDigits> + <format>$1 $2</format> + </numberFormat> + <numberFormat pattern="([4-8]\d)(\d{6})"> + <leadingDigits>[4-8]</leadingDigits> + <format>$1 $2</format> + </numberFormat> + <!-- Formatting from common usage found on the internet, supported by ITU doc. --> + <numberFormat pattern="(9\d{2})(\d{3})(\d{3})" + nationalPrefixFormattingRule="$FG"> + <leadingDigits>9</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[14-9]\d{7,8}</nationalNumberPattern> + <possibleNumberPattern>\d{6,9}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + (?: + 1\d| + 4[1-4]| + 5[1-46]| + 6[1-7]| + 7[2-46]| + 8[2-4] + )\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{6,8}</possibleNumberPattern> + <exampleNumber>11234567</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern>9\d{8}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>912345678</exampleNumber> + </mobile> + </territory> + + <!-- French Polynesia (Tahiti) (Territoire français d'outre-mer) --> + <territory id="PF" countryCode="689" internationalPrefix="00"> + </territory> + + <!-- Papua New Guinea --> + <!-- http://www.itu.int/oth/T02020000A4/en --> + <!-- http://en.wikipedia.org/wiki/%2B675 --> + <territory id="PG" countryCode="675" internationalPrefix="00"> + <availableFormats> + <numberFormat pattern="(\d{3})(\d{4})"> + <leadingDigits>[1-689]</leadingDigits> + <format>$1 $2</format> + </numberFormat> + <numberFormat pattern="(7[1-36]\d)(\d{2})(\d{3})"> + <leadingDigits>7[1-36]</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[1-9]\d{6,7}</nationalNumberPattern> + <possibleNumberPattern>\d{7,8}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <!-- Fixed line patterns are from the numbering plan, with additions for 4XX since many + numbers in the yellow pages seem to be outside the 47X range prescribed by the plan. + The same applies to extra 64X numbers. --> + <nationalNumberPattern> + (?: + 3\d{2}| + 4[257]\d| + 5[34]\d| + 6(?: + 29| + 4[1-9] + )| + 85[02-46-9]| + 9[78]\d + )\d{4} + </nationalNumberPattern> + <possibleNumberPattern>\d{7}</possibleNumberPattern> + <exampleNumber>3123456</exampleNumber> + </fixedLine> + <mobile> + <!-- Mobile number patterns from the numbering plan are included here, + as well as 68x from wikipedia. --> + <nationalNumberPattern> + (?: + 68| + 7(?: + [126]\d| + 3[1-9] + ) + )\d{5} + </nationalNumberPattern> + <possibleNumberPattern>\d{7,8}</possibleNumberPattern> + <exampleNumber>6812345</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern>180\d{4}</nationalNumberPattern> + <possibleNumberPattern>\d{7}</possibleNumberPattern> + <exampleNumber>1801234</exampleNumber> + </tollFree> + <voip> + <!-- VSAT prefixes are here. --> + <nationalNumberPattern>275\d{4}</nationalNumberPattern> + <possibleNumberPattern>\d{7}</possibleNumberPattern> + <exampleNumber>2751234</exampleNumber> + </voip> + </territory> + + <!-- Philippines --> + <!-- http://en.wikipedia.org/wiki/%2B63 --> + <territory id="PH" countryCode="63" internationalPrefix="00" + nationalPrefix="0"> + <availableFormats> + <!--Area code separated from number. Area codes found here: + http://en.wikipedia.org/wiki/Telecommunications_in_the_Philippines#Area_Codes --> + <numberFormat nationalPrefixFormattingRule="($NP$FG)" + pattern="(2)(\d{3})(\d{4})"> + <leadingDigits>2</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat nationalPrefixFormattingRule="($NP$FG)" + pattern="(\d{4})(\d{5})"> + <leadingDigits> + 3(?: + 23| + 39| + 46 + )| + 4(?: + 2[3-6]| + [35]9| + 4[26]| + 76 + )| + 5(?: + 22| + 44 + )| + 642| + 8(?: + 62| + 8[245] + ) + </leadingDigits> + <leadingDigits> + 3(?: + 230| + 397| + 461 + )| + 4(?: + 2(?: + 35| + [46]4| + 51 + )| + 396| + 4(?: + 22| + 63 + )| + 59[347]| + 76[15] + )| + 5(?: + 221| + 446 + )| + 642[23]| + 8(?: + 622| + 8(?: + [24]2| + 5[13] + ) + ) + </leadingDigits> + <format>$1 $2</format> + </numberFormat> + <numberFormat nationalPrefixFormattingRule="($NP$FG)" + pattern="(\d{5})(\d{4})"> + <leadingDigits> + 346| + 4(?: + 27| + 9[35] + )| + 883 + </leadingDigits> + <leadingDigits> + 3469| + 4(?: + 279| + 9(?: + 30| + 56 + ) + )| + 8834 + </leadingDigits> + <format>$1 $2</format> + </numberFormat> + <!-- This rule is a fallback for the more specific area codes. --> + <numberFormat nationalPrefixFormattingRule="($NP$FG)" + pattern="([3-8]\d)(\d{3})(\d{4})"> + <leadingDigits>[3-8]</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat nationalPrefixFormattingRule="$NP$FG" + pattern="(9\d{2})(\d{3})(\d{4})"> + <leadingDigits>9</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <!-- Formatting from http://www.uniontelecard.com/calling-guides/philippines/guide1.aspx --> + <numberFormat pattern="(1800)(\d{3})(\d{4})"> + <leadingDigits>1</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(1800)(\d{1,2})(\d{3})(\d{4})"> + <leadingDigits>1</leadingDigits> + <format>$1 $2 $3 $4</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern> + [2-9]\d{7,9}| + 1800\d{7,9} + </nationalNumberPattern> + <possibleNumberPattern>\d{7,13}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + (?: + 2| + 3[2-68]| + 4[2-9]| + 5[2-6]| + 6[2-58]| + 7[24578]| + 8[2-8] + )\d{7} + </nationalNumberPattern> + <possibleNumberPattern>\d{7,9}</possibleNumberPattern> + <exampleNumber>21234567</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern> + 9(?: + 0[5-9]| + 1[025-9]| + 2[0-36-9]| + 3[0235-9]| + 7[349]| + [89]9 + )\d{7} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>9051234567</exampleNumber> + </mobile> + <!-- Information on toll-free numbers collected from searching the internet --> + <tollFree> + <nationalNumberPattern>1800\d{7,9}</nationalNumberPattern> + <possibleNumberPattern>\d{11,13}</possibleNumberPattern> + <exampleNumber>180012345678</exampleNumber> + </tollFree> + <!-- No information can be found about other types of numbers (such as premium rate) in the + Philippines. --> + </territory> + + <!-- Pakistan --> + <!-- http://www.itu.int/oth/T02020000A1/en --> + <!-- http://en.wikipedia.org/wiki/%2B92 --> + <territory id="PK" countryCode="92" internationalPrefix="00" + nationalPrefix="0" nationalPrefixFormattingRule="($NP$FG)"> + <availableFormats> + <!-- Universal Access Numbers (UAN) number format patterns first, so that these numbers are + formatted nicely by the AYTF. --> + <numberFormat pattern="(\d{2})(111)(\d{3})(\d{3})"> + <leadingDigits> + (?: + 2[125]| + 4[0-246-9]| + 5[1-35-7]| + 6[1-8]| + 7[14]| + 8[16]| + 91 + )1 + </leadingDigits> + <leadingDigits> + (?: + 2[125]| + 4[0-246-9]| + 5[1-35-7]| + 6[1-8]| + 7[14]| + 8[16]| + 91 + )11 + </leadingDigits> + <leadingDigits> + (?: + 2[125]| + 4[0-246-9]| + 5[1-35-7]| + 6[1-8]| + 7[14]| + 8[16]| + 91 + )111 + </leadingDigits> + <format>$1 $2 $3 $4</format> + </numberFormat> + <numberFormat pattern="(\d{3})(111)(\d{3})(\d{3})"> + <leadingDigits> + 2[349]| + 45| + 54| + 60| + 72| + 8[2-5]| + 9[2-9] + </leadingDigits> + <leadingDigits> + (?: + 2[349]| + 45| + 54| + 60| + 72| + 8[2-5]| + 9[2-9] + )\d1 + </leadingDigits> + <leadingDigits> + (?: + 2[349]| + 45| + 54| + 60| + 72| + 8[2-5]| + 9[2-9] + )\d11 + </leadingDigits> + <leadingDigits> + (?: + 2[349]| + 45| + 54| + 60| + 72| + 8[2-5]| + 9[2-9] + )\d111 + </leadingDigits> + <format>$1 $2 $3 $4</format> + </numberFormat> + <numberFormat pattern="(\d{2})(\d{7,8})"> + <leadingDigits> + (?: + 2[125]| + 4[0-246-9]| + 5[1-35-7]| + 6[1-8]| + 7[14]| + 8[16]| + 91 + )[2-9] + </leadingDigits> + <format>$1 $2</format> + </numberFormat> + <numberFormat pattern="(\d{3})(\d{6,7})"> + <leadingDigits> + 2[349]| + 45| + 54| + 60| + 72| + 8[2-5]| + 9[2-9] + </leadingDigits> + <leadingDigits> + (?: + 2[349]| + 45| + 54| + 60| + 72| + 8[2-5]| + 9[2-9] + )\d[2-9] + </leadingDigits> + <format>$1 $2</format> + </numberFormat> + <numberFormat pattern="(3\d{2})(\d{7})" nationalPrefixFormattingRule="$NP$FG"> + <leadingDigits>3</leadingDigits> + <format>$1 $2</format> + </numberFormat> + <numberFormat pattern="([15]\d{3})(\d{5,6})"> + <leadingDigits> + 58[12]| + 1 + </leadingDigits> + <format>$1 $2</format> + </numberFormat> + <!-- This is from online examples. --> + <numberFormat pattern="(586\d{2})(\d{5})"> + <leadingDigits>586</leadingDigits> + <format>$1 $2</format> + </numberFormat> + <numberFormat pattern="([89]00)(\d{3})(\d{2})" nationalPrefixFormattingRule="$NP$FG"> + <leadingDigits>[89]00</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <!-- This is horribly complex because the country code is 92, and several area codes start + with 92, and the number length is widely variable. --> + <nationalNumberPattern> + 1\d{8}| + [2-8]\d{5,11}| + 9(?: + [013-9]\d{4,9}| + 2\d(?: + 111\d{6}| + \d{3,7} + ) + ) + </nationalNumberPattern> + <possibleNumberPattern>\d{6,12}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <!-- The subscriber number length is not well defined for some area codes. From online + examples, we have come up with a heuristic that for 3-digit area codes, the subscriber + number will be 6 or 7 digits - for 2-digit area codes it will be 7, with the exceptions + of Karachi and Lahore (both 8). --> + <nationalNumberPattern> + (?: + 21| + 42 + )[2-9]\d{7}| + (?: + 2[25]| + 4[0146-9]| + 5[1-35-7]| + 6[1-8]| + 7[14]| + 8[16]| + 91 + )[2-9]\d{6}| + (?: + 2(?: + 3[2358]| + 4[2-4]| + 9[2-8] + )| + 45[3479]| + 54[2-467]| + 60[468]| + 72[236]| + 8(?: + 2[2-689]| + 3[23578]| + 4[3478]| + 5[2356] + )| + 9(?: + 1| + 2[2-8]| + 3[27-9]| + 4[2-6]| + 6[3569]| + 9[25-8] + ) + )[2-9]\d{5,6}| + 58[126]\d{7} + </nationalNumberPattern> + <possibleNumberPattern>\d{6,10}</possibleNumberPattern> + <exampleNumber>2123456789</exampleNumber> + </fixedLine> + <mobile> + <!-- Adding 347 as SMSs have been successfully sent to these numbers and numbers can be + found online with these prefixes. --> + <nationalNumberPattern> + 3(?: + 0\d| + 1[2-5]| + 2[1-3]| + 3[1-6]| + 4[2-7]| + 64 + )\d{7} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>3012345678</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern>800\d{5}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>80012345</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>900\d{5}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>90012345</exampleNumber> + </premiumRate> + <!-- These are referred to as UPT numbers in the plan. --> + <personalNumber> + <nationalNumberPattern>122\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <!-- The example number here is the test number from the plan. --> + <exampleNumber>122044444</exampleNumber> + </personalNumber> + <uan> + <!-- Data on what a UAN is is hard to come by. http://www.ptcl.com.pk has information under + http://www.ptcl.com.pk/contentb.php?NID=143#uan - which defines their format - but not + what type of number they are. We exclude Azad Jammu, Kashmir and Northern Areas here + since no online example UANs can be found, and they have an "access code" at the start, + making it difficult to guess what a UAN in these areas would look like. --> + <nationalNumberPattern> + (?: + 2(?: + [125]| + 3[2358]| + 4[2-4]| + 9[2-8] + )| + 4(?: + [0-246-9]| + 5[3479] + )| + 5(?: + [1-35-7]| + 4[2-467] + )| + 6(?: + [1-8]| + 0[468] + )| + 7(?: + [14]| + 2[236] + )| + 8(?: + [16]| + 2[2-689]| + 3[23578]| + 4[3478]| + 5[2356] + )| + 9(?: + 1| + 22| + 3[27-9]| + 4[2-6]| + 6[3569]| + 9[2-7] + ) + )111\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{11,12}</possibleNumberPattern> + <exampleNumber>21111825888</exampleNumber> + </uan> + </territory> + + <!-- Poland --> + <!-- http://en.wikipedia.org/wiki/%2B48 --> + <!-- + http://www.uke.gov.pl/uke/index.jsp?place=Lead24&news_cat_id=277&news_id=3791&layout=9&page=text + (in Polish) --> + <territory id="PL" countryCode="48" internationalPrefix="00"> + <availableFormats> + <numberFormat pattern="(\d{2})(\d{3})(\d{2})(\d{2})"> + <leadingDigits> + [124]| + 3[2-4]| + 5[24-689]| + 6[1-3578]| + 7[14-7]| + 8[1-79]| + 9[145] + </leadingDigits> + <format>$1 $2 $3 $4</format> + </numberFormat> + <!-- We are formatting 70 numbers as per mobile numbers, based on information from some + Poles that this is more usual. --> + <numberFormat pattern="(\d{3})(\d{3})(\d{3})"> + <leadingDigits> + 39| + 5[013]| + 6[069]| + 7[0289]| + 8[08] + </leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[1-9]\d{8}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + (?: + 1[2-8]| + 2[2-59]| + 3[2-4]| + 4[1-468]| + 5[24-689]| + 6[1-3578]| + 7[14-7]| + 8[1-79]| + 9[145] + )\d{7} + </nationalNumberPattern> + <exampleNumber>123456789</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern> + (?: + 5[013]| + 6[069]| + 7[289]| + 88 + )\d{7} + </nationalNumberPattern> + <exampleNumber>512345678</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern>800\d{6}</nationalNumberPattern> + <exampleNumber>800123456</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>70\d{7}</nationalNumberPattern> + <exampleNumber>701234567</exampleNumber> + </premiumRate> + <sharedCost> + <nationalNumberPattern>801\d{6}</nationalNumberPattern> + <exampleNumber>801234567</exampleNumber> + </sharedCost> + <voip> + <nationalNumberPattern>39\d{7}</nationalNumberPattern> + <exampleNumber>391234567</exampleNumber> + </voip> + </territory> + + <!-- Saint Pierre and Miquelon (Collectivité territoriale de la République française) --> + <territory id="PM" countryCode="508" internationalPrefix="00" + nationalPrefix="0"> + </territory> + + <!-- Puerto Rico --> + <!-- http://www.itu.int/oth/T02020000AA/en --> + <territory id="PR" countryCode="1" leadingDigits="787|939" + nationalPrefix="1" internationalPrefix="011"> + <generalDesc> + <!-- NANPA country - uses US formatting rules --> + <nationalNumberPattern>[5789]\d{9}</nationalNumberPattern> + <possibleNumberPattern>\d{7}(?:\d{3})?</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + (?: + 787| + 939 + )[2-9]\d{6} + </nationalNumberPattern> + <exampleNumber>7872345678</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern> + (?: + 787| + 939 + )[2-9]\d{6} + </nationalNumberPattern> + <exampleNumber>7872345678</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern> + 8(?: + 00| + 55| + 66| + 77| + 88 + )[2-9]\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>8002345678</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>900[2-9]\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>9002345678</exampleNumber> + </premiumRate> + <personalNumber> + <!-- http://www.nanpa.com/pdf/PL_416.pdf --> + <nationalNumberPattern> + 5(?: + 00| + 33| + 44 + )[2-9]\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>5002345678</exampleNumber> + </personalNumber> + </territory> + + <!-- Palestinian Authority --> + <!-- http://en.wikipedia.org/wiki/%2B970 --> + <!-- http://www.wtng.info/wtng-970-ps.html --> + <!-- http://www.paltel.ps --> + <!-- Palestinian phone numbers can be reached through the Israeli country code (972) in addition + to the Palestinian country code (970) and so Palestinian landlines and mobile lines are a + subset of the Israeli formats. --> + <territory id="PS" countryCode="970" internationalPrefix="00" + nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG"> + <availableFormats> + <numberFormat pattern="([2489])(2\d{2})(\d{4})"> + <leadingDigits>[2489]</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(5[69]\d)(\d{3})(\d{3})"> + <leadingDigits>5</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat nationalPrefixFormattingRule="$FG" + pattern="(1[78]00)(\d{3})(\d{3})"> + <leadingDigits>1[78]</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <!-- 4 and 5 digit premium numbers will be formatted as one block by default. --> + </availableFormats> + <generalDesc> + <nationalNumberPattern> + [24589]\d{7,8}| + 1(?: + [78]\d{8}| + [49]\d{2,3} + ) + </nationalNumberPattern> + <possibleNumberPattern>\d{4,10}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + (?: + 22[234789]| + 42[45]| + 82[01458]| + 92[369] + )\d{5} + </nationalNumberPattern> + <possibleNumberPattern>\d{7,8}</possibleNumberPattern> + <exampleNumber>22234567</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern>5[69]\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>599123456</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern>1800\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>1800123456</exampleNumber> + </tollFree> + <premiumRate> + <!-- According to Paltel, premium numbers are 14xx and 19xxx --> + <nationalNumberPattern> + 1(?: + 4| + 9\d + )\d{2} + </nationalNumberPattern> + <possibleNumberPattern>\d{4,5}</possibleNumberPattern> + <exampleNumber>19123</exampleNumber> + </premiumRate> + <sharedCost> + <nationalNumberPattern>1700\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>1700123456</exampleNumber> + </sharedCost> + </territory> + + <!-- Portugal --> + <!-- http://www.anacom.pt/render.jsp?categoryId=279098 --> + <territory id="PT" countryCode="351" internationalPrefix="00"> + <availableFormats> + <numberFormat pattern="([2-46-9]\d{2})(\d{3})(\d{3})"> + <format>$1 $2 $3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[2-46-9]\d{8}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + 2(?: + [12]\d| + [35][1-689]| + 4[1-59]| + 6[1-35689]| + 7[1-9]| + 8[1-69]| + 9[1256] + )\d{6} + </nationalNumberPattern> + <exampleNumber>212345678</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern> + 9(?: + [136]\d{2}| + 2[124-79]\d| + 4(?: + 80| + 9\d + ) + )\d{5} + </nationalNumberPattern> + <exampleNumber>912345678</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern> + 4\d{8}| + 80[02]\d{6} + </nationalNumberPattern> + <exampleNumber>800123456</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>71\d{7}</nationalNumberPattern> + <exampleNumber>712345678</exampleNumber> + </premiumRate> + <sharedCost> + <nationalNumberPattern>808\d{6}</nationalNumberPattern> + <exampleNumber>808123456</exampleNumber> + </sharedCost> + <voip> + <nationalNumberPattern>30\d{7}</nationalNumberPattern> + <exampleNumber>301234567</exampleNumber> + </voip> + </territory> + + <!-- Palau --> + <territory id="PW" countryCode="680" internationalPrefix="011"> + </territory> + + <!-- Paraguay --> + <territory id="PY" countryCode="595" internationalPrefix="002" + nationalPrefix="0"> + </territory> + + <!-- Qatar --> + <!-- http://www.itu.int/oth/T02020000AB/en --> + <!-- http://wtng.info/wtng-qq.html --> + <territory id="QA" countryCode="974" internationalPrefix="00"> + <availableFormats> + <numberFormat pattern="(8\d{2})(\d{4})"> + <leadingDigits>8</leadingDigits> + <format>$1 $2</format> + </numberFormat> + <numberFormat pattern="([3-7]\d{3})(\d{4})"> + <leadingDigits>[3-7]</leadingDigits> + <format>$1 $2</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[3-8]\d{6,7}</nationalNumberPattern> + <possibleNumberPattern>\d{7,8}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern>44\d{6}</nationalNumberPattern> + <exampleNumber>44123456</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern> + (?: + 33| + 55| + 66| + 77 + )\d{6} + </nationalNumberPattern> + <exampleNumber>33123456</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern>800\d{4}</nationalNumberPattern> + <exampleNumber>8001234</exampleNumber> + </tollFree> + <!-- No premiumRate information can be found. --> + </territory> + + <!-- Réunion (French Departments and Territories in the Indian Ocean) --> + <!-- Note this shares the same country code as La Mayotte and French Southern Territories, and + the formatting patterns here are used by all of them. --> + <!-- http://www.itu.int/oth/T020200004B/en --> + <territory id="RE" countryCode="262" internationalPrefix="00" + nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG" + leadingDigits="262|6[49]|8" mainCountryForCode="true" > + <availableFormats> + <numberFormat pattern="([268]\d{2})(\d{2})(\d{2})(\d{2})"> + <format>$1 $2 $3 $4</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[268]\d{8}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <!-- 0876 numbers are mentioned in the plan, but none in use can be found. --> + <nationalNumberPattern>262\d{6}</nationalNumberPattern> + <exampleNumber>262161234</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern> + 6(?: + 9[23]| + 47 + )\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>692123456</exampleNumber> + </mobile> + <!-- 08* Numbers in Réunion are the same as those valid in France. --> + <tollFree> + <nationalNumberPattern>80\d{7}</nationalNumberPattern> + <exampleNumber>801234567</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>89[1-37-9]\d{6}</nationalNumberPattern> + <exampleNumber>891123456</exampleNumber> + </premiumRate> + <sharedCost> + <nationalNumberPattern> + 8(?: + 1[019]| + 2[0156]| + 84| + 90 + )\d{6} + </nationalNumberPattern> + <exampleNumber>810123456</exampleNumber> + </sharedCost> + </territory> + + <!-- Romania --> + <!-- http://www.itu.int/dms_pub/itu-t/oth/02/02/T02020000AC0001MSWE.doc --> + <!-- http://en.wikipedia.org/wiki/Romania_telephone_area_codes --> + <!-- http://en.wikipedia.org/wiki/Telephone_numbers_in_Romania --> + <!-- Extension prefix found online, confirmed by a Romanian. --> + <territory id="RO" countryCode="40" internationalPrefix="00" + nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG" + preferredExtnPrefix=" int "> + <availableFormats> + <numberFormat pattern="([237]\d)(\d{3})(\d{4})"> + <leadingDigits> + [23]1| + 7 + </leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(\d{3})(\d{3})(\d{3})"> + <leadingDigits> + [23][02-9]| + [89] + </leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[237-9]\d{8}</nationalNumberPattern> + <!-- Although the ITU plan says the number plan is open, this was changed in 2008 according + to wikipedia and people must dial the full number. For this reason the possible number + pattern is restricted to 9 digits. --> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern>[23][13-6]\d{7}</nationalNumberPattern> + <exampleNumber>211234567</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern>7[1-8]\d{7}</nationalNumberPattern> + <exampleNumber>712345678</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern>800\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>800123456</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>90[036]\d{6}</nationalNumberPattern> + <exampleNumber>900123456</exampleNumber> + </premiumRate> + <sharedCost> + <nationalNumberPattern>801\d{6}</nationalNumberPattern> + <exampleNumber>801123456</exampleNumber> + </sharedCost> + <personalNumber> + <nationalNumberPattern>802\d{6}</nationalNumberPattern> + <exampleNumber>802123456</exampleNumber> + </personalNumber> + </territory> + + <!-- Serbia --> + <!-- http://www.itu.int/oth/T02020000B9/en --> + <territory id="RS" countryCode="381" internationalPrefix="00" + nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG"> + <availableFormats> + <numberFormat pattern="([23]\d{2})(\d{4,7})"> + <leadingDigits> + (?: + 2[389]| + 39 + )0 + </leadingDigits> + <format>$1 $2</format> + </numberFormat> + <numberFormat pattern="([1-4]\d)(\d{4,8})"> + <leadingDigits> + 1| + 2(?: + [0-24-7]| + [389][1-9] + )| + 3(?: + [0-8]| + 9[1-9] + )| + 42 + </leadingDigits> + <format>$1 $2</format> + </numberFormat> + <numberFormat pattern="(6[0-689])(\d{3,10})"> + <leadingDigits>6</leadingDigits> + <format>$1 $2</format> + </numberFormat> + <numberFormat pattern="([89]\d{2})(\d{3,6})"> + <leadingDigits>[89]</leadingDigits> + <format>$1 $2</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[1-46-9]\d{4,11}</nationalNumberPattern> + <possibleNumberPattern>\d{5,12}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern>[1-3]\d{6,9}</nationalNumberPattern> + <possibleNumberPattern>\d{5,10}</possibleNumberPattern> + <exampleNumber>1012345</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern>6[0-689]\d{3,10}</nationalNumberPattern> + <possibleNumberPattern>\d{5,12}</possibleNumberPattern> + <exampleNumber>6012345</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern>800\d{3,6}</nationalNumberPattern> + <possibleNumberPattern>\d{6,9}</possibleNumberPattern> + <exampleNumber>80012345</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern> + (?: + 9[0-2]| + 42 + )\d{4,7} + </nationalNumberPattern> + <possibleNumberPattern>\d{6,9}</possibleNumberPattern> + <exampleNumber>90012345</exampleNumber> + </premiumRate> + </territory> + + <!-- Russian Federation --> + <!-- http://www.itu.int/oth/T02020000AD/en --> + <!-- http://en.wikipedia.org/wiki/%2B7 --> + <territory id="RU" countryCode="7" internationalPrefix="8~10" + nationalPrefix="8" nationalPrefixFormattingRule="$NP ($FG)" + mainCountryForCode="true" > + <availableFormats> + <!-- Formatting from wikipedia, confirmed on Goverment websites such as + http://www.minjust.ru/ru/structure/contact/. Contains formatting instructions for + Kazakhstan as well. --> + <numberFormat pattern="([3489]\d{2})(\d{3})(\d{2})(\d{2})"> + <leadingDigits>[34689]</leadingDigits> + <format>$1 $2-$3-$4</format> + </numberFormat> + <numberFormat pattern="(7\d{2})(\d{3})(\d{4})"> + <leadingDigits>7</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[3489]\d{9}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <!-- The Ivanovo area code 493 was omitted on the official document, but this is still used + in the yellow pages, and on their own website and is listed on wikipedia. This applies + also to 395 (Irkutsk). Also including the 840 prefix for Abkhazia. --> + <nationalNumberPattern> + (?: + 3(?: + 0[12]| + 4[1-35-79]| + 5[1-3]| + 8[1-58]| + 9[0145] + )| + 4(?: + 01| + 1[1356]| + 2[13467]| + 7[1-5]| + 8[1-7]| + 9[1-689] + )| + 8(?: + 1[1-8]| + 2[01]| + 3[13-6]| + 4[0-8]| + 5[15]| + 6[1-35-7]| + 7[1-37-9] + ) + )\d{7} + </nationalNumberPattern> + <exampleNumber>3011234567</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern>9\d{9}</nationalNumberPattern> + <exampleNumber>9123456789</exampleNumber> + </mobile> + <tollFree> + <!-- The metadata states that 804 numbers are UAN numbers, but + teleum.ru/numbers/toll_free_804 states that they are now being offered as toll-free + numbers. --> + <nationalNumberPattern>80[04]\d{7}</nationalNumberPattern> + <exampleNumber>8001234567</exampleNumber> + </tollFree> + <premiumRate> + <!-- Covers tele-voting numbers as well. --> + <nationalNumberPattern>80[39]\d{7}</nationalNumberPattern> + <exampleNumber>8091234567</exampleNumber> + </premiumRate> + </territory> + + <!-- Rwanda --> + <!-- http://www.rura.gov.rw/docs/RWANDA_NATIONAL_NUMBERING_PLAN.pdf --> + <territory id="RW" countryCode="250" internationalPrefix="000" + nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG"> + <availableFormats> + <numberFormat nationalPrefixFormattingRule="$FG" + pattern="(25\d)(\d{3})(\d{3})"> + <leadingDigits>2</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="([7-9]\d{2})(\d{3})(\d{3})"> + <leadingDigits>[7-9]</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[27-9]\d{8}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern>25\d{7}</nationalNumberPattern> + <exampleNumber>250123456</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern>7[258]\d{7}</nationalNumberPattern> + <exampleNumber>720123456</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern>800\d{6}</nationalNumberPattern> + <exampleNumber>800123456</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>900\d{6}</nationalNumberPattern> + <exampleNumber>900123456</exampleNumber> + </premiumRate> + </territory> + + <!-- Saudi Arabia --> + <!-- http://en.wikipedia.org/wiki/Telephone_numbers_in_Saudi_Arabia --> + <!-- http://www.itu.int/oth/T02020000B7/en --> + <territory id="SA" countryCode="966" internationalPrefix="00" + nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG"> + <availableFormats> + <numberFormat pattern="([1-467])(\d{3})(\d{4})"> + <leadingDigits>[1-467]</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(9200)(\d{3})(\d{4})"> + <leadingDigits>9</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(5\d)(\d{3})(\d{4})"> + <leadingDigits>5</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(800)(\d{3})(\d{4})"> + <leadingDigits>80</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(8111)(\d{3})(\d{3})"> + <leadingDigits>81</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[1-9]\d{7,10}</nationalNumberPattern> + <possibleNumberPattern>\d{7,11}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + (?: + 1[24-7]| + 2[24-8]| + 3[35-8]| + 4[34-68]| + 6[2-5]| + 7[235-7] + )\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{7,8}</possibleNumberPattern> + <exampleNumber>12345678</exampleNumber> + </fixedLine> + <mobile> + <!-- Including "Nomadic" numbers from the Telecom Company "Go" --> + <nationalNumberPattern> + (?: + 5[013-69]\d| + 8111 + )\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{9,10}</possibleNumberPattern> + <exampleNumber>512345678</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern>800\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>8001234567</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>9200\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{11}</possibleNumberPattern> + <exampleNumber>92001234567</exampleNumber> + </premiumRate> + </territory> + + <!-- Solomon Islands --> + <territory id="SB" countryCode="677" internationalPrefix="00"> + </territory> + + <!-- Seychelles --> + <!-- http://www.itu.int/oth/T02020000BA/en --> + <!-- No evidence can be found that they still use their national prefix, so this is not + currently supported. --> + <territory id="SC" countryCode="248" internationalPrefix="0[0-2]" + preferredInternationalPrefix="00"> + <availableFormats> + <numberFormat pattern="(\d{3})(\d{3})"> + <leadingDigits> + [23578]| + [46][0-35-9] + </leadingDigits> + <format>$1 $2</format> + </numberFormat> + <numberFormat pattern="(\d)(\d{3})(\d{3})"> + <leadingDigits>[46]4</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[2-8]\d{5,6}</nationalNumberPattern> + <possibleNumberPattern>\d{6,7}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <!-- Includes Fixed Cellular. We are putting Fixed Services numbers here for now, as we + cannot find any evidence that they are more expensive to call than other Fixed Line + services. ISDN and DID services are here too, since they seem to be also fixed-line + phone numbers. --> + <nationalNumberPattern> + (?: + 2(?: + 1[78]| + 2[14-69]| + 3[2-4]| + 4[1-36-8]| + 6[167]| + [89]\d + )| + 3(?: + 2[1-6]| + 4[4-6]| + 55| + 6[016]| + 7\d| + 8[0-589]| + 9[0-5] + )| + 5(?: + 5\d| + 6[0-2] + )| + 6(?: + 0[0-27-9]| + 1[0-478]| + 2[145]| + 3[02-4]| + 4[124]| + 6[015]| + 7\d| + 8[1-3] + )| + 78[0138] + )\d{3} + </nationalNumberPattern> + <possibleNumberPattern>\d{6}</possibleNumberPattern> + <exampleNumber>217123</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern> + (?: + 5(?: + [1247-9]\d| + 6[3-9] + )| + 7(?: + [14679]\d| + 2[1-9]| + 8[24-79] + ) + )\d{3} + </nationalNumberPattern> + <possibleNumberPattern>\d{6}</possibleNumberPattern> + <exampleNumber>510123</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern>8000\d{2}</nationalNumberPattern> + <possibleNumberPattern>\d{6}</possibleNumberPattern> + <exampleNumber>800000</exampleNumber> + </tollFree> + <voip> + <nationalNumberPattern> + (?: + 44[1-3]| + 647 + )\d{4} + </nationalNumberPattern> + <possibleNumberPattern>\d{7}</possibleNumberPattern> + <exampleNumber>4410123</exampleNumber> + </voip> + </territory> + + <!-- Sudan --> + <!-- http://www.itu.int/oth/T02020000C4/en --> + <territory id="SD" countryCode="249" internationalPrefix="00" + nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG"> + <availableFormats> + <numberFormat pattern="(\d{2})(\d{3})(\d{4})"> + <format>$1 $2 $3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[19]\d{8}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <!-- Retaining previous prefix as 18 since it seems still to be used. --> + <nationalNumberPattern> + 1(?: + [25]\d| + 8[3567] + )\d{6} + </nationalNumberPattern> + <exampleNumber>121231234</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern>9[1259]\d{7}</nationalNumberPattern> + <exampleNumber>911231234</exampleNumber> + </mobile> + </territory> + + <!-- Sweden --> + <!-- http://www.pts.se/upload/Ovrigt/Tele/Nummerfragor/Sv_nrplan_telefoni_enl_TU-T_rek_E.164.pdf --> + <!-- Formatting patterns are from that document and from the Swedish yellow pages + http://gulasidorna.eniro.se --> + <territory id="SE" countryCode="46" internationalPrefix="00" + nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG"> + <availableFormats> + <numberFormat pattern="(8)(\d{2,3})(\d{2,3})(\d{2})"> + <leadingDigits>8</leadingDigits> + <format>$1-$2 $3 $4</format> + </numberFormat> + <intlNumberFormat pattern="(8)(\d{2,3})(\d{2,3})(\d{2})"> + <leadingDigits>8</leadingDigits> + <format>$1 $2 $3 $4</format> + </intlNumberFormat> + <numberFormat pattern="([1-69]\d)(\d{2,3})(\d{2})(\d{2})"> + <leadingDigits> + 1[013689]| + 2[0136]| + 3[1356]| + 4[0246]| + 54| + 6[03]| + 90 + </leadingDigits> + <format>$1-$2 $3 $4</format> + </numberFormat> + <intlNumberFormat pattern="([1-69]\d)(\d{2,3})(\d{2})(\d{2})"> + <leadingDigits> + 1[013689]| + 2[0136]| + 3[1356]| + 4[0246]| + 54| + 6[03]| + 90 + </leadingDigits> + <format>$1 $2 $3 $4</format> + </intlNumberFormat> + <numberFormat pattern="([1-69]\d)(\d{3})(\d{2})"> + <leadingDigits> + 1[13689]| + 2[136]| + 3[1356]| + 4[0246]| + 54| + 6[03]| + 90 + </leadingDigits> + <format>$1-$2 $3</format> + </numberFormat> + <intlNumberFormat pattern="([1-69]\d)(\d{3})(\d{2})"> + <leadingDigits> + 1[13689]| + 2[136]| + 3[1356]| + 4[0246]| + 54| + 6[03]| + 90 + </leadingDigits> + <format>$1 $2 $3</format> + </intlNumberFormat> + <numberFormat pattern="(\d{3})(\d{2})(\d{2})(\d{2})"> + <leadingDigits> + 1[2457]| + 2[2457-9]| + 3[0247-9]| + 4[1357-9]| + 5[0-35-9]| + 6[124-9]| + 9(?: + [125-8]| + 3[0-5]| + 4[0-3] + ) + </leadingDigits> + <format>$1-$2 $3 $4</format> + </numberFormat> + <intlNumberFormat pattern="(\d{3})(\d{2})(\d{2})(\d{2})"> + <leadingDigits> + 1[2457]| + 2[2457-9]| + 3[0247-9]| + 4[1357-9]| + 5[0-35-9]| + 6[124-9]| + 9(?: + [125-8]| + 3[0-5]| + 4[0-3] + ) + </leadingDigits> + <format>$1 $2 $3 $4</format> + </intlNumberFormat> + <numberFormat pattern="(\d{3})(\d{2,3})(\d{2})"> + <leadingDigits> + 1[2457]| + 2[2457-9]| + 3[0247-9]| + 4[1357-9]| + 5[0-35-9]| + 6[124-9]| + 9(?: + [125-8]| + 3[0-5]| + 4[0-3] + ) + </leadingDigits> + <format>$1-$2 $3</format> + </numberFormat> + <intlNumberFormat pattern="(\d{3})(\d{2,3})(\d{2})"> + <leadingDigits> + 1[2457]| + 2[2457-9]| + 3[0247-9]| + 4[1357-9]| + 5[0-35-9]| + 6[124-9]| + 9(?: + [125-8]| + 3[0-5]| + 4[0-3] + ) + </leadingDigits> + <format>$1 $2 $3</format> + </intlNumberFormat> + <numberFormat pattern="(7[02-467])(\d{3})(\d{2})(\d{2})"> + <leadingDigits>7[02-467]</leadingDigits> + <format>$1-$2 $3 $4</format> + </numberFormat> + <intlNumberFormat pattern="(7[02-467])(\d{3})(\d{2})(\d{2})"> + <leadingDigits>7[02-467]</leadingDigits> + <format>$1 $2 $3 $4</format> + </intlNumberFormat> + <numberFormat pattern="(20)(\d{2,3})(\d{2})"> + <leadingDigits>20</leadingDigits> + <format>$1-$2 $3</format> + </numberFormat> + <intlNumberFormat pattern="(20)(\d{2,3})(\d{2})"> + <leadingDigits>20</leadingDigits> + <format>$1 $2 $3</format> + </intlNumberFormat> + <numberFormat pattern="(9[034]\d)(\d{2})(\d{2})(\d{3})"> + <leadingDigits>9[034]</leadingDigits> + <format>$1-$2 $3 $4</format> + </numberFormat> + <intlNumberFormat pattern="(9[034]\d)(\d{2})(\d{2})(\d{3})"> + <leadingDigits>9[034]</leadingDigits> + <format>$1 $2 $3 $4</format> + </intlNumberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>\d{7,10}</nationalNumberPattern> + <possibleNumberPattern>\d{5,10}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + 1(?: + 0[1-8]\d{6}| + [136]\d{5,7}| + (?: + 2[0-35]| + 4[0-4]| + 5[0-25-9]| + 7[13-6]| + [89]\d + )\d{5,6} + )| + 2(?: + [136]\d{5,7}| + (?: + 2[0-7]| + 4[0136-8]| + 5[0-38]| + 7[018]| + 8[01]| + 9[0-57] + )\d{5,6} + )| + 3(?: + [356]\d{5,7}| + (?: + 0[0-4]| + 1\d| + 2[0-25]| + 4[056]| + 7[0-2]| + 8[0-3]| + 9[023] + )\d{5,6} + )| + 4(?: + [0246]\d{5,7}| + (?: + 1[01-8]| + 3[0135]| + 5[14-79]| + 7[0-246-9]| + 8[0156]| + 9[0-689] + )\d{5,6} + )| + 5(?: + 0[0-6]| + 1[1-5]| + 2[0-68]| + 3[0-4]| + 4\d| + 5[0-5]| + 6[03-5]| + 7[013]| + 8[0-79]| + 9[01] + )\d{5,6}| + 6(?: + [03]\d{5,7}| + (?: + 1[1-3]| + 2[0-4]| + 4[02-57]| + 5[0-37]| + 6[0-3]| + 7[0-2]| + 8[0247]| + 9[0-356] + )\d{5,6} + )| + 8\d{6,8}| + 9(?: + 0\d{5,7}| + (?: + 1[0-68]| + 2\d| + 3[02-59]| + 4[0-4]| + 5[0-4]| + 6[01]| + 7[0135-8]| + 8[01] + )\d{5,6} + ) + </nationalNumberPattern> + <possibleNumberPattern>\d{5,9}</possibleNumberPattern> + <exampleNumber>8123456</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern>7[02-46]\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>701234567</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern>20\d{4,7}</nationalNumberPattern> + <possibleNumberPattern>\d{6,9}</possibleNumberPattern> + <exampleNumber>201234567</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern> + 9(?: + 00| + 39| + 44 + )\d{7} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>9001234567</exampleNumber> + </premiumRate> + <sharedCost> + <nationalNumberPattern>77\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>771234567</exampleNumber> + </sharedCost> + </territory> + + <!-- Singapore --> + <!-- http://www.ida.gov.sg/policies%20and%20regulation/20060508120124.aspx --> + <territory id="SG" countryCode="65" internationalPrefix="0[0-3][0-9]"> + <availableFormats> + <numberFormat pattern="([3689]\d{3})(\d{4})"> + <leadingDigits> + [369]| + 8[1-9] + </leadingDigits> + <format>$1 $2</format> + </numberFormat> + <numberFormat pattern="(1[89]00)(\d{3})(\d{4})"> + <leadingDigits>1[89]</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(7000)(\d{4})(\d{3})"> + <leadingDigits>70</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(800)(\d{3})(\d{4})"> + <leadingDigits>80</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <!-- We have a stricter national number pattern for numbers beginning with 6 to enable us to + easily strip off leading "65" country codes. --> + <nationalNumberPattern> + [36]\d{7}| + [17-9]\d{7,10} + </nationalNumberPattern> + <possibleNumberPattern>\d{8,11}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern>6[1-8]\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>61234567</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern> + (?: + 8[1-5]| + 9[0-8] + )\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>81234567</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern>1?800\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{10,11}</possibleNumberPattern> + <exampleNumber>18001234567</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>1900\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{11}</possibleNumberPattern> + <exampleNumber>19001234567</exampleNumber> + </premiumRate> + <voip> + <nationalNumberPattern>3[0-2]\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>31234567</exampleNumber> + </voip> + <uan> + <!-- Although not detailed in the plan beyond mentioning their existence, it seems 7000 + numbers are used for companies. Most of the online examples are in fact alpha-numbers. + --> + <nationalNumberPattern>7000\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{11}</possibleNumberPattern> + <exampleNumber>70001234567</exampleNumber> + </uan> + <shortCode> + <nationalNumberPattern> + 1(?: + [0136]\d{2}| + 41\d| + [89](?: + [1-9]\d| + 0[1-9] + )| + [57]\d{2,3})| + 99\d + </nationalNumberPattern> + <possibleNumberPattern>\d{3,5}</possibleNumberPattern> + <exampleNumber>1312</exampleNumber> + </shortCode> + </territory> + + <!-- Saint Helena and Tristan da Cunha --> + <!-- http://www.itu.int/oth/T02020000AF/en --> + <territory id="SH" countryCode="290" internationalPrefix="00"> + <!-- Numbers are formatted as a block. --> + <generalDesc> + <nationalNumberPattern>[2-9]\d{3}</nationalNumberPattern> + <possibleNumberPattern>\d{4}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + (?: + [2-468]\d| + 7[01] + )\d{2} + </nationalNumberPattern> + <!-- Using St Helena Tourism as the example number. --> + <exampleNumber>2158</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern>NA</nationalNumberPattern> + <possibleNumberPattern>NA</possibleNumberPattern> + </mobile> + <premiumRate> + <nationalNumberPattern> + (?: + [59]\d| + 7[2-9] + )\d{2} + </nationalNumberPattern> + <exampleNumber>5012</exampleNumber> + </premiumRate> + <shortCode> + <nationalNumberPattern>1\d{2,3}</nationalNumberPattern> + <possibleNumberPattern>\d{3,4}</possibleNumberPattern> + </shortCode> + </territory> + + <!-- Slovenia --> + <!-- http://www.itu.int/oth/T02020000BE/en --> + <territory id="SI" countryCode="386" internationalPrefix="00" + nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG"> + <availableFormats> + <numberFormat nationalPrefixFormattingRule="($NP$FG)" + pattern="(\d)(\d{3})(\d{2})(\d{2})"> + <leadingDigits> + [12]| + 3[4-8]| + 4[24-8]| + 5[3-8]| + 7[3-8] + </leadingDigits> + <format>$1 $2 $3 $4</format> + </numberFormat> + <numberFormat pattern="([3-7]\d)(\d{3})(\d{3})"> + <leadingDigits> + [37][01]| + 4[019]| + 51| + 64 + </leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="([89][09])(\d{3,6})"> + <leadingDigits>[89][09]</leadingDigits> + <format>$1 $2</format> + </numberFormat> + <numberFormat pattern="([58]\d{2})(\d{5})"> + <leadingDigits> + 59| + 8[1-3] + </leadingDigits> + <format>$1 $2</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern> + [1-7]\d{6,7}| + [89]\d{4,7} + </nationalNumberPattern> + <possibleNumberPattern>\d{5,8}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + (?: + 1\d| + 2[2-8]| + 3[4-8]| + 4[24-8]| + [57][3-8] + )\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{7,8}</possibleNumberPattern> + <exampleNumber>11234567</exampleNumber> + </fixedLine> + <mobile> + <!-- We include 049 here - it is VoIP in the plan, but SMS messages have been successfully + delivered - and it is run by Mobitel. There are also mobile numbers found on the + internet with this prefix - it is apparently used in Kosovo. --> + <nationalNumberPattern> + (?: + [37][01]| + 4[019]| + 51| + 64 + )\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>31234567</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern>80\d{4,6}</nationalNumberPattern> + <possibleNumberPattern>\d{6,8}</possibleNumberPattern> + <exampleNumber>80123456</exampleNumber> + </tollFree> + <premiumRate> + <!-- Includes televoting, mass calling --> + <nationalNumberPattern> + 90\d{4,6}| + 89[1-3]\d{2,5} + </nationalNumberPattern> + <possibleNumberPattern>\d{5,8}</possibleNumberPattern> + <exampleNumber>90123456</exampleNumber> + </premiumRate> + <voip> + <nationalNumberPattern> + (?: + 59| + 8[1-3] + )\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>59012345</exampleNumber> + </voip> + </territory> + + <!-- Svalbard --> + <!-- Metadata shared with Norway. --> + <!-- http://www.npt.no/pt_internet/numsys/E.164.pdf --> + <territory id="SJ" countryCode="47" internationalPrefix="00" leadingZeroPossible="true"> + <generalDesc> + <nationalNumberPattern> + 0\d{4}| + [4789]\d{7} + </nationalNumberPattern> + <possibleNumberPattern>\d{5}(?:\d{3})?</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern>79\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>79123456</exampleNumber> + </fixedLine> + <!-- Copied from Norway metadata. --> + <mobile> + <nationalNumberPattern> + (?: + 4[015-8]| + 9\d + )\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>41234567</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern>80[01]\d{5}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>80012345</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>82[09]\d{5}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>82012345</exampleNumber> + </premiumRate> + <sharedCost> + <nationalNumberPattern> + 810(?: + 0[0-6]| + [2-8]\d + )\d{3} + </nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>81021234</exampleNumber> + </sharedCost> + <personalNumber> + <nationalNumberPattern>880\d{5}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>88012345</exampleNumber> + </personalNumber> + <uan> + <nationalNumberPattern> + 0\d{4}| + 81(?: + 0(?: + 0[7-9]| + 1\d + )| + 5\d{2} + )\d{3} + </nationalNumberPattern> + <exampleNumber>01234</exampleNumber> + </uan> + </territory> + + <!-- Slovakia --> + <!-- http://www.itu.int/oth/T02020000BD/en --> + <territory id="SK" countryCode="421" internationalPrefix="00" + nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG"> + <availableFormats> + <numberFormat pattern="(2)(\d{3})(\d{3})(\d{2})"> + <leadingDigits>2</leadingDigits> + <format>$1/$2 $3 $4</format> + </numberFormat> + <numberFormat pattern="([3-5]\d)(\d{3})(\d{2})(\d{2})"> + <leadingDigits>[3-5]</leadingDigits> + <format>$1/$2 $3 $4</format> + </numberFormat> + <numberFormat pattern="([689]\d{2})(\d{3})(\d{3})"> + <leadingDigits>[689]</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[2-689]\d{8}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern>[2-5]\d{8}</nationalNumberPattern> + <exampleNumber>212345678</exampleNumber> + </fixedLine> + <mobile> + <!-- 948 isn't in the number pattern, but many examples using this have been found, so + deeming it valid for now. --> + <nationalNumberPattern> + 9(?: + 0[1-8]| + 1[0-24-9]| + 4[0489] + )\d{6} + </nationalNumberPattern> + <exampleNumber>912123456</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern>800\d{6}</nationalNumberPattern> + <exampleNumber>800123456</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern> + 9(?: + [78]\d{7}| + 00\d{6} + ) + </nationalNumberPattern> + <exampleNumber>900123456</exampleNumber> + </premiumRate> + <sharedCost> + <nationalNumberPattern>8[5-9]\d{7}</nationalNumberPattern> + <exampleNumber>850123456</exampleNumber> + </sharedCost> + <voip> + <nationalNumberPattern> + 6(?: + 5[0-4]| + 9[0-6] + )\d{6} + </nationalNumberPattern> + <exampleNumber>690123456</exampleNumber> + </voip> + </territory> + + <!-- Sierra Leone --> + <!-- http://www.itu.int/oth/T02020000BB/en --> + <territory id="SL" countryCode="232" internationalPrefix="00" + nationalPrefix="0" nationalPrefixFormattingRule="($NP$FG)"> + <availableFormats> + <!-- Following formatting of online yellow pages www.leonedirect.com --> + <numberFormat pattern="(\d{2})(\d{6})"> + <format>$1 $2</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[2-578]\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{6,8}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern>[235]2[2-4][2-9]\d{4}</nationalNumberPattern> + <exampleNumber>22221234</exampleNumber> + </fixedLine> + <mobile> + <!-- Adding prefix 50 because it was found in online numbers and this is supported by + http://www.wtng.info/wtng-232-sl.html - although the data may be outdated, since no + further information about Datatel can be found. --> + <nationalNumberPattern> + (?: + 25| + 3[03]| + 44| + 5[056]| + 7[6-8]| + 88 + )[1-9]\d{5} + </nationalNumberPattern> + <exampleNumber>25123456</exampleNumber> + </mobile> + </territory> + + <!-- San Marino --> + <!-- http://www.itu.int/oth/T02020000B5/en --> + <!-- http://en.wikipedia.org/wiki/%2B39 (Information about Italy) --> + <!-- http://en.wikipedia.org/wiki/%2B378--> + <!-- San Marino fixed-line numbers have an area code of "0549". However, this seems to be + optional when dialling from outside the country; the phone number can be reached both with + and without this area code. The nationalPrefixForParsing and nationalPrefixTransformRule + are used to ensure that if the 0549 is not present, it will be added. --> + <territory id="SM" countryCode="378" internationalPrefix="00" + nationalPrefixForParsing="(?:0549)?([89]\d{5})" nationalPrefixTransformRule="0549$1" + leadingZeroPossible="true"> + <availableFormats> + <numberFormat pattern="(\d{2})(\d{2})(\d{2})(\d{2})"> + <leadingDigits>[5-7]</leadingDigits> + <format>$1 $2 $3 $4</format> + </numberFormat> + <intlNumberFormat pattern="(\d{2})(\d{2})(\d{2})(\d{2})"> + <leadingDigits>[5-7]</leadingDigits> + <format>$1 $2 $3 $4</format> + </intlNumberFormat> + <!-- We follow the guidelines of the yellow-pages when formatting in national format. --> + <numberFormat pattern="(0549)(\d{6})"> + <leadingDigits>0</leadingDigits> + <format>$1 $2</format> + </numberFormat> + <!-- We follow the guidelines of the Telecommunications Document published on ITU when + formatting in international format. --> + <intlNumberFormat pattern="(0549)(\d{6})"> + <leadingDigits>0</leadingDigits> + <format>($1) $2</format> + </intlNumberFormat> + <!-- A rule in case the number has been stored without the leading 0549 necessary for + fixed-lines. --> + <numberFormat pattern="(\d{6})"> + <leadingDigits>[89]</leadingDigits> + <format>0549 $1</format> + </numberFormat> + <intlNumberFormat pattern="(\d{6})"> + <leadingDigits>[89]</leadingDigits> + <format>(0549) $1</format> + </intlNumberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[05-7]\d{7,9}</nationalNumberPattern> + <possibleNumberPattern>\d{6,10}</possibleNumberPattern> + </generalDesc> + <!-- Example numbers provided by the Telecommunications Services. --> + <fixedLine> + <nationalNumberPattern> + 0549(?: + 8[0157-9]| + 9\d + )\d{4} + </nationalNumberPattern> + <exampleNumber>0549886377</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern>6[16]\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>66661212</exampleNumber> + </mobile> + <premiumRate> + <!-- Includes Video Call numbers. --> + <nationalNumberPattern>7[178]\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>71123456</exampleNumber> + </premiumRate> + <voip> + <nationalNumberPattern>5[158]\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>58001110</exampleNumber> + </voip> + </territory> + + <!-- Senegal --> + <!-- http://www.itu.int/oth/T02020000B8/en --> + <territory id="SN" countryCode="221" internationalPrefix="00"> + <availableFormats> + <!-- Using yellow pages and online telecom company formatting, rather than that implied in + the national numbering plan. --> + <numberFormat pattern="(\d{2})(\d{3})(\d{2})(\d{2})"> + <format>$1 $2 $3 $4</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[37]\d{8}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + 3(?: + 010| + 3(?: + 8[1-9]| + 9[2-9] + ) + )\d{5} + </nationalNumberPattern> + <exampleNumber>301012345</exampleNumber> + </fixedLine> + <mobile> + <!-- Adding 77 7[45]X and 77 9[0-6]X from online searches and from numbers successfully + delivered by the wireless team. --> + <nationalNumberPattern> + 7(?: + 0[1256]0| + 6(?: + 1[23]| + 2[89]| + 3[3489]| + 4[6-9]| + 5[1-389]| + 6[6-9]| + 7[45]| + 8[3-8] + )| + 7(?: + 1[014-8]| + 2[0-7]| + 3[0-35-8]| + 4[0-6]| + [56]\d| + 7[0-589]| + 8[01]| + 9[0-6] + ) + )\d{5} + </nationalNumberPattern> + <exampleNumber>701012345</exampleNumber> + </mobile> + <voip> + <nationalNumberPattern>33301\d{4}</nationalNumberPattern> + <exampleNumber>333011234</exampleNumber> + </voip> + </territory> + + <!-- Somalia --> + <!-- http://www.itu.int/oth/T02020000C0/en --> + <!-- This document seems to cover only a small set of prefixes in Somalia. + Somalia has limited information available, and the numerous telecom carriers + were previously working under an unregulated environment. The extra prefixes + were added from the contact phone numbers of the countries main telecom + operators. See regression tests for more details. --> + <territory id="SO" countryCode="252" internationalPrefix="00"> + <availableFormats> + <!-- These follow formats online, such as www.hortel.net/contact_us.html --> + <numberFormat pattern="([13-5])(\d{6})"> + <leadingDigits>[13-5]</leadingDigits> + <format>$1 $2</format> + </numberFormat> + <!-- Unfortunately numbers beginning with 1 are hard to format based on prefixes, since it + depends on number length. --> + <numberFormat pattern="([19]\d)(\d{6})"> + <leadingDigits>15|9</leadingDigits> + <format>$1 $2</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[13-59]\d{6,7}</nationalNumberPattern> + <possibleNumberPattern>\d{7,8}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + (?: + 5[57-9]| + [134]\d + )\d{5} + </nationalNumberPattern> + <possibleNumberPattern>\d{7}</possibleNumberPattern> + <!-- Example numbers are test numbers from the document. --> + <exampleNumber>5522010</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern> + (?: + 9[01]| + 15 + )\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>90792024</exampleNumber> + </mobile> + </territory> + + <!-- Suriname --> + <territory id="SR" countryCode="597" internationalPrefix="00"> + </territory> + + <!-- Sao Tome and Principe --> + <!-- http://www.itu.int/oth/T02020000B6/en --> + <territory id="ST" countryCode="239" internationalPrefix="00"> + <availableFormats> + <numberFormat pattern="(\d{3})(\d{4})"> + <format>$1 $2</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[29]\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{7}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern>22\d{5}</nationalNumberPattern> + <exampleNumber>2221234</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern>9[89]\d{5}</nationalNumberPattern> + <exampleNumber>9812345</exampleNumber> + </mobile> + </territory> + + <!-- El Salvador --> + <!-- http://www.itu.int/oth/T020200003F/en + http://www.siget.gob.sv/BusquedaPublica.aspx?pagina=3&tipo=27&titulo=t8§or=2&ordenar=&dir=DESC + --> + <territory id="SV" countryCode="503" internationalPrefix="00"> + <availableFormats> + <numberFormat pattern="(\d{4})(\d{4})"> + <leadingDigits>[27]</leadingDigits> + <format>$1 $2</format> + </numberFormat> + <numberFormat pattern="(\d{3})(\d{4})"> + <leadingDigits>[89]</leadingDigits> + <format>$1 $2</format> + </numberFormat> + <numberFormat pattern="(\d{3})(\d{4})(\d{4})"> + <leadingDigits>[89]</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern> + [27]\d{7}| + [89]\d{6}(?:\d{4})? + </nationalNumberPattern> + <possibleNumberPattern> + \d{7,8}| + \d{11} + </possibleNumberPattern> + </generalDesc> + <fixedLine> + <!-- Numbers starting with 20, 27, 28 and 29 are reserved but not yet used. --> + <nationalNumberPattern>2[1-6]\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>21234567</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern>7\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>70123456</exampleNumber> + </mobile> + <tollFree> + <!-- Toll free numbers are either 800 NNNN or 800 NNNN NNNN. --> + <nationalNumberPattern>800\d{4}(?:\d{4})?</nationalNumberPattern> + <possibleNumberPattern>\d{7}(?:\d{4})?</possibleNumberPattern> + <exampleNumber>8001234</exampleNumber> + </tollFree> + <premiumRate> + <!-- Premium rate numbers are either 900 NNNN or 900 NNNN NNNN. --> + <nationalNumberPattern>900\d{4}(?:\d{4})?</nationalNumberPattern> + <possibleNumberPattern>\d{7}(?:\d{4})?</possibleNumberPattern> + <exampleNumber>9001234</exampleNumber> + </premiumRate> + </territory> + + <!-- Syrian Arab Republic --> + <!-- http://www.itu.int/oth/T02020000C9/en --> + <territory id="SY" countryCode="963" internationalPrefix="00" + nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG"> + <availableFormats> + <numberFormat pattern="(\d{2})(\d{3})(\d{3,4})"> + <leadingDigits>[1-5]</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(9[3-689])(\d{4})(\d{3})"> + <leadingDigits>9</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[1-59]\d{7,8}</nationalNumberPattern> + <possibleNumberPattern>\d{6,9}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + (?: + 1(?: + 1\d?| + 4\d| + [2356] + )| + 2[1-35]| + 3(?: + 1\d| + [34] + )| + 4[13]| + 5[1-3] + )\d{6} + </nationalNumberPattern> + <exampleNumber>112345678</exampleNumber> + </fixedLine> + <mobile> + <!-- 945, 967 and 991 numbers are added as SMS messages have been successfully delivered to + these numbers, and they are also widely present on the Internet. --> + <nationalNumberPattern> + 9(?: + 3[23]| + 4[457]| + 55| + 6[67]| + 88| + 9[19] + )\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>944567890</exampleNumber> + </mobile> + <!-- No tollFree or premiumRate information can be found. --> + </territory> + + <!-- Swaziland --> + <!-- http://www.itu.int/oth/T02020000C6/en --> + <territory id="SZ" countryCode="268" internationalPrefix="00" leadingZeroPossible="true"> + <availableFormats> + <numberFormat pattern="(\d{4})(\d{4})"> + <leadingDigits>[027]</leadingDigits> + <format>$1 $2</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[027]\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + </generalDesc> + <noInternationalDialling> + <nationalNumberPattern>0800\d{4}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>08001234</exampleNumber> + </noInternationalDialling> + <fixedLine> + <nationalNumberPattern> + 2(?: + 2(?: + 0[07]| + [13]7| + 2[57] + )| + 3(?: + 0[34]| + [1278]3| + 3[23]| + [46][34] + )| + (?: + 40[4-69]| + 67 + )| + 5(?: + 0[5-7]| + 1[6-9]| + [23][78]| + 48| + 5[01] + ) + )\d{4} + </nationalNumberPattern> + <exampleNumber>22171234</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern>7[6-8]\d{6}</nationalNumberPattern> + <exampleNumber>76123456</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern>0800\d{4}</nationalNumberPattern> + <exampleNumber>08001234</exampleNumber> + </tollFree> + </territory> + + <!-- Turks and Caicos Islands --> + <!-- http://www.itu.int/oth/T02020000D8/en --> + <territory id="TC" countryCode="1" leadingDigits="649" + nationalPrefix="1" internationalPrefix="011"> + <generalDesc> + <!-- NANPA country - uses US formatting rules --> + <nationalNumberPattern>[5689]\d{9}</nationalNumberPattern> + <possibleNumberPattern>\d{7}(?:\d{3})?</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + 649(?: + 712| + 9(?: + 4\d| + 50 + ) + )\d{4} + </nationalNumberPattern> + <exampleNumber>6497121234</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern> + 649(?: + 2(?: + 3[12]| + 4[1-5] + )| + 3(?: + 3[1-39]| + 4[1-57] + )| + 4[34][12] + )\d{4} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>6492311234</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern> + 8(?: + 00| + 55| + 66| + 77| + 88 + )[2-9]\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>8002345678</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>900[2-9]\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>9002345678</exampleNumber> + </premiumRate> + <personalNumber> + <!-- http://www.nanpa.com/pdf/PL_416.pdf --> + <nationalNumberPattern> + 5(?: + 00| + 33| + 44 + )[2-9]\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>5002345678</exampleNumber> + </personalNumber> + <voip> + <nationalNumberPattern>64971[01]\d{4}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>6497101234</exampleNumber> + </voip> + </territory> + + <!-- Chad --> + <!-- http://www.itu.int/oth/T0202000029/en --> + <!-- The international prefix includes 16 as the international manual exchange. --> + <territory id="TD" countryCode="235" preferredInternationalPrefix="00" + internationalPrefix="00|16"> + <availableFormats> + <numberFormat + pattern="(\d{2})(\d{2})(\d{2})(\d{2})"> + <format>$1 $2 $3 $4</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[2679]\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + 22(?: + [3789]0| + 5[0-5]| + 6[89] + )\d{4} + </nationalNumberPattern> + <exampleNumber>22501234</exampleNumber> + </fixedLine> + <mobile> + <!-- Sotel Tchad "SALAM" (77 XX XX XX) is classified as a fixed operator in the plan, but it + also says numbers starting with 7 are mobile numbers. Putting under mobile for now. + Also adding 63[5-7] from evidence of successful SMS delivery. --> + <nationalNumberPattern> + (?: + 6(?: + 3[0-7]| + 6\d + )| + 77\d| + 9(?: + 5[0-4]| + 9\d + ) + )\d{5} + </nationalNumberPattern> + <exampleNumber>63012345</exampleNumber> + </mobile> + </territory> + + <!-- French Southern Territories --> + <territory id="TF" countryCode="262" internationalPrefix="00" + nationalPrefix="0"> + </territory> + + <!-- Togo --> + <!-- http://www.itu.int/oth/T02020000D1/en --> + <territory id="TG" countryCode="228" internationalPrefix="00" leadingZeroPossible="true"> + <availableFormats> + <numberFormat pattern="(\d{3})(\d{2})(\d{2})"> + <format>$1 $2 $3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[02-9]\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{7}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + (?: + 2[2-7]| + 3[23]| + 44| + 55| + 66| + 77 + )\d{5} + </nationalNumberPattern> + <exampleNumber>2212345</exampleNumber> + </fixedLine> + <mobile> + <!-- Added prefix 09 because many mobile numbers were found with this. --> + <nationalNumberPattern> + (?: + 0[1-9]| + 7[56]| + 8[1-7]| + 9\d + )\d{5} + </nationalNumberPattern> + <exampleNumber>0112345</exampleNumber> + </mobile> + </territory> + + <!-- Thailand --> + <!-- http://www.itu.int/dms_pub/itu-t/oth/02/02/T02020000CD0001MSWE.doc --> + <territory id="TH" countryCode="66" internationalPrefix="00" + nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG"> + <availableFormats> + <!-- Formatting patterns from wikipedia and the document itself - + http://en.wikipedia.org/wiki/%2B66 --> + <numberFormat pattern="(2)(\d{3})(\d{4})"> + <leadingDigits>2</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="([3-7]\d)(\d{3})(\d{3,4})"> + <leadingDigits>[3-7]</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(8)(\d{4})(\d{4})"> + <leadingDigits>8</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat nationalPrefixFormattingRule="$FG" + pattern="(1[89]00)(\d{3})(\d{3})"> + <leadingDigits>1</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern> + [2-8]\d{7,8}| + 1\d{9} + </nationalNumberPattern> + <possibleNumberPattern>\d{8,10}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + (?: + 2[1-9]| + 3[24-9]| + 4[2-5]| + 5[3-6]| + 7[3-7] + )\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + <exampleNumber>21234567</exampleNumber> + </fixedLine> + <mobile> + <!-- 8[02] numbers are added as SMS messages have been successfully delivered to these + numbers, and they are also widely present on the Internet. --> + <nationalNumberPattern>8\d{8}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>812345678</exampleNumber> + </mobile> + <!-- http://en.wikipedia.org/wiki/Toll-free_telephone_number --> + <tollFree> + <nationalNumberPattern>1800\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>1800123456</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>1900\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>1900123456</exampleNumber> + </premiumRate> + <voip> + <nationalNumberPattern>60\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>601234567</exampleNumber> + </voip> + </territory> + + <!-- Tajikistan --> + <!-- http://www.itu.int/oth/T02020000CA/en --> + <territory id="TJ" countryCode="992" internationalPrefix="8~10" + nationalPrefix="8" nationalPrefixFormattingRule="($NP) $FG"> + <availableFormats> + <numberFormat pattern="([349]\d{2})(\d{2})(\d{4})"> + <leadingDigits> + [34]7| + 91[78] + </leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="([459]\d)(\d{3})(\d{4})"> + <leadingDigits> + 4[48]| + 5| + 9(?: + 19| + [0235-9] + ) + </leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(331700)(\d)(\d{2})"> + <leadingDigits>331</leadingDigits> + <leadingDigits>3317</leadingDigits> + <leadingDigits>33170</leadingDigits> + <leadingDigits>331700</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(\d{4})(\d)(\d{4})"> + <leadingDigits>3[1-5]</leadingDigits> + <leadingDigits> + 3(?: + [1245]| + 3(?: + [02-9]| + 1[0-589] + ) + ) + </leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[3-59]\d{8}</nationalNumberPattern> + <possibleNumberPattern>\d{3,9}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + (?: + 3(?: + 1[3-5]| + 2[245]| + 3[12]| + 4[24-7]| + 5[25]| + 72 + )| + 4(?: + 46| + 74| + 87 + ) + )\d{6} + </nationalNumberPattern> + <exampleNumber>372123456</exampleNumber> + </fixedLine> + <mobile> + <!-- Adding 90 prefix as SMS messages could be successfully delivered to these mobile + numbers. --> + <nationalNumberPattern> + (?: + 505| + 9[0-35-9]\d + )\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>917123456</exampleNumber> + </mobile> + <!-- No tollFree or premiumRate information can be found. --> + </territory> + + <!-- Tokelau --> + <territory id="TK" countryCode="690" internationalPrefix="00"> + </territory> + + <!-- Timor-Leste (East Timor) --> + <!-- http://www.itu.int/oth/T02020000D0/en --> + <territory id="TL" countryCode="670" internationalPrefix="00"> + <availableFormats> + <numberFormat pattern="(\d{3})(\d{4})"> + <format>$1 $2</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[2-47-9]\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{7}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + (?: + 2[1-5]| + 3[1-9]| + 4[1-4] + )\d{5} + </nationalNumberPattern> + <exampleNumber>2112345</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern>7[2-4]\d{5}</nationalNumberPattern> + <exampleNumber>7212345</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern>80\d{5}</nationalNumberPattern> + <exampleNumber>8012345</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>90\d{5}</nationalNumberPattern> + <exampleNumber>9012345</exampleNumber> + </premiumRate> + <personalNumber> + <nationalNumberPattern>70\d{5}</nationalNumberPattern> + <exampleNumber>7012345</exampleNumber> + </personalNumber> + </territory> + + <!-- Turkmenistan --> + <!-- http://www.itu.int/oth/T02020000D7/en --> + <territory id="TM" countryCode="993" internationalPrefix="8~10" + nationalPrefix="8" nationalPrefixFormattingRule="$NP $FG"> + <availableFormats> + <!-- There doesn't seem to be a standardized format. The format below is based on the + Turkmenistan embassy at + http://www.turkmenistanembassy.org/turkmen/info/contact.html --> + <numberFormat pattern="([1-6]\d)(\d{2})(\d{2})(\d{2})"> + <format>$1 $2 $3 $4</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[1-6]\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + (?: + 12\d| + 243| + [3-5]22 + )\d{5} + </nationalNumberPattern> + <exampleNumber>12345678</exampleNumber> + </fixedLine> + <mobile> + <!-- Adding 68 as SMS messages have been successfully sent to numbers with this prefix. --> + <nationalNumberPattern>6[6-8]\d{6}</nationalNumberPattern> + <exampleNumber>66123456</exampleNumber> + </mobile> + <!-- No tollFree or premiumRate information can be found. --> + </territory> + + <!-- Tunisia --> + <!-- http://www.itu.int/oth/T02020000D5/en --> + <territory id="TN" countryCode="216" internationalPrefix="00"> + <availableFormats> + <numberFormat pattern="([247-9]\d)(\d{3})(\d{3})"> + <format>$1 $2 $3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[247-9]\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern>7\d{7}</nationalNumberPattern> + <exampleNumber>71234567</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern> + (?: + 2[0-7]| + 40| + 9\d + )\d{6} + </nationalNumberPattern> + <exampleNumber>20123456</exampleNumber> + </mobile> + <!-- These are listed as 'value added services' - pending further information, we add them + here for now. --> + <premiumRate> + <nationalNumberPattern>8[028]\d{6}</nationalNumberPattern> + <exampleNumber>80123456</exampleNumber> + </premiumRate> + </territory> + + <!-- Tonga --> + <territory id="TO" countryCode="676" internationalPrefix="00"> + </territory> + + <!-- Turkey --> + <!-- http://en.wikipedia.org/wiki/%2B90 --> + <!-- http://www.itu.int/oth/T02020000D6/en --> + <territory id="TR" countryCode="90" internationalPrefix="00" nationalPrefix="0"> + <availableFormats> + <numberFormat nationalPrefixFormattingRule="($NP$FG)" pattern="(\d{3})(\d{3})(\d{4})"> + <leadingDigits> + [23]| + 4(?: + [0-35-9]| + 4[0-35-9] + ) + </leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat nationalPrefixFormattingRule="$NP$FG" pattern="(\d{3})(\d{3})(\d{4})"> + <leadingDigits>[589]</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(444)(\d{1})(\d{3})"> + <leadingDigits>444</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern> + [2-589]\d{9}| + 444\d{4} + </nationalNumberPattern> + <possibleNumberPattern>\d{7,10}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <!-- Includes numbers starting with 392 for Northern Cyprus. --> + <nationalNumberPattern> + (?: + 2(?: + [13][26]| + [28][2468]| + [45][268]| + [67][246] + )| + 3(?: + [13][28]| + [24-6][2468]| + [78][02468]| + 92 + )| + 4(?: + [16][246]| + [23578][2468]| + 4[26] + ) + )\d{7} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>2123456789</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern> + 5(?: + 0[1-35-7]| + 22| + 3\d| + 4[1-79]| + 5[1-5]| + 9[246] + )\d{7} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>5012345678</exampleNumber> + </mobile> + <pager> + <nationalNumberPattern>512\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>5123456789</exampleNumber> + </pager> + <tollFree> + <nationalNumberPattern>800\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>8001234567</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>900\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>9001234567</exampleNumber> + </premiumRate> + <uan> + <!-- http://www.turktelekom.com.tr/tt/portal/News/Archive/7-digit-special-service-number-starting-with-444 --> + <nationalNumberPattern> + 444\d{4}| + 850\d{7} + </nationalNumberPattern> + <possibleNumberPattern>\d{7,10}</possibleNumberPattern> + <exampleNumber>4441444</exampleNumber> + </uan> + </territory> + + <!-- Trinidad and Tobago --> + <!-- http://www.itu.int/oth/T02020000D4/en --> + <territory id="TT" countryCode="1" leadingDigits="868" + nationalPrefix="1" internationalPrefix="011"> + <generalDesc> + <!-- NANPA country - uses US formatting rules --> + <nationalNumberPattern>[589]\d{9}</nationalNumberPattern> + <possibleNumberPattern>\d{7}(?:\d{3})?</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + 868(?: + 2(?: + 01| + 2[1-4] + )| + 6(?: + 07| + 1[4-6]| + 2[1-9]| + [3-6]\d| + 7[0-79]| + 9[0-8] + )| + 82[12] + )\d{4} + </nationalNumberPattern> + <exampleNumber>8682211234</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern> + 868(?: + 29\d| + 3(?: + 0[1-9]| + 1[02-9]| + [2-9]\d + )| + 4(?: + [679]\d| + 8[0-4] + )| + 6(?: + 20| + 78| + 8\d + )| + 7(?: + 1[02-9]| + [2-9]\d + ) + )\d{4} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>8682911234</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern> + 8(?: + 00| + 55| + 66| + 77| + 88 + )[2-9]\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>8002345678</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>900[2-9]\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>9002345678</exampleNumber> + </premiumRate> + <personalNumber> + <!-- http://www.nanpa.com/pdf/PL_416.pdf --> + <nationalNumberPattern> + 5(?: + 00| + 33| + 44 + )[2-9]\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>5002345678</exampleNumber> + </personalNumber> + </territory> + + <!-- Tuvalu --> + <!-- http://www.itu.int/oth/T02020000D9/en --> + <territory id="TV" countryCode="688" internationalPrefix="00"> + <!-- Numbers are formatted as a block. --> + <generalDesc> + <nationalNumberPattern>[29]\d{4,5}</nationalNumberPattern> + <possibleNumberPattern>\d{5,6}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern>2[02-9]\d{3}</nationalNumberPattern> + <possibleNumberPattern>\d{5}</possibleNumberPattern> + <exampleNumber>20123</exampleNumber> + </fixedLine> + <mobile> + <!-- Some numbers online can be found that are 5-digits long, and start with 90 or 91. We + don't know if these are valid or not - the ITU document excludes them - so are not + covering these for now. --> + <nationalNumberPattern>90\d{4}</nationalNumberPattern> + <possibleNumberPattern>\d{6}</possibleNumberPattern> + <exampleNumber>901234</exampleNumber> + </mobile> + </territory> + + <!-- Taiwan, China --> + <!-- http://www.itu.int/dms_pub/itu-t/oth/02/02/T02020000EB0003MSWE.doc --> + <!-- Extension symbols found on the internet so far have been #, X and Ext - + so # has been chosen as the preferred extension prefix. --> + <territory id="TW" countryCode="886" internationalPrefix="0(?:0[25679]|19)" + nationalPrefix="0" preferredExtnPrefix="#" nationalPrefixFormattingRule="$NP$FG"> + <availableFormats> + <numberFormat pattern="([2-8])(\d{3,4})(\d{4})"> + <leadingDigits> + [2-7]| + 8[1-9] + </leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="([89]\d{2})(\d{3})(\d{3})"> + <leadingDigits> + 80| + 9 + </leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[2-9]\d{7,8}</nationalNumberPattern> + <possibleNumberPattern>\d{8,9}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern>[2-8]\d{7,8}</nationalNumberPattern> + <possibleNumberPattern>\d{8,9}</possibleNumberPattern> + <exampleNumber>21234567</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern>9\d{8}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>912345678</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern>800\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>800123456</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>900\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>900123456</exampleNumber> + </premiumRate> + </territory> + + <!-- Tanzania --> + <!-- http://www.itu.int/dms_pub/itu-t/oth/02/02/T02020000CB0001MSWE.doc --> + <territory id="TZ" countryCode="255" internationalPrefix="00[056]" + nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG"> + <availableFormats> + <numberFormat pattern="([24]\d)(\d{3})(\d{4})"> + <leadingDigits>[24]</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="([67]\d{2})(\d{3})(\d{3})"> + <leadingDigits>[67]</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <!-- Formatting for special numbers from www.tcra.go.tz --> + <numberFormat pattern="([89]\d{2})(\d{2})(\d{4})"> + <leadingDigits>[89]</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>\d{9}</nationalNumberPattern> + <possibleNumberPattern>\d{7,9}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern>2[2-8]\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{7,9}</possibleNumberPattern> + <exampleNumber>222345678</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern> + (?: + 6[158]| + 7[1-9] + )\d{7} + </nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>612345678</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern>80[08]\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>800123456</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>90\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>900123456</exampleNumber> + </premiumRate> + <sharedCost> + <nationalNumberPattern> + 8(?: + 40| + 6[01] + )\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>840123456</exampleNumber> + </sharedCost> + <voip> + <nationalNumberPattern>41\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>412345678</exampleNumber> + </voip> + </territory> + + <!-- Ukraine --> + <!-- http://www.itu.int/oth/T02020000DB/en --> + <!-- http://en.wikipedia.org/wiki/%2B380 --> + <territory id="UA" countryCode="380" internationalPrefix="0~0" + nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG"> + <availableFormats> + <!-- City codes separated out. No definitive list has been found of what constitutes the + area code - http://www.ua.all-biz.info/guide/phonecodes is useful but not error-free. + Have used local yellow pages guidelines, Google searches and regression tests to + reverse-engineer these rules as well as bugs. --> + <numberFormat pattern="([3-69]\d)(\d{3})(\d{4})"> + <leadingDigits> + 39| + 4(?: + [45][0-5]| + 87 + )| + 5(?: + 0| + 6[37]| + 7[37] + )| + 6[36-8]| + 9[1-9] + </leadingDigits> + <leadingDigits> + 39| + 4(?: + [45][0-5]| + 87 + )| + 5(?: + 0| + 6(?: + 3[14-7]| + 7 + )| + 7[37] + )| + 6[36-8]| + 9[1-9] + </leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="([3-689]\d{2})(\d{3})(\d{3})"> + <leadingDigits> + 3[1-8]2| + 4[1378]2| + 5(?: + [12457]2| + 6[24] + )| + 6(?: + [49]2| + [12][29]| + 5[24] + )| + 8| + 90 + </leadingDigits> + <leadingDigits> + 3(?: + [1-46-8]2[013-9]| + 52 + )| + 4[1378]2| + 5(?: + [12457]2| + 6[24] + )| + 6(?: + [49]2| + [12][29]| + 5[24] + )| + 8| + 90 + </leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="([3-6]\d{3})(\d{5})"> + <leadingDigits> + 3(?: + 5[013-9]| + [1-46-8] + )| + 4(?: + [137][013-9]| + 6| + [45][6-9]| + 8[4-6] + )| + 5(?: + [1245][013-9]| + 6[0135-9]| + 3| + 7[4-6] + )| + 6(?: + [49][013-9]| + 5[0135-9]| + [12][13-8] + ) + </leadingDigits> + <leadingDigits> + 3(?: + 5[013-9]| + [1-46-8](?: + 22| + [013-9] + ) + )| + 4(?: + [137][013-9]| + 6| + [45][6-9]| + 8[4-6] + )| + 5(?: + [1245][013-9]| + 6(?: + 3[02389]| + [015689] + )| + 3| + 7[4-6] + )| + 6(?: + [49][013-9]| + 5[0135-9]| + [12][13-8] + ) + </leadingDigits> + <format>$1 $2</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[3-689]\d{8}</nationalNumberPattern> + <possibleNumberPattern>\d{5,9}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + (?: + 3[1-8]| + 4[13-8]| + 5[1-7]| + 6[12459] + )\d{7} + </nationalNumberPattern> + <exampleNumber>311234567</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern> + (?: + 39| + 50| + 6[36-8]| + 9[1-9] + )\d{7} + </nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>391234567</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern>800\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>800123456</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>900\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>900123456</exampleNumber> + </premiumRate> + </territory> + + <!-- Uganda --> + <!-- http://www.itu.int/dms_pub/itu-t/oth/02/02/T02020000F10001MSWE.doc --> + <!-- http://www.ucc.co.ug/licensing/ugandaNumberingPlan.pdf --> + <territory id="UG" countryCode="256" internationalPrefix="00[057]" + nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG"> + <availableFormats> + <numberFormat pattern="([247-9]\d{2})(\d{6})"> + <leadingDigits> + [7-9]| + 200| + 4(?: + 6[45]| + [7-9] + ) + </leadingDigits> + <format>$1 $2</format> + </numberFormat> + <numberFormat pattern="([34]\d)(\d{7})"> + <leadingDigits> + 3| + 4(?: + [1-5]| + 6[0-36-9] + ) + </leadingDigits> + <format>$1 $2</format> + </numberFormat> + <numberFormat pattern="(2024)(\d{5})"> + <leadingDigits>202</leadingDigits> + <format>$1 $2</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>\d{9}</nationalNumberPattern> + <possibleNumberPattern>\d{5,9}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + 3\d{8}| + 4(?: + [1-6]\d| + 7[136]| + 8[1356]| + 96 + )\d{6}| + 20(?: + 0\d| + 24 + )\d{5} + </nationalNumberPattern> + <possibleNumberPattern>\d{5,9}</possibleNumberPattern> + <exampleNumber>312345678</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern> + 7(?: + [1578]\d| + 0[0-4] + )\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>712345678</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern>800[123]\d{5}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>800123456</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>90[123]\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>901123456</exampleNumber> + </premiumRate> + </territory> + + <!-- United States --> + <!-- http://www.nanpa.com/reports/reports_npa.html --> + <!-- http://en.wikipedia.org/wiki/North_American_Numbering_Plan --> + <!-- Note the national prefix of US is the same as its country code, and when formatting phone + numbers in the national format, it is not included. Therefore, we omit it here to make + formatting consistent with the rest of the world. The same applies to all the + countries/regions under NANPA --> + <!-- The national prefix of "1" here is the same as the country code. It is not used by default + when formatting, but is set here so that users who are calling formatByPattern can specify + NationalPrefixFormattingRule if they want to. --> + <territory id="US" countryCode="1" internationalPrefix="011" + mainCountryForCode="true" nationalPrefix="1"> + <availableFormats> + <numberFormat pattern="(\d{3})(\d{3})(\d{4})"> + <format>($1) $2-$3</format> + </numberFormat> + <numberFormat pattern="(\d{3})(\d{4})"> + <format>$1-$2</format> + </numberFormat> + <!-- A different pattern is used when formatting internationally, as the area code is no + longer optional and should not be in brackets. --> + <intlNumberFormat pattern="(\d{3})(\d{3})(\d{4})"> + <format>$1-$2-$3</format> + </intlNumberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[2-9]\d{9}</nationalNumberPattern> + <possibleNumberPattern>\d{7}(?:\d{3})?</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + (?: + 2(?: + 0[1-35-9]| + 1[02-9]| + 2[4589]| + 3[149]| + 4[08]| + 5[1-46]| + 6[0279]| + 7[06]| + 8[13] + )| + 3(?: + 0[1-57-9]| + 1[02-9]| + 2[0135]| + 3[014679]| + 47| + 5[12]| + 6[01]| + 8[056] + )| + 4(?: + 0[124-9]| + 1[02-579]| + 2[3-5]| + 3[0245]| + 4[0235]| + 58| + 69| + 7[0589]| + 8[04] + )| + 5(?: + 0[1-57-9]| + 1[0235-8]| + 20| + 3[0149]| + 4[01]| + 5[19]| + 6[1-37]| + 7[013-5]| + 8[056] + )| + 6(?: + 0[1-35-9]| + 1[024-9]| + 2[036]| + 3[016]| + 4[16]| + 5[017]| + 6[0-29]| + 78| + 8[12] + )| + 7(?: + 0[1-46-8]| + 1[2-9]| + 2[047]| + 3[124]| + 4[07]| + 5[47]| + 6[02359]| + 7[02-59]| + 8[156] + )| + 8(?: + 0[1-68]| + 1[02-8]| + 28| + 3[0-25]| + 4[3578]| + 5[06-9]| + 6[02-5]| + 7[028] + )| + 9(?: + 0[1346-9]| + 1[02-9]| + 2[0589]| + 3[1678]| + 4[0179]| + 5[1246]| + 7[0-3589]| + 8[059] + ) + )[2-9]\d{6} + </nationalNumberPattern> + <exampleNumber>2012345678</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern> + (?: + 2(?: + 0[1-35-9]| + 1[02-9]| + 2[4589]| + 3[149]| + 4[08]| + 5[1-46]| + 6[0279]| + 7[06]| + 8[13] + )| + 3(?: + 0[1-57-9]| + 1[02-9]| + 2[0135]| + 3[014679]| + 47| + 5[12]| + 6[01]| + 8[056] + )| + 4(?: + 0[124-9]| + 1[02-579]| + 2[3-5]| + 3[0245]| + 4[0235]| + 58| + 69| + 7[0589]| + 8[04] + )| + 5(?: + 0[1-57-9]| + 1[0235-8]| + 20| + 3[0149]| + 4[01]| + 5[19]| + 6[1-37]| + 7[013-5]| + 8[056] + )| + 6(?: + 0[1-35-9]| + 1[024-9]| + 2[036]| + 3[016]| + 4[16]| + 5[017]| + 6[0-29]| + 78| + 8[12] + )| + 7(?: + 0[1-46-8]| + 1[2-9]| + 2[047]| + 3[124]| + 4[07]| + 5[47]| + 6[02359]| + 7[02-59]| + 8[156] + )| + 8(?: + 0[1-68]| + 1[02-8]| + 28| + 3[0-25]| + 4[3578]| + 5[06-9]| + 6[02-5]| + 7[028] + )| + 9(?: + 0[1346-9]| + 1[02-9]| + 2[0589]| + 3[1678]| + 4[0179]| + 5[1246]| + 7[0-3589]| + 8[059] + ) + )[2-9]\d{6} + </nationalNumberPattern> + <exampleNumber>2012345678</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern> + 8(?: + 00| + 55| + 66| + 77| + 88 + )[2-9]\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>8002345678</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>900[2-9]\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>9002345678</exampleNumber> + </premiumRate> + <personalNumber> + <!-- http://www.nanpa.com/pdf/PL_416.pdf --> + <nationalNumberPattern> + 5(?: + 00| + 33| + 44 + )[2-9]\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>5002345678</exampleNumber> + </personalNumber> + </territory> + + <!-- Uruguay --> + <territory id="UY" countryCode="598" internationalPrefix="00" + nationalPrefix="0"> + </territory> + + <!-- Uzbekistan --> + <!-- http://www.itu.int/oth/T02020000E1/en --> + <territory id="UZ" countryCode="998" internationalPrefix="8~10" + nationalPrefix="8" nationalPrefixFormattingRule="$NP$FG"> + <availableFormats> + <numberFormat pattern="([679]\d)(\d{3})(\d{2})(\d{2})"> + <format>$1 $2 $3 $4</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[679]\d{8}</nationalNumberPattern> + <possibleNumberPattern>\d{7,9}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <!-- Adding 70 prefix as suggested by http://www.ttts.uz/eng/telephone_codes/codes_uzb_eng + --> + <nationalNumberPattern> + (?: + 6[125679]| + 7[0-69] + )\d{7} + </nationalNumberPattern> + <exampleNumber>612345678</exampleNumber> + </fixedLine> + <mobile> + <!-- Adding 9[45] as suggested by http://www.ucell.uz/en/for_subscribers/how_to_call.html + --> + <nationalNumberPattern>9[0-57-9]\d{7}</nationalNumberPattern> + <exampleNumber>912345678</exampleNumber> + </mobile> + <!-- No tollFree or premiumRate information can be found. --> + </territory> + + <!-- Vatican City --> + <!-- http://en.wikipedia.org/wiki/Telephone_numbers_in_Vatican_City --> + <!-- Note that numbers here are also accessible via Italy (+39 and prefix of 06 698) but can + also be dialled with the Vatican City country code. --> + <territory id="VA" countryCode="379" internationalPrefix="00" leadingZeroPossible="true"> + <availableFormats> + <numberFormat pattern="(06)(\d{4})(\d{4})"> + <format>$1 $2 $3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>06\d{8}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern>06698\d{5}</nationalNumberPattern> + <exampleNumber>0669812345</exampleNumber> + </fixedLine> + <mobile> + <!-- We have no information on mobile numbers from the Vatican. It is probable that they use + Italian mobile contracts. --> + <nationalNumberPattern>N/A</nationalNumberPattern> + <possibleNumberPattern>N/A</possibleNumberPattern> + </mobile> + <!-- No information exists about other types of numbers. --> + </territory> + + <!-- Saint Vincent and the Grenadines --> + <!-- http://www.itu.int/oth/T02020000B3/en --> + <territory id="VC" countryCode="1" leadingDigits="784" + nationalPrefix="1" internationalPrefix="011"> + <generalDesc> + <!-- NANPA country - uses US formatting rules --> + <nationalNumberPattern>[5789]\d{9}</nationalNumberPattern> + <possibleNumberPattern>\d{7}(?:\d{3})?</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + 784(?: + 266| + 3(?: + 6[6-9]| + 7\d| + 8[0-24-6] + )| + 4(?: + 38| + 5[0-36-8]| + 8\d| + 9[01] + )| + 555| + 638| + 784 + )\d{4} + </nationalNumberPattern> + <exampleNumber>7842661234</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern> + 784(?: + 4(?: + 3[0-24]| + 5[45]| + 9[2-5] + )| + 5(?: + 2[6-9]| + 3[0-3]| + 93 + ) + )\d{4} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>7844301234</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern> + 8(?: + 00| + 55| + 66| + 77| + 88 + )[2-9]\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>8002345678</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>900[2-9]\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>9002345678</exampleNumber> + </premiumRate> + <personalNumber> + <!-- http://www.nanpa.com/pdf/PL_416.pdf --> + <nationalNumberPattern> + 5(?: + 00| + 33| + 44 + )[2-9]\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>5002345678</exampleNumber> + </personalNumber> + </territory> + + <!-- Venezuela --> + <!-- http://www.itu.int/oth/T02020000E3/en --> + <!-- http://en.wikipedia.org/wiki/+58 --> + <!-- 1XX specifies a particular carrier to route a call to. --> + <territory id="VE" countryCode="58" internationalPrefix="00" + nationalPrefix="0" nationalPrefixForParsing="(1\d{2})|0" + nationalPrefixFormattingRule="$NP$FG" + carrierCodeFormattingRule="$CC $FG"> + <availableFormats> + <numberFormat pattern="(\d{3})(\d{7})"> + <format>$1-$2</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[24589]\d{9}</nationalNumberPattern> + <!-- Open numbering plan. --> + <possibleNumberPattern>\d{7,10}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <!-- Including region-free 500 calls here, since these are treated as local calls. Wikipedia + mentions these as 5XX, but online examples that can be found are seemingly restricted + to 50[01]. --> + <nationalNumberPattern> + (?: + 2(?: + 12| + 3[457-9]| + [58][1-9]| + [467]\d| + 9[1-6] + )| + 50[01] + )\d{7} + </nationalNumberPattern> + <exampleNumber>2121234567</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern> + 4(?: + 1[24-8]| + 2[46] + )\d{7} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>4121234567</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern>800\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>8001234567</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>900\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>9001234567</exampleNumber> + </premiumRate> + </territory> + + <!-- Virgin Islands, British --> + <!-- http://www.itu.int/oth/T020200001E/en --> + <territory id="VG" countryCode="1" leadingDigits="284" + nationalPrefix="1" internationalPrefix="011"> + <generalDesc> + <!-- NANPA country - uses US formatting rules --> + <nationalNumberPattern>[2589]\d{9}</nationalNumberPattern> + <possibleNumberPattern>\d{7}(?:\d{3})?</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + 284(?: + (?: + 229| + 4(?: + 46| + 9[45] + )| + 8(?: + 52| + 6[459] + ) + )\d{4}| + 496[0-5]\d{3} + ) + </nationalNumberPattern> + <exampleNumber>2842291234</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern> + 284(?: + (?: + 30[0-3]| + 4(?: + 4[0-5]| + 68| + 99 + )| + 54[0-4] + )\d{4}| + 496[6-9]\d{3} + ) + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>2843001234</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern> + 8(?: + 00| + 55| + 66| + 77| + 88 + )[2-9]\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>8002345678</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>900[2-9]\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>9002345678</exampleNumber> + </premiumRate> + <personalNumber> + <!-- http://www.nanpa.com/pdf/PL_416.pdf --> + <nationalNumberPattern> + 5(?: + 00| + 33| + 44 + )[2-9]\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>5002345678</exampleNumber> + </personalNumber> + </territory> + + <!-- Virgin Islands, United States --> + <!-- http://www.itu.int/oth/T02020000DF/en --> + <territory id="VI" countryCode="1" leadingDigits="340" + nationalPrefix="1" internationalPrefix="011"> + <generalDesc> + <!-- NANPA country - uses US formatting rules --> + <nationalNumberPattern>[3589]\d{9}</nationalNumberPattern> + <possibleNumberPattern>\d{7}(?:\d{3})?</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + 340(?: + 6[49]2| + 7[17]\d + )\d{4} + </nationalNumberPattern> + <exampleNumber>3406421234</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern> + 340(?: + 6[49]2| + 7[17]\d + )\d{4} + </nationalNumberPattern> + <exampleNumber>3406421234</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern> + 8(?: + 00| + 55| + 66| + 77| + 88 + )[2-9]\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>8002345678</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>900[2-9]\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>9002345678</exampleNumber> + </premiumRate> + <personalNumber> + <!-- http://www.nanpa.com/pdf/PL_416.pdf --> + <nationalNumberPattern> + 5(?: + 00| + 33| + 44 + )[2-9]\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>5002345678</exampleNumber> + </personalNumber> + </territory> + + <!-- Viet Nam (Vietnam) --> + <!-- http://www.itu.int/oth/T02020000E4/en --> + <!-- http://en.wikipedia.org/wiki/%2B84 --> + <territory id="VN" countryCode="84" internationalPrefix="00" + nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG"> + <availableFormats> + <numberFormat pattern="([48])(\d{4})(\d{4})"> + <leadingDigits>[48]</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="([235-7]\d)(\d{4})(\d{3})"> + <leadingDigits> + 2[025-79]| + 3[0136-9]| + 5[2-9]| + 6[0-46-9]| + 7[02-79] + </leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(80)(\d{5})"> + <leadingDigits>80</leadingDigits> + <format>$1 $2</format> + </numberFormat> + <numberFormat pattern="(69\d)(\d{4,5})"> + <leadingDigits>69</leadingDigits> + <format>$1 $2</format> + </numberFormat> + <numberFormat pattern="([235-7]\d{2})(\d{4})(\d{3})"> + <leadingDigits> + 2[1348]| + 3[25]| + 5[01]| + 65| + 7[18] + </leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(9\d)(\d{3})(\d{2})(\d{2})"> + <leadingDigits>9</leadingDigits> + <format>$1 $2 $3 $4</format> + </numberFormat> + <numberFormat pattern="(1[2689]\d)(\d{3})(\d{4})"> + <leadingDigits> + 1(?: + [26]| + 88| + 99 + ) + </leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat nationalPrefixFormattingRule="$FG" + pattern="(1[89]00)(\d{4,6})"> + <leadingDigits>1[89]0</leadingDigits> + <format>$1 $2</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern> + 8\d{5,8}| + [1-79]\d{7,9} + </nationalNumberPattern> + <possibleNumberPattern>\d{7,10}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + (?: + 2(?: + [025-79]| + 1[0189]| + [348][01] + )| + 3(?: + [0136-9]| + [25][01] + )| + [48]\d| + 5(?: + [01][01]| + [2-9] + )| + 6(?: + [0-46-8]| + 5[01] + )| + 7(?: + [02-79]| + [18][01] + ) + )\d{7}| + 69\d{5,6}| + 80\d{5} + </nationalNumberPattern> + <possibleNumberPattern>\d{7,10}</possibleNumberPattern> + <exampleNumber>2101234567</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern> + (?: + 9\d| + 1(?: + 2\d| + 6[3-9]| + 88| + 99 + ) + )\d{7} + </nationalNumberPattern> + <possibleNumberPattern>\d{9,10}</possibleNumberPattern> + <exampleNumber>912345678</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern>1800\d{4,6}</nationalNumberPattern> + <possibleNumberPattern>\d{8,10}</possibleNumberPattern> + <exampleNumber>1800123456</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>1900\d{4,6}</nationalNumberPattern> + <possibleNumberPattern>\d{8,10}</possibleNumberPattern> + <exampleNumber>1900123456</exampleNumber> + </premiumRate> + </territory> + + <!-- Vanuatu --> + <territory id="VU" countryCode="678" internationalPrefix="00"> + </territory> + + <!-- Wallis and Futuna (Territoire français d'outre-mer) --> + <territory id="WF" countryCode="681" internationalPrefix="19"> + </territory> + + <!-- Samoa --> + <!-- http://www.itu.int/oth/T02020000B4/en --> + <territory id="WS" countryCode="685" internationalPrefix="0" + nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG"> + <availableFormats> + <!-- Should be formatted in one block, apart from the specific series below. For this reason + the leadingDigits is more detailed than would appear necessary. --> + <numberFormat pattern="(8[04]0)(\d{3,4})"> + <leadingDigits>8[04]0</leadingDigits> + <format>$1 $2</format> + </numberFormat> + <numberFormat pattern="(7[25-7])(\d{5})"> + <leadingDigits>7[25-7]</leadingDigits> + <format>$1 $2</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[2-8]\d{4,6}</nationalNumberPattern> + <possibleNumberPattern>\d{5,7}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + (?: + [2-5]\d| + 6[1-9]| + 840\d + )\d{3} + </nationalNumberPattern> + <possibleNumberPattern>\d{5,7}</possibleNumberPattern> + <exampleNumber>22123</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern> + (?: + 60| + 7[25-7]\d + )\d{4} + </nationalNumberPattern> + <possibleNumberPattern>\d{6,7}</possibleNumberPattern> + <exampleNumber>601234</exampleNumber> + </mobile> + <tollFree> + <!-- The 800 number series is new, and is used by companies such as the ANZ bank in Samoa to + provide 24 hour eMerchant support. It is marked as "Customized Services" in the plan + for now, so may be also used for other purposes than toll free, but until we have + further evidence of these we will keep it as toll free. --> + <nationalNumberPattern>800\d{3}</nationalNumberPattern> + <possibleNumberPattern>\d{6}</possibleNumberPattern> + <exampleNumber>800123</exampleNumber> + </tollFree> + <!-- Current research suggests other types of numbers are not used in Samoa. --> + </territory> + + <!-- Yemen --> + <!-- http://www.itu.int/oth/T02020000E7/en --> + <territory id="YE" countryCode="967" internationalPrefix="00" + nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG"> + <availableFormats> + <numberFormat pattern="([1-7])(\d{3})(\d{3,4})"> + <leadingDigits> + [1-6]| + 7[24-68] + </leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(7[137]\d)(\d{3})(\d{3})"> + <leadingDigits>7[137]</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[1-7]\d{6,8}</nationalNumberPattern> + <possibleNumberPattern>\d{6,9}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + (?: + 1(?: + 7\d| + [2-68] + )| + 2[2-68]| + 3[2358]| + 4[2-58]| + 5[2-6]| + 6[3-58]| + 7[24-68] + )\d{5} + </nationalNumberPattern> + <possibleNumberPattern>\d{6,8}</possibleNumberPattern> + <exampleNumber>1234567</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern>7[137]\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>712345678</exampleNumber> + </mobile> + <!-- No tollFree or premiumRate information can be found. --> + </territory> + + <!-- Mayotte --> + <!-- Some information at http://en.wikipedia.org/wiki/Telephone_numbers_in_France - most from + collection of internet data. http://www.comores-online.com/mwezinet/internet/262.htm + verifies the fixed-line prefixes, but the mobile prefixes listed here seem out of date. + --> + <territory id="YT" countryCode="262" internationalPrefix="00" + nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG" + leadingDigits="269|63"> + <!-- Formatting as per La Réunion. --> + <generalDesc> + <nationalNumberPattern>[268]\d{8}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern>2696[0-4]\d{4}</nationalNumberPattern> + <exampleNumber>269601234</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern>639\d{6}</nationalNumberPattern> + <exampleNumber>639123456</exampleNumber> + </mobile> + <!-- Same as in France. --> + <tollFree> + <nationalNumberPattern>80\d{7}</nationalNumberPattern> + <exampleNumber>801234567</exampleNumber> + </tollFree> + </territory> + + <!-- South Africa --> + <!-- http://www.itu.int/dms_pub/itu-t/oth/02/02/T02020000C10001PDFE.pdf --> + <!-- http://en.wikipedia.org/wiki/Telephone_numbers_in_South_Africa --> + <territory id="ZA" countryCode="27" internationalPrefix="00" + nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG"> + <availableFormats> + <numberFormat pattern="(860)(\d{3})(\d{3})"> + <leadingDigits>860</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="([1-578]\d)(\d{3})(\d{4})"> + <leadingDigits> + [1-57]| + 8(?: + [0-57-9]| + 6[1-9] + ) + </leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>\d{9}</nationalNumberPattern> + <possibleNumberPattern>\d{8,9}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern> + (?: + 1[0-8]| + 2[1-478]| + 3[1-69]| + 4\d| + 5[1346-8] + )\d{7} + </nationalNumberPattern> + <possibleNumberPattern>\d{8,9}</possibleNumberPattern> + <exampleNumber>101234567</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern> + (?: + 7[1-4689]| + 8[1-5789] + )\d{7} + </nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>711234567</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern>80\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>801234567</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>86[1-9]\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>861234567</exampleNumber> + </premiumRate> + <sharedCost> + <nationalNumberPattern>860\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>860123456</exampleNumber> + </sharedCost> + <voip> + <nationalNumberPattern>87\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>871234567</exampleNumber> + </voip> + </territory> + + <!-- Zambia --> + <!-- http://www.itu.int/oth/T02020000E8/en --> + <territory id="ZM" countryCode="260" internationalPrefix="00" + nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG"> + <availableFormats> + <numberFormat pattern="([29]\d)(\d{7})"> + <leadingDigits>[29]</leadingDigits> + <format>$1 $2</format> + </numberFormat> + <numberFormat pattern="(800)(\d{3})(\d{3})"> + <leadingDigits>8</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[289]\d{8}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern>21[1-8]\d{6}</nationalNumberPattern> + <exampleNumber>211234567</exampleNumber> + </fixedLine> + <mobile> + <!-- Adding extra prefixes 6[457-9] and 7[4-6] since SMS messages have been successfully + delivered to these numbers, and numbers like this can be found on the Internet. --> + <nationalNumberPattern> + 9(?: + 55| + 6[4-9]| + 7[4-9] + )\d{6} + </nationalNumberPattern> + <exampleNumber>955123456</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern>800\d{6}</nationalNumberPattern> + <exampleNumber>800123456</exampleNumber> + </tollFree> + </territory> + + <!-- Zimbabwe --> + <!-- http://www.itu.int/oth/T02020000E9/en --> + <territory id="ZW" countryCode="263" internationalPrefix="00" + nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG"> + <availableFormats> + <!-- One-digit area codes --> + <numberFormat pattern="([49])(\d{3})(\d{2,5})"> + <leadingDigits> + 4| + 9[2-9] + </leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <!-- Mobile numbers --> + <numberFormat pattern="([179]\d)(\d{3})(\d{3,4})"> + <leadingDigits> + [19]1| + 7 + </leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <!-- Two-digit area codes --> + <numberFormat pattern="([1-356]\d)(\d{3,5})"> + <leadingDigits> + 1[3-9]| + 2(?: + [1-469]| + 0[0-35-9]| + [45][0-79] + )| + 3(?: + 0[0-79]| + 1[0-689]| + [24-69]| + 3[0-69] + )| + 5(?: + [02-46-9]| + [15][0-69] + )| + 6(?: + [0145]| + [29][0-79]| + 3[0-689]| + [68][0-69] + ) + </leadingDigits> + <format>$1 $2</format> + </numberFormat> + <numberFormat pattern="([1-356]\d)(\d{3})(\d{3})"> + <leadingDigits> + 1[3-9]| + 2(?: + [1-469]| + 0[0-35-9]| + [45][0-79] + )| + 3(?: + 0[0-79]| + 1[0-689]| + [24-69]| + 3[0-69] + )| + 5(?: + [02-46-9]| + [15][0-69] + )| + 6(?: + [0145]| + [29][0-79]| + 3[0-689]| + [68][0-69] + ) + </leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <!-- Three-digit area codes --> + <numberFormat pattern="([2356]\d{2})(\d{3,5})"> + <leadingDigits> + 2(?: + [278]| + 0[45]| + 48 + )| + 3(?: + 08| + 17| + 3[78]| + [78] + )| + 5[15][78]| + 6(?: + [29]8| + 37| + [68][78] + ) + </leadingDigits> + <format>$1 $2</format> + </numberFormat> + <numberFormat pattern="([2356]\d{2})(\d{3})(\d{3})"> + <leadingDigits> + 2(?: + [278]| + 0[45]| + 48 + )| + 3(?: + 08| + 17| + 3[78]| + [78] + )| + 5[15][78]| + 6(?: + [29]8| + 37| + [68][78] + ) + </leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <!-- Four-digit area codes --> + <numberFormat pattern="([25]\d{3})(\d{3,5})"> + <leadingDigits> + (?: + 25| + 54 + )8 + </leadingDigits> + <leadingDigits> + 258[23]| + 5483 + </leadingDigits> + <format>$1 $2</format> + </numberFormat> + <numberFormat pattern="([25]\d{3})(\d{3})(\d{3})"> + <leadingDigits> + (?: + 25| + 54 + )8 + </leadingDigits> + <leadingDigits> + 258[23]| + 5483 + </leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <!-- VOIP numbers --> + <numberFormat pattern="(8\d{3})(\d{6})"> + <leadingDigits>8</leadingDigits> + <format>$1 $2</format> + </numberFormat> + </availableFormats> + <generalDesc> + <!-- A complicated nationalNumberPattern is necessary here, since the numbers are extremely + variable in length and the possible prefixes clash with the country code. --> + <nationalNumberPattern> + 2(?: + [012457-9]\d{3,8}| + 6\d{3,6} + )| + [13-79]\d{4,8}| + 86\d{8} + </nationalNumberPattern> + <possibleNumberPattern>\d{3,10}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <!-- Numbering is grouped by subscriber-number length. --> + <nationalNumberPattern> + (?: + 1[3-9]| + 2(?: + 0[45]| + [16]| + 2[28]| + [49]8?| + 58[23]| + 7[246]| + 8[1346-9] + )| + 3(?: + 08?| + 17?| + 3[78]| + [2456]| + 7[1569]| + 8[379] + )| + 5(?: + [07-9]| + 1[78]| + 483| + 5(?: + 7?| + 8 + ) + )| + 6(?: + 0| + 28| + 37?| + [45][68][78]| + 98? + )| + 848 + )\d{3,6}| + (?: + 2(?: + 27| + 5| + 7[135789]| + 8[25] + )| + 3[39]| + 5[1-46]| + 6[126-8] + )\d{4,6}| + 2(?: + 0| + 70 + )\d{5,6}| + (?: + 4\d| + 9[2-8] + )\d{4,7} + </nationalNumberPattern> + <exampleNumber>1312345</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern>7[137]\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>711234567</exampleNumber> + </mobile> + <!-- No tollFree or premiumRate information can be found. --> + <voip> + <nationalNumberPattern> + 86(?: + 1[12]| + 22| + 30| + 44| + 8[367]| + 99 + )\d{6} + </nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>8686123456</exampleNumber> + </voip> + </territory> + </territories> +</phoneNumberMetadata> diff --git a/third_party/libphonenumber/resources/PhoneNumberMetaDataForTesting.xml b/third_party/libphonenumber/resources/PhoneNumberMetaDataForTesting.xml new file mode 100644 index 0000000..661bdd2 --- /dev/null +++ b/third_party/libphonenumber/resources/PhoneNumberMetaDataForTesting.xml @@ -0,0 +1,764 @@ +<!-- Copyright (C) 2009 Google Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + @author: Shaopeng Jia + + MetaData on Phone Number Plan and formatting rules. This file is used + solely for the purpose of unittesting, so data in this file is not + necessarily consistent with that of + ../src/PhoneNumberMetaData.xml +--> + +<phoneNumberMetadata> + <territories> + <!-- Andorra --> + <territory id="AD" countryCode="376" internationalPrefix="00"> + </territory> + + <!-- Angola --> + <!-- This country has been coopted to test the case of a national prefix + with a non-numeric symbol in it. --> + <territory id="AO" countryCode="244" internationalPrefix="00" nationalPrefix="0~0"> + <availableFormats> + <numberFormat pattern="(\d{3})(\d{3})(\d{3})"> + <format>$1 $2 $3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[29]\d{8}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern>2\d(?:[26-9]\d|\d[26-9])\d{5}</nationalNumberPattern> + <exampleNumber>222123456</exampleNumber> + </fixedLine> + <mobile> + <!-- Expanded the 92 prefix possibilities to matchnumbers found online. --> + <nationalNumberPattern>9[1-3]\d{7}</nationalNumberPattern> + <exampleNumber>923123456</exampleNumber> + </mobile> + </territory> + + <!-- Argentina --> + <territory id="AR" countryCode="54" internationalPrefix="00" + nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG" + nationalPrefixForParsing="0(?:(11|343|3715)15)?" + nationalPrefixTransformRule="9$1"> + <!-- Note in nationalPrefixForParsing, the areacode (such as 11, 343, etc.), when present in + front of carrier selection code 15, is captured to replace $1 in + nationalPrefixTransformRule --> + <availableFormats> + <numberFormat pattern="(\d{2})(\d{4})(\d{4})"> + <leadingDigits>11</leadingDigits> + <format>$1 $2-$3</format> + </numberFormat> + <numberFormat pattern="(\d{4})(\d{2})(\d{4})"> + <leadingDigits>1[02-9]|[23]</leadingDigits> + <format>$1 $2-$3</format> + </numberFormat> + <numberFormat pattern="9(11)(\d{4})(\d{4})"> + <leadingDigits>911</leadingDigits> + <format>$1 15 $2-$3</format> + </numberFormat> + <numberFormat pattern="9(\d{4})(\d{2})(\d{4})" + carrierCodeFormattingRule="$NP$FG $CC"> + <leadingDigits>9(?:1[02-9]|[23])</leadingDigits> + <format>$1 $2-$3</format> + </numberFormat> + <numberFormat pattern="(\d{3})(\d{3})(\d{4})"> + <leadingDigits>[68]</leadingDigits> + <format>$1-$2-$3</format> + </numberFormat> + <intlNumberFormat pattern="(\d{2})(\d{4})(\d{4})"> + <leadingDigits>11</leadingDigits> + <format>$1 $2-$3</format> + </intlNumberFormat> + <intlNumberFormat pattern="(\d{4})(\d{2})(\d{4})"> + <leadingDigits>1[02-9]|[23]</leadingDigits> + <format>$1 $2-$3</format> + </intlNumberFormat> + <intlNumberFormat pattern="(9)(11)(\d{4})(\d{4})"> + <leadingDigits>911</leadingDigits> + <format>$1 $2 $3 $4</format> + </intlNumberFormat> + <intlNumberFormat pattern="(9)(\d{4})(\d{2})(\d{4})"> + <leadingDigits>9(?:1[02-9]|[23])</leadingDigits> + <format>$1 $2 $3 $4</format> + </intlNumberFormat> + <intlNumberFormat pattern="(\d{3})(\d{3})(\d{4})"> + <leadingDigits>[68]</leadingDigits> + <format>$1-$2-$3</format> + </intlNumberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[1-3689]\d{9,10}</nationalNumberPattern> + <possibleNumberPattern>\d{6,11}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern>[1-3]\d{9}</nationalNumberPattern> + <possibleNumberPattern>\d{6,10}</possibleNumberPattern> + </fixedLine> + <mobile> + <nationalNumberPattern>9\d{10}|[1-3]\d{9}</nationalNumberPattern> + <possibleNumberPattern>\d{10,11}</possibleNumberPattern> + </mobile> + <tollFree> + <nationalNumberPattern>80\d{8}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + </tollFree> + <premiumRate> + <nationalNumberPattern>6(0\d|10)\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + </premiumRate> + </territory> + + <!-- Australia --> + <territory id="AU" countryCode="61" internationalPrefix="001[12]" + nationalPrefix="0" preferredInternationalPrefix="0011" + nationalPrefixFormattingRule="$NP$FG"> + <availableFormats> + <numberFormat nationalPrefixFormattingRule="$FG" + pattern="(\d{4})(\d{3})(\d{3})" > + <leadingDigits>1</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(\d{1})(\d{4})(\d{4})"> + <leadingDigits>[2-478]</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + </availableFormats> + <generalDesc > + <nationalNumberPattern>[1-578]\d{4,14}</nationalNumberPattern> + <possibleNumberPattern>\d{5,15}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern>[2378]\d{8}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + </fixedLine> + <mobile> + <nationalNumberPattern>4\d{8}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + </mobile> + <tollFree> + <nationalNumberPattern>1800\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + </tollFree> + <premiumRate> + <nationalNumberPattern>190[0126]\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + </premiumRate> + </territory> + + <!-- Bahamas --> + <territory id="BS" countryCode="1" internationalPrefix="011" + nationalPrefix="1"> + <generalDesc> + <nationalNumberPattern>(242|8(00|66|77|88)|900)\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{7,10}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern>242(?:3(?:02|[236][1-9]|4[0-24-9]|5[0-68]|7[3-57]|9[2-5])|4(?:2[237]|51|64|77)|502|636|702)\d{4}</nationalNumberPattern> + </fixedLine> + <mobile> + <nationalNumberPattern>242(357|359|457|557)\d{4}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + </mobile> + <tollFree> + <nationalNumberPattern>8(00|66|77|88)\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + </tollFree> + <premiumRate> + <nationalNumberPattern>900\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + </premiumRate> + </territory> + + <!-- Germany --> + <territory id="DE" countryCode="49" internationalPrefix="00" + nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG"> + <availableFormats> + <numberFormat pattern="(\d{3})(\d{3,8})"> + <leadingDigits>2|3[3-9]|906|[4-9][1-9]1</leadingDigits> + <format>$1 $2</format> + </numberFormat> + <numberFormat pattern="(\d{2})(\d{4,9})"> + <leadingDigits>[34]0|[68]9</leadingDigits> + <format>$1/$2</format> + </numberFormat> + <!-- Extra fictional pattern for shorter numbers with the same prefixes as the following + pattern, to illustrate the problem the AYTF has with real patterns that share this + property. --> + <numberFormat pattern="([4-9]\d)(\d{2})"> + <leadingDigits>[4-9]</leadingDigits> + <leadingDigits>[4-6]|[7-9](?:\d[1-9]|[1-9]\d)</leadingDigits> + <format>$1 $2</format> + </numberFormat> + <numberFormat pattern="([4-9]\d{3})(\d{2,7})"> + <leadingDigits>[4-9]</leadingDigits> + <leadingDigits>[4-6]|[7-9](?:\d[1-9]|[1-9]\d)</leadingDigits> + <format>$1 $2</format> + </numberFormat> + <numberFormat pattern="(\d{3})(\d{1})(\d{6})"> + <leadingDigits>800</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(\d{3})(\d{3,4})(\d{4})"> + <leadingDigits>900</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>\d{4,14}</nationalNumberPattern> + <possibleNumberPattern>\d{2,14}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern>(?:[24-6]\d{2}|3[03-9]\d|[789](?:[1-9]\d|0[2-9]))\d{3,8}</nationalNumberPattern> + <exampleNumber>30123456</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern>1(5\d{9}|7\d{8}|6[02]\d{8}|63\d{7})</nationalNumberPattern> + <possibleNumberPattern>\d{10,11}</possibleNumberPattern> + </mobile> + <tollFree> + <nationalNumberPattern>800\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + </tollFree> + <premiumRate> + <nationalNumberPattern>900([135]\d{6}|9\d{7})</nationalNumberPattern> + <possibleNumberPattern>\d{10,11}</possibleNumberPattern> + </premiumRate> + </territory> + + <!-- United Kingdom --> + <territory id="GB" countryCode="44" internationalPrefix="00" + nationalPrefix="0" nationalPrefixFormattingRule="($NP$FG)"> + <availableFormats> + <numberFormat pattern="(\d{2})(\d{4})(\d{4})"> + <leadingDigits>[1-59]|[78]0</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(\d)(\d{3})(\d{3})(\d{3})"> + <leadingDigits>6</leadingDigits> + <format>$1 $2 $3 $4</format> + </numberFormat> + <numberFormat pattern="(\d{4})(\d{3})(\d{3})"> + <leadingDigits>7[1-57-9]</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(\d{3})(\d{3})(\d{4})"> + <leadingDigits>8[47]</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>\d{10}</nationalNumberPattern> + <possibleNumberPattern>\d{6,10}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern>[1-6]\d{9}</nationalNumberPattern> + </fixedLine> + <mobile> + <nationalNumberPattern>7[1-57-9]\d{8}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + </mobile> + <tollFree> + <nationalNumberPattern>80\d{8}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + </tollFree> + <premiumRate> + <nationalNumberPattern>9[018]\d{8}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + </premiumRate> + <sharedCost> + <nationalNumberPattern>8(?:4[3-5]|7[0-2])\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + </sharedCost> + <voip> + <nationalNumberPattern>56\d{8}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + </voip> + <personalNumber> + <nationalNumberPattern>70\d{8}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + </personalNumber> + </territory> + + <!-- Italy --> + <!-- http://en.wikipedia.org/wiki/%2B39 --> + <territory id="IT" countryCode="39" internationalPrefix="00" leadingZeroPossible="true"> + <availableFormats> + <numberFormat pattern="(\d{2})(\d{4})(\d{4})"> + <leadingDigits>0[26]</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(\d{3})(\d{4})(\d{3,4})"> + <leadingDigits>0[13-57-9]</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(\d{3})(\d{3})(\d{3,4})"> + <leadingDigits>3</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(\d{3})(\d{3,6})"> + <leadingDigits>8</leadingDigits> + <format>$1 $2</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[0389]\d{5,10}</nationalNumberPattern> + <possibleNumberPattern>\d{6,11}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern>0\d{9,10}</nationalNumberPattern> + <possibleNumberPattern>\d{10,11}</possibleNumberPattern> + </fixedLine> + <mobile> + <nationalNumberPattern>3\d{8,9}</nationalNumberPattern> + <possibleNumberPattern>\d{9,10}</possibleNumberPattern> + </mobile> + <tollFree> + <nationalNumberPattern>80(?:0\d{6}|3\d{3})</nationalNumberPattern> + <possibleNumberPattern>\d{6,9}</possibleNumberPattern> + </tollFree> + <premiumRate> + <nationalNumberPattern>89(?:2\d{3}|9\d{6})</nationalNumberPattern> + <possibleNumberPattern>\d{6,9}</possibleNumberPattern> + </premiumRate> + </territory> + + <!-- Japan --> + <!-- The metadata here is added to unit test AsYouTypeFormatter for JP, which requires switching + patterns as digits beyond the third one are entered. As a result, only a few fake + formatting rules are added. --> + <territory id="JP" countryCode="81" internationalPrefix="010" + nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG"> + <availableFormats> + <numberFormat pattern="(\d{2})(\d{4})(\d{4})"> + <leadingDigits>[57-9]0</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(\d{2})(\d{3})(\d{4})"> + <leadingDigits>222|333</leadingDigits> + <leadingDigits>(?:222|333)1</leadingDigits> + <leadingDigits>(?:222|333)11</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(\d{4})(\d)(\d{4})"> + <leadingDigits>222|333</leadingDigits> + <leadingDigits>2221|3332</leadingDigits> + <leadingDigits>22212|3332</leadingDigits> + <leadingDigits>222120|3332</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(\d{3})(\d{2})(\d{4})"> + <leadingDigits>[23]</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <!-- The following numberFormat is added to test that the format containing the star sign is + not used by the AYTF. --> + <numberFormat pattern="(\d{4})"> + <leadingDigits>[23]</leadingDigits> + <format>*$1</format> + </numberFormat> + </availableFormats> + </territory> + + <!-- Korea (Rep. of) --> + <!-- http://www.itu.int/oth/T0202000072/en --> + <!-- http://en.wikipedia.org/wiki/%2B82 --> + <!-- http://www.kcc.go.kr/user.do?mode=view&page=P02030300&dc=K02030300&boardId=1074&boardSeq=2349 --> + <!-- http://www.kcc.go.kr/user.do?mode=view&page=P02030300&dc=K02030300&boardId=1074&boardSeq=2240 --> + <!-- http://www.telecentro.co.kr/sub/index.php?job=detail&ebcf_id=faq&page=1&mid=0503&eb_seq=36 --> + <!-- Exceptions : + internationalPrefix + 0031, 0033, 0071, 0073 - Special services of KT and DACOM, ignorable + nationalPrefix + 1[4-6]XX-YYYY - Country-wide common number services, display as it is without hyphens --> + <territory id="KR" countryCode="82" internationalPrefix="00(?:[124-68]|[37]\d{2})" + nationalPrefix="0" nationalPrefixForParsing="0(8[1-46-8]|85\d{2})?" + nationalPrefixFormattingRule="$NP$FG"> + <availableFormats> + <numberFormat pattern="(\d{2})(\d{4})(\d{4})"> + <leadingDigits>1(?:0|1[19]|[69]9|5[458])|[57]0</leadingDigits> + <leadingDigits>1(?:0|1[19]|[69]9|5(?:44|59|8))|[57]0</leadingDigits> + <format>$1-$2-$3</format> + </numberFormat> + <numberFormat pattern="(\d{2})(\d{3})(\d{4})"> + <leadingDigits>1(?:[169][2-8]|[78]|5[1-4])|[68]0|[3-9][1-9][2-9]</leadingDigits> + <leadingDigits>1(?:[169][2-8]|[78]|5(?:[1-3]|4[56]))|[68]0|[3-9][1-9][2-9]</leadingDigits> + <format>$1-$2-$3</format> + </numberFormat> + <numberFormat pattern="(\d{3})(\d)(\d{4})"> + <leadingDigits>131</leadingDigits> + <leadingDigits>1312</leadingDigits> + <format>$1-$2-$3</format> + </numberFormat> + <numberFormat pattern="(\d{3})(\d{2})(\d{4})"> + <leadingDigits>131</leadingDigits> + <leadingDigits>131[13-9]</leadingDigits> + <format>$1-$2-$3</format> + </numberFormat> + <numberFormat pattern="(\d{3})(\d{3})(\d{4})"> + <leadingDigits>13[2-9]</leadingDigits> + <format>$1-$2-$3</format> + </numberFormat> + <numberFormat pattern="(\d{2})(\d{2})(\d{3})(\d{4})"> + <leadingDigits>30</leadingDigits> + <format>$1-$2-$3-$4</format> + </numberFormat> + <numberFormat pattern="(\d)(\d{4})(\d{4})"> + <leadingDigits>2(?:[26]|3[0-467])</leadingDigits> + <leadingDigits>2(?:[26]|3(?:01|1[45]|2[17-9]|39|4|6[67]|7[078]))</leadingDigits> + <format>$1-$2-$3</format> + </numberFormat> + <numberFormat pattern="(\d)(\d{3})(\d{4})"> + <leadingDigits>2(?:3[0-35-9]|[457-9])</leadingDigits> + <leadingDigits>2(?:3(?:0[02-9]|1[0-36-9]|2[02-6]|3[0-8]|6[0-589]|7[1-69]|[589])|[457-9])</leadingDigits> + <format>$1-$2-$3</format> + </numberFormat> + <numberFormat pattern="(\d)(\d{3})"> + <leadingDigits>21[0-46-9]</leadingDigits> + <leadingDigits>21(?:[0-247-9]|3[124]|6[1269])</leadingDigits> + <format>$1-$2</format> + </numberFormat> + <numberFormat pattern="(\d)(\d{4})"> + <leadingDigits>21[36]</leadingDigits> + <leadingDigits>21(?:3[035-9]|6[03-578])</leadingDigits> + <format>$1-$2</format> + </numberFormat> + <numberFormat pattern="(\d{2})(\d{3})"> + <leadingDigits>[3-9][1-9]1</leadingDigits> + <leadingDigits>[3-9][1-9]1(?:[0-46-9])</leadingDigits> + <leadingDigits>[3-9][1-9]1(?:[0-247-9]|3[124]|6[1269])</leadingDigits> + <format>$1-$2</format> + </numberFormat> + <numberFormat pattern="(\d{2})(\d{4})"> + <leadingDigits>[3-9][1-9]1</leadingDigits> + <leadingDigits>[3-9][1-9]1[36]</leadingDigits> + <leadingDigits>[3-9][1-9]1(?:3[035-9]|6[03-578])</leadingDigits> + <format>$1-$2</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[1-79]\d{3,9}|8\d{8}</nationalNumberPattern> + <possibleNumberPattern>\d{4,10}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern>(?:2|[34][1-3]|5[1-5]|6[1-4])(?:1\d{2,3}|[2-9]\d{6,7})</nationalNumberPattern> + <possibleNumberPattern>\d{4,10}</possibleNumberPattern> + <exampleNumber>22123456</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern>1[0-25-9]\d{7,8}</nationalNumberPattern> + <possibleNumberPattern>\d{9,10}</possibleNumberPattern> + <exampleNumber>1023456789</exampleNumber> + </mobile> + <tollFree> + <nationalNumberPattern>80\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>801234567</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>60[2-9]\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>602345678</exampleNumber> + </premiumRate> + <personalNumber> + <nationalNumberPattern>50\d{8}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>5012345678</exampleNumber> + </personalNumber> + <voip> + <nationalNumberPattern>70\d{8}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + <exampleNumber>7012345678</exampleNumber> + </voip> + </territory> + + <!-- Mexico --> + <territory id="MX" countryCode="52" internationalPrefix="00" + nationalPrefix="01" nationalPrefixForParsing="01|04[45](\d{10})" + nationalPrefixTransformRule="1$1"> + <availableFormats> + <numberFormat pattern="(\d{3})(\d{3})(\d{4})"> + <leadingDigits>[89]00</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(\d{2})(\d{4})(\d{4})"> + <leadingDigits>33|55|81</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(\d{3})(\d{3})(\d{4})"> + <leadingDigits>[2467]|3[0-24-9]|5[0-46-9]|8[2-9]|9[1-9]</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="1(\d{2})(\d{4})(\d{4})"> + <leadingDigits>1(?:33|55|81)</leadingDigits> + <format>045 $1 $2 $3</format> + </numberFormat> + <numberFormat pattern="1(\d{3})(\d{3})(\d{4})"> + <leadingDigits>1(?:[124579]|3[0-24-9]|5[0-46-9]|8[02-9])</leadingDigits> + <format>045 $1 $2 $3</format> + </numberFormat> + <intlNumberFormat pattern="(\d{3})(\d{3})(\d{4})"> + <leadingDigits>[89]00</leadingDigits> + <format>$1 $2 $3</format> + </intlNumberFormat> + <intlNumberFormat pattern="(\d{2})(\d{4})(\d{4})"> + <leadingDigits>33|55|81</leadingDigits> + <format>$1 $2 $3</format> + </intlNumberFormat> + <intlNumberFormat pattern="(\d{3})(\d{3})(\d{4})"> + <leadingDigits>[2467]|3[0-24-9]|5[0-46-9]|8[2-9]|9[1-9]</leadingDigits> + <format>$1 $2 $3</format> + </intlNumberFormat> + <intlNumberFormat pattern="(1)(\d{2})(\d{4})(\d{4})"> + <leadingDigits>1(?:33|55|81)</leadingDigits> + <format>$1 $2 $3 $4</format> + </intlNumberFormat> + <intlNumberFormat pattern="(1)(\d{3})(\d{3})(\d{4})"> + <leadingDigits>1(?:[124579]|3[0-24-9]|5[0-46-9]|8[02-9])</leadingDigits> + <format>$1 $2 $3 $4</format> + </intlNumberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[1-9]\d{9,10}</nationalNumberPattern> + <possibleNumberPattern>\d{7,11}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern>[2-9]\d{9}</nationalNumberPattern> + <possibleNumberPattern>\d{7,10}</possibleNumberPattern> + </fixedLine> + <mobile> + <nationalNumberPattern>1\d{10}</nationalNumberPattern> + <possibleNumberPattern>\d{11}</possibleNumberPattern> + </mobile> + <tollFree> + <nationalNumberPattern>800\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + </tollFree> + <premiumRate> + <nationalNumberPattern>900\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + </premiumRate> + </territory> + + <!-- New Zealand --> + <territory id="NZ" countryCode="64" internationalPrefix="00" + nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG"> + <availableFormats> + <numberFormat pattern="(\d)(\d{3})(\d{4})"> + <leadingDigits>24|[34679]</leadingDigits> + <format>$1-$2 $3</format> + </numberFormat> + <numberFormat pattern="(\d)(\d{3})(\d{3,5})"> + <leadingDigits>2[179]</leadingDigits> + <format>$1-$2 $3</format> + </numberFormat> + <numberFormat pattern="(\d{3})(\d{3})(\d{3,4})"> + <leadingDigits>[89]</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern> + [289]\d{7,9}| + [3-7]\d{7} + </nationalNumberPattern> + <possibleNumberPattern>\d{7,10}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern>24099\d{3}|(?:3[2-79]|[479][2-689]|6[235-9])\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{7,8}</possibleNumberPattern> + </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> + </mobile> + <tollFree> + <nationalNumberPattern>800\d{6,7}</nationalNumberPattern> + <possibleNumberPattern>\d{9,10}</possibleNumberPattern> + </tollFree> + <premiumRate> + <nationalNumberPattern>900\d{6,7}</nationalNumberPattern> + <possibleNumberPattern>\d{9,10}</possibleNumberPattern> + </premiumRate> + </territory> + + <!-- Poland --> + <!-- http://en.wikipedia.org/wiki/%2B48 --> + <territory id="PL" countryCode="48" internationalPrefix="0~0" + nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG"> + <availableFormats> + <numberFormat pattern="(\d{2})(\d{3})(\d{2})(\d{2})"> + <format>$1 $2 $3 $4</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[1-9]\d{8}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + </generalDesc> + <mobile> + <nationalNumberPattern>(?:5[01]|6[069]|7[289]|88)\d{7}</nationalNumberPattern> + </mobile> + <tollFree> + <nationalNumberPattern>800\d{6}</nationalNumberPattern> + </tollFree> + <premiumRate> + <nationalNumberPattern>70\d{7}</nationalNumberPattern> + </premiumRate> + </territory> + + <!-- Réunion (French Departments and Territories in the Indian Ocean) --> + <!-- Note this shares the same country code as La Mayotte and French + Southern Territories, and the formatting patterns here are used by all of + them. This is present to test leadingDigits. --> + <territory id="RE" countryCode="262" leadingDigits="262|6(?:9[23]|47)|8" + internationalPrefix="00" nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG"> + <availableFormats> + <numberFormat pattern="([268]\d{2})(\d{2})(\d{2})(\d{2})"> + <format>$1 $2 $3 $4</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[268]\d{8}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <!-- 0876 numbers are mentioned in the plan, but none in use can be + found. --> + <nationalNumberPattern>262\d{6}</nationalNumberPattern> + <exampleNumber>262161234</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern>6(?:9[23]|47)\d{6}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + <exampleNumber>692123456</exampleNumber> + </mobile> + <!-- 08* Numbers in Réunion are the same as those valid in France. --> + <tollFree> + <nationalNumberPattern>80\d{7}</nationalNumberPattern> + <exampleNumber>801234567</exampleNumber> + </tollFree> + <premiumRate> + <nationalNumberPattern>8(?:1[01]|2[0156]|84|9[0-37-9])\d{6}</nationalNumberPattern> + <exampleNumber>810123456</exampleNumber> + </premiumRate> + </territory> + + <!-- Singapore --> + <!-- http://www.ida.gov.sg/policies%20and%20regulation/20060508120124.aspx --> + <territory id="SG" countryCode="65" internationalPrefix="0[0-3][0-9]"> + <availableFormats> + <numberFormat pattern="(\d{4})(\d{4})"> + <leadingDigits>[369]|8[1-9]</leadingDigits> + <format>$1 $2</format> + </numberFormat> + <numberFormat pattern="(\d{4})(\d{3})(\d{4})"> + <leadingDigits>1[89]</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(\d{3})(\d{3})(\d{4})"> + <leadingDigits>800</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[13689]\d{7,10}</nationalNumberPattern> + <!-- This specific pattern with the | is used to unit-test IsPossibleNumberWithReason. --> + <possibleNumberPattern> + \d{8}| + \d{10,11} + </possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern>[36]\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + </fixedLine> + <mobile> + <nationalNumberPattern>[89]\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{8}</possibleNumberPattern> + </mobile> + <tollFree> + <nationalNumberPattern>1?800\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{10,11}</possibleNumberPattern> + </tollFree> + <premiumRate> + <nationalNumberPattern>1900\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{11}</possibleNumberPattern> + </premiumRate> + </territory> + + <!-- United States --> + <!-- http://www.nanpa.com/reports/reports_npa.html --> + <!-- 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" > + <availableFormats> + <numberFormat pattern="(\d{3})(\d{3})(\d{4})"> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(\d{3})(\d{4})"> + <format>$1 $2</format> + </numberFormat> + <intlNumberFormat pattern="(\d{3})(\d{3})(\d{4})"> + <format>$1 $2 $3</format> + </intlNumberFormat> + </availableFormats> + <generalDesc> + <nationalNumberPattern>[13-9]\d{9}|2[0-35-9]\d{8}</nationalNumberPattern> + <possibleNumberPattern>\d{7}(?:\d{3})?</possibleNumberPattern> + <exampleNumber>1234567890</exampleNumber> + </generalDesc> + <noInternationalDialling> + <!-- This range is added for testing purposes only. --> + <nationalNumberPattern>800\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + </noInternationalDialling> + <tollFree> + <nationalNumberPattern>8(?:00|66|77|88)\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + </tollFree> + <premiumRate> + <nationalNumberPattern>900\d{7}</nationalNumberPattern> + <possibleNumberPattern>\d{10}</possibleNumberPattern> + </premiumRate> + </territory> + + <!-- Mayotte --> + <territory id="YT" countryCode="262" leadingDigits="269|639" + internationalPrefix="00" nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG"> + <!-- Formatting as per La Réunion. --> + <generalDesc> + <nationalNumberPattern>[268]\d{8}</nationalNumberPattern> + <possibleNumberPattern>\d{9}</possibleNumberPattern> + </generalDesc> + <fixedLine> + <nationalNumberPattern>2696[0-4]\d{4}</nationalNumberPattern> + <exampleNumber>269601234</exampleNumber> + </fixedLine> + <mobile> + <nationalNumberPattern>639\d{6}</nationalNumberPattern> + <exampleNumber>639123456</exampleNumber> + </mobile> + <!-- Same as in France. --> + <tollFree> + <nationalNumberPattern>80\d{7}</nationalNumberPattern> + <exampleNumber>801234567</exampleNumber> + </tollFree> + </territory> + </territories> +</phoneNumberMetadata> diff --git a/third_party/libphonenumber/resources/phonemetadata.proto b/third_party/libphonenumber/resources/phonemetadata.proto new file mode 100644 index 0000000..fd9902a --- /dev/null +++ b/third_party/libphonenumber/resources/phonemetadata.proto @@ -0,0 +1,235 @@ +/* + * Copyright (C) 2009 Google Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// Definition of protocol buffer for holding metadata for international +// telephone numbers. +// @author Shaopeng Jia + +syntax = "proto2"; + +option java_package = "com.google.i18n.phonenumbers"; +option optimize_for = LITE_RUNTIME; + +package i18n.phonenumbers; + +message NumberFormat { + // pattern is a regex that is used to match the national (significant) + // number. For example, the pattern "(20)(\d{4})(\d{4})" will match number + // "2070313000", which is the national (significant) number for Google London. + // Note the presence of the parentheses, which are capturing groups what + // specifies the grouping of numbers. + required string pattern = 1; + + // format specifies how the national (significant) number matched by + // pattern should be formatted. + // Using the same example as above, format could contain "$1 $2 $3", + // meaning that the number should be formatted as "20 7031 3000". + // Each $x are replaced by the numbers captured by group x in the + // regex specified by pattern. + required string format = 2; + + // This field is a regex that is used to match a certain number of digits + // at the beginning of the national (significant) number. When the match is + // successful, the accompanying pattern and format should be used to format + // this number. For example, if leading_digits="[1-3]|44", then all the + // national numbers starting with 1, 2, 3 or 44 should be formatted using the + // accompanying pattern and format. + // + // The first leadingDigitsPattern matches up to the first three digits of the + // national (significant) number; the next one matches the first four digits, + // then the first five and so on, until the leadingDigitsPattern can uniquely + // identify one pattern and format to be used to format the number. + // + // In the case when only one formatting pattern exists, no + // leading_digits_pattern is needed. + repeated string leading_digits_pattern = 3; + + // This field specifies how the national prefix ($NP) together with the first + // group ($FG) in the national significant number should be formatted in + // the NATIONAL format when a national prefix exists for a certain country. + // For example, when this field contains "($NP$FG)", a number from Beijing, + // China (whose $NP = 0), which would by default be formatted without + // national prefix as 10 1234 5678 in NATIONAL format, will instead be + // formatted as (010) 1234 5678; to format it as (0)10 1234 5678, the field + // would contain "($NP)$FG". Note $FG should always be present in this field, + // but $NP can be omitted. For example, having "$FG" could indicate the + // number should be formatted in NATIONAL format without the national prefix. + // This is commonly used to override the rule from generalDesc. + // + // When this field is missing, a number will be formatted without national + // prefix in NATIONAL format. This field does not affect how a number + // is formatted in other formats, such as INTERNATIONAL. + optional string national_prefix_formatting_rule = 4; + + // This field specifies how any carrier code ($CC) together with the first + // group ($FG) in the national significant number should be formatted + // when formatWithCarrierCode is called, if carrier codes are used for a + // certain country. + optional string domestic_carrier_code_formatting_rule = 5; +} + +message PhoneNumberDesc { + // The national_number_pattern is the pattern that a valid national + // significant number would match. This specifies information such as its + // total length and leading digits. + optional string national_number_pattern = 2; + + // The possible_number_pattern represents what a potentially valid phone + // number for this region may be written as. This is a superset of the + // national_number_pattern above and includes numbers that have the area code + // omitted. Typically the only restrictions here are in the number of digits. + // This could be used to highlight tokens in a text that may be a phone + // number, or to quickly prune numbers that could not possibly be a phone + // number for this locale. + optional string possible_number_pattern = 3; + + // An example national significant number for the specific type. It should + // not contain any formatting information. + optional string example_number = 6; +} + +message PhoneMetadata { + // The general_desc contains information which is a superset of descriptions + // for all types of phone numbers. If any element is missing in the + // description of a specific type in the XML file, the element will inherit + // from its counterpart in the general_desc. Every locale is assumed to have + // fixed line and mobile numbers - if these types are missing in the XML + // file, they will inherit all fields from the general_desc. For all other + // types, if the whole type is missing in the xml file, it will be given a + // national_number_pattern of "NA" and a possible_number_pattern of "NA". + required PhoneNumberDesc general_desc = 1; + required PhoneNumberDesc fixed_line = 2; + required PhoneNumberDesc mobile = 3; + required PhoneNumberDesc toll_free = 4; + required PhoneNumberDesc premium_rate = 5; + required PhoneNumberDesc shared_cost = 6; + required PhoneNumberDesc personal_number = 7; + required PhoneNumberDesc voip = 8; + required PhoneNumberDesc pager = 21; + required PhoneNumberDesc uan = 25; + // The rules here distinguish the numbers that are only able to be dialled + // nationally. + required PhoneNumberDesc no_international_dialling = 24; + + // The ISO 3166-1 alpha-2 representation of a country/region + required string id = 9; + + // The country calling code that one would dial from overseas when trying to + // dial a phone number in this country. For example, this would be "64" for + // New Zealand. + required int32 country_code = 10; + + // The international_prefix of country A is the number that needs to be + // dialled from country A to another country (country B). This is followed + // by the country code for country B. Note that some countries may have more + // than one international prefix, and for those cases, a regular expression + // matching the international prefixes will be stored in this field. + required string international_prefix = 11; + + // If more than one international prefix is present, a preferred prefix can + // be specified here for out-of-country formatting purposes. If this field is + // not present, and multiple international prefixes are present, then "+" + // will be used instead. + optional string preferred_international_prefix = 17; + + // The national prefix of country A is the number that needs to be dialled + // before the national significant number when dialling internally. This + // would not be dialled when dialling internationally. For example, in New + // Zealand, the number that would be locally dialled as 09 345 3456 would be + // dialled from overseas as +64 9 345 3456. In this case, 0 is the national + // prefix. + optional string national_prefix = 12; + + // The preferred prefix when specifying an extension in this country. This is + // used for formatting only, and if this is not specified, a suitable default + // should be used instead. For example, if you wanted extensions to be + // formatted in the following way: + // 1 (365) 345 445 ext. 2345 + // " ext. " should be the preferred extension prefix. + optional string preferred_extn_prefix = 13; + + // This field is used for cases where the national prefix of a country + // contains a carrier selection code, and is written in the form of a + // regular expression. For example, to dial the number 2222-2222 in + // Fortaleza, Brazil (area code 85) using the long distance carrier Oi + // (selection code 31), one would dial 0 31 85 2222 2222. Assuming the + // only other possible carrier selection code is 32, the field will + // contain "03[12]". + // + // When it is missing from the XML file, this field inherits the value of + // national_prefix, if that is present. + optional string national_prefix_for_parsing = 15; + + // This field is only populated and used under very rare situations. + // For example, mobile numbers in Argentina are written in two completely + // different ways when dialed in-country and out-of-country + // (e.g. 0343 15 555 1212 is exactly the same number as +54 9 343 555 1212). + // This field is used together with national_prefix_for_parsing to transform + // the number into a particular representation for storing in the phonenumber + // proto buffer in those rare cases. + optional string national_prefix_transform_rule = 16; + + // Specifies whether the mobile and fixed-line patterns are the same or not. + // This is used to speed up determining phone number type in countries where + // these two types of phone numbers can never be distinguished. + optional bool same_mobile_and_fixed_line_pattern = 18 [default=false]; + + // Note that the number format here is used for formatting only, not parsing. + // Hence all the varied ways a user *may* write a number need not be recorded + // - just the ideal way we would like to format it for them. When this element + // is absent, the national significant number will be formatted as a whole + // without any formatting applied. + repeated NumberFormat number_format = 19; + + // This field is populated only when the national significant number is + // formatted differently when it forms part of the INTERNATIONAL format + // and NATIONAL format. A case in point is mobile numbers in Argentina: + // The number, which would be written in INTERNATIONAL format as + // +54 9 343 555 1212, will be written as 0343 15 555 1212 for NATIONAL + // format. In this case, the prefix 9 is inserted when dialling from + // overseas, but otherwise the prefix 0 and the carrier selection code + // 15 (inserted after the area code of 343) is used. + repeated NumberFormat intl_number_format = 20; + + // This field is set when this country is considered to be the main country + // for a calling code. It may not be set by more than one country with the + // same calling code, and it should not be set by countries with a unique + // calling code. This can be used to indicate that "GB" is the main country + // for the calling code "44" for example, rather than Jersey or the Isle of + // Man. + optional bool main_country_for_code = 22 [default=false]; + + // 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. + optional string leading_digits = 23; + + // The leading zero in a phone number is meaningful in some countries (e.g. + // Italy). This means they cannot be dropped from the national number when + // converting into international format. If leading zeros are possible for + // valid international numbers for this region/country then set this to true. + // This only needs to be set for the region that is the main_country_for_code + // and all regions associated with that calling code will use the same + // setting. + optional bool leading_zero_possible = 26 [default=false]; +} + +message PhoneMetadataCollection { + repeated PhoneMetadata metadata = 1; +} diff --git a/third_party/libphonenumber/resources/phonenumber.proto b/third_party/libphonenumber/resources/phonenumber.proto new file mode 100644 index 0000000..8ea4288 --- /dev/null +++ b/third_party/libphonenumber/resources/phonenumber.proto @@ -0,0 +1,121 @@ +/* + * Copyright (C) 2009 Google Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// Definition of protocol buffer for representing international telephone numbers. +// @author Shaopeng Jia + +syntax = "proto2"; + +option java_package = "com.google.i18n.phonenumbers"; +option optimize_for = LITE_RUNTIME; + +package i18n.phonenumbers; + +message PhoneNumber { +// The country calling code for this number, as defined by the International Telecommunication Union +// (ITU). Fox example, this would be 1 for NANPA countries, and 33 for France. + required int32 country_code = 1; + +// National (significant) Number is defined in International Telecommunication Union Recommendation +// E.164. It is a language/country-neutral representation of a phone number at a country level. For +// countries which have the concept of Area Code, the National (significant) Number contains the +// area code. It contains a maximum number of digits which equal to 15 - n, where n is the number of +// digits of the country code. Take note that National (significant) Number does not contain +// National(trunk) prefix. Obviously, as a uint64, it will never contain any formatting (hypens, +// spaces, parentheses), nor any alphanumeric spellings. + required uint64 national_number = 2; + +// Extension is not standardized in ITU recommendations, except for being defined as a series of +// numbers with a maximum length of 40 digits. It is defined as a string here to accommodate for the +// possible use of a leading zero in the extension (organizations have complete freedom to do so, +// as there is no standard defined). However, only ASCII digits should be stored here. + optional string extension = 3; + +// In some countries, the national (significant) number starts with a "0" without this being a +// national prefix or trunk code of some kind. For example, the leading zero in the national +// (significant) number of an Italian phone number indicates the number is a fixed-line number. +// There have been plans to migrate fixed-line numbers to start with the digit two since December +// 2000, but it has not happened yet. See http://en.wikipedia.org/wiki/%2B39 for more details. +// +// This field can be safely ignored (there is no need to set it) for most countries. Some limited +// amount of countries behave like Italy - for these cases, if the leading zero of a number would be +// retained even when dialling internationally, set this flag to true. +// +// Clients who use the parsing functionality of the i18n phone number libraries +// will have this field set if necessary automatically. + optional bool italian_leading_zero = 4; + +// The next few fields are non-essential fields for a phone number. They retain extra information +// about the form the phone number was in when it was provided to us to parse. They can be safely +// ignored by most clients. + +// This field is used to store the raw input string containing phone numbers before it was +// canonicalized by the library. For example, it could be used to store alphanumerical numbers +// such as "1-800-GOOG-411". + optional string raw_input = 5; + +// The source from which the country_code is derived. This is not set in the general parsing method, +// but in the method that parses and keeps raw_input. New fields could be added upon request. + enum CountryCodeSource { + // The country_code is derived based on a phone number with a leading "+", e.g. the French + // number "+33 (0)1 42 68 53 00". + FROM_NUMBER_WITH_PLUS_SIGN = 1; + + // The country_code is derived based on a phone number with a leading IDD, e.g. the French + // number "011 33 (0)1 42 68 53 00", as it is dialled from US. + FROM_NUMBER_WITH_IDD = 5; + + // The country_code is derived based on a phone number without a leading "+", e.g. the French + // number "33 (0)1 42 68 53 00" when defaultCountry is supplied as France. + FROM_NUMBER_WITHOUT_PLUS_SIGN = 10; + + // The country_code is derived NOT based on the phone number itself, but from the defaultCountry + // parameter provided in the parsing function by the clients. This happens mostly for numbers + // written in the national format (without country code). For example, this would be set when + // parsing the French number "(0)1 42 68 53 00", when defaultCountry is supplied as France. + FROM_DEFAULT_COUNTRY = 20; + } + +// The source from which the country_code is derived. + optional CountryCodeSource country_code_source = 6; + +// The carrier selection code that is preferred when calling this phone number domestically. This +// also includes codes that need to be dialed in some countries when calling from landlines to +// mobiles or vice versa. For example, in Columbia, a "3" needs to be dialed before the phone number +// itself when calling from a mobile phone to a domestic landline phone and vice versa. +// +// Note this is the "preferred" code, which means other codes may work as well. + optional string preferred_domestic_carrier_code = 7; +} + +// Examples +// +// Google MTV, +1 650-253-0000, (650) 253-0000 +// country_code: 1 +// national_number: 6502530000 +// +// Google Paris, +33 (0)1 42 68 53 00, 01 42 68 53 00 +// country_code: 33 +// national_number: 142685300 +// +// Google Beijing, +86-10-62503000, (010) 62503000 +// country_code: 86 +// national_number: 1062503000 +// +// Google Italy, +39 02-36618 300, 02-36618 300 +// country_code: 39 +// national_number: 236618300 +// italian_leading_zero: true |