phonelib 0.4.7 → 0.4.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (135) hide show
  1. checksums.yaml +4 -4
  2. data/README.rdoc +14 -1
  3. data/data/extended_data.dat +0 -0
  4. data/data/libphonenumber/README.md +18 -17
  5. data/data/libphonenumber/cpp/src/phonenumbers/base/basictypes.h +60 -5
  6. data/data/libphonenumber/cpp/src/phonenumbers/base/synchronization/lock.h +3 -1
  7. data/data/libphonenumber/cpp/src/phonenumbers/lite_metadata.cc +10690 -10653
  8. data/data/libphonenumber/cpp/src/phonenumbers/metadata.cc +8766 -8724
  9. data/data/libphonenumber/cpp/src/phonenumbers/short_metadata.cc +1529 -1523
  10. data/data/libphonenumber/cpp/src/phonenumbers/shortnumberinfo.cc +3 -0
  11. data/data/libphonenumber/java/carrier/pom.xml +4 -4
  12. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/PhoneNumberToCarrierMapper.java +1 -1
  13. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/1868_en +0 -0
  14. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/212_en +0 -0
  15. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/232_en +0 -0
  16. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/237_en +0 -0
  17. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/242_en +0 -0
  18. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/249_en +0 -0
  19. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/267_en +0 -0
  20. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/359_en +0 -0
  21. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/380_en +0 -0
  22. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/385_en +0 -0
  23. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/49_en +0 -0
  24. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/592_en +0 -0
  25. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/60_en +0 -0
  26. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/689_en +0 -0
  27. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/7_en +0 -0
  28. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/91_en +0 -0
  29. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/961_en +0 -0
  30. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/962_en +0 -0
  31. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/972_en +0 -0
  32. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/977_en +0 -0
  33. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/993_en +0 -0
  34. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/config +0 -0
  35. data/data/libphonenumber/java/demo/pom.xml +5 -5
  36. data/data/libphonenumber/java/demo/war/WEB-INF/appengine-web.xml +1 -1
  37. data/data/libphonenumber/java/geocoder/pom.xml +4 -4
  38. data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/226_en +0 -0
  39. data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/290_en +0 -0
  40. data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/290_fr +0 -0
  41. data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/56_en +0 -0
  42. data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/56_es +0 -0
  43. data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/592_en +0 -0
  44. data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/86_en +0 -0
  45. data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/86_zh +0 -0
  46. data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/config +0 -0
  47. data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/timezones/data/map_data +0 -0
  48. data/data/libphonenumber/java/internal/prefixmapper/pom.xml +3 -3
  49. data/data/libphonenumber/java/internal/prefixmapper/src/com/google/i18n/phonenumbers/prefixmapper/PrefixTimeZonesMap.java +1 -1
  50. data/data/libphonenumber/java/libphonenumber/pom.xml +2 -2
  51. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/CountryCodeToRegionCodeMap.java +4 -7
  52. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberMatch.java +1 -1
  53. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberUtil.java +4 -4
  54. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/ShortNumberInfo.java +3 -0
  55. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AC +0 -0
  56. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BF +0 -0
  57. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BG +0 -0
  58. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BS +0 -0
  59. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BW +0 -0
  60. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CG +0 -0
  61. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CL +0 -0
  62. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CM +0 -0
  63. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_DE +0 -0
  64. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_DZ +0 -0
  65. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_FR +0 -0
  66. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_HN +0 -0
  67. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_HR +0 -0
  68. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IL +0 -0
  69. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IN +0 -0
  70. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IT +0 -0
  71. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_JO +0 -0
  72. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_JP +0 -0
  73. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KW +0 -0
  74. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KY +0 -0
  75. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LB +0 -0
  76. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LI +0 -0
  77. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MA +0 -0
  78. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NP +0 -0
  79. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PL +0 -0
  80. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SB +0 -0
  81. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SD +0 -0
  82. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SH +0 -0
  83. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SL +0 -0
  84. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TM +0 -0
  85. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TT +0 -0
  86. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_UA +0 -0
  87. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_VA +0 -0
  88. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_GY +0 -0
  89. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_HR +0 -0
  90. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SB +0 -0
  91. data/data/libphonenumber/java/pom.xml +1 -1
  92. data/data/libphonenumber/java/release_notes.txt +28 -1
  93. data/data/libphonenumber/javascript/i18n/phonenumbers/demo-compiled.js +114 -164
  94. data/data/libphonenumber/javascript/i18n/phonenumbers/metadata.js +79 -78
  95. data/data/libphonenumber/javascript/i18n/phonenumbers/metadatalite.js +78 -77
  96. data/data/libphonenumber/resources/PhoneNumberMetadata.xml +750 -606
  97. data/data/libphonenumber/resources/ShortNumberMetadata.xml +39 -13
  98. data/data/libphonenumber/resources/carrier/en/1.txt +1 -0
  99. data/data/libphonenumber/resources/carrier/en/212.txt +1 -0
  100. data/data/libphonenumber/resources/carrier/en/232.txt +3 -1
  101. data/data/libphonenumber/resources/carrier/en/237.txt +1 -0
  102. data/data/libphonenumber/resources/carrier/en/242.txt +5 -2
  103. data/data/libphonenumber/resources/carrier/en/249.txt +1 -0
  104. data/data/libphonenumber/resources/carrier/en/267.txt +3 -0
  105. data/data/libphonenumber/resources/carrier/en/359.txt +1 -0
  106. data/data/libphonenumber/resources/carrier/en/380.txt +12 -1
  107. data/data/libphonenumber/resources/carrier/en/385.txt +3 -0
  108. data/data/libphonenumber/resources/carrier/en/49.txt +6 -0
  109. data/data/libphonenumber/resources/carrier/en/592.txt +15 -0
  110. data/data/libphonenumber/resources/carrier/en/60.txt +42 -2
  111. data/data/libphonenumber/resources/carrier/en/689.txt +16 -0
  112. data/data/libphonenumber/resources/carrier/en/7.txt +1 -0
  113. data/data/libphonenumber/resources/carrier/en/91.txt +19 -21
  114. data/data/libphonenumber/resources/carrier/en/961.txt +16 -6
  115. data/data/libphonenumber/resources/carrier/en/962.txt +3 -1
  116. data/data/libphonenumber/resources/carrier/en/972.txt +1 -0
  117. data/data/libphonenumber/resources/carrier/en/977.txt +1 -0
  118. data/data/libphonenumber/resources/carrier/en/993.txt +1 -0
  119. data/data/libphonenumber/resources/geocoding/en/226.txt +21 -21
  120. data/data/libphonenumber/resources/geocoding/en/290.txt +5 -5
  121. data/data/libphonenumber/resources/geocoding/en/56.txt +1 -0
  122. data/data/libphonenumber/resources/geocoding/en/592.txt +82 -0
  123. data/data/libphonenumber/resources/geocoding/en/86.txt +2438 -113
  124. data/data/libphonenumber/resources/geocoding/es/56.txt +1 -0
  125. data/data/libphonenumber/resources/geocoding/fr/290.txt +5 -5
  126. data/data/libphonenumber/resources/geocoding/zh/86.txt +2438 -113
  127. data/data/libphonenumber/resources/timezones/map_data.txt +70 -155
  128. data/data/libphonenumber/tools/cpp/src/base/basictypes.h +22 -4
  129. data/data/phone_data.dat +0 -0
  130. data/lib/phonelib/core.rb +41 -1
  131. data/lib/phonelib/data_importer.rb +40 -112
  132. data/lib/phonelib/data_importer_helper.rb +89 -0
  133. data/lib/phonelib/phone.rb +1 -1
  134. data/lib/phonelib/version.rb +1 -1
  135. metadata +9 -2
@@ -97,25 +97,30 @@
97
97
  </references>
98
98
  <!-- Formatted as a block. -->
99
99
  <generalDesc>
100
- <nationalNumberPattern>[2-7]\d{3,5}</nationalNumberPattern>
101
- <possibleNumberPattern>\d{4,6}</possibleNumberPattern>
100
+ <nationalNumberPattern>
101
+ [46]\d{4}|
102
+ [01589]\d{5}
103
+ </nationalNumberPattern>
104
+ <possibleNumberPattern>\d{5,6}</possibleNumberPattern>
102
105
  </generalDesc>
103
106
  <fixedLine>
104
107
  <nationalNumberPattern>
105
- (?:
106
- [267]\d|
107
- 3[0-5]|
108
- 4[4-69]
109
- )\d{2}
108
+ 6[2-467]\d{3}
110
109
  </nationalNumberPattern>
111
- <possibleNumberPattern>\d{4}</possibleNumberPattern>
112
- <exampleNumber>6889</exampleNumber>
110
+ <possibleNumberPattern>\d{5}</possibleNumberPattern>
111
+ <exampleNumber>62889</exampleNumber>
113
112
  </fixedLine>
114
113
  <mobile>
115
- <nationalNumberPattern>5\d{5}</nationalNumberPattern>
116
- <possibleNumberPattern>\d{6}</possibleNumberPattern>
117
- <exampleNumber>501234</exampleNumber>
114
+ <!-- Note prefix 4 is reserved for mobile use , not currently in use -->
115
+ <nationalNumberPattern>4\d{4}</nationalNumberPattern>
116
+ <possibleNumberPattern>\d{5}</possibleNumberPattern>
117
+ <exampleNumber>40123</exampleNumber>
118
118
  </mobile>
119
+ <uan>
120
+ <nationalNumberPattern>[01589]\d{5}</nationalNumberPattern>
121
+ <possibleNumberPattern>\d{6}</possibleNumberPattern>
122
+ <exampleNumber>542011</exampleNumber>
123
+ </uan>
119
124
  </territory>
120
125
 
121
126
  <!-- Andorra -->
@@ -251,7 +256,7 @@
251
256
  [2-7]
252
257
  </leadingDigits>
253
258
  <format>$1 $2 $3</format>
254
- </numberFormat>
259
+ </numberFormat>
255
260
  </availableFormats>
256
261
  <generalDesc>
257
262
  <nationalNumberPattern>[2-7]\d{8}</nationalNumberPattern>
@@ -681,105 +686,105 @@
681
686
  the latter two cases we just strip the 0 or 15 as appropriate and leave the number as is.)
682
687
  -->
683
688
  <territory id="AR" countryCode="54" internationalPrefix="00" nationalPrefix="0"
684
- nationalPrefixForParsing="
685
- 0?(?:(
686
- 11|
687
- 2(?:
688
- 2(?:
689
- 02?|
690
- [13]|
691
- 2[13-79]|
692
- 4[1-6]|
693
- 5[2457]|
694
- 6[124-8]|
695
- 7[1-4]|
696
- 8[13-6]|
697
- 9[1267]
698
- )|
699
- 3(?:
700
- 02?|
701
- 1[467]|
702
- 2[03-6]|
703
- 3[13-8]|
704
- [49][2-6]|
705
- 5[2-8]|
706
- [67]
707
- )|
708
- 4(?:
709
- 7[3-578]|
710
- 9
711
- )|
712
- 6(?:
713
- [0136]|
714
- 2[24-6]|
715
- 4[6-8]?|
716
- 5[15-8]
717
- )|
718
- 80|
719
- 9(?:
720
- 0[1-3]|
721
- [19]|
722
- 2\d|
723
- 3[1-6]|
724
- 4[02568]?|
725
- 5[2-4]|
726
- 6[2-46]|
727
- 72?|
728
- 8[23]?
729
- )
730
- )|
731
- 3(?:
732
- 3(?:
733
- 2[79]|
734
- 6|
735
- 8[2578]
736
- )|
737
- 4(?:
738
- 0[0-24-9]|
739
- [12]|
740
- 3[5-8]?|
741
- 4[24-7]|
742
- 5[4-68]?|
743
- 6[02-9]|
744
- 7[126]|
745
- 8[2379]?|
746
- 9[1-36-8]
747
- )|
748
- 5(?:
749
- 1|
750
- 2[1245]|
751
- 3[237]?|
752
- 4[1-46-9]|
753
- 6[2-4]|
754
- 7[1-6]|
755
- 8[2-5]?
756
- )|
757
- 6[24]|
758
- 7(?:
759
- [069]|
760
- 1[1568]|
761
- 2[15]|
762
- 3[145]|
763
- 4[13]|
764
- 5[14-8]|
765
- 7[2-57]|
766
- 8[126]
767
- )|
768
- 8(?:
769
- [01]|
770
- 2[15-7]|
771
- 3[2578]?|
772
- 4[13-6]|
773
- 5[4-8]?|
774
- 6[1-357-9]|
775
- 7[36-8]?|
776
- 8[5-8]?|
777
- 9[124]
778
- )
779
- )
780
- )?15)?"
781
- nationalPrefixTransformRule="9$1" nationalPrefixFormattingRule="$NP$FG"
782
- mobileNumberPortableRegion="true">
689
+ nationalPrefixForParsing="
690
+ 0?(?:(
691
+ 11|
692
+ 2(?:
693
+ 2(?:
694
+ 02?|
695
+ [13]|
696
+ 2[13-79]|
697
+ 4[1-6]|
698
+ 5[2457]|
699
+ 6[124-8]|
700
+ 7[1-4]|
701
+ 8[13-6]|
702
+ 9[1267]
703
+ )|
704
+ 3(?:
705
+ 02?|
706
+ 1[467]|
707
+ 2[03-6]|
708
+ 3[13-8]|
709
+ [49][2-6]|
710
+ 5[2-8]|
711
+ [67]
712
+ )|
713
+ 4(?:
714
+ 7[3-578]|
715
+ 9
716
+ )|
717
+ 6(?:
718
+ [0136]|
719
+ 2[24-6]|
720
+ 4[6-8]?|
721
+ 5[15-8]
722
+ )|
723
+ 80|
724
+ 9(?:
725
+ 0[1-3]|
726
+ [19]|
727
+ 2\d|
728
+ 3[1-6]|
729
+ 4[02568]?|
730
+ 5[2-4]|
731
+ 6[2-46]|
732
+ 72?|
733
+ 8[23]?
734
+ )
735
+ )|
736
+ 3(?:
737
+ 3(?:
738
+ 2[79]|
739
+ 6|
740
+ 8[2578]
741
+ )|
742
+ 4(?:
743
+ 0[0-24-9]|
744
+ [12]|
745
+ 3[5-8]?|
746
+ 4[24-7]|
747
+ 5[4-68]?|
748
+ 6[02-9]|
749
+ 7[126]|
750
+ 8[2379]?|
751
+ 9[1-36-8]
752
+ )|
753
+ 5(?:
754
+ 1|
755
+ 2[1245]|
756
+ 3[237]?|
757
+ 4[1-46-9]|
758
+ 6[2-4]|
759
+ 7[1-6]|
760
+ 8[2-5]?
761
+ )|
762
+ 6[24]|
763
+ 7(?:
764
+ [069]|
765
+ 1[1568]|
766
+ 2[15]|
767
+ 3[145]|
768
+ 4[13]|
769
+ 5[14-8]|
770
+ 7[2-57]|
771
+ 8[126]
772
+ )|
773
+ 8(?:
774
+ [01]|
775
+ 2[15-7]|
776
+ 3[2578]?|
777
+ 4[13-6]|
778
+ 5[4-8]?|
779
+ 6[1-357-9]|
780
+ 7[36-8]?|
781
+ 8[5-8]?|
782
+ 9[124]
783
+ )
784
+ )
785
+ )?15)?"
786
+ nationalPrefixTransformRule="9$1" nationalPrefixFormattingRule="$NP$FG"
787
+ mobileNumberPortableRegion="true">
783
788
  <references>
784
789
  <sourceUrl>http://www.itu.int/oth/T0202000009/en</sourceUrl>
785
790
  <!-- On the following link, click on Indicativos Interurbanos to access detailed
@@ -2520,23 +2525,23 @@
2520
2525
  </numberFormat>
2521
2526
  </availableFormats>
2522
2527
  <generalDesc>
2523
- <nationalNumberPattern>[24-7]\d{7}</nationalNumberPattern>
2528
+ <nationalNumberPattern>[267]\d{7}</nationalNumberPattern>
2524
2529
  <possibleNumberPattern>\d{8}</possibleNumberPattern>
2525
2530
  </generalDesc>
2526
2531
  <fixedLine>
2527
2532
  <nationalNumberPattern>
2528
- (?:
2529
- 20(?:
2533
+ 2(?:
2534
+ 0(?:
2530
2535
  49|
2531
2536
  5[23]|
2532
2537
  9[016-9]
2533
2538
  )|
2534
- 40(?:
2539
+ 4(?:
2535
2540
  4[569]|
2536
2541
  5[4-6]|
2537
2542
  7[0179]
2538
2543
  )|
2539
- 50(?:
2544
+ 5(?:
2540
2545
  [34]\d|
2541
2546
  50
2542
2547
  )
@@ -2593,6 +2598,10 @@
2593
2598
  <leadingDigits>[78]00</leadingDigits>
2594
2599
  <format>$1 $2 $3</format>
2595
2600
  </numberFormat>
2601
+ <numberFormat pattern="(\d{3})(\d{3})(\d{3})">
2602
+ <leadingDigits>999</leadingDigits>
2603
+ <format>$1 $2 $3</format>
2604
+ </numberFormat>
2596
2605
  <numberFormat pattern="(\d{2})(\d{3})(\d{2,3})">
2597
2606
  <leadingDigits>
2598
2607
  [356]|
@@ -2647,12 +2656,16 @@
2647
2656
  <possibleNumberPattern>\d{5,8}</possibleNumberPattern>
2648
2657
  <exampleNumber>2123456</exampleNumber>
2649
2658
  </fixedLine>
2659
+ <!-- 999-xxx-xxx numbers have been added based on information received from MAX telecom. -->
2650
2660
  <mobile>
2651
2661
  <nationalNumberPattern>
2652
2662
  (?:
2653
- 8[7-9]|
2654
- 98
2655
- )\d{7}|
2663
+ 8[7-9]\d|
2664
+ 9(?:
2665
+ 8\d|
2666
+ 99
2667
+ )
2668
+ )\d{6}|
2656
2669
  4(?:
2657
2670
  3[0789]|
2658
2671
  8\d
@@ -3296,7 +3309,10 @@
3296
3309
  8[78]|
3297
3310
  9[89]
3298
3311
  )|
3299
- 702
3312
+ 7(?:
3313
+ 02|
3314
+ 88
3315
+ )
3300
3316
  )\d{4}
3301
3317
  </nationalNumberPattern>
3302
3318
  <exampleNumber>2423456789</exampleNumber>
@@ -3479,11 +3495,12 @@
3479
3495
  <exampleNumber>2401234</exampleNumber>
3480
3496
  </fixedLine>
3481
3497
  <mobile>
3498
+ <!-- Added prefixes 748, 749, 778 after getting confirmation from the carriers who
3499
+ own them. -->
3482
3500
  <nationalNumberPattern>
3483
3501
  7(?:
3484
- [1-356]\d|
3485
- 4[0-7]|
3486
- 7[014-7]
3502
+ [1-6]\d|
3503
+ 7[014-8]
3487
3504
  )\d{5}
3488
3505
  </nationalNumberPattern>
3489
3506
  <possibleNumberPattern>\d{8}</possibleNumberPattern>
@@ -4107,10 +4124,11 @@
4107
4124
  <exampleNumber>061234567</exampleNumber>
4108
4125
  </mobile>
4109
4126
  <!-- Referred to as a "Green number" in the telephone plan. -->
4110
- <tollFree>
4127
+ <premiumRate>
4128
+ <!-- Using this to represent Value Added Service in the plan. -->
4111
4129
  <nationalNumberPattern>800\d{6}</nationalNumberPattern>
4112
4130
  <exampleNumber>800123456</exampleNumber>
4113
- </tollFree>
4131
+ </premiumRate>
4114
4132
  </territory>
4115
4133
 
4116
4134
  <!-- Switzerland -->
@@ -4316,7 +4334,7 @@
4316
4334
  <numberFormat pattern="(\d)(\d{4})(\d{4})"
4317
4335
  nationalPrefixFormattingRule="($FG)"
4318
4336
  carrierCodeFormattingRule="$CC ($FG)">
4319
- <leadingDigits>22</leadingDigits>
4337
+ <leadingDigits>2[23]</leadingDigits>
4320
4338
  <format>$1 $2 $3</format>
4321
4339
  </numberFormat>
4322
4340
  <numberFormat pattern="(\d{2})(\d{3})(\d{4})"
@@ -4398,6 +4416,10 @@
4398
4416
  <nationalNumberPattern>
4399
4417
  2(?:
4400
4418
  2\d{7}|
4419
+ 3(?:
4420
+ 20|
4421
+ 22
4422
+ )\d{5}|
4401
4423
  1962\d{4}
4402
4424
  )|
4403
4425
  (?:
@@ -4455,9 +4477,9 @@
4455
4477
  <leadingDigits>[26]</leadingDigits>
4456
4478
  <format>$1 $2 $3 $4 $5</format>
4457
4479
  </numberFormat>
4458
- <numberFormat pattern="([2357-9]\d)(\d{2})(\d{2})(\d{2})">
4480
+ <numberFormat pattern="(\d{2})(\d{2})(\d{2})(\d{2})">
4459
4481
  <leadingDigits>
4460
- [23579]|
4482
+ [23]|
4461
4483
  88
4462
4484
  </leadingDigits>
4463
4485
  <format>$1 $2 $3 $4</format>
@@ -4468,11 +4490,10 @@
4468
4490
  </numberFormat>
4469
4491
  </availableFormats>
4470
4492
  <generalDesc>
4471
- <nationalNumberPattern>[235-9]\d{7,8}</nationalNumberPattern>
4493
+ <nationalNumberPattern>[2368]\d{7,8}</nationalNumberPattern>
4472
4494
  <possibleNumberPattern>\d{8,9}</possibleNumberPattern>
4473
4495
  </generalDesc>
4474
4496
  <fixedLine>
4475
- <!-- Temporarily allow both old (22|33) and new 2(22|33) format. -->
4476
4497
  <!-- CDMA numbers are described in a subcategory to fixed line numbers in the ITU update
4477
4498
  document, so those prefixes are added to fixed line (24[23]). -->
4478
4499
  <nationalNumberPattern>
@@ -4480,20 +4501,15 @@
4480
4501
  22|
4481
4502
  33|
4482
4503
  4[23]
4483
- )\d{6}|
4484
- (?:
4485
- 22|
4486
- 33
4487
4504
  )\d{6}
4488
4505
  </nationalNumberPattern>
4506
+ <possibleNumberPattern>\d{9}</possibleNumberPattern>
4489
4507
  <exampleNumber>222123456</exampleNumber>
4490
4508
  </fixedLine>
4491
4509
  <mobile>
4492
- <!-- Temporarily allow both old [579]\d{7} and new 6[5-79]\d{7} format. -->
4493
- <nationalNumberPattern>
4494
- 6[5-79]\d{7}|
4495
- [579]\d{7}
4496
- </nationalNumberPattern>
4510
+ <!-- 68 was added based on info found online. -->
4511
+ <nationalNumberPattern>6[5-9]\d{7}</nationalNumberPattern>
4512
+ <possibleNumberPattern>\d{9}</possibleNumberPattern>
4497
4513
  <exampleNumber>671234567</exampleNumber>
4498
4514
  </mobile>
4499
4515
  <tollFree>
@@ -5554,6 +5570,14 @@
5554
5570
  <leadingDigits>1[67]</leadingDigits>
5555
5571
  <format>$1 $2</format>
5556
5572
  </numberFormat>
5573
+ <!-- Some non-geographical German numbers (carrier services etc..) have a 5 digit NSN and
5574
+ need to be formatted with 5 leading digits (as opposed to the 4.7 format below).
5575
+ These are all in the ranges 150, 155, 156 and 158 and as there is no overlap with
5576
+ other number formats in those ranges, we only need to test the first 3 digits. -->
5577
+ <numberFormat pattern="(15\d{3})(\d{6})">
5578
+ <leadingDigits>15[0568]</leadingDigits>
5579
+ <format>$1 $2</format>
5580
+ </numberFormat>
5557
5581
  <numberFormat pattern="(1\d{3})(\d{7})">
5558
5582
  <leadingDigits>15</leadingDigits>
5559
5583
  <format>$1 $2</format>
@@ -5807,7 +5831,7 @@
5807
5831
  -->
5808
5832
  <nationalNumberPattern>
5809
5833
  1(?:
5810
- 5[0-2579]\d{8}|
5834
+ 5[0-25-9]\d{8}|
5811
5835
  6[023]\d{7,8}|
5812
5836
  7(?:
5813
5837
  [0-57-9]\d?|
@@ -6150,7 +6174,7 @@
6150
6174
  <possibleNumberPattern>\d{10}</possibleNumberPattern>
6151
6175
  <exampleNumber>5002345678</exampleNumber>
6152
6176
  </personalNumber>
6153
- </territory>
6177
+ </territory>
6154
6178
 
6155
6179
  <!-- Algeria -->
6156
6180
  <territory id="DZ" countryCode="213" internationalPrefix="00"
@@ -6199,7 +6223,9 @@
6199
6223
  <mobile>
6200
6224
  <!-- Adding 65 and 78 from numbers found online. Also, prefix 670 is added since the carrier
6201
6225
  Mobilis Algeria provided it, and 54 for Nedjma. Prefixes 67[1-4] were also added for
6202
- Mobilis Algeria based on evidence found online. -->
6226
+ Mobilis Algeria based on evidence found online. Added new ranges 675 and 676 as
6227
+ per IR21 received.
6228
+ -->
6203
6229
  <nationalNumberPattern>
6204
6230
  (?:
6205
6231
  5[4-6]|
@@ -6207,7 +6233,7 @@
6207
6233
  )\d{7}|
6208
6234
  6(?:
6209
6235
  [569]\d|
6210
- 7[0-4]
6236
+ 7[0-6]
6211
6237
  )\d{6}
6212
6238
  </nationalNumberPattern>
6213
6239
  <possibleNumberPattern>\d{9}</possibleNumberPattern>
@@ -6236,7 +6262,7 @@
6236
6262
  <possibleNumberPattern>\d{9}</possibleNumberPattern>
6237
6263
  <exampleNumber>983123456</exampleNumber>
6238
6264
  </voip>
6239
- </territory>
6265
+ </territory>
6240
6266
 
6241
6267
  <!-- Ecuador -->
6242
6268
  <territory id="EC" countryCode="593" internationalPrefix="00"
@@ -6473,33 +6499,33 @@
6473
6499
  <territory id="EG" countryCode="20" internationalPrefix="00"
6474
6500
  nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG"
6475
6501
  mobileNumberPortableRegion="true">
6476
- <references>
6477
- <sourceUrl>http://www.itu.int/oth/T020200003E/en</sourceUrl>
6478
- </references>
6479
- <availableFormats>
6480
- <!-- Note that no explicit formatting rule is here for 5-digit numbers starting with a 16
6481
- or 19. These are formatted without national prefix, as a block, so do not need to be
6482
- listed here. -->
6483
- <numberFormat pattern="(\d)(\d{7,8})">
6484
- <leadingDigits>[23]</leadingDigits>
6485
- <format>$1 $2</format>
6486
- </numberFormat>
6487
- <numberFormat pattern="(\d{3})(\d{3})(\d{4})">
6488
- <leadingDigits>
6489
- 1[012]|
6490
- [89]00
6491
- </leadingDigits>
6492
- <format>$1 $2 $3</format>
6493
- </numberFormat>
6494
- <numberFormat pattern="(\d{2})(\d{6,7})">
6495
- <leadingDigits>
6496
- 1[35]|
6497
- [4-6]|
6498
- [89][2-9]
6499
- </leadingDigits>
6500
- <format>$1 $2</format>
6501
- </numberFormat>
6502
- </availableFormats>
6502
+ <references>
6503
+ <sourceUrl>http://www.itu.int/oth/T020200003E/en</sourceUrl>
6504
+ </references>
6505
+ <availableFormats>
6506
+ <!-- Note that no explicit formatting rule is here for 5-digit numbers starting with a 16
6507
+ or 19. These are formatted without national prefix, as a block, so do not need to be
6508
+ listed here. -->
6509
+ <numberFormat pattern="(\d)(\d{7,8})">
6510
+ <leadingDigits>[23]</leadingDigits>
6511
+ <format>$1 $2</format>
6512
+ </numberFormat>
6513
+ <numberFormat pattern="(\d{3})(\d{3})(\d{4})">
6514
+ <leadingDigits>
6515
+ 1[012]|
6516
+ [89]00
6517
+ </leadingDigits>
6518
+ <format>$1 $2 $3</format>
6519
+ </numberFormat>
6520
+ <numberFormat pattern="(\d{2})(\d{6,7})">
6521
+ <leadingDigits>
6522
+ 1[35]|
6523
+ [4-6]|
6524
+ [89][2-9]
6525
+ </leadingDigits>
6526
+ <format>$1 $2</format>
6527
+ </numberFormat>
6528
+ </availableFormats>
6503
6529
  <generalDesc>
6504
6530
  <nationalNumberPattern>
6505
6531
  1\d{4,9}|
@@ -7138,8 +7164,8 @@
7138
7164
  </generalDesc>
7139
7165
  <fixedLine>
7140
7166
  <nationalNumberPattern>
7141
- 3[2357]0[1-9]\d{3}|
7142
- 9[2-6]\d{5}
7167
+ 3[2357]0[1-9]\d{3}|
7168
+ 9[2-6]\d{5}
7143
7169
  </nationalNumberPattern>
7144
7170
  <exampleNumber>3201234</exampleNumber>
7145
7171
  </fixedLine>
@@ -7252,7 +7278,10 @@
7252
7278
  <mobile>
7253
7279
  <nationalNumberPattern>
7254
7280
  6\d{8}|
7255
- 7[5-9]\d{7}
7281
+ 7(?:
7282
+ 00\d{6}|
7283
+ [3-9]\d{7}
7284
+ )
7256
7285
  </nationalNumberPattern>
7257
7286
  <exampleNumber>612345678</exampleNumber>
7258
7287
  </mobile>
@@ -7299,7 +7328,7 @@
7299
7328
  <!-- This already has a leading zero so we format is "as is". -->
7300
7329
  <numberFormat pattern="(\d{2})(\d{2})(\d{2})(\d{2})">
7301
7330
  <leadingDigits>0</leadingDigits>
7302
- <format>$1 $2 $3 $4</format>
7331
+ <format>$1 $2 $3 $4</format>
7303
7332
  </numberFormat>
7304
7333
  </availableFormats>
7305
7334
  <generalDesc>
@@ -9049,10 +9078,10 @@
9049
9078
  </nationalNumberPattern>
9050
9079
  <exampleNumber>2201234</exampleNumber>
9051
9080
  </fixedLine>
9081
+ <!-- Although the ITU document would allow for a stricter pattern, the country has a track
9082
+ record of underreporting valid mobile ranges and 6XXXXXX is almost fully assigned.
9083
+ A more lenient pattern is better here. -->
9052
9084
  <mobile>
9053
- <!-- The ITU document only describes a few ranges for mobile numbers but there is evidence
9054
- that SMS messages have been succesfully sent to numbers in the entire range prefixed
9055
- with 6. -->
9056
9085
  <nationalNumberPattern>6\d{6}</nationalNumberPattern>
9057
9086
  <exampleNumber>6091234</exampleNumber>
9058
9087
  </mobile>
@@ -9159,7 +9188,7 @@
9159
9188
  <possibleNumberPattern>\d{8}</possibleNumberPattern>
9160
9189
  <exampleNumber>81123456</exampleNumber>
9161
9190
  </personalNumber>
9162
- </territory>
9191
+ </territory>
9163
9192
 
9164
9193
  <!-- Honduras -->
9165
9194
  <!-- It seems there is no longer a trunk prefix in use, based on websites like
@@ -9170,16 +9199,17 @@
9170
9199
  <sourceUrl>http://www.itu.int/oth/T020200005F/en</sourceUrl>
9171
9200
  </references>
9172
9201
  <availableFormats>
9173
- <numberFormat pattern="(\d{4})(\d{4})">
9174
- <format>$1-$2</format>
9175
- </numberFormat>
9202
+ <numberFormat pattern="(\d{4})(\d{4})">
9203
+ <format>$1-$2</format>
9204
+ </numberFormat>
9176
9205
  </availableFormats>
9177
9206
  <generalDesc>
9178
9207
  <nationalNumberPattern>[237-9]\d{7}</nationalNumberPattern>
9179
9208
  <possibleNumberPattern>\d{8}</possibleNumberPattern>
9180
9209
  </generalDesc>
9181
9210
  <fixedLine>
9182
- <!-- Extra prefixes 227[01389], 228X, 2292 & 260X were added from numbers found online. -->
9211
+ <!-- Extra prefixes 227[01389], 228X, 2292, 260X and 2634 were added from numbers
9212
+ found online. -->
9183
9213
  <nationalNumberPattern>
9184
9214
  2(?:
9185
9215
  2(?:
@@ -9206,6 +9236,7 @@
9206
9236
  )|
9207
9237
  6(?:
9208
9238
  [056]\d|
9239
+ 34|
9209
9240
  4[0-378]|
9210
9241
  [78][0-8]|
9211
9242
  9[01]
@@ -9242,20 +9273,20 @@
9242
9273
  <!-- The plan says 1 XXX XXXX but the government and local telecom websites are formatted 1
9243
9274
  XXXX XXX, so we prefer that formatting here. These same sources prefer XXX XXX to XX
9244
9275
  XXXX as well. -->
9245
- <numberFormat pattern="(1)(\d{4})(\d{3})">
9246
- <leadingDigits>1</leadingDigits>
9247
- <format>$1 $2 $3</format>
9248
- </numberFormat>
9249
- <numberFormat pattern="(6[09])(\d{4})(\d{3})">
9250
- <leadingDigits>6[09]</leadingDigits>
9251
- <format>$1 $2 $3</format>
9252
- </numberFormat>
9253
- <numberFormat pattern="(62)(\d{3})(\d{3,4})">
9254
- <leadingDigits>62</leadingDigits>
9255
- <format>$1 $2 $3</format>
9256
- </numberFormat>
9257
- <numberFormat pattern="([2-5]\d)(\d{3})(\d{3})">
9258
- <leadingDigits>[2-5]</leadingDigits>
9276
+ <numberFormat pattern="(1)(\d{4})(\d{3})">
9277
+ <leadingDigits>1</leadingDigits>
9278
+ <format>$1 $2 $3</format>
9279
+ </numberFormat>
9280
+ <numberFormat pattern="(6[09])(\d{4})(\d{3})">
9281
+ <leadingDigits>6[09]</leadingDigits>
9282
+ <format>$1 $2 $3</format>
9283
+ </numberFormat>
9284
+ <numberFormat pattern="([67]2)(\d{3})(\d{3,4})">
9285
+ <leadingDigits>[67]2</leadingDigits>
9286
+ <format>$1 $2 $3</format>
9287
+ </numberFormat>
9288
+ <numberFormat pattern="([2-5]\d)(\d{3})(\d{3,4})">
9289
+ <leadingDigits>[2-5]</leadingDigits>
9259
9290
  <format>$1 $2 $3</format>
9260
9291
  </numberFormat>
9261
9292
  <numberFormat pattern="(9\d)(\d{3})(\d{3,4})">
@@ -9272,14 +9303,14 @@
9272
9303
  </numberFormat>
9273
9304
  <numberFormat pattern="(\d{2})(\d{2})(\d{2,3})">
9274
9305
  <leadingDigits>
9275
- 6[145]|
9306
+ 6[0145]|
9276
9307
  7
9277
9308
  </leadingDigits>
9278
9309
  <format>$1 $2 $3</format>
9279
9310
  </numberFormat>
9280
9311
  <numberFormat pattern="(\d{2})(\d{3,4})(\d{3})">
9281
9312
  <leadingDigits>
9282
- 6[145]|
9313
+ 6[0145]|
9283
9314
  7
9284
9315
  </leadingDigits>
9285
9316
  <format>$1 $2 $3</format>
@@ -9301,27 +9332,32 @@
9301
9332
  <possibleNumberPattern>\d{6,12}</possibleNumberPattern>
9302
9333
  </generalDesc>
9303
9334
  <fixedLine>
9304
- <nationalNumberPattern>
9335
+ <nationalNumberPattern>
9305
9336
  1\d{7}|
9306
9337
  (?:
9307
9338
  2[0-3]|
9308
9339
  3[1-5]|
9309
9340
  4[02-47-9]|
9310
9341
  5[1-3]
9311
- )\d{6}
9342
+ )\d{6,7}
9312
9343
  </nationalNumberPattern>
9313
- <possibleNumberPattern>\d{6,8}</possibleNumberPattern>
9344
+ <possibleNumberPattern>\d{6,9}</possibleNumberPattern>
9314
9345
  <exampleNumber>12345678</exampleNumber>
9315
9346
  </fixedLine>
9316
9347
  <uan>
9317
- <!-- ITU numbering plan doesn't specify the length of the numbers with prefix 62, but there
9318
- are numbers on the internet with 6 or 7 digits after the prefix. -->
9319
- <nationalNumberPattern>62\d{6,7}</nationalNumberPattern>
9348
+ <!-- ITU numbering specifies the length of the numbers with prefix 62 as 8, but there
9349
+ are numbers on the internet with 7 digits after the prefix too. -->
9350
+ <nationalNumberPattern>[76]2\d{6,7}</nationalNumberPattern>
9320
9351
  <possibleNumberPattern>\d{8,9}</possibleNumberPattern>
9321
9352
  <exampleNumber>62123456</exampleNumber>
9322
9353
  </uan>
9323
9354
  <mobile>
9324
- <nationalNumberPattern>9[1257-9]\d{6,10}</nationalNumberPattern>
9355
+ <nationalNumberPattern>
9356
+ 9(?:
9357
+ [1-9]\d{6,10}|
9358
+ 01\d{6,9}
9359
+ )
9360
+ </nationalNumberPattern>
9325
9361
  <possibleNumberPattern>\d{8,12}</possibleNumberPattern>
9326
9362
  <exampleNumber>912345678</exampleNumber>
9327
9363
  </mobile>
@@ -9331,14 +9367,11 @@
9331
9367
  <exampleNumber>8001234567</exampleNumber>
9332
9368
  </tollFree>
9333
9369
  <premiumRate>
9334
- <!-- The prefixes 060, 061, 064, 065 and 069 are named as premium rate numbers by
9335
- http://www.vipnet.hr/en/poslovni-korisnici/telefon-internet/vip-adsl-usluga#panel_4.
9336
- -->
9370
+ <!-- The prefixes 060, 061, 064, 065 and 069 are named as premium rate numbers by http://www.vipnet.hr/en/poslovni-korisnici/telefon-internet/vip-adsl-usluga#panel_4.-->
9337
9371
  <nationalNumberPattern>
9338
- 6(?:
9339
- [09]\d{7}|
9340
- [145]\d{4,7}
9341
- )
9372
+ 6(?:
9373
+ [01459]\d{4,7}
9374
+ )
9342
9375
  </nationalNumberPattern>
9343
9376
  <possibleNumberPattern>\d{6,9}</possibleNumberPattern>
9344
9377
  <exampleNumber>611234</exampleNumber>
@@ -9986,7 +10019,7 @@
9986
10019
  added 5570 and 5571 prefixes based on confirmation from the carrier. -->
9987
10020
  <nationalNumberPattern>
9988
10021
  5(?:
9989
- [02347-9]\d{2}|
10022
+ [02-47-9]\d{2}|
9990
10023
  5(?:
9991
10024
  01|
9992
10025
  2[23]|
@@ -9995,7 +10028,7 @@
9995
10028
  5[5689]|
9996
10029
  6[67]|
9997
10030
  7[0178]|
9998
- [89][7-9]
10031
+ [89][6-9]
9999
10032
  )|
10000
10033
  6[2-9]\d
10001
10034
  )\d{5}
@@ -10015,10 +10048,10 @@
10015
10048
  <exampleNumber>1800123456</exampleNumber>
10016
10049
  </tollFree>
10017
10050
  <premiumRate>
10018
- <!-- Peculiarly, one source states that 1956 and 1957 are the new premium rate prefixes.
10019
- However, no online numbers starting with these prefixes can be found, and this data
10020
- is not found in any other source. -->
10021
- <!-- 1200 and 1212 numbers are for televoting. -->
10051
+ <!-- Peculiarly, one source states that 1956 and 1957 are the new premium rate prefixes.
10052
+ However, no online numbers starting with these prefixes can be found, and this data
10053
+ is not found in any other source. -->
10054
+ <!-- 1200 and 1212 numbers are for televoting. -->
10022
10055
  <nationalNumberPattern>
10023
10056
  1(?:
10024
10057
  212|
@@ -10045,20 +10078,23 @@
10045
10078
  Dialing) numbers, that most people forward to VoIP numbers. -->
10046
10079
  <nationalNumberPattern>
10047
10080
  7(?:
10081
+ 18\d|
10048
10082
  2[23]\d|
10049
10083
  3[237]\d|
10050
10084
  47\d|
10051
10085
  6(?:
10052
10086
  5\d|
10053
- 8[068]
10087
+ 8[0168]
10054
10088
  )|
10055
10089
  7\d{2}|
10056
10090
  8(?:
10091
+ 2\d|
10057
10092
  33|
10058
10093
  55|
10059
10094
  77|
10060
10095
  81
10061
- )
10096
+ )|
10097
+ 99\d
10062
10098
  )\d{5}
10063
10099
  </nationalNumberPattern>
10064
10100
  <possibleNumberPattern>\d{9}</possibleNumberPattern>
@@ -10159,303 +10195,306 @@
10159
10195
  5624\d
10160
10196
  )|
10161
10197
  7(?:
10162
- 0624\d|
10163
- 2299\d
10198
+ 0624\d|
10199
+ 2299\d
10200
+ )
10201
+ )\d{3}|
10202
+ 55\d{8}
10203
+ </nationalNumberPattern>
10204
+ <possibleNumberPattern>\d{10}</possibleNumberPattern>
10205
+ <exampleNumber>5512345678</exampleNumber>
10206
+ </uan>
10207
+ </territory>
10208
+
10209
+ <!-- India -->
10210
+ <!-- Note that several changes in area codes have occurred since the numbering plan was released
10211
+ - fixed line changes are notified on the http://www.bsnl.co.in website. Area codes can be
10212
+ verified here at http://dq.ndc.bsnl.co.in/bsnl-web/stdSearch.seam. -->
10213
+ <territory id="IN" countryCode="91" internationalPrefix="00" nationalPrefix="0"
10214
+ nationalPrefixFormattingRule="$NP$FG" nationalPrefixOptionalWhenFormatting="true"
10215
+ mobileNumberPortableRegion="true">
10216
+ <references>
10217
+ <sourceUrl>http://www.itu.int/oth/T0202000063/en</sourceUrl>
10218
+ <sourceUrl>http://en.wikipedia.org/wiki/%2B91</sourceUrl>
10219
+ <sourceUrl>http://www.coai.in/msccodes.php</sourceUrl>
10220
+ </references>
10221
+ <availableFormats>
10222
+ <!-- Mobile numbers. -->
10223
+ <numberFormat pattern="(\d{5})(\d{5})">
10224
+ <leadingDigits>
10225
+ 7(?:
10226
+ 0[2-9]|
10227
+ 2[012579]|
10228
+ 3[057-9]|
10229
+ 4[0-389]|
10230
+ 6[0-35-9]|
10231
+ [57]|
10232
+ 8[0-79]
10233
+ )|
10234
+ 8(?:
10235
+ 0[015689]|
10236
+ 1[0-57-9]|
10237
+ 2[2356-9]|
10238
+ 3[0-57-9]|
10239
+ [45]|
10240
+ 6[02457-9]|
10241
+ 7[1-69]|
10242
+ 8[0124-9]|
10243
+ 9[02-9]
10244
+ )|
10245
+ 9
10246
+ </leadingDigits>
10247
+ <leadingDigits>
10248
+ 7(?:
10249
+ 0(?:
10250
+ 2[2-9]|
10251
+ [3-8]|
10252
+ 9[0-8]
10253
+ )|
10254
+ 2(?:
10255
+ 0[024-9]|
10256
+ 19|
10257
+ 2[012]|
10258
+ 5[09]|
10259
+ 7[5-8]|
10260
+ 9[389]
10261
+ )|
10262
+ 3(?:
10263
+ 0[1-9]|
10264
+ [58]|
10265
+ 7[3679]|
10266
+ 9[689]
10267
+ )|
10268
+ 4(?:
10269
+ 0[1-9]|
10270
+ 1[15-9]|
10271
+ [29][89]|
10272
+ 39|
10273
+ 8[389]
10274
+ )|
10275
+ 5(?:
10276
+ [034678]|
10277
+ 2[03-9]|
10278
+ 5[017-9]|
10279
+ 9[7-9]
10280
+ )|
10281
+ 6(?:
10282
+ 0[0-27]|
10283
+ 1[0-257-9]|
10284
+ 2[0-4]|
10285
+ 3[19]|
10286
+ 5[4589]|
10287
+ [6-9]
10288
+ )|
10289
+ 7(?:
10290
+ 0[2-9]|
10291
+ [1-79]|
10292
+ 8[1-9]
10293
+ )|
10294
+ 8(?:
10295
+ [0-7]|
10296
+ 9[013-9]
10297
+ )
10298
+ )|
10299
+ 8(?:
10300
+ 0(?:
10301
+ [01589]|
10302
+ 6[67]
10303
+ )|
10304
+ 1(?:
10305
+ [02-589]|
10306
+ 1[0135-9]|
10307
+ 7[0-79]
10308
+ )|
10309
+ 2(?:
10310
+ [236-9]|
10311
+ 5[1-9]
10312
+ )|
10313
+ 3(?:
10314
+ [0357-9]|
10315
+ 4[1-9]
10316
+ )|
10317
+ [45]|
10318
+ 6[02457-9]|
10319
+ 7[1-69]|
10320
+ 8(?:
10321
+ [0-26-9]|
10322
+ 44|
10323
+ 5[2-9]
10324
+ )|
10325
+ 9(?:
10326
+ [035-9]|
10327
+ 2[2-9]|
10328
+ 4[0-8]
10329
+ )
10330
+ )|
10331
+ 9
10332
+ </leadingDigits>
10333
+ <format>$1 $2</format>
10334
+ </numberFormat>
10335
+ <!-- 2 digits area code -->
10336
+ <numberFormat pattern="(\d{2})(\d{4})(\d{4})">
10337
+ <leadingDigits>
10338
+ 11|
10339
+ 2[02]|
10340
+ 33|
10341
+ 4[04]|
10342
+ 79|
10343
+ 80[2-46]
10344
+ </leadingDigits>
10345
+ <format>$1 $2 $3</format>
10346
+ </numberFormat>
10347
+ <!-- 3 digit area codes that don't clash with mobile patterns. -->
10348
+ <numberFormat pattern="(\d{3})(\d{3})(\d{4})">
10349
+ <leadingDigits>
10350
+ 1(?:
10351
+ 2[0-249]|
10352
+ 3[0-25]|
10353
+ 4[145]|
10354
+ [569][14]|
10355
+ 7[1257]|
10356
+ 8[1346]|
10357
+ [68][1-9]
10358
+ )|
10359
+ 2(?:
10360
+ 1[257]|
10361
+ 3[013]|
10362
+ 4[01]|
10363
+ 5[0137]|
10364
+ 6[0158]|
10365
+ 78|
10366
+ 8[1568]|
10367
+ 9[14]
10368
+ )|
10369
+ 3(?:
10370
+ 26|
10371
+ 4[1-3]|
10372
+ 5[34]|
10373
+ 6[01489]|
10374
+ 7[02-46]|
10375
+ 8[159]
10376
+ )|
10377
+ 4(?:
10378
+ 1[36]|
10379
+ 2[1-47]|
10380
+ 3[15]|
10381
+ 5[12]|
10382
+ 6[0-26-9]|
10383
+ 7[0-24-9]|
10384
+ 8[013-57]|
10385
+ 9[014-7]
10386
+ )|
10387
+ 5(?:
10388
+ 1[025]|
10389
+ [36][25]|
10390
+ 22|
10391
+ 4[28]|
10392
+ 5[12]|
10393
+ [78]1|
10394
+ 9[15]
10395
+ )|
10396
+ 6(?:
10397
+ 12|
10398
+ [2345]1|
10399
+ 57|
10400
+ 6[13]|
10401
+ 7[14]|
10402
+ 80
10403
+ )
10404
+ </leadingDigits>
10405
+ <format>$1 $2 $3</format>
10406
+ </numberFormat>
10407
+ <!-- Three-digit area codes that potentially overlap with mobile. -->
10408
+ <numberFormat pattern="(\d{3})(\d{3})(\d{4})">
10409
+ <leadingDigits>
10410
+ 7(?:
10411
+ 12|
10412
+ 2[14]|
10413
+ 3[134]|
10414
+ 4[47]|
10415
+ 5[15]|
10416
+ [67]1|
10417
+ 88
10164
10418
  )
10165
- )\d{3}|
10166
- 55\d{8}
10167
- </nationalNumberPattern>
10168
- <possibleNumberPattern>\d{10}</possibleNumberPattern>
10169
- <exampleNumber>5512345678</exampleNumber>
10170
- </uan>
10171
- </territory>
10172
-
10173
- <!-- India -->
10174
- <!-- Note that several changes in area codes have occurred since the numbering plan was released
10175
- - fixed line changes are notified on the http://www.bsnl.co.in website. Area codes can be
10176
- verified here at http://dq.ndc.bsnl.co.in/bsnl-web/stdSearch.seam. -->
10177
- <territory id="IN" countryCode="91" internationalPrefix="00" nationalPrefix="0"
10178
- nationalPrefixFormattingRule="$NP$FG" nationalPrefixOptionalWhenFormatting="true"
10179
- mobileNumberPortableRegion="true">
10180
- <references>
10181
- <sourceUrl>http://www.itu.int/oth/T0202000063/en</sourceUrl>
10182
- <sourceUrl>http://en.wikipedia.org/wiki/%2B91</sourceUrl>
10183
- <sourceUrl>http://www.coai.in/msccodes.php</sourceUrl>
10184
- </references>
10185
- <availableFormats>
10186
- <!-- Mobile numbers. -->
10187
- <numberFormat pattern="(\d{5})(\d{5})">
10188
- <leadingDigits>
10189
- 7(?:
10190
- 0[2-9]|
10191
- 2[0579]|
10192
- 3[057-9]|
10193
- 4[0-389]|
10194
- 6[0-35-9]|
10195
- [57]|
10196
- 8[0-79]
10197
- )|
10198
- 8(?:
10199
- 0[015689]|
10200
- 1[0-57-9]|
10201
- 2[2356-9]|
10202
- 3[0-57-9]|
10203
- [45]|
10204
- 6[02457-9]|
10205
- 7[1-69]|
10206
- 8[0124-9]|
10207
- 9[02-9]
10208
- )|
10209
- 9
10210
- </leadingDigits>
10211
- <leadingDigits>
10212
- 7(?:
10213
- 0(?:
10214
- 2[2-9]|
10215
- [3-8]|
10216
- 9[0-8]
10217
- )|
10218
- 2(?:
10219
- 0[04-9]|
10220
- 5[09]|
10221
- 7[5-8]|
10222
- 9[389]
10223
- )|
10224
- 3(?:
10225
- 0[1-9]|
10226
- [58]|
10227
- 7[3679]|
10228
- 9[689]
10229
- )|
10230
- 4(?:
10231
- 0[1-9]|
10232
- 1[15-9]|
10233
- [29][89]|
10234
- 39|
10235
- 8[389]
10236
- )|
10237
- 5(?:
10238
- [034678]|
10239
- 2[03-9]|
10240
- 5[017-9]|
10241
- 9[7-9]
10242
- )|
10243
- 6(?:
10244
- 0[0-27]|
10245
- 1[0-257-9]|
10246
- 2[0-4]|
10247
- 3[19]|
10248
- 5[4589]|
10249
- [6-9]
10250
- )|
10251
- 7(?:
10252
- 0[2-9]|
10253
- [1-79]|
10254
- 8[1-9]
10255
- )|
10256
- 8(?:
10257
- [0-7]|
10258
- 9[013-9]
10259
- )
10260
- )|
10261
- 8(?:
10262
- 0(?:
10263
- [01589]|
10264
- 6[67]
10265
- )|
10266
- 1(?:
10267
- [02-589]|
10268
- 1[0135-9]|
10269
- 7[0-79]
10270
- )|
10271
- 2(?:
10272
- [236-9]|
10273
- 5[1-9]
10274
- )|
10275
- 3(?:
10276
- [0357-9]|
10277
- 4[1-9]
10278
- )|
10279
- [45]|
10280
- 6[02457-9]|
10281
- 7[1-69]|
10282
- 8(?:
10283
- [0-26-9]|
10284
- 44|
10285
- 5[2-9]
10286
- )|
10287
- 9(?:
10288
- [035-9]|
10289
- 2[2-9]|
10290
- 4[0-8]
10291
- )
10292
- )|
10293
- 9
10294
- </leadingDigits>
10295
- <format>$1 $2</format>
10296
- </numberFormat>
10297
- <!-- 2 digits area code -->
10298
- <numberFormat pattern="(\d{2})(\d{4})(\d{4})">
10299
- <leadingDigits>
10300
- 11|
10301
- 2[02]|
10302
- 33|
10303
- 4[04]|
10304
- 79|
10305
- 80[2-46]
10306
- </leadingDigits>
10307
- <format>$1 $2 $3</format>
10308
- </numberFormat>
10309
- <!-- 3 digit area codes that don't clash with mobile patterns. -->
10310
- <numberFormat pattern="(\d{3})(\d{3})(\d{4})">
10311
- <leadingDigits>
10312
- 1(?:
10313
- 2[0-249]|
10314
- 3[0-25]|
10315
- 4[145]|
10316
- [569][14]|
10317
- 7[1257]|
10318
- 8[1346]|
10319
- [68][1-9]
10320
- )|
10321
- 2(?:
10322
- 1[257]|
10323
- 3[013]|
10324
- 4[01]|
10325
- 5[0137]|
10326
- 6[0158]|
10327
- 78|
10328
- 8[1568]|
10329
- 9[14]
10330
- )|
10331
- 3(?:
10332
- 26|
10333
- 4[1-3]|
10334
- 5[34]|
10335
- 6[01489]|
10336
- 7[02-46]|
10337
- 8[159]
10338
- )|
10339
- 4(?:
10340
- 1[36]|
10341
- 2[1-47]|
10342
- 3[15]|
10343
- 5[12]|
10344
- 6[0-26-9]|
10345
- 7[0-24-9]|
10346
- 8[013-57]|
10347
- 9[014-7]
10348
- )|
10349
- 5(?:
10350
- [136][25]|
10351
- 22|
10352
- 4[28]|
10353
- 5[12]|
10354
- [78]1|
10355
- 9[15]
10356
- )|
10357
- 6(?:
10358
- 12|
10359
- [2345]1|
10360
- 57|
10361
- 6[13]|
10362
- 7[14]|
10363
- 80
10364
- )
10365
- </leadingDigits>
10366
- <format>$1 $2 $3</format>
10367
- </numberFormat>
10368
- <!-- Three-digit area codes that potentially overlap with mobile. -->
10369
- <numberFormat pattern="(\d{3})(\d{3})(\d{4})">
10370
- <leadingDigits>
10371
- 7(?:
10372
- 12|
10373
- 2[14]|
10374
- 3[134]|
10375
- 4[47]|
10376
- 5[15]|
10377
- [67]1|
10378
- 88
10379
- )
10380
- </leadingDigits>
10381
- <leadingDigits>
10382
- 7(?:
10383
- 12|
10384
- 2[14]|
10385
- 3[134]|
10386
- 4[47]|
10387
- 5(?:
10388
- 1|
10389
- 5[2-6]
10390
- )|
10391
- [67]1|
10392
- 88
10393
- )
10394
- </leadingDigits>
10395
- <format>$1 $2 $3</format>
10396
- </numberFormat>
10397
- <numberFormat pattern="(\d{3})(\d{3})(\d{4})">
10398
- <leadingDigits>
10399
- 8(?:
10400
- 16|
10401
- 2[014]|
10402
- 3[126]|
10403
- 6[136]|
10404
- 7[078]|
10405
- 8[34]|
10406
- 91
10407
- )
10408
- </leadingDigits>
10409
- <format>$1 $2 $3</format>
10410
- </numberFormat>
10411
- <!-- 4 digits area code -->
10412
- <!-- Fallback for fixed-line numbers. -->
10413
- <numberFormat pattern="(\d{4})(\d{3})(\d{3})">
10414
- <leadingDigits>
10415
- 1(?:
10416
- [23579]|
10417
- [468][1-9]
10418
- )|
10419
- [2-8]
10420
- </leadingDigits>
10421
- <format>$1 $2 $3</format>
10422
- </numberFormat>
10423
- <numberFormat nationalPrefixFormattingRule="$FG"
10424
- pattern="(1600)(\d{2})(\d{4})">
10425
- <leadingDigits>160</leadingDigits>
10426
- <leadingDigits>1600</leadingDigits>
10427
- <format>$1 $2 $3</format>
10428
- </numberFormat>
10429
- <numberFormat nationalPrefixFormattingRule="$FG"
10430
- pattern="(1800)(\d{4,5})">
10431
- <leadingDigits>180</leadingDigits>
10432
- <leadingDigits>1800</leadingDigits>
10433
- <format>$1 $2</format>
10434
- </numberFormat>
10435
- <numberFormat nationalPrefixFormattingRule="$FG"
10436
- pattern="(18[06]0)(\d{2,4})(\d{4})">
10437
- <leadingDigits>18[06]</leadingDigits>
10438
- <leadingDigits>18[06]0</leadingDigits>
10439
- <format>$1 $2 $3</format>
10440
- </numberFormat>
10441
- <numberFormat nationalPrefixFormattingRule="$FG"
10442
- pattern="(140)(\d{3})(\d{4})">
10443
- <leadingDigits>140</leadingDigits>
10444
- <format>$1 $2 $3</format>
10445
- </numberFormat>
10446
- <!-- Televoting numbers. Formatting information is from
10447
- http://www.bsnl.co.in/service/telev.htm -->
10448
- <numberFormat nationalPrefixFormattingRule="$FG"
10449
- pattern="(\d{4})(\d{3})(\d{3})(\d{3})">
10450
- <leadingDigits>18[06]</leadingDigits>
10451
- <leadingDigits>
10452
- 18(?:
10453
- 0[03]|
10454
- 6[12]
10455
- )
10456
- </leadingDigits>
10457
- <format>$1 $2 $3 $4</format>
10458
- </numberFormat>
10419
+ </leadingDigits>
10420
+ <leadingDigits>
10421
+ 7(?:
10422
+ 12|
10423
+ 2[14]|
10424
+ 3[134]|
10425
+ 4[47]|
10426
+ 5(?:
10427
+ 1|
10428
+ 5[2-6]
10429
+ )|
10430
+ [67]1|
10431
+ 88
10432
+ )
10433
+ </leadingDigits>
10434
+ <format>$1 $2 $3</format>
10435
+ </numberFormat>
10436
+ <numberFormat pattern="(\d{3})(\d{3})(\d{4})">
10437
+ <leadingDigits>
10438
+ 8(?:
10439
+ 16|
10440
+ 2[014]|
10441
+ 3[126]|
10442
+ 6[136]|
10443
+ 7[078]|
10444
+ 8[34]|
10445
+ 91
10446
+ )
10447
+ </leadingDigits>
10448
+ <format>$1 $2 $3</format>
10449
+ </numberFormat>
10450
+ <!-- 4 digits area code -->
10451
+ <!-- Fallback for fixed-line numbers. -->
10452
+ <numberFormat pattern="(\d{4})(\d{3})(\d{3})">
10453
+ <leadingDigits>
10454
+ 1(?:
10455
+ [23579]|
10456
+ [468][1-9]
10457
+ )|
10458
+ [2-8]
10459
+ </leadingDigits>
10460
+ <format>$1 $2 $3</format>
10461
+ </numberFormat>
10462
+ <numberFormat nationalPrefixFormattingRule="$FG"
10463
+ pattern="(1600)(\d{2})(\d{4})">
10464
+ <leadingDigits>160</leadingDigits>
10465
+ <leadingDigits>1600</leadingDigits>
10466
+ <format>$1 $2 $3</format>
10467
+ </numberFormat>
10468
+ <numberFormat nationalPrefixFormattingRule="$FG"
10469
+ pattern="(1800)(\d{4,5})">
10470
+ <leadingDigits>180</leadingDigits>
10471
+ <leadingDigits>1800</leadingDigits>
10472
+ <format>$1 $2</format>
10473
+ </numberFormat>
10474
+ <numberFormat nationalPrefixFormattingRule="$FG"
10475
+ pattern="(18[06]0)(\d{2,4})(\d{4})">
10476
+ <leadingDigits>18[06]</leadingDigits>
10477
+ <leadingDigits>18[06]0</leadingDigits>
10478
+ <format>$1 $2 $3</format>
10479
+ </numberFormat>
10480
+ <numberFormat nationalPrefixFormattingRule="$FG"
10481
+ pattern="(140)(\d{3})(\d{4})">
10482
+ <leadingDigits>140</leadingDigits>
10483
+ <format>$1 $2 $3</format>
10484
+ </numberFormat>
10485
+ <!-- Televoting numbers. Formatting information is from
10486
+ http://www.bsnl.co.in/service/telev.htm -->
10487
+ <numberFormat nationalPrefixFormattingRule="$FG"
10488
+ pattern="(\d{4})(\d{3})(\d{3})(\d{3})">
10489
+ <leadingDigits>18[06]</leadingDigits>
10490
+ <leadingDigits>
10491
+ 18(?:
10492
+ 0[03]|
10493
+ 6[12]
10494
+ )
10495
+ </leadingDigits>
10496
+ <format>$1 $2 $3 $4</format>
10497
+ </numberFormat>
10459
10498
  </availableFormats>
10460
10499
  <generalDesc>
10461
10500
  <nationalNumberPattern>
@@ -10539,7 +10578,8 @@
10539
10578
  9[014-7]
10540
10579
  )|
10541
10580
  5(?:
10542
- [136][25]|
10581
+ 1[025]|
10582
+ [36][25]|
10543
10583
  22|
10544
10584
  4[28]|
10545
10585
  5[12]|
@@ -10673,9 +10713,9 @@
10673
10713
  <!-- A couple of additional prefixes found neither on the wikipedia page nor in the MSC
10674
10714
  codes list, are added because SMS messages have been successfully sent to these
10675
10715
  numbers. It seems almost impossible to know for some of these numbers whether they are
10676
- land-line or mobile, since the ranges overlap. Extra prefixes added: 7601, 768[567],
10677
- 7695, 8299, 8309. New prefixes were also added based on the document provided from
10678
- mobile carriers: https://github.com/googlei18n/libphonenumber/issues/260 -->
10716
+ land-line or mobile, since the ranges overlap. Extra prefixes added: 7202, 7601,
10717
+ 768[567], 7695, 8299, 8309. New prefixes were also added based on the document
10718
+ provided from mobile carriers: https://github.com/googlei18n/libphonenumber/issues/260 -->
10679
10719
  <nationalNumberPattern>
10680
10720
  (?:
10681
10721
  7(?:
@@ -10685,7 +10725,9 @@
10685
10725
  9[0-8]
10686
10726
  )|
10687
10727
  2(?:
10688
- 0[04-9]|
10728
+ 0[024-9]|
10729
+ 19|
10730
+ 2[012]|
10689
10731
  5[09]|
10690
10732
  7[5-8]|
10691
10733
  9[389]
@@ -11123,14 +11165,15 @@
11123
11165
  </territory>
11124
11166
 
11125
11167
  <!-- Italy -->
11168
+ <!-- Metadata shared with Vatican City (VA) -->
11126
11169
  <territory id="IT" countryCode="39" internationalPrefix="00" leadingZeroPossible="true"
11127
- mobileNumberPortableRegion="true">
11170
+ mobileNumberPortableRegion="true" mainCountryForCode="true">
11128
11171
  <references>
11129
11172
  <sourceUrl>http://en.wikipedia.org/wiki/%2B39</sourceUrl>
11130
11173
  </references>
11131
11174
  <availableFormats>
11132
11175
  <!-- The leading zero for fixed numbers will be prepended before the matching of these
11133
- regular expressions. -->
11176
+ regular expressions.-->
11134
11177
  <numberFormat pattern="(\d{2})(\d{3,4})(\d{4})">
11135
11178
  <leadingDigits>
11136
11179
  0[26]|
@@ -11773,7 +11816,7 @@
11773
11816
  <nationalNumberPattern>
11774
11817
  7(?:
11775
11818
  55|
11776
- 7[25-9]|
11819
+ 7[025-9]|
11777
11820
  8[05-9]|
11778
11821
  9[0-25-9]
11779
11822
  )\d{6}
@@ -12745,7 +12788,7 @@
12745
12788
  <mobile>
12746
12789
  <nationalNumberPattern>[7-9]0[1-9]\d{7}</nationalNumberPattern>
12747
12790
  <possibleNumberPattern>\d{10}</possibleNumberPattern>
12748
- <exampleNumber>7012345678</exampleNumber>
12791
+ <exampleNumber>9012345678</exampleNumber>
12749
12792
  </mobile>
12750
12793
  <pager>
12751
12794
  <nationalNumberPattern>20\d{8}</nationalNumberPattern>
@@ -13628,11 +13671,11 @@
13628
13671
  9(?:
13629
13672
  0[09]|
13630
13673
  22|
13631
- 4[049]|
13674
+ 4[01479]|
13632
13675
  55|
13633
- 6[069]|
13676
+ 6[0679]|
13634
13677
  [79]\d|
13635
- 8[07-9]
13678
+ 8[057-9]
13636
13679
  )
13637
13680
  )\d{5}
13638
13681
  </nationalNumberPattern>
@@ -13704,7 +13747,7 @@
13704
13747
  )|
13705
13748
  9(?:
13706
13749
  1[67]|
13707
- 2[3-9]|
13750
+ 2[2-9]|
13708
13751
  3[689]
13709
13752
  )
13710
13753
  )\d{4}
@@ -13761,7 +13804,7 @@
13761
13804
  <references>
13762
13805
  <sourceUrl>http://www.itu.int/oth/T020200006F/en</sourceUrl>
13763
13806
  </references>
13764
- <!-- Formatting rules obtained from Russia. -->
13807
+ <!-- Formatting rules obtained from Russia. -->
13765
13808
  <generalDesc>
13766
13809
  <!-- We make this as specific as possible to overlap as little as possible with Russia, so
13767
13810
  determining the country is faster. -->
@@ -13987,11 +14030,13 @@
13987
14030
  <leadingDigits>
13988
14031
  [13-6]|
13989
14032
  7(?:
13990
- [2-579]|
14033
+ [2-57]|
13991
14034
  62|
13992
- 8[0-7]
14035
+ 8[0-7]|
14036
+ 9[04-9]
13993
14037
  )|
13994
- [89][2-9]
14038
+ 8[02-9]|
14039
+ 9
13995
14040
  </leadingDigits>
13996
14041
  <format>$1 $2 $3</format>
13997
14042
  </numberFormat>
@@ -13999,9 +14044,10 @@
13999
14044
  <leadingDigits>
14000
14045
  [89][01]|
14001
14046
  7(?:
14002
- [019]|
14047
+ [01]|
14003
14048
  6[013-9]|
14004
- 8[89]
14049
+ 8[89]|
14050
+ 9[1-3]
14005
14051
  )
14006
14052
  </leadingDigits>
14007
14053
  <format>$1 $2 $3</format>
@@ -14012,18 +14058,17 @@
14012
14058
  <possibleNumberPattern>\d{7,8}</possibleNumberPattern>
14013
14059
  </generalDesc>
14014
14060
  <fixedLine>
14015
- <!-- The ITU document from October 2012 seems to have accidentally dropped the 79 prefix for
14016
- fixed-line numbers, which had been in the version from July 2012. We consider these
14017
- valid since we successfully dialed such a number in July 2014. -->
14018
14061
  <nationalNumberPattern>
14019
14062
  (?:
14020
14063
  [14-6]\d{2}|
14021
14064
  7(?:
14022
- [2-579]\d|
14065
+ [2-57]\d|
14023
14066
  62|
14024
- 8[0-7]
14067
+ 8[0-7]|
14068
+ 9[04-9]
14025
14069
  )|
14026
- [89][2-9]\d
14070
+ 8[02-9]\d|
14071
+ 9\d{2}
14027
14072
  )\d{4}
14028
14073
  </nationalNumberPattern>
14029
14074
  <possibleNumberPattern>\d{7}</possibleNumberPattern>
@@ -14036,10 +14081,12 @@
14036
14081
  (?:
14037
14082
  3\d|
14038
14083
  7(?:
14039
- [019]\d|
14084
+ [01]\d|
14040
14085
  6[013-9]|
14041
- 8[89]
14042
- )
14086
+ 8[89]|
14087
+ 9[1-3]
14088
+ )|
14089
+ 81\d
14043
14090
  )\d{5}
14044
14091
  </nationalNumberPattern>
14045
14092
  <possibleNumberPattern>\d{7,8}</possibleNumberPattern>
@@ -14051,7 +14098,7 @@
14051
14098
  <exampleNumber>90123456</exampleNumber>
14052
14099
  </premiumRate>
14053
14100
  <sharedCost>
14054
- <nationalNumberPattern>8[01]\d{6}</nationalNumberPattern>
14101
+ <nationalNumberPattern>80\d{6}</nationalNumberPattern>
14055
14102
  <possibleNumberPattern>\d{8}</possibleNumberPattern>
14056
14103
  <exampleNumber>80123456</exampleNumber>
14057
14104
  </sharedCost>
@@ -14153,9 +14200,9 @@
14153
14200
  <!-- Some different patterns for tollfree and shared cost numbers may be found by searching
14154
14201
  for "Mehrwertnummer" at http://www.telecom.li. -->
14155
14202
  <!-- Number format for National mobile services , Fixed line , Toll Free , uan and Premium rate services -->
14156
- <numberFormat pattern="(\d{3})(\d{4})">
14203
+ <numberFormat pattern="(\d{3})(\d{2})(\d{2})">
14157
14204
  <leadingDigits>[23789]</leadingDigits>
14158
- <format>$1 $2</format>
14205
+ <format>$1 $2 $3</format>
14159
14206
  </numberFormat>
14160
14207
  <!-- Number format for International mobile services -->
14161
14208
  <numberFormat pattern="(\d{3})(\d{3})(\d{3})">
@@ -14868,11 +14915,12 @@
14868
14915
  <mobile>
14869
14916
  <!-- http://www.anrt.ma/sites/default/files/Blocs_de_numeros_par_operateur.pdf
14870
14917
  Prefixes 69[0136] added based on numbers found online. -->
14918
+ <!-- Added prefix 982 as per IR21 from the carrier. -->
14871
14919
  <nationalNumberPattern>
14872
14920
  6(?:
14873
14921
  0[0-8]|
14874
14922
  [12-79]\d|
14875
- 8[01]
14923
+ 8[017]
14876
14924
  )\d{6}
14877
14925
  </nationalNumberPattern>
14878
14926
  <exampleNumber>650123456</exampleNumber>
@@ -15073,7 +15121,7 @@
15073
15121
  <sourceUrl>http://www.ekip.me/numeracija/dodijeljena.php</sourceUrl>
15074
15122
  </references>
15075
15123
  <availableFormats>
15076
- <numberFormat pattern="(\d{2})(\d{3})(\d{3})">
15124
+ <numberFormat pattern="(\d{2})(\d{3})(\d{3})">
15077
15125
  <leadingDigits>[2-57-9]|6[036-9]</leadingDigits>
15078
15126
  <leadingDigits>
15079
15127
  [2-57-9]|
@@ -15454,7 +15502,7 @@
15454
15502
  <nationalNumberPattern>800\d{5}</nationalNumberPattern>
15455
15503
  <exampleNumber>80012345</exampleNumber>
15456
15504
  </tollFree>
15457
- </territory>
15505
+ </territory>
15458
15506
 
15459
15507
  <!-- Myanmar -->
15460
15508
  <territory id="MM" countryCode="95" internationalPrefix="00" nationalPrefix="0"
@@ -17005,7 +17053,7 @@
17005
17053
  </references>
17006
17054
  <availableFormats>
17007
17055
  <numberFormat pattern="(\d{2})(\d{4})">
17008
- <leadingDigits>1</leadingDigits>
17056
+ <leadingDigits>1</leadingDigits>
17009
17057
  <format>$1 $2</format>
17010
17058
  </numberFormat>
17011
17059
  <numberFormat pattern="(\d)(\d{5})">
@@ -17569,12 +17617,13 @@
17569
17617
  <possibleNumberPattern>\d{6,8}</possibleNumberPattern>
17570
17618
  <exampleNumber>14567890</exampleNumber>
17571
17619
  </fixedLine>
17620
+ <!-- Added prefix 982 per IR21 from the carrier. -->
17572
17621
  <mobile>
17573
17622
  <nationalNumberPattern>
17574
17623
  9(?:
17575
17624
  6[013]|
17576
17625
  7[245]|
17577
- 8[01456]
17626
+ 8[0-24-6]
17578
17627
  )\d{7}
17579
17628
  </nationalNumberPattern>
17580
17629
  <possibleNumberPattern>\d{10}</possibleNumberPattern>
@@ -18693,7 +18742,7 @@
18693
18742
  Poles that this is more usual. -->
18694
18743
  <numberFormat pattern="(\d{3})(\d{3})(\d{3})">
18695
18744
  <leadingDigits>
18696
- 261|
18745
+ 26|
18697
18746
  39|
18698
18747
  5[0137]|
18699
18748
  6[0469]|
@@ -18722,13 +18771,13 @@
18722
18771
  </generalDesc>
18723
18772
  <fixedLine>
18724
18773
  <!-- The plan says all geographical numbers are 9 digits; but in at least Warsaw (22) and
18725
- Krakow (12) we have found internationally diallable numbers that are 7 digits instead,
18726
- so we support those too. Numbers which start with 261 are allocated for the militrary,
18727
- see: http://www.sgwp.wp.mil.pl/pl/1_1225.html. -->
18774
+ Krakow (12) we have found internationally diallable numbers that are 7
18775
+ digits instead, so we support those numbers too. Numbers which start with
18776
+ 26 are allocated for the militrary, see: http://www.sgwp.wp.mil.pl/pl/1_1225.html. -->
18728
18777
  <nationalNumberPattern>
18729
18778
  (?:
18730
18779
  1[2-8]|
18731
- 2[2-59]|
18780
+ 2[2-69]|
18732
18781
  3[2-4]|
18733
18782
  4[1-468]|
18734
18783
  5[24-689]|
@@ -18737,8 +18786,7 @@
18737
18786
  8[1-79]|
18738
18787
  9[145]
18739
18788
  )\d{7}|
18740
- [12]2\d{5}|
18741
- 261\d{6}
18789
+ [12]2\d{5}
18742
18790
  </nationalNumberPattern>
18743
18791
  <exampleNumber>123456789</exampleNumber>
18744
18792
  </fixedLine>
@@ -19816,7 +19864,7 @@
19816
19864
  (?:
19817
19865
  1[4-79]|
19818
19866
  [23]\d|
19819
- 4[01]|
19867
+ 4[0-2]|
19820
19868
  5[03]|
19821
19869
  6[0-37]
19822
19870
  )\d{3}
@@ -19936,7 +19984,7 @@
19936
19984
  </fixedLine>
19937
19985
  <mobile>
19938
19986
  <!-- Adding 90X as online numbers have been found with this prefix. -->
19939
- <nationalNumberPattern>9[012569]\d{7}</nationalNumberPattern>
19987
+ <nationalNumberPattern>9[0-3569]\d{7}</nationalNumberPattern>
19940
19988
  <exampleNumber>911231234</exampleNumber>
19941
19989
  </mobile>
19942
19990
  </territory>
@@ -20315,40 +20363,36 @@
20315
20363
  <sourceUrl>http://www.itu.int/oth/T02020000AF/en</sourceUrl>
20316
20364
  </references>
20317
20365
  <!-- Numbers are formatted as a block. -->
20366
+ <!-- There is a bug in library so we are keeping possible number pattern as \d{4,5}
20367
+ as this is also used to test Tristan da Cuna numbers -->
20318
20368
  <generalDesc>
20319
- <nationalNumberPattern>[2-79]\d{3,4}</nationalNumberPattern>
20369
+ <nationalNumberPattern>[256]\d{4}</nationalNumberPattern>
20320
20370
  <possibleNumberPattern>\d{4,5}</possibleNumberPattern>
20321
20371
  </generalDesc>
20322
20372
  <fixedLine>
20323
- <!-- St Helena is changing to 5 digits on October 1. 2013 -> we support both patterns here.
20324
- The new pattern is first, followed by the old (hence the repetition of the leading 2).
20325
- -->
20373
+ <!-- St Helena has changed to 5 digits on October 1. 2013 -->
20326
20374
  <nationalNumberPattern>
20327
20375
  2(?:
20328
20376
  [0-57-9]\d|
20329
20377
  6[4-9]
20330
- )\d{2}|
20331
- (?:
20332
- [2-46]\d|
20333
- 7[01]
20334
20378
  )\d{2}
20335
20379
  </nationalNumberPattern>
20380
+ <possibleNumberPattern>\d{5}</possibleNumberPattern>
20336
20381
  <!-- Using St Helena Tourism as the example number. -->
20337
- <exampleNumber>2158</exampleNumber>
20382
+ <exampleNumber>22158</exampleNumber>
20338
20383
  </fixedLine>
20339
20384
  <mobile>
20340
- <nationalNumberPattern>NA</nationalNumberPattern>
20341
- <possibleNumberPattern>NA</possibleNumberPattern>
20385
+ <!-- Effective 1st August 2015 -->
20386
+ <nationalNumberPattern>[56]\d{4}</nationalNumberPattern>
20387
+ <possibleNumberPattern>\d{5}</possibleNumberPattern>
20342
20388
  </mobile>
20343
- <premiumRate>
20344
- <nationalNumberPattern>
20345
- (?:
20346
- [59]\d|
20347
- 7[2-9]
20348
- )\d{2}
20349
- </nationalNumberPattern>
20350
- <exampleNumber>5012</exampleNumber>
20351
- </premiumRate>
20389
+ <!-- The ITU doc reserves prefixes 260 and 261 for Information Service and prefix 263 for
20390
+ Flexible access. We do not support these prefixes as we do not have any information
20391
+ about their usage. -->
20392
+ <voip>
20393
+ <nationalNumberPattern>262\d{2}</nationalNumberPattern>
20394
+ <possibleNumberPattern>\d{5}</possibleNumberPattern>
20395
+ </voip>
20352
20396
  </territory>
20353
20397
 
20354
20398
  <!-- Slovenia -->
@@ -20636,7 +20680,7 @@
20636
20680
  </numberFormat>
20637
20681
  </availableFormats>
20638
20682
  <generalDesc>
20639
- <nationalNumberPattern>[2-57-9]\d{7}</nationalNumberPattern>
20683
+ <nationalNumberPattern>[2-9]\d{7}</nationalNumberPattern>
20640
20684
  <possibleNumberPattern>\d{6,8}</possibleNumberPattern>
20641
20685
  </generalDesc>
20642
20686
  <fixedLine>
@@ -20647,9 +20691,10 @@
20647
20691
  <nationalNumberPattern>
20648
20692
  (?:
20649
20693
  2[15]|
20650
- 3[034]|
20694
+ 3[03-5]|
20651
20695
  4[04]|
20652
20696
  5[05]|
20697
+ 66|
20653
20698
  7[6-9]|
20654
20699
  88|
20655
20700
  99
@@ -21777,8 +21822,10 @@
21777
21822
  operating, with the numbers 6[3-5]\d{6}. MTS used to operate the ranges 6[6-8] but this
21778
21823
  has been suspended. It is unclear whether it will resume. We support both ranges in the
21779
21824
  meantime. The range 62 seems also now to be in use, according to numbers found online.
21825
+ MTS Turkmenistan have recently launched there NDC(69). So added range 69 after getting
21826
+ confirmation from the carriers who own them.
21780
21827
  -->
21781
- <nationalNumberPattern>6[2-8]\d{6}</nationalNumberPattern>
21828
+ <nationalNumberPattern>6[2-9]\d{6}</nationalNumberPattern>
21782
21829
  <exampleNumber>66123456</exampleNumber>
21783
21830
  </mobile>
21784
21831
  <!-- No tollFree or premiumRate information can be found. -->
@@ -22034,7 +22081,7 @@
22034
22081
  )|
22035
22082
  6(?:
22036
22083
  0[79]|
22037
- 1[02-9]|
22084
+ 1[02-8]|
22038
22085
  2[1-9]|
22039
22086
  [3-69]\d|
22040
22087
  7[0-79]
@@ -22048,7 +22095,7 @@
22048
22095
  <nationalNumberPattern>
22049
22096
  868(?:
22050
22097
  2(?:
22051
- [89]\d
22098
+ [789]\d
22052
22099
  )|
22053
22100
  3(?:
22054
22101
  0[1-9]|
@@ -22090,6 +22137,10 @@
22090
22137
  <possibleNumberPattern>\d{10}</possibleNumberPattern>
22091
22138
  <exampleNumber>9002345678</exampleNumber>
22092
22139
  </premiumRate>
22140
+ <voicemail>
22141
+ <nationalNumberPattern>868619\d{4}</nationalNumberPattern>
22142
+ <possibleNumberPattern>\d{10}</possibleNumberPattern>
22143
+ </voicemail>
22093
22144
  <personalNumber>
22094
22145
  <!-- http://www.nanpa.com/pdf/PL_466.pdf -->
22095
22146
  <nationalNumberPattern>
@@ -22276,7 +22327,7 @@
22276
22327
  area code - http://www.ua.all-biz.info/guide/phonecodes is useful but not error-free.
22277
22328
  Have used local yellow pages guidelines, Google searches and regression tests to
22278
22329
  reverse-engineer these rules as well as bugs. -->
22279
- <numberFormat pattern="([3-689]\d)(\d{3})(\d{4})">
22330
+ <numberFormat pattern="([3-9]\d)(\d{3})(\d{4})">
22280
22331
  <leadingDigits>
22281
22332
  [38]9|
22282
22333
  4(?:
@@ -22289,6 +22340,7 @@
22289
22340
  7[37]
22290
22341
  )|
22291
22342
  6[36-8]|
22343
+ 73|
22292
22344
  9[1-9]
22293
22345
  </leadingDigits>
22294
22346
  <leadingDigits>
@@ -22306,6 +22358,7 @@
22306
22358
  7[37]
22307
22359
  )|
22308
22360
  6[36-8]|
22361
+ 73|
22309
22362
  9[1-9]
22310
22363
  </leadingDigits>
22311
22364
  <format>$1 $2 $3</format>
@@ -22409,7 +22462,7 @@
22409
22462
  </numberFormat>
22410
22463
  </availableFormats>
22411
22464
  <generalDesc>
22412
- <nationalNumberPattern>[3-689]\d{8}</nationalNumberPattern>
22465
+ <nationalNumberPattern>[3-9]\d{8}</nationalNumberPattern>
22413
22466
  <possibleNumberPattern>\d{5,9}</possibleNumberPattern>
22414
22467
  </generalDesc>
22415
22468
  <fixedLine>
@@ -22429,6 +22482,7 @@
22429
22482
  39|
22430
22483
  50|
22431
22484
  6[36-8]|
22485
+ 73|
22432
22486
  9[1-9]
22433
22487
  )\d{7}
22434
22488
  </nationalNumberPattern>
@@ -22846,7 +22900,7 @@
22846
22900
  <possibleNumberPattern>\d{7}</possibleNumberPattern>
22847
22901
  <exampleNumber>9001234</exampleNumber>
22848
22902
  </premiumRate>
22849
- </territory>
22903
+ </territory>
22850
22904
 
22851
22905
  <!-- Uzbekistan -->
22852
22906
  <territory id="UZ" countryCode="998" preferredInternationalPrefix="8~10"
@@ -23195,32 +23249,122 @@
23195
23249
  </territory>
23196
23250
 
23197
23251
  <!-- Vatican City -->
23198
- <!-- Note that numbers here are also accessible via Italy (+39 and prefix of 06 698) but can
23199
- also be dialled with the Vatican City country code. -->
23200
- <territory id="VA" countryCode="379" internationalPrefix="00" leadingZeroPossible="true">
23252
+ <!-- Metadata shared with Italy(IT) -->
23253
+ <!-- Vatican City is assigned country code 379. However, Vatican City is still reached
23254
+ via the Italian numbering plan. Telephone numbers in Vatican City are integrated into
23255
+ the Italian telephone numbering plan. Telephone numbers in the Vatican City are similar
23256
+ to telephone numbers in Rome, with "698" following the "06" for Rome.
23257
+ A Vatican telephone number is in the form of 06 698x xxxx. -->
23258
+ <territory id="VA" countryCode="39" internationalPrefix="00" leadingZeroPossible="true"
23259
+ mobileNumberPortableRegion="true">
23201
23260
  <references>
23202
23261
  <sourceUrl>http://en.wikipedia.org/wiki/Telephone_numbers_in_Vatican_City</sourceUrl>
23203
23262
  </references>
23204
- <availableFormats>
23205
- <numberFormat pattern="(06)(\d{4})(\d{4})">
23206
- <format>$1 $2 $3</format>
23207
- </numberFormat>
23208
- </availableFormats>
23209
23263
  <generalDesc>
23210
- <nationalNumberPattern>06\d{8}</nationalNumberPattern>
23211
- <possibleNumberPattern>\d{10}</possibleNumberPattern>
23264
+ <nationalNumberPattern>
23265
+ (?:
23266
+ 0(?:
23267
+ 878\d{5}|
23268
+ 6698\d{5}
23269
+ )|
23270
+ [1589]\d{5,10}|
23271
+ 3(?:
23272
+ [12457-9]\d{8}|
23273
+ [36]\d{7,9}
23274
+ )
23275
+ )
23276
+ </nationalNumberPattern>
23277
+ <possibleNumberPattern>\d{6,11}</possibleNumberPattern>
23212
23278
  </generalDesc>
23279
+ <noInternationalDialling>
23280
+ <nationalNumberPattern>848\d{6}</nationalNumberPattern>
23281
+ <possibleNumberPattern>\d{9}</possibleNumberPattern>
23282
+ <exampleNumber>848123456</exampleNumber>
23283
+ </noInternationalDialling>
23213
23284
  <fixedLine>
23214
23285
  <nationalNumberPattern>06698\d{5}</nationalNumberPattern>
23286
+ <possibleNumberPattern>\d{10}</possibleNumberPattern>
23215
23287
  <exampleNumber>0669812345</exampleNumber>
23216
23288
  </fixedLine>
23289
+ <!-- Mobile, toll free, premium rate, shared cost, personal number and VOIP copied from Italy.
23290
+ -->
23291
+
23217
23292
  <mobile>
23218
- <!-- We have no information on mobile numbers from the Vatican. It is probable that they use
23219
- Italian mobile contracts. -->
23220
- <nationalNumberPattern>NA</nationalNumberPattern>
23221
- <possibleNumberPattern>NA</possibleNumberPattern>
23293
+ <!-- According to wikipedia, TIM mobile numbers can be 9 digits long, but all others are 10
23294
+ digits long. However, a user reported the existence of new 11 digit long numbers for
23295
+ TIM with the prefix 33X, so this is supported also. -->
23296
+ <nationalNumberPattern>
23297
+ 3(?:
23298
+ [12457-9]\d{8}|
23299
+ 6\d{7,8}|
23300
+ 3\d{7,9}
23301
+ )
23302
+ </nationalNumberPattern>
23303
+ <possibleNumberPattern>\d{9,11}</possibleNumberPattern>
23304
+ <exampleNumber>3123456789</exampleNumber>
23222
23305
  </mobile>
23223
- <!-- No information exists about other types of numbers. -->
23306
+ <tollFree>
23307
+ <nationalNumberPattern>
23308
+ 80(?:
23309
+ 0\d{6}|
23310
+ 3\d{3}
23311
+ )
23312
+ </nationalNumberPattern>
23313
+ <possibleNumberPattern>\d{6,9}</possibleNumberPattern>
23314
+ <exampleNumber>800123456</exampleNumber>
23315
+ </tollFree>
23316
+ <premiumRate>
23317
+ <!-- Adding 0878 numbers, as per
23318
+ http://www.aduc.it/notizia/polizia+mette+allerta+sul+numero+0878_73136.php. Other
23319
+ premium prefixes are mentioned here:
23320
+ http://www.dirittodellinformatica.it/news/telefonia/agcom-blocco-permanente-prefissi-144-166-892-899-20080520241.html -->
23321
+ <nationalNumberPattern>
23322
+ 0878\d{5}|
23323
+ 1(?:
23324
+ 44|
23325
+ 6[346]
23326
+ )\d{6}|
23327
+ 89(?:
23328
+ 2\d{3}|
23329
+ 4(?:
23330
+ [0-4]\d{2}|
23331
+ [5-9]\d{4}
23332
+ )|
23333
+ 5(?:
23334
+ [0-4]\d{2}|
23335
+ [5-9]\d{6}
23336
+ )|
23337
+ 9\d{6}
23338
+ )
23339
+ </nationalNumberPattern>
23340
+ <possibleNumberPattern>\d{6,10}</possibleNumberPattern>
23341
+ <exampleNumber>899123456</exampleNumber>
23342
+ </premiumRate>
23343
+ <sharedCost>
23344
+ <nationalNumberPattern>
23345
+ 84(?:
23346
+ [08]\d{6}|
23347
+ [17]\d{3}
23348
+ )
23349
+ </nationalNumberPattern>
23350
+ <possibleNumberPattern>\d{6,9}</possibleNumberPattern>
23351
+ <exampleNumber>848123456</exampleNumber>
23352
+ </sharedCost>
23353
+ <personalNumber>
23354
+ <nationalNumberPattern>
23355
+ 1(?:
23356
+ 78\d|
23357
+ 99
23358
+ )\d{6}
23359
+ </nationalNumberPattern>
23360
+ <possibleNumberPattern>\d{9,10}</possibleNumberPattern>
23361
+ <exampleNumber>1781234567</exampleNumber>
23362
+ </personalNumber>
23363
+ <voip>
23364
+ <nationalNumberPattern>55\d{8}</nationalNumberPattern>
23365
+ <possibleNumberPattern>\d{10}</possibleNumberPattern>
23366
+ <exampleNumber>5512345678</exampleNumber>
23367
+ </voip>
23224
23368
  </territory>
23225
23369
 
23226
23370
  <!-- Saint Vincent and the Grenadines -->