JAVA/JS/CPP: v7.0.2 metadata updates.
[platform/upstream/libphonenumber.git] / resources / PhoneNumberMetadata.xml
index 9b55e15..40f569f 100644 (file)
@@ -97,8 +97,8 @@
       </references>
       <!-- Formatted as a block. -->
       <generalDesc>
-        <nationalNumberPattern>[2-467]\d{3}</nationalNumberPattern>
-        <possibleNumberPattern>\d{4}</possibleNumberPattern>
+        <nationalNumberPattern>[2-7]\d{3,5}</nationalNumberPattern>
+        <possibleNumberPattern>\d{4,6}</possibleNumberPattern>
       </generalDesc>
       <fixedLine>
         <nationalNumberPattern>
         <exampleNumber>6889</exampleNumber>
       </fixedLine>
       <mobile>
-        <nationalNumberPattern>NA</nationalNumberPattern>
-        <possibleNumberPattern>NA</possibleNumberPattern>
+        <nationalNumberPattern>5\d{5}</nationalNumberPattern>
+        <possibleNumberPattern>\d{6}</possibleNumberPattern>
+        <exampleNumber>501234</exampleNumber>
       </mobile>
     </territory>
 
          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)">
+               nationalPrefix="0" nationalPrefixFormattingRule="($NP$FG)"
+               mobileNumberPortableRegion="true" >
       <references>
         <sourceUrl>http://www.itu.int/oth/T020200000A/en</sourceUrl>
         <sourceUrl>http://en.wikipedia.org/wiki/%2B374</sourceUrl>
         </numberFormat>
         <numberFormat pattern="(\d{2})(\d{6})" nationalPrefixFormattingRule="$NP$FG">
           <leadingDigits>
+            4[139]|
             [5-7]|
             9[1-9]
           </leadingDigits>
         <!-- Part of the range 97 is used by Nagorno-Karabakh Republic. -->
         <nationalNumberPattern>
           (?:
+            4[139]|
             55|
             77|
             9[1-9]
     </territory>
 
     <!-- Argentina -->
+    <!-- The national prefix for parsing here consists of a 0 (optional), followed by the area code
+         (which is captured, so that it can be retained), followed by 15, which is the mobile token,
+         which will be stripped if present. We expect the following combinations: 0AC15 and AC15
+         (where the 0 and 15 will be stripped, and it will be transformed into 9AC), 0, and 15 (in
+         the latter two cases we just strip the 0 or 15 as appropriate and leave the number as is.)
+         -->
     <territory id="AR" countryCode="54" internationalPrefix="00" nationalPrefix="0"
        nationalPrefixForParsing="
          0?(?:
                9[124]
              )
            )
-         )15
+         )?15
        )?"
        nationalPrefixTransformRule="9$1" nationalPrefixFormattingRule="$NP$FG"
        mobileNumberPortableRegion="true">
           <leadingDigits>[68]</leadingDigits>
           <format>$1-$2-$3</format>
         </numberFormat>
+        <!-- Format local numbers in two groups. The leading digits are 2-9 since the ITU document
+             says that the digit zero and one will not be present at the start of the subscriber
+             number (which starts with an "Exchange characteristic"). -->
+        <numberFormat pattern="(\d{2})(\d{4})" nationalPrefixFormattingRule="$FG">
+          <leadingDigits>[2-9]</leadingDigits>
+          <format>$1-$2</format>
+          <intlFormat>NA</intlFormat>
+        </numberFormat>
+        <numberFormat pattern="(\d{3})(\d{4})" nationalPrefixFormattingRule="$FG">
+          <leadingDigits>[2-9]</leadingDigits>
+          <format>$1-$2</format>
+          <intlFormat>NA</intlFormat>
+        </numberFormat>
+        <numberFormat pattern="(\d{4})(\d{4})" nationalPrefixFormattingRule="$FG">
+          <leadingDigits>[2-9]</leadingDigits>
+          <format>$1-$2</format>
+          <intlFormat>NA</intlFormat>
+        </numberFormat>
         <numberFormat pattern="(9)(11)(\d{4})(\d{4})">
           <leadingDigits>911</leadingDigits>
           <format>$2 15-$3-$4</format>
             )
           </leadingDigits>
           <!-- We exclude here several 294X four-digit area codes: 2940, 2942, 2945, 2946 and 2948,
-               2983, and several 38[3578]X four-digit area codes. -->
+               298[23], and several 38[3578]X four-digit area codes. -->
           <leadingDigits>
             9(?:
               2(?:
                 9(?:
                   [179]|
                   4[13479]|
-                  8[0-24-9]
+                  8[014-9]
                 )
               )|
               3(?:
           <format>$2 15-$3-$4</format>
           <intlFormat>$1 $2 $3-$4</intlFormat>
         </numberFormat>
-        <numberFormat pattern="(9)(\d{4})(\d{3})(\d{3})">
-          <!-- The formatting pattern here for these newly introduced area codes is based on the ITU
-               document. We have not found sufficient examples online to know if this is actually
-               being followed by the general population, or whether the back-up pattern for
-               four-digit area codes (below) is preferred. -->
-          <leadingDigits>93[58]</leadingDigits>
-          <leadingDigits>
-            9(?:
-              3(?:
-                53|
-                8[78]
-              )
-            )
-          </leadingDigits>
-          <leadingDigits>
-            9(?:
-              3(?:
-                537|
-                8(?:
-                  73|
-                  88
-                )
-              )
-            )
-          </leadingDigits>
-          <format>$2 15-$3-$4</format>
-          <intlFormat>$1 $2 $3-$4</intlFormat>
-        </numberFormat>
+        <!-- Both 4-3-3 and 4-2-4 have been seen online; we prefer the latter since it matches the
+             Argentinian ITU doc and wikipedia. -->
         <numberFormat pattern="(9)(\d{4})(\d{2})(\d{4})">
           <leadingDigits>9[23]</leadingDigits>
           <format>$2 15-$3-$4</format>
               8[013578]
             )
           </leadingDigits>
-          <!-- Several 294X four-digit area codes exist: 2940, 2942, 2945, 2946 and 2948. -->
+          <!-- We exclude here several 294X four-digit area codes: 2940, 2942, 2945, 2946 and 2948,
+               298[23], and several 38[3578]X four-digit area codes. -->
           <leadingDigits>
             2(?:
               2[013]|
               6[01346]|
               80|
               9(?:
-                [17-9]|
-                4[13479]
+                [179]|
+                4[13479]|
+                8[014-9]
               )
             )|
             3(?:
           </leadingDigits>
           <format>$1 $2-$3</format>
         </numberFormat>
-        <numberFormat pattern="(\d{4})(\d{3})(\d{3})" nationalPrefixOptionalWhenFormatting="true">
-          <leadingDigits>
-            3(?:
-              53|
-              8[78]
-            )
-          </leadingDigits>
-          <leadingDigits>
-            3(?:
-              537|
-              8(?:
-                73|
-                88
-              )
-            )
-          </leadingDigits>
-          <format>$1 $2-$3</format>
-        </numberFormat>
         <numberFormat pattern="(\d{4})(\d{2})(\d{4})" nationalPrefixOptionalWhenFormatting="true">
           <leadingDigits>[23]</leadingDigits>
           <format>$1 $2-$3</format>
         </numberFormat>
       </availableFormats>
       <generalDesc>
+        <!-- We restrict the second digit after 1 here so we can recognise and strip the 15 mobile
+           carrier prefix when we see it. -->
         <nationalNumberPattern>
-          [1-368]\d{9}|
+          11\d{8}|
+          [2368]\d{9}|
           9\d{10}
         </nationalNumberPattern>
         <possibleNumberPattern>\d{6,11}</possibleNumberPattern>
       </fixedLine>
       <mobile>
         <!-- Includes MobileSat and Thuraya satellite services. According to the wikipedia page,
-             other ranges 14[1-3] are not currently used. -->
+             other ranges 14[1-3] are not currently used. Note CC and CX should be updated as well
+             if this pattern changes. -->
         <nationalNumberPattern>
           14(?:
             5\d|
             4[47-9]|
             5[0-25-9]|
             6[6-9]|
-            7[0457-9]|
+            7[03-9]|
             8[17-9]|
-            9[07-9]
+            9[017-9]
           )\d{6}
         </nationalNumberPattern>
         <possibleNumberPattern>\d{9}</possibleNumberPattern>
       <references>
         <sourceUrl>http://www.itu.int/oth/T0202000012/en</sourceUrl>
         <sourceUrl>http://en.wikipedia.org/wiki/Telephone_numbers_in_Bangladesh</sourceUrl>
-        <sourceUrl>http://www.btrc.gov.bd/engineering/national_numbering_plan_2005.pdf</sourceUrl>
+        <sourceUrl>http://www.btrc.gov.bd/sites/default/files/national_numbering_plan_2005_0.pdf</sourceUrl>
       </references>
       <availableFormats>
         <numberFormat pattern="(2)(\d{7})">
               5[5-7]|
               6[0167]|
               7[15]|
-              8[016-8]
+              8[0146-8]
             )
           )\d{4}|
           3(?:
         <exampleNumber>17001234</exampleNumber>
       </fixedLine>
       <!-- 31 is assigned to Royal Court, as per documents on Bahrain's own telecom site, even
-           though it is omitted from the ITU document. -->
+           though it is omitted from the ITU document. 356 was added based on numbers found
+           online. -->
       <mobile>
         <nationalNumberPattern>
           (?:
             3(?:
               [1-4679]\d|
-              5[0135]|
+              5[01356]|
               8[0-48]
             )\d|
             6(?:
       </references>
       <availableFormats>
         <numberFormat
-          pattern="([27]\d)(\d{2})(\d{2})(\d{2})">
+          pattern="(\d{2})(\d{2})(\d{2})(\d{2})">
           <format>$1 $2 $3 $4</format>
         </numberFormat>
       </availableFormats>
       <generalDesc>
-        <nationalNumberPattern>[27]\d{7}</nationalNumberPattern>
+        <nationalNumberPattern>[267]\d{7}</nationalNumberPattern>
         <possibleNumberPattern>\d{8}</possibleNumberPattern>
       </generalDesc>
       <fixedLine>
              satellite phones. -->
         <nationalNumberPattern>
           (?:
-            29|
+            [26]9|
             7[14-9]
           )\d{6}
         </nationalNumberPattern>
           <leadingDigits>
             (?:
               1[1-9]|
-              2[12478]
+              2[12478]|
+              9[1-9]
             )9
           </leadingDigits>
           <format>$1 $2-$3</format>
             7|
             9\d
           )\d{7}|
-          2[12478]9?[6-9]\d{7}|
+          (?:
+            2[12478]|
+            9[1-9]
+          )9?[6-9]\d{7}|
           (?:
             3[1-578]|
-            [4689][1-9]|
+            [468][1-9]|
             5[13-5]|
             7[13-579]
           )[6-9]\d{7}
             7(?:
               0[59]|
               78|
-              80
+              8[02]
             )|
             8(?:
               [06]7|
             7(?:
               0[59]|
               78|
-              80
+              8[02]
             )|
             8(?:
               [06]7|
       <!-- Mobile, toll free, premium rate, personal number and VOIP copied from Australia. -->
       <mobile>
         <nationalNumberPattern>
+          14(?:
+            5\d|
+            71
+          )\d{5}|
           4(?:
             [0-2]\d|
             3[0-57-9]|
             4[47-9]|
-            5[0-37-9]|
+            5[0-25-9]|
             6[6-9]|
-            7[07-9]|
-            8[7-9]
+            7[03-9]|
+            8[17-9]|
+            9[017-9]
           )\d{6}
         </nationalNumberPattern>
         <possibleNumberPattern>\d{9}</possibleNumberPattern>
              successfully delivered. Supported by numbers found on the internet. The prefix 56 was
              assigned to MTN in July 2013:
              http://www.atci.ci/images/stories/pdf/decisions-dg/decision_002.pdf
+             The prefix 75 is from an open-source bug report.
              50 has been removed since Warid seems to have stopped operation in Côte d'Ivoire. -->
           <nationalNumberPattern>
           (?:
             4[0-24-9]|
             5[4-9]|
             6[015-79]|
-            77
+            7[57]
           )\d{6}
         </nationalNumberPattern>
         <exampleNumber>01234567</exampleNumber>
       <references>
         <sourceUrl>http://www.itu.int/oth/T020200002A/en</sourceUrl>
         <sourceUrl>http://en.wikipedia.org/wiki/%2B56</sourceUrl>
+        <sourceUrl>http://www.subtel.gob.cl/base_numeracion/tabla_numeracion_ido_idd.xlsx</sourceUrl>
       </references>
       <!-- 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. -->
+           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="(\d)(\d{4})(\d{4})"
           nationalPrefixFormattingRule="($FG)"
           </leadingDigits>
           <format>$1 $2 $3</format>
         </numberFormat>
-        <numberFormat pattern="(9)([5-9]\d{3})(\d{4})">
+        <numberFormat pattern="(9)(\d{4})(\d{4})">
           <leadingDigits>9</leadingDigits>
           <format>$1 $2 $3</format>
         </numberFormat>
         <exampleNumber>221234567</exampleNumber>
       </fixedLine>
       <mobile>
-        <nationalNumberPattern>9[5-9]\d{7}</nationalNumberPattern>
+        <nationalNumberPattern>9[4-9]\d{7}</nationalNumberPattern>
         <possibleNumberPattern>\d{8,9}</possibleNumberPattern>
         <exampleNumber>961234567</exampleNumber>
       </mobile>
     <territory id="CM" countryCode="237" internationalPrefix="00">
       <references>
         <sourceUrl>http://www.itu.int/oth/T0202000024/en</sourceUrl>
+        <sourceUrl>http://www.itu.int/dms_pub/itu-t/opb/sp/T-SP-OB.1063-2014-OAS-PDF-E.pdf</sourceUrl>
       </references>
       <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.) -->
+        <!-- Formatting in the ITU update document aligns with formatting online (all 2 digit
+             groups). For the new number format with 9 digits the first digit has it's own group.
+             -->
+        <numberFormat pattern="([26])(\d{2})(\d{2})(\d{2})(\d{2})">
+          <leadingDigits>[26]</leadingDigits>
+          <format>$1 $2 $3 $4 $5</format>
+        </numberFormat>
         <numberFormat pattern="([2357-9]\d)(\d{2})(\d{2})(\d{2})">
           <leadingDigits>
             [23579]|
         </numberFormat>
       </availableFormats>
       <generalDesc>
-        <nationalNumberPattern>[2357-9]\d{7}</nationalNumberPattern>
-        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <nationalNumberPattern>[235-9]\d{7,8}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8,9}</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. -->
+        <!-- Temporarily allow both old (22|33) and new 2(22|33) format. -->
+        <!-- CDMA numbers are described in a subcategory to fixed line numbers in the ITU update
+             document, so those prefixes are added to fixed line (24[23]). -->
         <nationalNumberPattern>
+          2(?:
+             22|
+             33|
+             4[23]
+          )\d{6}|
           (?:
             22|
             33
           )\d{6}
         </nationalNumberPattern>
-        <exampleNumber>22123456</exampleNumber>
+        <exampleNumber>222123456</exampleNumber>
       </fixedLine>
       <mobile>
-        <!-- Mobile numbers beginning with 5 were found online. -->
-        <nationalNumberPattern>[579]\d{7}</nationalNumberPattern>
-        <exampleNumber>71234567</exampleNumber>
+        <!-- Temporarily allow both old [579]\d{7} and new 6[5-79]\d{7} format. -->
+        <nationalNumberPattern>
+          6[5-79]\d{7}|
+          [579]\d{7}
+        </nationalNumberPattern>
+        <exampleNumber>671234567</exampleNumber>
       </mobile>
       <tollFree>
         <nationalNumberPattern>800\d{5}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
         <exampleNumber>80012345</exampleNumber>
       </tollFree>
       <premiumRate>
              with 88 (usually 880). No information can be found as to whether these are premium rate
              or shared cost. -->
         <nationalNumberPattern>88\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
         <exampleNumber>88012345</exampleNumber>
       </premiumRate>
     </territory>
 
     <!-- Costa Rica -->
     <territory id="CR" countryCode="506" internationalPrefix="00"
-               nationalPrefixForParsing="(19(?:0[01468]|19|20|66|77))"
+               nationalPrefixForParsing="(19(?:0[012468]|1[09]|20|66|77|99))"
                carrierCodeFormattingRule="$CC $FG">
       <references>
         <sourceUrl>http://www.itu.int/oth/T0202000030/en</sourceUrl>
       </fixedLine>
       <mobile>
         <nationalNumberPattern>
-          57[0-3]\d{5}|
+          5(?:
+            0[01]|
+            7[0-3]
+          )\d{5}|
           6(?:
             [0-2]\d|
             30
             0(?:
               0[01]\d{4}|
               10[0-3]\d{3}|
-              2900\d{2}|
+              2(?:
+                00\d{3}|
+                900\d{2}
+              )|
               3[01]\d{4}|
               40\d{4}|
               5\d{5}|
+              60\d{4}|
               70[01]\d{3}|
               8[0-2]\d{4}
             )|
       <!-- Mobile, toll free, premium rate, personal number and VOIP copied from Australia. -->
       <mobile>
         <nationalNumberPattern>
+          14(?:
+            5\d|
+            71
+          )\d{5}|
           4(?:
             [0-2]\d|
             3[0-57-9]|
             4[47-9]|
-            5[0-37-9]|
+            5[0-25-9]|
             6[6-9]|
-            7[07-9]|
-            8[7-9]
+            7[03-9]|
+            8[17-9]|
+            9[017-9]
           )\d{6}
         </nationalNumberPattern>
         <possibleNumberPattern>\d{9}</possibleNumberPattern>
               )|
               5\d{1,2}|
               6[1-8]\d?
-            )\d{2,7}
+            )\d{2,8}
           )
         </nationalNumberPattern>
         <possibleNumberPattern>\d{2,15}</possibleNumberPattern>
       </fixedLine>
       <mobile>
         <!-- Adding 65 and 78 from numbers found online. Also, prefix 670 is added since the carrier
-             Mobilis Algeria provided it, and 54 for Nedjma. Prefixes 67[1-3] were also added for
+             Mobilis Algeria provided it, and 54 for Nedjma. Prefixes 67[1-4] were also added for
              Mobilis Algeria based on evidence found online. -->
         <nationalNumberPattern>
           (?:
           )\d{7}|
           6(?:
             [569]\d|
-            7[0-3]
+            7[0-4]
           )\d{6}
         </nationalNumberPattern>
         <possibleNumberPattern>\d{9}</possibleNumberPattern>
         <exampleNumber>8002123</exampleNumber>
       </noInternationalDialling>
       <fixedLine>
-        <!-- Supporting eFax numbers here as well. -->
         <nationalNumberPattern>
           (?:
             3[23589]|
-            4(?:
-              0\d|
-              [3-8]
-            )|
+            4[3-8]|
             6\d|
             7[1-9]|
             88
           )\d{5}
         </nationalNumberPattern>
-        <possibleNumberPattern>\d{7,8}</possibleNumberPattern>
+        <possibleNumberPattern>\d{7}</possibleNumberPattern>
         <exampleNumber>3212345</exampleNumber>
       </fixedLine>
       <mobile>
         <exampleNumber>80012345</exampleNumber>
       </tollFree>
       <premiumRate>
-        <nationalNumberPattern>900\d{4}</nationalNumberPattern>
-        <possibleNumberPattern>\d{7}</possibleNumberPattern>
+        <!-- Supporting eFax numbers here as well. We aren't sure the exact cost, but have
+             had user reports that they are expensive to dial. -->
+        <nationalNumberPattern>
+          (?:
+            40\d{2}|
+            900
+          )\d{4}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{7,8}</possibleNumberPattern>
         <exampleNumber>9001234</exampleNumber>
       </premiumRate>
       <personalNumber>
         <nationalNumberPattern>
           6(?:
             0[0-8]|
-            [12-7]\d|
-            8[01]|
-            9[2457-9]
+            [12-79]\d|
+            8[01]
           )\d{6}
         </nationalNumberPattern>
         <exampleNumber>650123456</exampleNumber>
                mobileNumberPortableRegion="true">
       <references>
         <sourceUrl>http://www.itu.int/oth/T0202000050/en</sourceUrl>
-        <sourceUrl>http://en.wikipedia.org/wiki/Telephone_numbers_in_Georgia.</sourceUrl>
+        <sourceUrl>http://en.wikipedia.org/wiki/Telephone_numbers_in_Georgia_(country)</sourceUrl>
       </references>
       <availableFormats>
         <!-- Format isn't very strictly defined - the yellow pages omits area code and does 2 2 2,
             2[034678]\d|
             5(?:
               [047]\d|
-              54
+              54|
+              6[01]
             )
           )\d{6}
         </nationalNumberPattern>
           <format>$1 $2</format>
         </numberFormat>
         <numberFormat nationalPrefixFormattingRule="($NP$FG)"
-          pattern="(\d{3})(\d{5,7})">
+          pattern="(\d{3})(\d{5,8})">
           <leadingDigits>
             [4579]|
             2[035-9]|
              Where known, fixed mobile prefixes have been represented as Mobile. -->
         <!-- Very short (5/6 digit) local numbers in Jakarta seem to be special cases for various
              well known companies (Mc Donalds, KFC etc...). Some of these are listed in:
-             http://cms.binus.edu/datapage/file/io/Spring2014SE/International_Student_Handbook_BINUS.pdf -->
+             http://cms.binus.edu/datapage/file/io/Spring2014SE/International_Student_Handbook_BINUS.pdf
+             There seem to be numbers of this length for area code 22 as well based on numbers found
+             online. -->
         <nationalNumberPattern>
           2(?:
             1(?:
               500\d{3}|
               9\d{6}
             )|
-            [24]\d{7,8}
+            2\d{6,8}|
+            4\d{7,8}
           )|
           (?:
             2(?:
               4[1-6]
             )|
             7(?:
-              1[1-46-9]|
+              1[1-9]|
               2[14-9]|
               [36]\d|
               4[1-8]|
             )
           )\d{5,8}
         </nationalNumberPattern>
-        <possibleNumberPattern>\d{5,10}</possibleNumberPattern>
+        <possibleNumberPattern>\d{5,11}</possibleNumberPattern>
         <exampleNumber>612345678</exampleNumber>
       </fixedLine>
       <mobile>
           5(?:
             [02347-9]\d{2}|
             5(?:
+              01|
               2[23]|
               3[34]|
               4[45]|
               5[5689]|
               6[67]|
               7[78]|
-              8[89]
+              8[89]|
+              9[7-9]
             )|
             6[2-9]\d
           )\d{5}
       </references>
        <availableFormats>
          <!-- Mobile numbers. -->
-         <numberFormat pattern="(\d{2})(\d{2})(\d{6})">
+         <numberFormat pattern="(\d{5})(\d{5})">
            <leadingDigits>
              7(?:
-               0[2-7]|
+               0[2-9]|
                2[0579]|
                3[057-9]|
                4[0-389]|
              7(?:
                0(?:
                  2[2-9]|
-                 [3-6]|
-                 7[0-8]
+                 [3-8]|
+                 9[0-8]
                )|
                2(?:
                  0[04-9]|
              )|
              9
            </leadingDigits>
-           <format>$1 $2 $3</format>
+           <format>$1 $2</format>
          </numberFormat>
          <!-- 2 digits area code -->
          <numberFormat pattern="(\d{2})(\d{4})(\d{4})">
                2[1-47]|
                3[15]|
                5[12]|
-               6[126-9]|
+               6[0-26-9]|
                7[0-24-9]|
                8[013-57]|
                9[014-7]
               2[1-47]|
               3[15]|
               5[12]|
-              6[126-9]|
+              6[0-26-9]|
               7[0-24-9]|
               8[013-57]|
               9[014-7]
             7(?:
               0(?:
                 2[2-9]|
-                [3-6]\d|
-                7[0-8]
+                [3-8]\d|
+                9[0-8]
               )|
               2(?:
                 0[04-9]|
       </references>
       <availableFormats>
         <!-- Formatting follows wikipedia. -->
-        <numberFormat pattern="(2[15])(\d{3,5})">
-          <!-- We exclude the 255 and 256 prefixes, which do not belong to Qom as of yet. -->
-          <leadingDigits>
-            2(?:
-              1|
-              5[0-47-9]
-            )
-          </leadingDigits>
+        <numberFormat pattern="(21)(\d{3,5})">
+          <leadingDigits>21</leadingDigits>
           <format>$1 $2</format>
         </numberFormat>
-        <numberFormat pattern="(2[15])(\d{3})(\d{3,4})">
-          <leadingDigits>
-            2(?:
-              1|
-              5[0-47-9]
-            )
-          </leadingDigits>
-          <format>$1 $2 $3</format>
-        </numberFormat>
-        <numberFormat pattern="(2\d)(\d{4})(\d{4})">
-          <leadingDigits>
-            2(?:
-              [16]|
-              5[0-47-9]
-            )
-          </leadingDigits>
+        <numberFormat pattern="(\d{2})(\d{4})(\d{4})">
+          <leadingDigits>[1-8]</leadingDigits>
           <format>$1 $2 $3</format>
         </numberFormat>
         <numberFormat pattern="(\d{3})(\d{3})(\d{3,4})">
-          <leadingDigits>
-            [13-9]|
-            2[02-57-9]
-          </leadingDigits>
+          <leadingDigits>9</leadingDigits>
           <format>$1 $2 $3</format>
         </numberFormat>
         <numberFormat pattern="(\d{3})(\d{2})(\d{2,3})">
-          <leadingDigits>
-            [13-9]|
-            2[02-57-9]
-          </leadingDigits>
+          <leadingDigits>9</leadingDigits>
           <format>$1 $2 $3</format>
         </numberFormat>
         <numberFormat pattern="(\d{3})(\d{3})">
-          <leadingDigits>
-            [13-9]|
-            2[02-57-9]
-          </leadingDigits>
+          <leadingDigits>9</leadingDigits>
           <format>$1 $2</format>
         </numberFormat>
       </availableFormats>
       <generalDesc>
         <nationalNumberPattern>
-          [14-8]\d{6,9}|
-          [23]\d{4,9}|
+          [1-8]\d{9}|
           9(?:
-            [1-4]\d{8}|
+            [0-4]\d{8}|
             9\d{2,8}
           )
         </nationalNumberPattern>
         <possibleNumberPattern>\d{4,10}</possibleNumberPattern>
       </generalDesc>
       <fixedLine>
-        <!-- We are following the more specific lengths specified in the communication in the ITU
-             doc of 26.VIII.2012, rather than the brief summary lengths (which actually contradict).
-             The prefixes have been verified by looking at the Persian telecommunications site.
-             22[189], 29[12] have become 21, as part of the shift to unify prefixes. 746 was also
-             found on the website http://www.tct.ir/?siteid=1&pageid=410&siteid=1 but this seems
-             to be a typo. It seems Qom is moving to 025, but 0255 and 0256 have not yet been
-             migrated away from under this prefix - in the meantime, support for 253 has been added
-             since this has been found in numbers online. -->
+        <!-- In Summer 2014 Iran unified all fixed phone numbers in the following way:
+             Each province is assigned a two digit prefix (except for North Khorasan which has 3).
+             Within each province, all numbers are exactly eight digits.  The expression below is
+             organized by province.  For each province we accept all eight-digit combinations.
+
+             11 Mazandaran
+             13 Gilan
+             17 Golestan
+             21 Tehran
+             23 Semnan
+             24 Zanjan
+             25 Qom
+             26 Alborz
+             28 Qazvin
+             31 Isfahan
+             34 Kerman
+             35 Yazd
+             38 Chahar Mahaal and Bakhtiari
+             41 East Azerbaijan
+             44 West Azerbaijan
+             45 Ardabil
+             51 Razavi Khorasan
+             54 Sistan and Baluchestan
+             56 South Khorasan
+             57 North Khorasan (Extras)
+             58 North Khorasan
+             61 Khuzestan
+             64 North Khorasan (Extras)
+             66 Lorestan
+             71 Fars
+             74 Kohgiluyeh and Boyer-Ahmad
+             76 Hormozgan
+             77 Bushehr
+             81 Hamadan
+             83 Kermanshah
+             84 Ilam
+             86 Markazi
+             87 Kurdistan
+             -->
         <nationalNumberPattern>
-          1(?:
-            [13-589][12]|
-            [27][1-4]
-          )\d{7}|
-          2(?:
-            1\d{3,8}|
-            3[12]\d{7}|
-            4(?:
-              1\d{4,7}|
-              2\d{7}
-            )|
-            5(?:
-              1\d{3,7}|
-              [2356]\d{7}
-            )|
-            6\d{8}|
-            7[34]\d{7}|
-            [89][12]\d{7}
-          )|
-          3(?:
-            1(?:
-              1\d{4,7}|
-              2\d{7}
-            )|
-            2[1-4]\d{7}|
-            3(?:
-              [125]\d{7}|
-              4\d{6,7}
-            )|
-            4(?:
-              1\d{6,7}
-              [24-9]\d{7}
-            )|
-            5(?:
-              1\d{4,7}|
-              [23]\d{7}
-            )|
-            [6-9][12]\d{7}
-          )|
-          4(?:
-            [135-9][12]\d{7}|
-            2[1-467]\d{7}|
-            4(?:
-              1\d{4,7}|
-              [2-4]\d{7}
-            )
-          )|
-          5(?:
-            1(?:
-              1\d{4,7}|
-              2\d{7}
-            )|
-            2[89]\d{7}|
-            3[1-5]\d{7}|
-            4(?:
-              1\d{4,7}|
-              [2-8]\d{7}
-            )|
-            [5-7][12]\d{7}|
-            8[1245]\d{7}
-          )|
-          6(?:
-            1(?:
-              1\d{6,7}|
-              2\d{7}
-            )|
-            [347-9][12]\d{7}|
-            5(?:
-              1\d{7}|
-              2\d{6,7}
-            )|
-            6[1-6]\d{7}
-          )|
-          7(?:
-            [13589][12]|
-            2[1289]|
-            4[1-4]|
-            6[1-6]|
-            7[1-3]
-          )\d{7}|
-          8(?:
-            [145][12]|
-            3[124578]|
-            6[1256]|
-            7[1245]
-          )\d{7}
+          (?:
+            1[137]|
+            2[13-68]|
+            3[1458]|
+            4[145]|
+            5[146-8]|
+            6[146]|
+            7[1467]|
+            8[13467]
+          )\d{8}
         </nationalNumberPattern>
-        <possibleNumberPattern>\d{5,10}</possibleNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
         <exampleNumber>2123456789</exampleNumber>
       </fixedLine>
       <mobile>
-        <nationalNumberPattern>9[1-3]\d{8}</nationalNumberPattern>
+        <nationalNumberPattern>
+          9(?:
+            0[12]|
+            [1-3]\d
+          )\d{7}
+        </nationalNumberPattern>
         <possibleNumberPattern>\d{10}</possibleNumberPattern>
         <exampleNumber>9123456789</exampleNumber>
       </mobile>
         <nationalNumberPattern>
           (?:
             4(?:
-              [14][0-245]|
+              1[0-24-6]|
               2[0-7]|
               [37][0-8]|
+              4[0-245]|
               5[0-3568]|
               6\d|
               8[0-36-8]
           38[589]\d{6}|
           (?:
             6(?:
-              1[0-8]|
-              3[0-27-9]|
-              4[0-27]|
-              5[0-29]|
+              1[1-8]|
+              3[089]|
+              4[0167]|
+              5[019]|
               [67][0-69]|
               9\d
             )|
             7(?:
               5[057]|
               7\d|
-              8[0-3]
+              8[0-36-8]
             )|
             8(?:
               2[0-5]|
+              3[0-4]|
               [469]\d|
               5[1-9]
             )
           )\d{4}
         </nationalNumberPattern>
-        <exampleNumber>6101234</exampleNumber>
+        <exampleNumber>6111234</exampleNumber>
       </mobile>
       <tollFree>
         <!-- The UIFN numbers mentioned in the Excel document are not yet included since no real
         <exampleNumber>9011234</exampleNumber>
       </premiumRate>
       <voip>
-        <nationalNumberPattern>49[0-24-79]\d{4}</nationalNumberPattern>
+        <nationalNumberPattern>49\d{5}</nationalNumberPattern>
         <possibleNumberPattern>\d{7}</possibleNumberPattern>
         <exampleNumber>4921234</exampleNumber>
       </voip>
               49|
               8\d
             )|
-            8(?:
-              2[6-9]|
-              [38]\d|
-              50|
-              7[014-9]
-            )|
+            87[0189]|
             95[48]
           )\d{4}
         </nationalNumberPattern>
       </fixedLine>
       <mobile>
         <!-- Adding 27, 28, 299, 31, 508, 527 and 566 as extra prefixes, as they have been found to
-             be valid by sending SMSs and looking at online number lookup sites.
+             be valid by sending SMSs and looking at online number lookup sites. Also added 50[3-79]
+             as we have found information online that the 50[3-9] range has been assigned to Digicel.
 
              Numbers have been found online for the following ranges 29x, 53x, 54x, 55x, 56x.
              Most have mobile numbers online so we have put them under mobile but is possible
             2[1789]\d|
             [348]\d{2}|
             5(?:
-              08|
+              0[3-9]|
               27|
               6[0-24-9]|
               [3-578]\d
       <mobile>
         <nationalNumberPattern>
           7(?:
-            [0-3]\d|
+            [0-36]\d|
             5[0-6]|
             7[0-5]|
             8[0-25-9]
           <leadingDigits>
             1(?:
               5[46-9]|
-              6[04678]
+              6[04678]|
+              8[0579]
             )
           </leadingDigits>
           <leadingDigits>
                 6[16]|
                 70|
                 88
+              )|
+              8(?:
+                00|
+                55|
+                77|
+                99
               )
             )
           </leadingDigits>
         <exampleNumber>7012345678</exampleNumber>
       </voip>
       <uan>
+        <!-- Prefix 18 added from numbers found online. -->
         <nationalNumberPattern>
           1(?:
             5(?:
               6[16]|
               70|
               88
+            )|
+            8(?:
+              00|
+              55|
+              77|
+              99
             )
           )\d{4}
         </nationalNumberPattern>
         <exampleNumber>7123456789</exampleNumber>
       </fixedLine>
       <mobile>
-        <!-- Added 776, apparently assigned to Beeline, and 747 for Tele2. -->
+        <!-- Added 708 for Altel, 776 for Beeline, 747 for Tele2. -->
         <nationalNumberPattern>
           7(?:
-            0[01257]|
+            0[012578]|
             47|
             6[02-4]|
             7[15-8]|
         <exampleNumber>21212862</exampleNumber>
       </fixedLine>
       <mobile>
-        <!-- Adding 202[89], 205[89], 207[68] and 209[57] from numbers found online. -->
+        <!-- Adding 202[89], 205[89], 207[68] and 209[15-7] from numbers found online. -->
         <nationalNumberPattern>
           20(?:
             2[2389]|
             5[4-689]|
             7[6-8]|
-            9[57-9]
+            9[15-9]
           )\d{6}
         </nationalNumberPattern>
         <possibleNumberPattern>\d{10}</possibleNumberPattern>
         <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. -->
+        <!-- Even though 20 is listed in the fixed-line plan, other documentation clarify that it is
+             for VOIP. Furthermore, even though the plan says that numbers beginning with 2[346-8]
+             must be exactly 8 digits, from information found online it seems that they can actually
+             be 6 (but not 7) digits long. -->
         <nationalNumberPattern>
           (?:
             2(?:
-              2\d{1,2}|
-              3[2-9]|
-              [67]\d|
-              4[1-8]\d?|
-              5[1-5]\d?|
-              9[0-24-9]\d?
+              [259]\d{2,9}|
+              [346-8]\d{4}(?:\d{2})?
             )|
-            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}
+            (?:
+              [3457]\d{2}|
+              8(?:
+                0[2-9]|
+                [13-9]\d
+              )|
+              9(?:
+                0[89]|
+                [2-579]\d
+              )
+            )\d{1,8}
+          )
         </nationalNumberPattern>
         <exampleNumber>27123456</exampleNumber>
       </fixedLine>
       <mobile>
-        <nationalNumberPattern>
-          6(?:
-            [269][18]|
-            71
-          )\d{6}
-        </nationalNumberPattern>
+        <nationalNumberPattern>6[2679][18]\d{6}</nationalNumberPattern>
         <possibleNumberPattern>\d{9}</possibleNumberPattern>
         <exampleNumber>628123456</exampleNumber>
       </mobile>
       </fixedLine>
       <!-- Also duplicated in Western Sahara, please ensure you update both. -->
       <mobile>
-        <!-- http://www.anrt.ma/sites/default/files/Blocs_de_numeros_par_operateur.pdf -->
+        <!-- http://www.anrt.ma/sites/default/files/Blocs_de_numeros_par_operateur.pdf
+             Prefixes 69[0136] added based on numbers found online. -->
         <nationalNumberPattern>
           6(?:
             0[0-8]|
-            [12-7]\d|
-            8[01]|
-            9[2457-9]
+            [12-79]\d|
+            8[01]
           )\d{6}
         </nationalNumberPattern>
         <exampleNumber>650123456</exampleNumber>
       <availableFormats>
         <!-- Following formatting found online rather than in the ITU document example. -->
         <numberFormat pattern="(\d{2})(\d{2})(\d{2})(\d{2})" nationalPrefixFormattingRule="$FG">
-          <leadingDigits>[89]</leadingDigits>
+          <leadingDigits>9</leadingDigits>
           <format>$1 $2 $3 $4</format>
         </numberFormat>
         <numberFormat pattern="(\d{2})(\d{3})(\d{3})">
           <leadingDigits>6</leadingDigits>
           <format>$1 $2 $3 $4 $5</format>
         </numberFormat>
+        <numberFormat pattern="(\d{3})(\d{3})(\d{2})" nationalPrefixFormattingRule="$FG">
+          <leadingDigits>8</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
       </availableFormats>
       <generalDesc>
         <nationalNumberPattern>[4689]\d{7,8}</nationalNumberPattern>
       </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>
+        <nationalNumberPattern>
+          870\d{5}|
+          9[2-47-9]\d{6}
+        </nationalNumberPattern>
         <possibleNumberPattern>\d{8}</possibleNumberPattern>
         <exampleNumber>99123456</exampleNumber>
       </fixedLine>
         <!-- 4X mobile numbers are actually used by Kosovo. -->
         <nationalNumberPattern>
           6\d{8}|
-          4\d{7}
+          4(?:
+            4\d|
+            5[2-9]
+          )\d{5}
         </nationalNumberPattern>
         <exampleNumber>612345678</exampleNumber>
       </mobile>
       <tollFree>
-        <nationalNumberPattern>
-          (?:
-            8\d|
-            90
-          )\d{6}
-        </nationalNumberPattern>
+        <nationalNumberPattern>90\d{6}</nationalNumberPattern>
         <possibleNumberPattern>\d{8}</possibleNumberPattern>
         <exampleNumber>90123456</exampleNumber>
       </tollFree>
     <territory id="MR" countryCode="222" internationalPrefix="00" >
       <references>
         <sourceUrl>http://www.itu.int/oth/T0202000087/en</sourceUrl>
-        <sourceUrl>http://www.are.mr/com-1-4-1.html</sourceUrl>
+        <sourceUrl>http://are.mr/pdfs/pnn2010.pdf</sourceUrl>
       </references>
       <availableFormats>
         <numberFormat pattern="([2-48]\d)(\d{2})(\d{2})(\d{2})">
         </nationalNumberPattern>
         <exampleNumber>35123456</exampleNumber>
       </fixedLine>
+      <!-- Added "49\d" in response to https://code.google.com/p/libphonenumber/issues/detail?id=529
+           which might be overly permissive, but we don't have an official documentation for this
+           and only a small number of numbers were found online. At least 492 and 495 are valid.
+           -->
       <mobile>
         <nationalNumberPattern>
           (?:
               7[1-3]
             )|
             4(?:
-              4\d|
+              [49]\d|
               6[0457-9]|
               7[4-9]|
               8[01346-8]
       <mobile>
         <!-- Although the plan lists the prefix 159 as broadband services (data only), apparently it
              is possible to send SMSs (and receive them) from numbers in this block, so we are
-             listing them as mobile. -->
+             listing them as mobile. 115 was added based on numbers found online. -->
         <nationalNumberPattern>
           1(?:
-            1[1-3]\d{2}|
+            1[1-35]\d{2}|
             [02-4679][2-9]\d|
             59\d{2}|
             8(?:
         <exampleNumber>106609</exampleNumber>
       </fixedLine>
       <mobile>
-        <nationalNumberPattern>38\d{4}</nationalNumberPattern>
+        <!-- Numbers found online with prefix 35. -->
+        <nationalNumberPattern>3[58]\d{4}</nationalNumberPattern>
         <exampleNumber>381234</exampleNumber>
       </mobile>
     </territory>
           <leadingDigits>
             70|
             8[01]|
-            90[239]
+            90[2359]
           </leadingDigits>
           <format>$1 $2 $3</format>
         </numberFormat>
              from Etisalat, 814 MTN and 811 from Glo. Furthermore, the fixed-line prefixes owned by
              Starcomms have apparently, according to the company, been used for mobile numbers too,
              despite the ITU plan, so we list them here as well. 701 has been added for Airtel/Zain.
-             903 has been added for MTN and 909 has been added for Etisalat. -->
+             903 has been added for MTN, 905 has been added for Globacom (Glo), and 909 has been
+             added for Etisalat. -->
         <nationalNumberPattern>
           (?:
             1(?:
               0[2-9]|
               1\d
             )\d|
-            90[239]\d
+            90[2359]\d
           )\d{6}
         </nationalNumberPattern>
         <possibleNumberPattern>\d{8,10}</possibleNumberPattern>
         <exampleNumber>21234567</exampleNumber>
       </fixedLine>
       <mobile>
-        <!-- Online users have reported seeing 5500 used by Claro; until we can find actual numbers
-             or any documentation about it, we restrict this pattern to this prefix exactly. 57 and
-             7[5-8] were added from bug reports/numbers found online. -->
+        <!-- 55[0-7], 57, 58 and 7[5-8] were added from bug reports/numbers found online. -->
         <nationalNumberPattern>
           5(?:
-            500\d{4}|
-            7\d{6}
+            5[0-7]\d{5}|
+            [78]\d{6}
           )|
           7[5-8]\d{6}|
           8\d{7}
           )\d{6}
         </nationalNumberPattern>
         <possibleNumberPattern>\d{8}</possibleNumberPattern>
-        <exampleNumber>41234567</exampleNumber>
+        <exampleNumber>40612345</exampleNumber>
       </mobile>
       <tollFree>
         <nationalNumberPattern>80[01]\d{5}</nationalNumberPattern>
       <references>
         <sourceUrl>http://www.itu.int/oth/T0202000095/en</sourceUrl>
         <sourceUrl>http://www.ntc.net.np/mobile/mob_postpaid_number_scheme.php</sourceUrl>
+        <sourceUrl>http://www.nta.gov.np/en/2012-06-01-11-45-17/2012-06-04-04-26-59/numbering-plan</sourceUrl>
       </references>
       <availableFormats>
         <!-- Formatting patterns taken from pages like http://www.nepalgov.gov.np -->
         <numberFormat pattern="(9\d{2})(\d{7})">
           <leadingDigits>
             9(?:
-              7[45]|
+              6[013]|
+              7[245]|
               8
             )
             </leadingDigits>
         <nationalNumberPattern>
           [1-8]\d{7}|
           9(?:
-            [1-69]\d{6}|
+            [1-69]\d{6,8}|
             7[2-6]\d{5,7}|
             8\d{8}
           )
         </nationalNumberPattern>
         <possibleNumberPattern>\d{6,10}</possibleNumberPattern>
       </generalDesc>
+      <!-- We don't support Rural Telecommunication Service at the moment since
+           we are not sure what type it is. -->
       <fixedLine>
-        <!-- Added (1) 2XXXXXX and (88) from numbers found online. -->
         <nationalNumberPattern>
           (?:
-            1[0124-6]|
-            2[13-79]|
-            3[135-8]|
-            4[146-9]|
-            5[135-7]|
-            6[13-9]|
-            7[15-9]|
-            8[1-46-9]|
-            9[1-79]
-          )\d{6}
+            1[0-6]\d|
+            2[13-79][2-6]|
+            3[135-8][2-6]|
+            4[146-9][2-6]|
+            5[135-7][2-6]|
+            6[13-9][2-6]|
+            7[15-9][2-6]|
+            8[1-46-9][2-6]|
+            9[1-79][2-6]
+          )\d{5}
         </nationalNumberPattern>
         <possibleNumberPattern>\d{6,8}</possibleNumberPattern>
         <exampleNumber>14567890</exampleNumber>
       </fixedLine>
-      <!-- There is no definitive source of information for mobile numbers in Nepal. The information
-           here is collected by searching the Internet. -->
       <mobile>
         <nationalNumberPattern>
           9(?:
-            7[45]|
+            6[013]|
+            7[245]|
             8[01456]
           )\d{7}
         </nationalNumberPattern>
         <!-- Includes payphone prefixes. -->
         <nationalNumberPattern>
           4(?:
-            0[45689]\d|
-            4|
-            99\d
+            [09][45689]\d|
+            4
           )\d{4}
         </nationalNumberPattern>
         <exampleNumber>40412345</exampleNumber>
       </fixedLine>
       <mobile>
-        <nationalNumberPattern>
-         8[79]\d{6}
-        </nationalNumberPattern>
+        <nationalNumberPattern>8[79]\d{6}</nationalNumberPattern>
         <possibleNumberPattern>\d{8}</possibleNumberPattern>
         <exampleNumber>87123456</exampleNumber>
       </mobile>
       </fixedLine>
       <mobile>
         <!-- Adding 311, 325 and 320 as SMSs have been successfully sent to these numbers and numbers
-             can be found online with these prefixes. Added 310 based on information from Zong. -->
+             can be found online with these prefixes. Added 310 based on information from Zong, and
+             316 based on information found online. -->
         <nationalNumberPattern>
           3(?:
             0\d|
-            [12][0-5]|
-            3[1-7]|
-            4[0-7]|
+            1[0-6]|
+            2[0-5]|
+            [34][0-7]|
             55|
             64
           )\d{7}
              until we find evidence that this is an error, leaving them at 10 for now. -->
         <nationalNumberPattern>
           (?:
-            5[013-689]|
-            811
-          )\d{7}
+            5(?:
+              [013-689]\d|
+              7[0-26-8]
+            )|
+            811\d
+          )\d{6}
         </nationalNumberPattern>
         <possibleNumberPattern>\d{9,10}</possibleNumberPattern>
         <exampleNumber>512345678</exampleNumber>
       <references>
         <sourceUrl>http://www.itu.int/oth/T02020000BF/en</sourceUrl>
       </references>
-      <!-- A single group is used to format 5-digit numbers. -->
+      <!-- A single group is used to format 5-digit numbers. This formatting pattern follows
+           the guidelines in the ITU document. -->
       <availableFormats>
-        <numberFormat pattern="(\d{3})(\d{4})">
+        <numberFormat pattern="(\d{2})(\d{5})">
           <leadingDigits>[7-9]</leadingDigits>
           <format>$1 $2</format>
         </numberFormat>
         <nationalNumberPattern>
           48\d{3}|
           7(?:
-            [0146-8]\d|
+            [46-8]\d|
             5[025-9]|
-            90
+            9[0-4]
           )\d{4}|
           8[4-8]\d{5}|
           9(?:
+            1[2-9]|
+            2[013-9]|
+            3[0-2]|
             [46]\d|
             5[0-46-9]|
             7[0-689]|
               1[0-2]|
               80
             )|
-            2(?:
-              11|
-              82
-            )|
+            282|
             3(?:
               8[1-9]|
               9[3-9]
             )|
+            611|
             90[1-5]
           )\d{5}
         </nationalNumberPattern>
         <nationalNumberPattern>
           7(?:
             [067]\d|
+            21|
             8[0-26]|
             90
           )\d{6}
           <format>$1-$2-$3</format>
         </numberFormat>
         <numberFormat pattern="(\d{3})(\d{4})">
-          <leadingDigits>[6-8]</leadingDigits>
+          <leadingDigits>
+            59|
+            [6-8]
+          </leadingDigits>
           <format>$1-$2</format>
         </numberFormat>
       </availableFormats>
       <mobile>
         <nationalNumberPattern>
           (?:
-            7(?:
-              [1-357]\d|
-              4[0-5]
-            )|
-            8[1-9]\d
-          )\d{4}
+            7[124-7]|
+            8[1-9]
+          )\d{5}
         </nationalNumberPattern>
         <possibleNumberPattern>\d{7}</possibleNumberPattern>
         <exampleNumber>7412345</exampleNumber>
       </mobile>
       <voip>
-        <nationalNumberPattern>56\d{4}</nationalNumberPattern>
-        <possibleNumberPattern>\d{6}</possibleNumberPattern>
+        <nationalNumberPattern>
+          5(?:
+            6\d{4}|
+            90[0-4]\d{3}
+          )
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{6,7}</possibleNumberPattern>
         <exampleNumber>561234</exampleNumber>
       </voip>
     </territory>
         <exampleNumber>22212345</exampleNumber>
       </fixedLine>
       <mobile>
-        <nationalNumberPattern>9[0-289]\d{6}</nationalNumberPattern>
+        <!-- Prefix 93 is from an open-source bug report -->
+        <nationalNumberPattern>9[0-389]\d{6}</nationalNumberPattern>
         <exampleNumber>90112345</exampleNumber>
       </mobile>
     </territory>
           <leadingDigits>2</leadingDigits>
           <format>$1 $2 $3</format>
         </numberFormat>
-        <numberFormat pattern="([3-9]\d)(\d{3})(\d{3,4})">
-          <leadingDigits>[3-9]</leadingDigits>
+        <numberFormat pattern="([13-9]\d)(\d{3})(\d{3,4})">
+          <leadingDigits>
+            14|
+            [3-9]
+          </leadingDigits>
           <format>$1 $2 $3</format>
         </numberFormat>
         <numberFormat nationalPrefixFormattingRule="$FG"
       <generalDesc>
         <nationalNumberPattern>
           [2-9]\d{7,8}|
-          1\d{3}(?:\d{6})?
+          1\d{3}(?:\d{5,6})?
         </nationalNumberPattern>
         <possibleNumberPattern>\d{4}|\d{8,10}</possibleNumberPattern>
       </generalDesc>
         <exampleNumber>21234567</exampleNumber>
       </fixedLine>
       <mobile>
-        <nationalNumberPattern>[89]\d{8}</nationalNumberPattern>
+        <!-- Numbers found online starting with 62. 14 and 63 are from an open-source bug report,
+             we couldn't find evidence of these specifically being in use but this article
+             http://www.prachachat.net/news_detail.php?newsid=1395732787&grpid=03&catid=06&subcatid=0600
+             talks about prefix 6 and 1 being cleared for mobile use. -->
+        <nationalNumberPattern>
+          (?:
+            14|
+            6[1-3]|
+            [89]\d
+          )\d{7}
+        </nationalNumberPattern>
         <possibleNumberPattern>\d{9}</possibleNumberPattern>
         <exampleNumber>812345678</exampleNumber>
       </mobile>
       </fixedLine>
       <mobile>
         <!-- Adding 90 prefix as SMS messages could be successfully delivered to these mobile
-             numbers, and 501 for TCell. -->
+             numbers, and 50[12] for TCell from bug reports. -->
         <nationalNumberPattern>
           (?:
-            50[15]|
+            50[125]|
             9[0-35-9]\d
           )\d{6}
         </nationalNumberPattern>
         <nationalNumberPattern>
           (?:
             [259]\d|
-            4[0-2]
+            4[0-24]
           )\d{6}
         </nationalNumberPattern>
         <exampleNumber>20123456</exampleNumber>
         <numberFormat pattern="(\d{3})(\d{4})">
           <leadingDigits>
             7[5-9]|
-            8[7-9]
+            8[47-9]
           </leadingDigits>
           <format>$1 $2</format>
         </numberFormat>
       </fixedLine>
       <mobile>
         <!-- TCC mobile numbers were given a prefix of "77" in 2009, although this is not mentioned
-             in their ITU document. Numbers with a prefix of "75" have also been found. -->
+             in their ITU document. Numbers with a prefix of "75" and "84" have also been found. -->
         <nationalNumberPattern>
           (?:
             7[578]|
-            8[7-9]
+            8[47-9]
           )\d{5}
         </nationalNumberPattern>
         <possibleNumberPattern>\d{7}</possibleNumberPattern>
         <nationalNumberPattern>
           868(?:
             2(?:
-              01|
+              [03]1|
               2[1-5]
             )|
             6(?:
-              07|
-              1[4-6]|
+              0[79]|
+              1[02-9]|
               2[1-9]|
-              [3-6]\d|
-              7[0-79]|
-              9[0-8]
+              [3-69]\d|
+              7[0-79]
             )|
-            82[12]
+            82[124]
           )\d{4}
         </nationalNumberPattern>
         <exampleNumber>8682211234</exampleNumber>
       </fixedLine>
       <mobile>
-        <!-- Adding 48X & 70X from the IR21 published by TSTT. 288 seems to be used based on numbers
-             found online. -->
         <nationalNumberPattern>
           868(?:
             2(?:
-              8[5-9]|
-              9\d
+              [89]\d
             )|
             3(?:
               0[1-9]|
               8\d
             )|
             7(?:
+              0[1-9]|
               1[02-9]|
-              [02-9]\d
+              [2-9]\d
             )
           )\d{4}
         </nationalNumberPattern>
       <mobile>
         <nationalNumberPattern>
           (?:
-            6[158]|
+            6[1578]|
             7[1-9]
           )\d{7}
         </nationalNumberPattern>
       <mobile>
         <!-- Added 79[5-9] and 707 from online numbers found with this prefix. -->
         <!-- Ranges with prefixes 7[46] are "not yet operational" as of Jun. 2013. -->
+        <!-- Ranges with prefixes 2030 or 723 are "not yet operational" as of Oct. 2014. -->
         <nationalNumberPattern>
+          2030\d{5}|
           7(?:
             0[0-7]|
             [15789]\d|
-            [23]0|
+            2[03]|
+            30|
             [46][0-4]
           )\d{6}
         </nationalNumberPattern>
               0[1346-9]|
               1[02-9]|
               2[0589]|
-              3[1678]|
+              3[01678]|
               4[0179]|
               5[12469]|
               7[0-3589]|
               0[1346-9]|
               1[02-9]|
               2[0589]|
-              3[1678]|
+              3[01678]|
               4[0179]|
               5[12469]|
               7[0-3589]|