phonelib 0.6.2 → 0.6.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (141) hide show
  1. checksums.yaml +4 -4
  2. data/{README.rdoc → README.md} +116 -75
  3. data/data/extended_data.dat +0 -0
  4. data/data/libphonenumber/FALSEHOODS.md +16 -0
  5. data/data/libphonenumber/FAQ.md +8 -0
  6. data/data/libphonenumber/README.md +1 -1
  7. data/data/libphonenumber/cpp/src/phonenumbers/alternate_format.cc +108 -100
  8. data/data/libphonenumber/cpp/src/phonenumbers/lite_metadata.cc +10070 -10016
  9. data/data/libphonenumber/cpp/src/phonenumbers/metadata.cc +10938 -10884
  10. data/data/libphonenumber/cpp/src/phonenumbers/short_metadata.cc +2481 -2455
  11. data/data/libphonenumber/java/carrier/pom.xml +26 -4
  12. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/255_en +0 -0
  13. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/374_en +0 -0
  14. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/374_ru +0 -0
  15. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/421_en +0 -0
  16. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/66_en +0 -0
  17. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/91_en +0 -0
  18. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/93_fa +0 -0
  19. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/973_en +0 -0
  20. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/98_fa +0 -0
  21. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/992_en +0 -0
  22. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/994_en +0 -0
  23. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/config +0 -0
  24. data/data/libphonenumber/java/demo/pom.xml +6 -6
  25. data/data/libphonenumber/java/geocoder/pom.xml +26 -4
  26. data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/1747_en +0 -0
  27. data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/1934_en +0 -0
  28. data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/371_en +0 -0
  29. data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/44_en +0 -0
  30. data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/504_en +0 -0
  31. data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_bg +0 -0
  32. data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_ca +0 -0
  33. data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_el +0 -0
  34. data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_es +0 -0
  35. data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_fi +0 -0
  36. data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_hi +0 -0
  37. data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_hu +0 -0
  38. data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_iw +0 -0
  39. data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_ja +0 -0
  40. data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_tr +0 -0
  41. data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/91_en +0 -0
  42. data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/93_en +0 -0
  43. data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/93_fa +0 -0
  44. data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/98_en +0 -0
  45. data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/98_fa +0 -0
  46. data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/992_en +0 -0
  47. data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/994_en +0 -0
  48. data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/config +0 -0
  49. data/data/libphonenumber/java/internal/prefixmapper/pom.xml +25 -3
  50. data/data/libphonenumber/java/libphonenumber/pom.xml +23 -2
  51. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/MetadataLoader.java +2 -1
  52. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/MultiFileMetadataSourceImpl.java +63 -70
  53. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_595 +0 -0
  54. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AZ +0 -0
  55. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BD +0 -0
  56. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BG +0 -0
  57. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BH +0 -0
  58. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CI +0 -0
  59. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CN +0 -0
  60. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_HK +0 -0
  61. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_HN +0 -0
  62. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IN +0 -0
  63. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KN +0 -0
  64. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KW +0 -0
  65. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LV +0 -0
  66. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PY +0 -0
  67. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SK +0 -0
  68. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SN +0 -0
  69. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TC +0 -0
  70. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TH +0 -0
  71. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TJ +0 -0
  72. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TZ +0 -0
  73. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_US +0 -0
  74. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_AE +0 -0
  75. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_AR +0 -0
  76. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BR +0 -0
  77. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_GB +0 -0
  78. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_IN +0 -0
  79. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_NO +0 -0
  80. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SK +0 -0
  81. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_ZA +0 -0
  82. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/SingleFilePhoneNumberMetadataProto +0 -0
  83. data/data/libphonenumber/java/libphonenumber/test/com/google/i18n/phonenumbers/MultiFileMetadataSourceImplTest.java +25 -5
  84. data/data/libphonenumber/java/pom.xml +2 -2
  85. data/data/libphonenumber/java/release_notes.txt +45 -0
  86. data/data/libphonenumber/javascript/i18n/phonenumbers/demo-compiled.js +72 -70
  87. data/data/libphonenumber/javascript/i18n/phonenumbers/metadata.js +38 -32
  88. data/data/libphonenumber/javascript/i18n/phonenumbers/metadatalite.js +38 -32
  89. data/data/libphonenumber/resources/PhoneNumberAlternateFormats.xml +16 -0
  90. data/data/libphonenumber/resources/PhoneNumberMetadata.xml +232 -96
  91. data/data/libphonenumber/resources/ShortNumberMetadata.xml +188 -44
  92. data/data/libphonenumber/resources/carrier/en/255.txt +2 -0
  93. data/data/libphonenumber/resources/carrier/en/374.txt +3 -3
  94. data/data/libphonenumber/resources/carrier/en/421.txt +1 -0
  95. data/data/libphonenumber/resources/carrier/en/66.txt +1 -0
  96. data/data/libphonenumber/resources/carrier/en/91.txt +419 -253
  97. data/data/libphonenumber/resources/carrier/en/973.txt +1 -0
  98. data/data/libphonenumber/resources/carrier/en/992.txt +1 -0
  99. data/data/libphonenumber/resources/carrier/en/994.txt +3 -0
  100. data/data/libphonenumber/resources/carrier/fa/93.txt +24 -0
  101. data/data/libphonenumber/resources/carrier/fa/98.txt +30 -0
  102. data/data/libphonenumber/resources/carrier/ru/374.txt +28 -0
  103. data/data/libphonenumber/resources/geocoding/bg/82.txt +34 -0
  104. data/data/libphonenumber/resources/geocoding/ca/82.txt +34 -0
  105. data/data/libphonenumber/resources/geocoding/el/82.txt +28 -0
  106. data/data/libphonenumber/resources/geocoding/en/1.txt +2 -0
  107. data/data/libphonenumber/resources/geocoding/en/371.txt +3 -0
  108. data/data/libphonenumber/resources/geocoding/en/44.txt +19 -1
  109. data/data/libphonenumber/resources/geocoding/en/504.txt +19 -0
  110. data/data/libphonenumber/resources/geocoding/en/91.txt +1 -5
  111. data/data/libphonenumber/resources/geocoding/en/93.txt +52 -0
  112. data/data/libphonenumber/resources/geocoding/en/98.txt +0 -2
  113. data/data/libphonenumber/resources/geocoding/en/992.txt +77 -0
  114. data/data/libphonenumber/resources/geocoding/en/994.txt +98 -0
  115. data/data/libphonenumber/resources/geocoding/es/82.txt +33 -0
  116. data/data/libphonenumber/resources/geocoding/fa/93.txt +53 -0
  117. data/data/libphonenumber/resources/geocoding/fa/98.txt +0 -2
  118. data/data/libphonenumber/resources/geocoding/fi/82.txt +34 -0
  119. data/data/libphonenumber/resources/geocoding/hi/82.txt +36 -0
  120. data/data/libphonenumber/resources/geocoding/hu/82.txt +35 -0
  121. data/data/libphonenumber/resources/geocoding/iw/82.txt +37 -0
  122. data/data/libphonenumber/resources/geocoding/ja/82.txt +35 -0
  123. data/data/libphonenumber/resources/geocoding/tr/82.txt +35 -0
  124. data/data/libphonenumber/tools/java/common/pom.xml +2 -0
  125. data/data/libphonenumber/tools/java/cpp-build/pom.xml +4 -0
  126. data/data/libphonenumber/tools/java/data/pom.xml +1 -11
  127. data/data/libphonenumber/tools/java/java-build/pom.xml +2 -0
  128. data/data/phone_data.dat +0 -0
  129. data/lib/phonelib.rb +7 -6
  130. data/lib/phonelib/core.rb +116 -68
  131. data/lib/phonelib/data_importer.rb +23 -19
  132. data/lib/phonelib/data_importer_helper.rb +16 -16
  133. data/lib/phonelib/phone.rb +47 -137
  134. data/lib/phonelib/phone_analyzer.rb +27 -25
  135. data/lib/phonelib/phone_analyzer_helper.rb +16 -9
  136. data/lib/phonelib/phone_extended_data.rb +27 -17
  137. data/lib/phonelib/phone_formatter.rb +131 -0
  138. data/lib/phonelib/version.rb +2 -3
  139. data/lib/tasks/phonelib_tasks.rake +0 -2
  140. data/lib/validators/phone_validator.rb +24 -14
  141. metadata +42 -3
@@ -111,12 +111,13 @@
111
111
  <!-- http://www.itu.int/oth/T02020000DC/en -->
112
112
  <territory id="AE">
113
113
  <generalDesc>
114
- <nationalNumberPattern>[19]\d{2}</nationalNumberPattern>
115
- <possibleNumberPattern>\d{3}</possibleNumberPattern>
114
+ <nationalNumberPattern>[149]\d{2,3}</nationalNumberPattern>
115
+ <possibleNumberPattern>\d{3,4}</possibleNumberPattern>
116
116
  </generalDesc>
117
117
  <shortCode>
118
118
  <nationalNumberPattern>
119
119
  112|
120
+ 4451|
120
121
  99[789]
121
122
  </nationalNumberPattern>
122
123
  <exampleNumber>112</exampleNumber>
@@ -128,6 +129,12 @@
128
129
  </nationalNumberPattern>
129
130
  <exampleNumber>112</exampleNumber>
130
131
  </emergency>
132
+ <smsServices>
133
+ <!-- As per online evidences, 4451 is an SMS-able short code. -->
134
+ <nationalNumberPattern>4451</nationalNumberPattern>
135
+ <possibleNumberPattern>\d{4}</possibleNumberPattern>
136
+ <exampleNumber>4451</exampleNumber>
137
+ </smsServices>
131
138
  </territory>
132
139
 
133
140
  <!-- Afghanistan -->
@@ -341,7 +348,7 @@
341
348
  <!-- http://en.wikipedia.org/wiki/Telephone_numbers_in_Argentina#Public_utility_numbers -->
342
349
  <territory id="AR">
343
350
  <generalDesc>
344
- <nationalNumberPattern>[0189]\d{1,4}</nationalNumberPattern>
351
+ <nationalNumberPattern>[01389]\d{1,4}</nationalNumberPattern>
345
352
  <possibleNumberPattern>\d{2,5}</possibleNumberPattern>
346
353
  </generalDesc>
347
354
  <shortCode>
@@ -353,6 +360,7 @@
353
360
  2[15]|
354
361
  9
355
362
  )|
363
+ 3372|
356
364
  89338|
357
365
  911
358
366
  </nationalNumberPattern>
@@ -371,10 +379,15 @@
371
379
  <possibleNumberPattern>\d{2,3}</possibleNumberPattern>
372
380
  <exampleNumber>111</exampleNumber>
373
381
  </tollFree>
382
+ <!-- 911 is only available in select cities. Since it's not available everywhere
383
+ and is location specific adding this number here. -->
374
384
  <carrierSpecific>
375
385
  <!-- https://support.twitter.com/articles/20170024 -->
376
- <nationalNumberPattern>89338</nationalNumberPattern>
377
- <possibleNumberPattern>\d{5}</possibleNumberPattern>
386
+ <nationalNumberPattern>
387
+ 89338|
388
+ 911
389
+ </nationalNumberPattern>
390
+ <possibleNumberPattern>\d{3,5}</possibleNumberPattern>
378
391
  </carrierSpecific>
379
392
  <emergency>
380
393
  <!-- http://en.wikipedia.org/wiki/Telephone_numbers_in_Argentina#Public_utility_numbers -->
@@ -393,8 +406,11 @@
393
406
  </expandedEmergency>
394
407
  <smsServices>
395
408
  <!-- https://support.twitter.com/articles/20170024 -->
396
- <nationalNumberPattern>89338</nationalNumberPattern>
397
- <possibleNumberPattern>\d{5}</possibleNumberPattern>
409
+ <nationalNumberPattern>
410
+ 3372|
411
+ 89338
412
+ </nationalNumberPattern>
413
+ <possibleNumberPattern>\d{4,5}</possibleNumberPattern>
398
414
  </smsServices>
399
415
  </territory>
400
416
 
@@ -1306,9 +1322,12 @@
1306
1322
  330|
1307
1323
  878
1308
1324
  )|
1309
- 85959
1325
+ 85959?
1326
+ )|
1327
+ 4(?:
1328
+ 0404|
1329
+ 828
1310
1330
  )|
1311
- 40404|
1312
1331
  911
1313
1332
  </nationalNumberPattern>
1314
1333
  <exampleNumber>168</exampleNumber>
@@ -1320,9 +1339,10 @@
1320
1339
  1(?:
1321
1340
  00|
1322
1341
  81
1323
- )
1342
+ )|
1343
+ 4828
1324
1344
  </nationalNumberPattern>
1325
- <possibleNumberPattern>\d{3}</possibleNumberPattern>
1345
+ <possibleNumberPattern>\d{3,4}</possibleNumberPattern>
1326
1346
  <exampleNumber>181</exampleNumber>
1327
1347
  </tollFree>
1328
1348
  <standardRate>
@@ -1379,18 +1399,22 @@
1379
1399
  </carrierSelectionCodes>
1380
1400
  <smsServices>
1381
1401
  <!-- https://support.twitter.com/articles/20170024 -->
1382
- <!-- Added short code 285959 after a report that it is used for SMS services. -->
1402
+ <!-- Added short codes 28595, 285959 and 4828 after a report that it is used for SMS
1403
+ services. -->
1383
1404
  <nationalNumberPattern>
1384
1405
  2(?:
1385
1406
  7(?:
1386
1407
  330|
1387
1408
  878
1388
1409
  )|
1389
- 85959
1410
+ 85959?
1390
1411
  )|
1391
- 40404
1412
+ 4(?:
1413
+ 0404|
1414
+ 828
1415
+ )
1392
1416
  </nationalNumberPattern>
1393
- <possibleNumberPattern>\d{5,6}</possibleNumberPattern>
1417
+ <possibleNumberPattern>\d{4,6}</possibleNumberPattern>
1394
1418
  <exampleNumber>27878</exampleNumber>
1395
1419
  </smsServices>
1396
1420
  </territory>
@@ -3668,18 +3692,23 @@
3668
3692
  <!-- United Kingdom -->
3669
3693
  <territory id="GB">
3670
3694
  <generalDesc>
3671
- <nationalNumberPattern>[1-4679]\d{2,5}</nationalNumberPattern>
3695
+ <nationalNumberPattern>[1-467-9]\d{2,5}</nationalNumberPattern>
3672
3696
  <possibleNumberPattern>\d{3,6}</possibleNumberPattern>
3673
3697
  </generalDesc>
3674
3698
  <shortCode>
3675
- <!-- This is a list of the ones that can be called (as opposed to numbers used by text
3676
- delivery or data services). -->
3677
3699
  <nationalNumberPattern>
3678
3700
  1(?:
3679
3701
  0[01]|
3680
3702
  1(?:
3681
3703
  [12]|
3682
- [68]\d{3}
3704
+ 6(?:
3705
+ 000|
3706
+ 1(?:
3707
+ 11|
3708
+ 23
3709
+ )
3710
+ )|
3711
+ 8\d{3}
3683
3712
  )|
3684
3713
  2[123]|
3685
3714
  33|
@@ -3687,13 +3716,20 @@
3687
3716
  1|
3688
3717
  7\d
3689
3718
  )|
3690
- 5\d|
3691
- 70\d|
3719
+ 5(?:
3720
+ \d|
3721
+ 71
3722
+ )|
3723
+ 7(?:
3724
+ 0\d|
3725
+ [56]0
3726
+ )|
3692
3727
  800\d|
3693
3728
  9[15]
3694
3729
  )|
3695
3730
  2(?:
3696
- 02|
3731
+ 02(?:02)?|
3732
+ 1300|
3697
3733
  2(?:
3698
3734
  02|
3699
3735
  11|
@@ -3701,9 +3737,13 @@
3701
3737
  )|
3702
3738
  3(?:
3703
3739
  02|
3740
+ 336|
3704
3741
  45
3705
3742
  )|
3706
- 425
3743
+ 4(?:
3744
+ 25|
3745
+ 8
3746
+ )
3707
3747
  )|
3708
3748
  3[13]3|
3709
3749
  4(?:
@@ -3712,8 +3752,19 @@
3712
3752
  44[45]|
3713
3753
  5\d
3714
3754
  )|
3715
- 650|
3716
- 789|
3755
+ 6(?:
3756
+ 50|
3757
+ \d{4}
3758
+ )|
3759
+ 7(?:
3760
+ 0\d{3}|
3761
+ 8(?:
3762
+ 9|
3763
+ \d{3}
3764
+ )|
3765
+ 9\d{3}
3766
+ )|
3767
+ 8\d{4}|
3717
3768
  9(?:
3718
3769
  01|
3719
3770
  99
@@ -3742,19 +3793,56 @@
3742
3793
  <possibleNumberPattern>\d{6}</possibleNumberPattern>
3743
3794
  <exampleNumber>116000</exampleNumber>
3744
3795
  </expandedEmergency>
3796
+ <!-- http://www.short-codes.com/codes/browse/70000-70999/100_1 says that the service is not
3797
+ available as voice for any of these prefixes for at least some carriers; for carriers
3798
+ where it is listed as possible it isn't actually activated for any short-code at this
3799
+ time. This is the same for the 78, 79, 80 and 81 prefixes. -->
3800
+ <smsServices>
3801
+ <nationalNumberPattern>
3802
+ 2(?:
3803
+ 0202|
3804
+ 1300
3805
+ )|
3806
+ 7\d{4}|
3807
+ 8[01]\d{3}
3808
+ </nationalNumberPattern>
3809
+ <possibleNumberPattern>\d{5}</possibleNumberPattern>
3810
+ <exampleNumber>20202</exampleNumber>
3811
+ </smsServices>
3745
3812
  <tollFree>
3746
3813
  <nationalNumberPattern>
3747
- 116(?:
3748
- 000|
3749
- 1(?:
3750
- 11|
3751
- 23
3752
- )
3753
- )
3814
+ 1(?:
3815
+ 16\d{3}|
3816
+ 7[56]0|
3817
+ 8000
3818
+ )|
3819
+ 2(?:
3820
+ 202|
3821
+ 48
3822
+ )|
3823
+ 4444
3754
3824
  </nationalNumberPattern>
3755
- <possibleNumberPattern>\d{6}</possibleNumberPattern>
3825
+ <possibleNumberPattern>\d{3,6}</possibleNumberPattern>
3756
3826
  <exampleNumber>116000</exampleNumber>
3757
3827
  </tollFree>
3828
+ <carrierSpecific>
3829
+ <nationalNumberPattern>
3830
+ 1(?:
3831
+ 571|
3832
+ 7[56]0
3833
+ )|
3834
+ 2(?:
3835
+ 02(?:02)?|
3836
+ 1300|
3837
+ 3336|
3838
+ 48
3839
+ )|
3840
+ 4444|
3841
+ 901
3842
+ </nationalNumberPattern>
3843
+ <possibleNumberPattern>\d{3,5}</possibleNumberPattern>
3844
+ <exampleNumber>1571</exampleNumber>
3845
+ </carrierSpecific>
3758
3846
  </territory>
3759
3847
 
3760
3848
  <!-- Grenada -->
@@ -4731,8 +4819,8 @@
4731
4819
  <!-- http://en.wikipedia.org/wiki/%2B91 -->
4732
4820
  <territory id="IN">
4733
4821
  <generalDesc>
4734
- <nationalNumberPattern>[125]\d{2,4}</nationalNumberPattern>
4735
- <possibleNumberPattern>\d{3,5}</possibleNumberPattern>
4822
+ <nationalNumberPattern>[125]\d{2,6}</nationalNumberPattern>
4823
+ <possibleNumberPattern>\d{3,7}</possibleNumberPattern>
4736
4824
  </generalDesc>
4737
4825
  <shortCode>
4738
4826
  <nationalNumberPattern>
@@ -4742,7 +4830,11 @@
4742
4830
  298
4743
4831
  )|
4744
4832
  2611|
4745
- 53000
4833
+ 5(?:
4834
+ 143[46]|
4835
+ 3000|
4836
+ 757555
4837
+ )
4746
4838
  </nationalNumberPattern>
4747
4839
  <exampleNumber>108</exampleNumber>
4748
4840
  </shortCode>
@@ -4751,6 +4843,17 @@
4751
4843
  <nationalNumberPattern>53000</nationalNumberPattern>
4752
4844
  <possibleNumberPattern>\d{5}</possibleNumberPattern>
4753
4845
  </carrierSpecific>
4846
+ <standardRate>
4847
+ <!-- Cost of SMS to 51434, 51436 and 5757555 is of standard rate. -->
4848
+ <nationalNumberPattern>
4849
+ 5(?:
4850
+ 143[46]|
4851
+ 757555
4852
+ )
4853
+ </nationalNumberPattern>
4854
+ <possibleNumberPattern>\d{5,7}</possibleNumberPattern>
4855
+ <exampleNumber>5757555</exampleNumber>
4856
+ </standardRate>
4754
4857
  <emergency>
4755
4858
  <nationalNumberPattern>
4756
4859
  1(?:
@@ -4763,6 +4866,15 @@
4763
4866
  <possibleNumberPattern>\d{3,4}</possibleNumberPattern>
4764
4867
  <exampleNumber>108</exampleNumber>
4765
4868
  </emergency>
4869
+ <smsServices>
4870
+ <nationalNumberPattern>
4871
+ 5(?:
4872
+ 143[46]|
4873
+ 757555
4874
+ )
4875
+ </nationalNumberPattern>
4876
+ <possibleNumberPattern>\d{5,7}</possibleNumberPattern>
4877
+ </smsServices>
4766
4878
  </territory>
4767
4879
 
4768
4880
  <!-- British Indian Ocean Territory / Diego Garcia -->
@@ -7287,17 +7399,29 @@
7287
7399
  <!-- Norway -->
7288
7400
  <!-- Country calling code shared with Svalbard. -->
7289
7401
  <!-- http://www.npt.no/npt/numsys/E.164.pdf -->
7402
+ <!-- http://www.nkom.no/npt/numsys/E.1643sifret_en.pdf -->
7290
7403
  <territory id="NO">
7291
7404
  <generalDesc>
7292
7405
  <nationalNumberPattern>1\d{2,5}</nationalNumberPattern>
7293
7406
  <possibleNumberPattern>\d{3,6}</possibleNumberPattern>
7294
7407
  </generalDesc>
7295
7408
  <shortCode>
7409
+ <!-- 143 is assigned but not visible to end users, no other online evidence
7410
+ found, hence not included -->
7296
7411
  <nationalNumberPattern>
7297
- 11(?:
7298
- [023]|
7299
- 6117
7300
- )
7412
+ 1(?:
7413
+ 1(?:
7414
+ [0239]|
7415
+ 6117
7416
+ )|
7417
+ 2[048]|
7418
+ 4(?:
7419
+ 12|
7420
+ [59]
7421
+ )|
7422
+ 7[57]|
7423
+ 90
7424
+ )
7301
7425
  </nationalNumberPattern>
7302
7426
  <exampleNumber>112</exampleNumber>
7303
7427
  </shortCode>
@@ -7312,7 +7436,12 @@
7312
7436
  <exampleNumber>112</exampleNumber>
7313
7437
  </emergency>
7314
7438
  <expandedEmergency>
7315
- <nationalNumberPattern>116117</nationalNumberPattern>
7439
+ <nationalNumberPattern>
7440
+ 1(?:
7441
+ 16117|
7442
+ 412
7443
+ )
7444
+ </nationalNumberPattern>
7316
7445
  <possibleNumberPattern>\d{6}</possibleNumberPattern>
7317
7446
  <exampleNumber>116117</exampleNumber>
7318
7447
  </expandedEmergency>
@@ -8371,7 +8500,8 @@
8371
8500
  111
8372
8501
  )
8373
8502
  )|
8374
- 5[058]
8503
+ 5[058]|
8504
+ 8\d{3}
8375
8505
  )
8376
8506
  </nationalNumberPattern>
8377
8507
  <possibleNumberPattern>\d{3,6}</possibleNumberPattern>
@@ -9589,9 +9719,11 @@
9589
9719
  <!-- South Africa -->
9590
9720
  <!-- http://www.itu.int/dms_pub/itu-t/oth/02/02/T02020000C10001PDFE.pdf -->
9591
9721
  <!-- http://en.wikipedia.org/wiki/Telephone_numbers_in_South_Africa -->
9722
+ <!-- Check http://smscode.co.za/index.asp for verification of short codes and cost
9723
+ information. -->
9592
9724
  <territory id="ZA">
9593
9725
  <generalDesc>
9594
- <nationalNumberPattern>1\d{2,4}</nationalNumberPattern>
9726
+ <nationalNumberPattern>[14]\d{2,4}</nationalNumberPattern>
9595
9727
  <possibleNumberPattern>\d{3,5}</possibleNumberPattern>
9596
9728
  </generalDesc>
9597
9729
  <shortCode>
@@ -9602,10 +9734,16 @@
9602
9734
  77
9603
9735
  )|
9604
9736
  12
9605
- )
9737
+ )|
9738
+ 47751
9606
9739
  </nationalNumberPattern>
9607
9740
  <exampleNumber>10111</exampleNumber>
9608
9741
  </shortCode>
9742
+ <standardRate>
9743
+ <nationalNumberPattern>47751</nationalNumberPattern>
9744
+ <possibleNumberPattern>\d{5}</possibleNumberPattern>
9745
+ <exampleNumber>47751</exampleNumber>
9746
+ </standardRate>
9609
9747
  <emergency>
9610
9748
  <nationalNumberPattern>
9611
9749
  1(?:
@@ -9618,6 +9756,12 @@
9618
9756
  </nationalNumberPattern>
9619
9757
  <exampleNumber>10111</exampleNumber>
9620
9758
  </emergency>
9759
+ <smsServices>
9760
+ <!-- Added SMS service short code 47751 as per online evidences found. -->
9761
+ <nationalNumberPattern>47751</nationalNumberPattern>
9762
+ <possibleNumberPattern>\d{5}</possibleNumberPattern>
9763
+ <exampleNumber>47751</exampleNumber>
9764
+ </smsServices>
9621
9765
  </territory>
9622
9766
 
9623
9767
  <!-- Zambia -->
@@ -12,12 +12,14 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
+ 25561|Dovetel
15
16
  25562|Viettel
16
17
  25565|tiGO
17
18
  25566|SMILE
18
19
  25567|tiGO
19
20
  25568|Airtel
20
21
  25571|tiGO
22
+ 25572|Mycel
21
23
  25573|Tanzania Telecom
22
24
  25574|Vodacom
23
25
  25575|Vodacom
@@ -15,15 +15,15 @@
15
15
  # Data from Wikipedia:
16
16
  # http://en.wikipedia.org/wiki/Telephone_numbers_in_Armenia#Mobile_network_codes
17
17
 
18
- 37441|Orange
18
+ 37441|Ucom
19
19
  37443|Beeline
20
20
  37449|VivaCell-MTS
21
- 37455|Orange
21
+ 37455|Ucom
22
22
  37477|VivaCell-MTS
23
23
  37491|Beeline
24
24
  37493|VivaCell-MTS
25
25
  37494|VivaCell-MTS
26
- 37495|Orange
26
+ 37495|Ucom
27
27
  37496|Beeline
28
28
  37498|VivaCell-MTS
29
29
  37499|Beeline