phonelib 0.5.6 → 0.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/data/extended_data.dat +0 -0
- data/data/libphonenumber/FALSEHOODS.md +221 -0
- data/data/libphonenumber/FAQ.md +8 -0
- data/data/libphonenumber/README.md +4 -4
- data/data/libphonenumber/cpp/CMakeLists.txt +2 -1
- data/data/libphonenumber/cpp/README +62 -2
- data/data/libphonenumber/cpp/src/phonenumbers/lite_metadata.cc +9480 -9440
- data/data/libphonenumber/cpp/src/phonenumbers/metadata.cc +10349 -10308
- data/data/libphonenumber/cpp/src/phonenumbers/phonenumbermatcher.cc +1 -1
- data/data/libphonenumber/cpp/src/phonenumbers/phonenumberutil.cc +108 -5
- data/data/libphonenumber/cpp/src/phonenumbers/phonenumberutil.h +37 -4
- data/data/libphonenumber/cpp/src/phonenumbers/short_metadata.cc +544 -514
- data/data/libphonenumber/cpp/test/phonenumbers/phonenumbermatcher_test.cc +9 -1
- data/data/libphonenumber/cpp/test/phonenumbers/phonenumberutil_test.cc +61 -1
- data/data/libphonenumber/debian/control +1 -1
- data/data/libphonenumber/java/carrier/pom.xml +4 -4
- data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/225_en +0 -0
- data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/229_en +0 -0
- data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/252_en +0 -0
- data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/254_en +0 -0
- data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/84_en +0 -0
- data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/853_en +0 -0
- data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/86_en +0 -0
- data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/968_en +0 -0
- data/data/libphonenumber/java/demo/pom.xml +5 -5
- data/data/libphonenumber/java/geocoder/pom.xml +4 -4
- data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/251_en +0 -0
- data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/254_en +0 -0
- data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/84_en +0 -0
- data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/86_en +0 -0
- data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/86_zh +0 -0
- data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/timezones/data/map_data +0 -0
- data/data/libphonenumber/java/internal/prefixmapper/pom.xml +3 -3
- data/data/libphonenumber/java/libphonenumber/pom.xml +2 -2
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberUtil.java +120 -12
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BJ +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BZ +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CI +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CL +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CN +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ET +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_FO +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GQ +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IN +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KE +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KW +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ML +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MO +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NO +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_OM +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SE +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SO +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TK +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_VN +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_FO +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_FR +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_KE +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/SingleFilePhoneNumberMetadataProto +0 -0
- data/data/libphonenumber/java/libphonenumber/test/com/google/i18n/phonenumbers/ExampleNumbersTest.java +22 -4
- data/data/libphonenumber/java/libphonenumber/test/com/google/i18n/phonenumbers/PhoneNumberUtilTest.java +22 -1
- data/data/libphonenumber/java/pending_code_changes.txt +1 -0
- data/data/libphonenumber/java/pom.xml +1 -1
- data/data/libphonenumber/java/release_notes.txt +33 -1
- data/data/libphonenumber/javascript/README.md +2 -2
- data/data/libphonenumber/javascript/i18n/phonenumbers/demo-compiled.js +157 -155
- data/data/libphonenumber/javascript/i18n/phonenumbers/metadata.js +49 -41
- data/data/libphonenumber/javascript/i18n/phonenumbers/metadatalite.js +49 -41
- data/data/libphonenumber/javascript/i18n/phonenumbers/phonenumberutil.js +39 -10
- data/data/libphonenumber/javascript/i18n/phonenumbers/phonenumberutil_test.js +8 -0
- data/data/libphonenumber/resources/PhoneNumberMetadata.xml +176 -125
- data/data/libphonenumber/resources/ShortNumberMetadata.xml +158 -24
- data/data/libphonenumber/resources/carrier/en/225.txt +1 -0
- data/data/libphonenumber/resources/carrier/en/229.txt +3 -0
- data/data/libphonenumber/resources/carrier/en/252.txt +1 -0
- data/data/libphonenumber/resources/carrier/en/254.txt +24 -8
- data/data/libphonenumber/resources/carrier/en/84.txt +3 -0
- data/data/libphonenumber/resources/carrier/en/853.txt +10 -0
- data/data/libphonenumber/resources/carrier/en/86.txt +9 -0
- data/data/libphonenumber/resources/carrier/en/968.txt +11 -1
- data/data/libphonenumber/resources/geocoding/en/251.txt +1 -0
- data/data/libphonenumber/resources/geocoding/en/254.txt +5 -5
- data/data/libphonenumber/resources/geocoding/en/84.txt +9 -1
- data/data/libphonenumber/resources/geocoding/en/86.txt +18 -14
- data/data/libphonenumber/resources/geocoding/zh/86.txt +17 -15
- data/data/libphonenumber/resources/phonenumber.proto +7 -6
- data/data/libphonenumber/resources/timezones/map_data.txt +63 -19
- data/data/phone_data.dat +0 -0
- data/lib/phonelib/phone_analyzer.rb +11 -7
- data/lib/phonelib/phone_analyzer_helper.rb +4 -3
- data/lib/phonelib/version.rb +1 -1
- metadata +4 -2
@@ -175,6 +175,22 @@ i18n.phonenumbers.PhoneNumberUtil.MOBILE_TOKEN_MAPPINGS_ = {
|
|
175
175
|
};
|
176
176
|
|
177
177
|
|
178
|
+
/**
|
179
|
+
* Set of country calling codes that have geographically assigned mobile
|
180
|
+
* numbers. This may not be complete; we add calling codes case by case, as we
|
181
|
+
* find geographical mobile numbers or hear from user reports.
|
182
|
+
*
|
183
|
+
* @const
|
184
|
+
* @type {!Array.<number>}
|
185
|
+
* @private
|
186
|
+
*/
|
187
|
+
i18n.phonenumbers.PhoneNumberUtil.GEO_MOBILE_COUNTRIES_ = [
|
188
|
+
52, // Mexico
|
189
|
+
54, // Argentina
|
190
|
+
55 // Brazil
|
191
|
+
];
|
192
|
+
|
193
|
+
|
178
194
|
/**
|
179
195
|
* The PLUS_SIGN signifies the international prefix.
|
180
196
|
*
|
@@ -1371,10 +1387,13 @@ i18n.phonenumbers.PhoneNumberUtil.prototype.isNumberGeographical =
|
|
1371
1387
|
function(phoneNumber) {
|
1372
1388
|
/** @type {i18n.phonenumbers.PhoneNumberType} */
|
1373
1389
|
var numberType = this.getNumberType(phoneNumber);
|
1374
|
-
|
1375
|
-
// has some mobile numbers that are geographical.
|
1390
|
+
|
1376
1391
|
return numberType == i18n.phonenumbers.PhoneNumberType.FIXED_LINE ||
|
1377
|
-
numberType == i18n.phonenumbers.PhoneNumberType.FIXED_LINE_OR_MOBILE
|
1392
|
+
numberType == i18n.phonenumbers.PhoneNumberType.FIXED_LINE_OR_MOBILE ||
|
1393
|
+
(goog.array.contains(
|
1394
|
+
i18n.phonenumbers.PhoneNumberUtil.GEO_MOBILE_COUNTRIES_,
|
1395
|
+
phoneNumber.getCountryCodeOrDefault()) &&
|
1396
|
+
numberType == i18n.phonenumbers.PhoneNumberType.MOBILE);
|
1378
1397
|
};
|
1379
1398
|
|
1380
1399
|
|
@@ -3663,11 +3682,20 @@ i18n.phonenumbers.PhoneNumberUtil.prototype.checkRegionForParsing_ = function(
|
|
3663
3682
|
|
3664
3683
|
|
3665
3684
|
/**
|
3666
|
-
* Parses a string and returns it in proto buffer format.
|
3667
|
-
*
|
3668
|
-
*
|
3669
|
-
*
|
3670
|
-
*
|
3685
|
+
* Parses a string and returns it as a phone number in proto buffer format. The
|
3686
|
+
* method is quite lenient and looks for a number in the input text (raw input)
|
3687
|
+
* and does not check whether the string is definitely only a phone number. To
|
3688
|
+
* do this, it ignores punctuation and white-space, as well as any text before
|
3689
|
+
* the number (e.g. a leading “Tel: ”) and trims the non-number bits. It will
|
3690
|
+
* accept a number in any format (E164, national, international etc), assuming
|
3691
|
+
* it can be interpreted with the defaultRegion supplied. It also attempts to
|
3692
|
+
* convert any alpha characters into digits if it thinks this is a vanity number
|
3693
|
+
* of the type "1800 MICROSOFT".
|
3694
|
+
*
|
3695
|
+
* This method will throw a {@link i18n.phonenumbers.Error} if the number is not
|
3696
|
+
* considered to be a possible number. Note that validation of whether the
|
3697
|
+
* number is actually a valid number for a particular region is not performed.
|
3698
|
+
* This can be done separately with {@link #isValidNumber}.
|
3671
3699
|
*
|
3672
3700
|
* @param {?string} numberToParse number that we are attempting to parse. This
|
3673
3701
|
* can contain formatting such as +, ( and -, as well as a phone number
|
@@ -3681,8 +3709,9 @@ i18n.phonenumbers.PhoneNumberUtil.prototype.checkRegionForParsing_ = function(
|
|
3681
3709
|
* @return {i18n.phonenumbers.PhoneNumber} a phone number proto buffer filled
|
3682
3710
|
* with the parsed number.
|
3683
3711
|
* @throws {i18n.phonenumbers.Error} if the string is not considered to be a
|
3684
|
-
* viable phone number
|
3685
|
-
* is not in international format (does
|
3712
|
+
* viable phone number (e.g. too few or too many digits) or if no default
|
3713
|
+
* region was supplied and the number is not in international format (does
|
3714
|
+
* not start with +).
|
3686
3715
|
*/
|
3687
3716
|
i18n.phonenumbers.PhoneNumberUtil.prototype.parse = function(numberToParse,
|
3688
3717
|
defaultRegion) {
|
@@ -323,6 +323,14 @@ function testIsNumberGeographical() {
|
|
323
323
|
assertTrue(phoneUtil.isNumberGeographical(AU_NUMBER));
|
324
324
|
// International toll free number.
|
325
325
|
assertFalse(phoneUtil.isNumberGeographical(INTERNATIONAL_TOLL_FREE));
|
326
|
+
// We test that mobile phone numbers in relevant regions are indeed considered
|
327
|
+
// geographical.
|
328
|
+
// Argentina, mobile phone number.
|
329
|
+
assertTrue(phoneUtil.isNumberGeographical(AR_MOBILE));
|
330
|
+
// Mexico, mobile phone number.
|
331
|
+
assertTrue(phoneUtil.isNumberGeographical(MX_MOBILE1));
|
332
|
+
// Mexico, another mobile phone number.
|
333
|
+
assertTrue(phoneUtil.isNumberGeographical(MX_MOBILE2));
|
326
334
|
}
|
327
335
|
|
328
336
|
function testIsLeadingZeroPossible() {
|
@@ -3029,12 +3029,13 @@
|
|
3029
3029
|
</fixedLine>
|
3030
3030
|
<mobile>
|
3031
3031
|
<!-- We have restricted the pattern here to the first two digits, as beyond this the data
|
3032
|
-
seems to be no longer accurate. The
|
3033
|
-
|
3034
|
-
|
3032
|
+
seems to be no longer accurate. The latest ITU doc (2005) lists 9[0357] and lists
|
3033
|
+
other 9x and the complete 6x range as reserved. The prefixes 9[46] have also been
|
3034
|
+
added, along with 6[1267] (seemingly prefixes for Mobile MTN), and 6[3-5] for Moov.
|
3035
|
+
Glo Mobile has been reported as having prefixes 68 and 9[89]. -->
|
3035
3036
|
<nationalNumberPattern>
|
3036
3037
|
(?:
|
3037
|
-
6[
|
3038
|
+
6[1-8]|
|
3038
3039
|
9[03-9]
|
3039
3040
|
)\d{6}
|
3040
3041
|
</nationalNumberPattern>
|
@@ -3979,9 +3980,9 @@
|
|
3979
3980
|
<exampleNumber>2221234</exampleNumber>
|
3980
3981
|
</fixedLine>
|
3981
3982
|
<mobile>
|
3982
|
-
<!-- 62[6-9], 63X and 6[67][2-9] were added as we have been able to successfully
|
3983
|
-
|
3984
|
-
<nationalNumberPattern>6[0-
|
3983
|
+
<!-- 62[6-9], 63X, 65X and 6[67][2-9] were added as we have been able to successfully
|
3984
|
+
send SMSs to these numbers or many numbers have been found online. -->
|
3985
|
+
<nationalNumberPattern>6[0-35-7]\d{5}</nationalNumberPattern>
|
3985
3986
|
<possibleNumberPattern>\d{7}</possibleNumberPattern>
|
3986
3987
|
<exampleNumber>6221234</exampleNumber>
|
3987
3988
|
</mobile>
|
@@ -4494,7 +4495,7 @@
|
|
4494
4495
|
(?:
|
4495
4496
|
0[1-9]|
|
4496
4497
|
4\d|
|
4497
|
-
5[
|
4498
|
+
5[14-9]|
|
4498
4499
|
6[015-79]|
|
4499
4500
|
7[578]|
|
4500
4501
|
87
|
@@ -4634,12 +4635,9 @@
|
|
4634
4635
|
-->
|
4635
4636
|
<nationalNumberPattern>
|
4636
4637
|
2(?:
|
4638
|
+
1962\d{4}|
|
4637
4639
|
2\d{7}|
|
4638
|
-
|
4639
|
-
20|
|
4640
|
-
22
|
4641
|
-
)\d{5}|
|
4642
|
-
1962\d{4}
|
4640
|
+
32[0-2]\d{5}
|
4643
4641
|
)|
|
4644
4642
|
(?:
|
4645
4643
|
3[2-5]|
|
@@ -4864,39 +4862,6 @@
|
|
4864
4862
|
</leadingDigits>
|
4865
4863
|
<format>$1 $2 $3</format>
|
4866
4864
|
</numberFormat>
|
4867
|
-
<numberFormat nationalPrefixFormattingRule="$NP$FG" pattern="(\d{3})(\d{4})(\d{4})"
|
4868
|
-
nationalPrefixOptionalWhenFormatting="true"
|
4869
|
-
carrierCodeFormattingRule="$CC $FG">
|
4870
|
-
<leadingDigits>
|
4871
|
-
3(?:
|
4872
|
-
11|
|
4873
|
-
7[179]
|
4874
|
-
)|
|
4875
|
-
4(?:
|
4876
|
-
[15]1|
|
4877
|
-
3[12]
|
4878
|
-
)|
|
4879
|
-
5(?:
|
4880
|
-
1|
|
4881
|
-
2[37]|
|
4882
|
-
3[12]|
|
4883
|
-
51|
|
4884
|
-
7[13-79]|
|
4885
|
-
9[15]
|
4886
|
-
)|
|
4887
|
-
7(?:
|
4888
|
-
31|
|
4889
|
-
5[457]|
|
4890
|
-
6[09]|
|
4891
|
-
91
|
4892
|
-
)|
|
4893
|
-
8(?:
|
4894
|
-
[57]1|
|
4895
|
-
98
|
4896
|
-
)
|
4897
|
-
</leadingDigits>
|
4898
|
-
<format>$1 $2 $3</format>
|
4899
|
-
</numberFormat>
|
4900
4865
|
<numberFormat nationalPrefixFormattingRule="$NP$FG" pattern="(\d{3})(\d{3})(\d{4})"
|
4901
4866
|
nationalPrefixOptionalWhenFormatting="true"
|
4902
4867
|
carrierCodeFormattingRule="$CC $FG">
|
@@ -4943,7 +4908,7 @@
|
|
4943
4908
|
1[236-8]|
|
4944
4909
|
2[5-7]|
|
4945
4910
|
3|
|
4946
|
-
5[
|
4911
|
+
5[1-9]|
|
4947
4912
|
7[02-9]|
|
4948
4913
|
8[3678]|
|
4949
4914
|
9[1-7]
|
@@ -4958,6 +4923,46 @@
|
|
4958
4923
|
</leadingDigits>
|
4959
4924
|
<format>$1 $2 $3</format>
|
4960
4925
|
</numberFormat>
|
4926
|
+
<numberFormat nationalPrefixFormattingRule="$NP$FG" pattern="(\d{3})(\d{4})(\d{4})"
|
4927
|
+
nationalPrefixOptionalWhenFormatting="true"
|
4928
|
+
carrierCodeFormattingRule="$CC $FG">
|
4929
|
+
<leadingDigits>
|
4930
|
+
3(?:
|
4931
|
+
11|
|
4932
|
+
7[179]
|
4933
|
+
)|
|
4934
|
+
4(?:
|
4935
|
+
[15]1|
|
4936
|
+
3[1-35]
|
4937
|
+
)|
|
4938
|
+
5(?:
|
4939
|
+
1|
|
4940
|
+
2[37]|
|
4941
|
+
3[12]|
|
4942
|
+
51|
|
4943
|
+
7[13-79]|
|
4944
|
+
9[15]
|
4945
|
+
)|
|
4946
|
+
7(?:
|
4947
|
+
31|
|
4948
|
+
5[457]|
|
4949
|
+
6[09]|
|
4950
|
+
91
|
4951
|
+
)|
|
4952
|
+
8(?:
|
4953
|
+
[57]1|
|
4954
|
+
98
|
4955
|
+
)
|
4956
|
+
</leadingDigits>
|
4957
|
+
<format>$1 $2 $3</format>
|
4958
|
+
</numberFormat>
|
4959
|
+
<numberFormat nationalPrefixFormattingRule="$NP$FG" pattern="(\d{4})(\d{3})(\d{4})"
|
4960
|
+
nationalPrefixOptionalWhenFormatting="true"
|
4961
|
+
carrierCodeFormattingRule="$CC $FG">
|
4962
|
+
<leadingDigits>807</leadingDigits>
|
4963
|
+
<leadingDigits>8078</leadingDigits>
|
4964
|
+
<format>$1 $2 $3</format>
|
4965
|
+
</numberFormat>
|
4961
4966
|
<numberFormat pattern="(\d{3})(\d{4})(\d{4})" carrierCodeFormattingRule="$CC $FG">
|
4962
4967
|
<leadingDigits>1[3-578]</leadingDigits>
|
4963
4968
|
<format>$1 $2 $3</format>
|
@@ -5018,7 +5023,7 @@
|
|
5018
5023
|
)|
|
5019
5024
|
4(?:
|
5020
5025
|
[15]1|
|
5021
|
-
3[
|
5026
|
+
3[1-35]
|
5022
5027
|
)|
|
5023
5028
|
5(?:
|
5024
5029
|
1\d|
|
@@ -5081,15 +5086,16 @@
|
|
5081
5086
|
2[248]|
|
5082
5087
|
3[04-9]|
|
5083
5088
|
4[3-6]|
|
5084
|
-
5[0-
|
5089
|
+
5[0-4689]|
|
5085
5090
|
6[2368]|
|
5086
5091
|
9[02-9]
|
5087
5092
|
)|
|
5088
5093
|
8(?:
|
5094
|
+
078|
|
5089
5095
|
1[236-8]|
|
5090
5096
|
2[5-7]|
|
5091
5097
|
3\d|
|
5092
|
-
5[
|
5098
|
+
5[1-9]|
|
5093
5099
|
7[02-9]|
|
5094
5100
|
8[3678]|
|
5095
5101
|
9[1-7]
|
@@ -5122,7 +5128,7 @@
|
|
5122
5128
|
[38]\d|
|
5123
5129
|
4[57]|
|
5124
5130
|
5[0-35-9]|
|
5125
|
-
7[
|
5131
|
+
7[036-8]
|
5126
5132
|
)\d{8}
|
5127
5133
|
</nationalNumberPattern>
|
5128
5134
|
<possibleNumberPattern>\d{11}</possibleNumberPattern>
|
@@ -7070,7 +7076,7 @@
|
|
7070
7076
|
6[5-8]
|
7071
7077
|
)|
|
7072
7078
|
5(?:
|
7073
|
-
1[
|
7079
|
+
1[578]|
|
7074
7080
|
44|
|
7075
7081
|
5[0-4]
|
7076
7082
|
)|
|
@@ -7450,9 +7456,8 @@
|
|
7450
7456
|
<mobile>
|
7451
7457
|
<nationalNumberPattern>
|
7452
7458
|
(?:
|
7453
|
-
|
7454
|
-
5\d
|
7455
|
-
7[1-79]
|
7459
|
+
[27][1-9]|
|
7460
|
+
5\d
|
7456
7461
|
)\d{4}
|
7457
7462
|
</nationalNumberPattern>
|
7458
7463
|
<exampleNumber>211234</exampleNumber>
|
@@ -7467,7 +7472,7 @@
|
|
7467
7472
|
[1345][15-7]|
|
7468
7473
|
2[125-7]|
|
7469
7474
|
99
|
7470
|
-
|
7475
|
+
)\d{2}
|
7471
7476
|
</nationalNumberPattern>
|
7472
7477
|
<exampleNumber>901123</exampleNumber>
|
7473
7478
|
</premiumRate>
|
@@ -8897,7 +8902,7 @@
|
|
8897
8902
|
<nationalNumberPattern>
|
8898
8903
|
(?:
|
8899
8904
|
222|
|
8900
|
-
|
8905
|
+
55[15]
|
8901
8906
|
)\d{6}
|
8902
8907
|
</nationalNumberPattern>
|
8903
8908
|
<exampleNumber>222123456</exampleNumber>
|
@@ -10502,6 +10507,7 @@
|
|
10502
10507
|
<sourceUrl>http://www.itu.int/oth/T0202000063/en</sourceUrl>
|
10503
10508
|
<sourceUrl>http://en.wikipedia.org/wiki/%2B91</sourceUrl>
|
10504
10509
|
<sourceUrl>http://www.coai.in/msccodes.php</sourceUrl>
|
10510
|
+
<sourceUrl>http://www.dot.gov.in/access-services/allotment-msc-codes</sourceUrl>
|
10505
10511
|
</references>
|
10506
10512
|
<availableFormats>
|
10507
10513
|
<!-- Mobile numbers. -->
|
@@ -10509,7 +10515,7 @@
|
|
10509
10515
|
<leadingDigits>
|
10510
10516
|
7(?:
|
10511
10517
|
[0257]|
|
10512
|
-
3[
|
10518
|
+
3[013-57-9]|
|
10513
10519
|
4[0-389]|
|
10514
10520
|
6[0-35-9]|
|
10515
10521
|
8[0-79]
|
@@ -10539,6 +10545,8 @@
|
|
10539
10545
|
3(?:
|
10540
10546
|
[058]|
|
10541
10547
|
1[09]|
|
10548
|
+
31|
|
10549
|
+
48|
|
10542
10550
|
7[3679]|
|
10543
10551
|
9[689]
|
10544
10552
|
)|
|
@@ -11006,6 +11014,8 @@
|
|
11006
11014
|
3(?:
|
11007
11015
|
[058]\d|
|
11008
11016
|
1[09]|
|
11017
|
+
31|
|
11018
|
+
48|
|
11009
11019
|
7[3679]|
|
11010
11020
|
9[689]
|
11011
11021
|
)|
|
@@ -13134,9 +13144,9 @@
|
|
13134
13144
|
<!-- Kenya -->
|
13135
13145
|
<territory id="KE" countryCode="254" internationalPrefix="000"
|
13136
13146
|
nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG"
|
13137
|
-
mobileNumberPortableRegion="true">
|
13147
|
+
mobileNumberPortableRegion="true" nationalPrefixForParsing="005|0">
|
13138
13148
|
<references>
|
13139
|
-
<sourceUrl>http://www.
|
13149
|
+
<sourceUrl>http://www.ca.go.ke/images/downloads/NUMBERING/Telecommunication%20Numbering%20Plan%20For%20Kenya%20Feb%202016.Pdf</sourceUrl>
|
13140
13150
|
<sourceUrl>http://en.wikipedia.org/wiki/+254</sourceUrl>
|
13141
13151
|
</references>
|
13142
13152
|
<availableFormats>
|
@@ -13187,9 +13197,8 @@
|
|
13187
13197
|
7(?:
|
13188
13198
|
[0-36]\d|
|
13189
13199
|
5[0-6]|
|
13190
|
-
|
13191
|
-
8[0-25-9]
|
13192
|
-
9[0-4]
|
13200
|
+
[79][0-7]|
|
13201
|
+
8[0-25-9]
|
13193
13202
|
)\d{6}
|
13194
13203
|
</nationalNumberPattern>
|
13195
13204
|
<possibleNumberPattern>\d{9}</possibleNumberPattern>
|
@@ -13898,16 +13907,20 @@
|
|
13898
13907
|
<!-- Format is from ITU. -->
|
13899
13908
|
<numberFormat pattern="(\d{4})(\d{3,4})">
|
13900
13909
|
<leadingDigits>
|
13901
|
-
[
|
13902
|
-
|
13910
|
+
[16]|
|
13911
|
+
2(?:
|
13912
|
+
[0-35-9]|
|
13913
|
+
4[0-35-9]
|
13914
|
+
)|
|
13915
|
+
9[024-9]|
|
13903
13916
|
52[25]
|
13904
13917
|
</leadingDigits>
|
13905
13918
|
<format>$1 $2</format>
|
13906
13919
|
</numberFormat>
|
13907
13920
|
<numberFormat pattern="(\d{3})(\d{5})">
|
13908
13921
|
<leadingDigits>
|
13909
|
-
|
13910
|
-
|
13922
|
+
244|
|
13923
|
+
5[015]
|
13911
13924
|
</leadingDigits>
|
13912
13925
|
<format>$1 $2</format>
|
13913
13926
|
</numberFormat>
|
@@ -13946,7 +13959,7 @@
|
|
13946
13959
|
1[0-7]\d|
|
13947
13960
|
2(?:
|
13948
13961
|
22|
|
13949
|
-
|
13962
|
+
5[25]
|
13950
13963
|
)
|
13951
13964
|
)|
|
13952
13965
|
6(?:
|
@@ -15801,8 +15814,11 @@
|
|
15801
15814
|
reported by open-source users, although the exact possible second digits are uncertain.
|
15802
15815
|
-->
|
15803
15816
|
<nationalNumberPattern>
|
15804
|
-
|
15805
|
-
|
15817
|
+
(?:
|
15818
|
+
[67]\d|
|
15819
|
+
8[23]|
|
15820
|
+
9[0-25-9]
|
15821
|
+
)\d{6}
|
15806
15822
|
</nationalNumberPattern>
|
15807
15823
|
<exampleNumber>65012345</exampleNumber>
|
15808
15824
|
</mobile>
|
@@ -16163,7 +16179,7 @@
|
|
16163
16179
|
<nationalNumberPattern>
|
16164
16180
|
6(?:
|
16165
16181
|
[2356]\d|
|
16166
|
-
8[
|
16182
|
+
8[158]
|
16167
16183
|
)\d{5}
|
16168
16184
|
</nationalNumberPattern>
|
16169
16185
|
<exampleNumber>66123456</exampleNumber>
|
@@ -17846,7 +17862,7 @@
|
|
17846
17862
|
<mobile>
|
17847
17863
|
<nationalNumberPattern>
|
17848
17864
|
(?:
|
17849
|
-
4[015-
|
17865
|
+
4[015-9]|
|
17850
17866
|
5[89]|
|
17851
17867
|
9\d
|
17852
17868
|
)\d{6}
|
@@ -18184,8 +18200,8 @@
|
|
18184
18200
|
<leadingDigits>2</leadingDigits>
|
18185
18201
|
<format>$1 $2</format>
|
18186
18202
|
</numberFormat>
|
18187
|
-
<numberFormat pattern="(
|
18188
|
-
<leadingDigits>
|
18203
|
+
<numberFormat pattern="([79]\d{3})(\d{4})">
|
18204
|
+
<leadingDigits>[79]</leadingDigits>
|
18189
18205
|
<format>$1 $2</format>
|
18190
18206
|
</numberFormat>
|
18191
18207
|
<numberFormat pattern="([58]00)(\d{4,6})">
|
@@ -18196,9 +18212,8 @@
|
|
18196
18212
|
<generalDesc>
|
18197
18213
|
<nationalNumberPattern>
|
18198
18214
|
(?:
|
18199
|
-
2[2-6]|
|
18200
18215
|
5|
|
18201
|
-
|
18216
|
+
[279]\d
|
18202
18217
|
)\d{6}|
|
18203
18218
|
800\d{5,6}
|
18204
18219
|
</nationalNumberPattern>
|
@@ -18211,6 +18226,7 @@
|
|
18211
18226
|
</fixedLine>
|
18212
18227
|
<mobile>
|
18213
18228
|
<nationalNumberPattern>
|
18229
|
+
7[19]\d{6}|
|
18214
18230
|
9(?:
|
18215
18231
|
0[1-9]|
|
18216
18232
|
[1-9]\d
|
@@ -18219,15 +18235,6 @@
|
|
18219
18235
|
<possibleNumberPattern>\d{8}</possibleNumberPattern>
|
18220
18236
|
<exampleNumber>92123456</exampleNumber>
|
18221
18237
|
</mobile>
|
18222
|
-
<premiumRate>
|
18223
|
-
<nationalNumberPattern>
|
18224
|
-
(?:
|
18225
|
-
900
|
18226
|
-
)\d{5}
|
18227
|
-
</nationalNumberPattern>
|
18228
|
-
<possibleNumberPattern>\d{8}</possibleNumberPattern>
|
18229
|
-
<exampleNumber>90012345</exampleNumber>
|
18230
|
-
</premiumRate>
|
18231
18238
|
<tollFree>
|
18232
18239
|
<!-- Link to document about toll-free numbers on http://www.tra.gov.om, which suggests they
|
18233
18240
|
should be 8007 followed by 4 digits. However, the only examples I can find, including
|
@@ -18242,7 +18249,11 @@
|
|
18242
18249
|
<possibleNumberPattern>\d{7,9}</possibleNumberPattern>
|
18243
18250
|
<exampleNumber>80071234</exampleNumber>
|
18244
18251
|
</tollFree>
|
18245
|
-
|
18252
|
+
<premiumRate>
|
18253
|
+
<nationalNumberPattern>900\d{5}</nationalNumberPattern>
|
18254
|
+
<possibleNumberPattern>\d{8}</possibleNumberPattern>
|
18255
|
+
<exampleNumber>90012345</exampleNumber>
|
18256
|
+
</premiumRate>
|
18246
18257
|
</territory>
|
18247
18258
|
|
18248
18259
|
<!-- Panama -->
|
@@ -20396,13 +20407,12 @@
|
|
20396
20407
|
<format>$1-$2 $3 $4</format>
|
20397
20408
|
<intlFormat>$1 $2 $3 $4</intlFormat>
|
20398
20409
|
</numberFormat>
|
20399
|
-
<numberFormat pattern="([1-
|
20410
|
+
<numberFormat pattern="([1-469]\d)(\d{3})(\d{2})">
|
20400
20411
|
<leadingDigits>
|
20401
|
-
1[
|
20412
|
+
1[136]|
|
20402
20413
|
2[136]|
|
20403
|
-
3[
|
20414
|
+
3[356]|
|
20404
20415
|
4[0246]|
|
20405
|
-
54|
|
20406
20416
|
6[03]|
|
20407
20417
|
90
|
20408
20418
|
</leadingDigits>
|
@@ -20412,11 +20422,17 @@
|
|
20412
20422
|
<numberFormat pattern="(\d{3})(\d{2})(\d{2})(\d{2})">
|
20413
20423
|
<leadingDigits>
|
20414
20424
|
1[2457]|
|
20415
|
-
2
|
20425
|
+
2(?:
|
20426
|
+
[247-9]|
|
20427
|
+
5[0138]
|
20428
|
+
)|
|
20416
20429
|
3[0247-9]|
|
20417
20430
|
4[1357-9]|
|
20418
20431
|
5[0-35-9]|
|
20419
|
-
6
|
20432
|
+
6(?:
|
20433
|
+
[124-689]|
|
20434
|
+
7[0-2]
|
20435
|
+
)|
|
20420
20436
|
9(?:
|
20421
20437
|
[125-8]|
|
20422
20438
|
3[0-5]|
|
@@ -20429,11 +20445,17 @@
|
|
20429
20445
|
<numberFormat pattern="(\d{3})(\d{2,3})(\d{2})">
|
20430
20446
|
<leadingDigits>
|
20431
20447
|
1[2457]|
|
20432
|
-
2
|
20448
|
+
2(?:
|
20449
|
+
[247-9]|
|
20450
|
+
5[0138]
|
20451
|
+
)|
|
20433
20452
|
3[0247-9]|
|
20434
20453
|
4[1357-9]|
|
20435
20454
|
5[0-35-9]|
|
20436
|
-
6
|
20455
|
+
6(?:
|
20456
|
+
[124-689]|
|
20457
|
+
7[0-2]
|
20458
|
+
)|
|
20437
20459
|
9(?:
|
20438
20460
|
[125-8]|
|
20439
20461
|
3[0-5]|
|
@@ -20468,6 +20490,14 @@
|
|
20468
20490
|
<format>$1-$2</format>
|
20469
20491
|
<intlFormat>$1 $2</intlFormat>
|
20470
20492
|
</numberFormat>
|
20493
|
+
<numberFormat pattern="(\d{3})(\d{2})(\d{3})(\d{2})(\d{2})">
|
20494
|
+
<leadingDigits>
|
20495
|
+
25[245]|
|
20496
|
+
67[3-6]
|
20497
|
+
</leadingDigits>
|
20498
|
+
<format>$1-$2 $3 $4 $5</format>
|
20499
|
+
<intlFormat>$1 $2 $3 $4 $5</intlFormat>
|
20500
|
+
</numberFormat>
|
20471
20501
|
</availableFormats>
|
20472
20502
|
<generalDesc>
|
20473
20503
|
<nationalNumberPattern>
|
@@ -20574,6 +20604,21 @@
|
|
20574
20604
|
<possibleNumberPattern>\d{9}</possibleNumberPattern>
|
20575
20605
|
<exampleNumber>740123456</exampleNumber>
|
20576
20606
|
</pager>
|
20607
|
+
<personalNumber>
|
20608
|
+
<nationalNumberPattern>75[1-8]\d{6}</nationalNumberPattern>
|
20609
|
+
<possibleNumberPattern>\d{9}</possibleNumberPattern>
|
20610
|
+
<exampleNumber>751234567</exampleNumber>
|
20611
|
+
</personalNumber>
|
20612
|
+
<voicemail>
|
20613
|
+
<nationalNumberPattern>
|
20614
|
+
(?:
|
20615
|
+
25[245]|
|
20616
|
+
67[3-6]
|
20617
|
+
)\d{9}
|
20618
|
+
</nationalNumberPattern>
|
20619
|
+
<possibleNumberPattern>\d{12}</possibleNumberPattern>
|
20620
|
+
<exampleNumber>254123456789</exampleNumber>
|
20621
|
+
</voicemail>
|
20577
20622
|
<tollFree>
|
20578
20623
|
<nationalNumberPattern>20\d{4,7}</nationalNumberPattern>
|
20579
20624
|
<possibleNumberPattern>\d{6,9}</possibleNumberPattern>
|
@@ -20601,21 +20646,6 @@
|
|
20601
20646
|
<possibleNumberPattern>\d{6}(?:\d{3})?</possibleNumberPattern>
|
20602
20647
|
<exampleNumber>771234567</exampleNumber>
|
20603
20648
|
</sharedCost>
|
20604
|
-
<personalNumber>
|
20605
|
-
<nationalNumberPattern>75[1-8]\d{6}</nationalNumberPattern>
|
20606
|
-
<possibleNumberPattern>\d{9}</possibleNumberPattern>
|
20607
|
-
<exampleNumber>751234567</exampleNumber>
|
20608
|
-
</personalNumber>
|
20609
|
-
<voicemail>
|
20610
|
-
<nationalNumberPattern>
|
20611
|
-
(?:
|
20612
|
-
25[245]|
|
20613
|
-
67[3-6]
|
20614
|
-
)\d{9}
|
20615
|
-
</nationalNumberPattern>
|
20616
|
-
<possibleNumberPattern>\d{12}</possibleNumberPattern>
|
20617
|
-
<exampleNumber>254123456789</exampleNumber>
|
20618
|
-
</voicemail>
|
20619
20649
|
</territory>
|
20620
20650
|
|
20621
20651
|
<!-- Singapore -->
|
@@ -21295,8 +21325,8 @@
|
|
21295
21325
|
by Nationlink Somalia, 67 by Nationlink Puntland, and 61 by Hormuud. 7X is used by
|
21296
21326
|
Somtel. 6 followed by only 7 digits is used by Telecom. Note that in June 2014 many
|
21297
21327
|
ranges were suspended by the government. 90\d{6} was listed as one of the ranges to be
|
21298
|
-
suspended, but open-source contributors confirm that
|
21299
|
-
the shorter 90 ranges are no longer. -->
|
21328
|
+
suspended, but open-source contributors confirm that 90[67]\d{6} is still in use, even
|
21329
|
+
if the shorter 90 ranges are no longer. -->
|
21300
21330
|
<nationalNumberPattern>
|
21301
21331
|
(?:
|
21302
21332
|
15\d|
|
@@ -21310,7 +21340,7 @@
|
|
21310
21340
|
99?\d
|
21311
21341
|
)|
|
21312
21342
|
9(?:
|
21313
|
-
|
21343
|
+
0[67]|
|
21314
21344
|
[2-9]
|
21315
21345
|
)\d
|
21316
21346
|
)\d{5}
|
@@ -22047,17 +22077,25 @@
|
|
22047
22077
|
<sourceUrl>http://www.itu.int/oth/T02020000D2/en</sourceUrl>
|
22048
22078
|
</references>
|
22049
22079
|
<generalDesc>
|
22050
|
-
<nationalNumberPattern>[2-
|
22051
|
-
<possibleNumberPattern>\d{4}</possibleNumberPattern>
|
22080
|
+
<nationalNumberPattern>[2-47]\d{3,6}</nationalNumberPattern>
|
22081
|
+
<possibleNumberPattern>\d{4,7}</possibleNumberPattern>
|
22052
22082
|
</generalDesc>
|
22053
22083
|
<fixedLine>
|
22054
|
-
<nationalNumberPattern>
|
22084
|
+
<nationalNumberPattern>
|
22085
|
+
(?:
|
22086
|
+
2[2-4]|
|
22087
|
+
[34]\d
|
22088
|
+
)\d{2,5}
|
22089
|
+
</nationalNumberPattern>
|
22055
22090
|
<!-- The example number is the contact number from the ITU document. -->
|
22056
|
-
<exampleNumber>
|
22091
|
+
<exampleNumber>3101</exampleNumber>
|
22057
22092
|
</fixedLine>
|
22093
|
+
<!-- No evidence has been found for prefixes 5, 6, 8, and 9 which are
|
22094
|
+
described as non-geographic service numbers, so these prefixes are
|
22095
|
+
excluded until more information is found. -->
|
22058
22096
|
<mobile>
|
22059
|
-
<nationalNumberPattern>[
|
22060
|
-
<exampleNumber>
|
22097
|
+
<nationalNumberPattern>7[2-4]\d{2,5}</nationalNumberPattern>
|
22098
|
+
<exampleNumber>7290</exampleNumber>
|
22061
22099
|
</mobile>
|
22062
22100
|
</territory>
|
22063
22101
|
|
@@ -24130,7 +24168,13 @@
|
|
24130
24168
|
<format>$1 $2</format>
|
24131
24169
|
</numberFormat>
|
24132
24170
|
<numberFormat pattern="([48])(\d{4})(\d{4})">
|
24133
|
-
<leadingDigits>
|
24171
|
+
<leadingDigits>
|
24172
|
+
4|
|
24173
|
+
8(?:
|
24174
|
+
[1-57]|
|
24175
|
+
[689][0-79]
|
24176
|
+
)
|
24177
|
+
</leadingDigits>
|
24134
24178
|
<format>$1 $2 $3</format>
|
24135
24179
|
</numberFormat>
|
24136
24180
|
<numberFormat pattern="([235-7]\d)(\d{4})(\d{3})">
|
@@ -24161,8 +24205,11 @@
|
|
24161
24205
|
</leadingDigits>
|
24162
24206
|
<format>$1 $2 $3</format>
|
24163
24207
|
</numberFormat>
|
24164
|
-
<numberFormat pattern="(
|
24165
|
-
<leadingDigits>
|
24208
|
+
<numberFormat pattern="([89]\d)(\d{3})(\d{2})(\d{2})">
|
24209
|
+
<leadingDigits>
|
24210
|
+
8[689]8|
|
24211
|
+
9
|
24212
|
+
</leadingDigits>
|
24166
24213
|
<format>$1 $2 $3 $4</format>
|
24167
24214
|
</numberFormat>
|
24168
24215
|
<numberFormat pattern="(1[2689]\d)(\d{3})(\d{4})">
|
@@ -24221,9 +24268,12 @@
|
|
24221
24268
|
7(?:
|
24222
24269
|
[02-79]|
|
24223
24270
|
[18][01]
|
24224
|
-
)
|
24225
|
-
|
24226
|
-
|
24271
|
+
)
|
24272
|
+
)\d{7}|
|
24273
|
+
8(?:
|
24274
|
+
[1-57]\d|
|
24275
|
+
[689][0-79]
|
24276
|
+
)\d{6}
|
24227
24277
|
</nationalNumberPattern>
|
24228
24278
|
<possibleNumberPattern>\d{9,10}</possibleNumberPattern>
|
24229
24279
|
<exampleNumber>2101234567</exampleNumber>
|
@@ -24238,7 +24288,8 @@
|
|
24238
24288
|
8[68]|
|
24239
24289
|
99
|
24240
24290
|
)
|
24241
|
-
)\d{7}
|
24291
|
+
)\d{7}|
|
24292
|
+
8[689]8\d{6}
|
24242
24293
|
</nationalNumberPattern>
|
24243
24294
|
<possibleNumberPattern>\d{9,10}</possibleNumberPattern>
|
24244
24295
|
<exampleNumber>912345678</exampleNumber>
|