phonelib 0.0.2 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
data/README.rdoc CHANGED
@@ -2,10 +2,11 @@
2
2
 
3
3
  {<img src="https://travis-ci.org/daddyz/phonelib.png?branch=master" alt="Build Status" />}[http://travis-ci.org/daddyz/phonelib]
4
4
  {<img src="https://badge.fury.io/rb/phonelib.png" alt="Gem Version" />}[http://badge.fury.io/rb/phonelib]
5
- {<img src="https://codeclimate.com/badge.png" />}[https://codeclimate.com/github/daddyz/phonelib]
5
+ {<img src="https://codeclimate.com/github/daddyz/phonelib.png" />}[https://codeclimate.com/github/daddyz/phonelib]
6
6
 
7
7
  Phonelib is a gem allowing you to validate phone number. All validations are based on {Google libphonenumber}[http://code.google.com/p/libphonenumber/].
8
- Currently it can make only basic validation and still not include all Google's library functions.
8
+ Currently it can make basic validations and formatting to e164 international number format and national number format with prefix.
9
+ But it still doesn't include all Google's library functionality.
9
10
 
10
11
  == Information
11
12
 
@@ -21,7 +22,7 @@ https://github.com/daddyz/phonelib/issues
21
22
 
22
23
  === Example application
23
24
 
24
- You can see an example of phonelib model validation working in test/dummy application of this gem
25
+ You can see an example of ActiveRecord validation by phonelib working in test/dummy application of this gem
25
26
 
26
27
  == Getting started
27
28
 
@@ -108,11 +109,15 @@ Also you can fetch all matched countries
108
109
  phone.countries # returns array of all matched countries
109
110
  phone.country # returns first element from array of all matched countries
110
111
 
112
+ Also it is possible to get formatted phone number
113
+
114
+ phone.international # returns formatted e164 international phone number
115
+ phone.national # returns formatted national number with country prefix
116
+
111
117
  Phone class has following attributes
112
118
 
113
119
  phone.original # string that was passed as phone number
114
120
  phone.sanitized # sanitized phone number (only digits left)
115
- phone.national_number # phone number without country code
116
121
 
117
122
  === How it works
118
123
 
@@ -631,9 +631,7 @@
631
631
  <exampleNumber>10123456</exampleNumber>
632
632
  </fixedLine>
633
633
  <mobile>
634
- <!-- Adding 55 from online numbers found and SMSs received from numbers with this prefix. It
635
- seems to be used by Orange Armenia. Part of the range 97 is used by Nagorno-Karabakh
636
- Republic. -->
634
+ <!-- Part of the range 97 is used by Nagorno-Karabakh Republic. -->
637
635
  <nationalNumberPattern>
638
636
  (?:
639
637
  55|
@@ -2049,22 +2047,53 @@
2049
2047
  <availableFormats>
2050
2048
  <numberFormat pattern="(2)(\d{7})">
2051
2049
  <leadingDigits>2</leadingDigits>
2052
- <format>$1 $2</format>
2050
+ <format>$1-$2</format>
2053
2051
  </numberFormat>
2054
2052
  <numberFormat pattern="(\d{2})(\d{4,6})">
2055
2053
  <leadingDigits>[3-79]1</leadingDigits>
2056
- <format>$1 $2</format>
2054
+ <format>$1-$2</format>
2055
+ </numberFormat>
2056
+ <!-- Mobile numbers, VOIP, and four-digit fixed-line area codes. -->
2057
+ <numberFormat pattern="(\d{4})(\d{3,6})">
2058
+ <leadingDigits>
2059
+ 1|
2060
+ 3(?:
2061
+ 0|
2062
+ [2-58]2
2063
+ )|
2064
+ 4(?:
2065
+ 0|
2066
+ [25]2|
2067
+ 3[23]|
2068
+ [4689][25]
2069
+ )|
2070
+ 5(?:
2071
+ [02-578]2|
2072
+ 6[25]
2073
+ )|
2074
+ 6(?:
2075
+ [0347-9]2|
2076
+ [26][25]
2077
+ )|
2078
+ 7[02-9]2|
2079
+ 8(?:
2080
+ [023][23]|
2081
+ [4-7]2
2082
+ )|
2083
+ 9(?:
2084
+ [02][23]|
2085
+ [458]2|
2086
+ 6[016]
2087
+ )
2088
+ </leadingDigits>
2089
+ <format>$1-$2</format>
2057
2090
  </numberFormat>
2058
2091
  <numberFormat pattern="(\d{3})(\d{3,7})">
2059
2092
  <leadingDigits>
2060
2093
  [3-79][2-9]|
2061
2094
  8
2062
2095
  </leadingDigits>
2063
- <format>$1 $2</format>
2064
- </numberFormat>
2065
- <numberFormat pattern="(\d{4})(\d{6})">
2066
- <leadingDigits>1</leadingDigits>
2067
- <format>$1 $2</format>
2096
+ <format>$1-$2</format>
2068
2097
  </numberFormat>
2069
2098
  </availableFormats>
2070
2099
  <generalDesc>
@@ -2083,7 +2112,10 @@
2083
2112
  first by leading digit, then within by number of digits. Several Dhaka prefixes (02 731
2084
2113
  etc) are included despite not being mentioned on the wikipedia page or ITU doc due to
2085
2114
  online evidence. Another oddity is Chittagong - some numbers have a leading 2, others
2086
- do not - both are allowed for now. -->
2115
+ do not - both are allowed for now. For some area codes, the subscriber number length
2116
+ described in our source documentation doesn't match numbers online (e.g. 05222) so we
2117
+ allow both for now. (This applies to 0431, 04329, 04623, 05327 as well). We have
2118
+ also added 04452 and 04923 from numbers found online. -->
2087
2119
  <nationalNumberPattern>
2088
2120
  2(?:
2089
2121
  7(?:
@@ -2115,74 +2147,223 @@
2115
2147
  )
2116
2148
  )\d{4}|
2117
2149
  3(?:
2118
- [6-8]1|
2119
- (?:
2120
- 0[23]|
2121
- [25][12]|
2122
- 82|
2123
- 416
2124
- )\d|
2125
- (?:
2126
- 31|
2127
- 12?[5-7]
2128
- )\d{2}
2150
+ 12?[5-7]\d{2}|
2151
+ 0(?:
2152
+ 2(?:
2153
+ [025-79]\d|
2154
+ [348]\d{1,2}
2155
+ )|
2156
+ 3(?:
2157
+ [2-4]\d|
2158
+ [56]\d?
2159
+ )
2160
+ )|
2161
+ 2(?:
2162
+ 1\d{2}|
2163
+ 2(?:
2164
+ [12]\d|
2165
+ [35]\d{1,2}|
2166
+ 4\d?
2167
+ )
2168
+ )|
2169
+ 3(?:
2170
+ 1\d{2}|
2171
+ 2(?:
2172
+ [2356]\d|
2173
+ 4\d{1,2}
2174
+ )
2175
+ )|
2176
+ 4(?:
2177
+ 1\d{2}|
2178
+ 2(?:
2179
+ 2\d{1,2}|
2180
+ [47]|
2181
+ 5\d{2}
2182
+ )
2183
+ )|
2184
+ 5(?:
2185
+ 1\d{2}|
2186
+ 29
2187
+ )|
2188
+ [67]1\d{2}|
2189
+ 8(?:
2190
+ 1\d{2}|
2191
+ 2(?:
2192
+ 2\d{2}|
2193
+ 3|
2194
+ 4\d
2195
+ )
2196
+ )|
2129
2197
  )\d{3}|
2130
2198
  4(?:
2131
- (?:
2132
- 02|
2133
- [49]6|
2134
- [68]1
2199
+ 0(?:
2200
+ 2(?:
2201
+ [09]\d|
2202
+ 7
2203
+ )|
2204
+ 33\d{2}
2135
2205
  )|
2136
- (?:
2137
- 0[13]|
2138
- 21\d? |
2139
- [23]2|
2140
- [457][12]|
2141
- 6[28]
2142
- )\d|
2143
- (?:
2144
- 23|
2145
- [39]1
2146
- )\d{2}|
2147
- 1\d{3}
2206
+ 1\d{3}|
2207
+ 2(?:
2208
+ 1\d{2}|
2209
+ 2(?:
2210
+ [25]\d?|
2211
+ [348]\d|
2212
+ [67]\d{1,2}
2213
+ )
2214
+ )|
2215
+ 3(?:
2216
+ 1\d{2}(?:\d{2})?|
2217
+ 2(?:
2218
+ [045]\d|
2219
+ [236-9]\d{1,2}
2220
+ )|
2221
+ 32\d{2}
2222
+ )|
2223
+ 4(?:
2224
+ [18]\d{2}|
2225
+ 2(?:
2226
+ [2-46]\d{2}|
2227
+ 3
2228
+ )|
2229
+ 5[25]\d{2}
2230
+ )|
2231
+ 5(?:
2232
+ 1\d{2}|
2233
+ 2(?:
2234
+ 3\d|
2235
+ 5
2236
+ )
2237
+ )|
2238
+ 6(?:
2239
+ [18]\d{2}|
2240
+ 2(?:
2241
+ 3(?:\d{2})?|
2242
+ [46]\d{1,2}|
2243
+ 5\d{2}|
2244
+ 7\d
2245
+ )|
2246
+ 5(?:
2247
+ 3\d?|
2248
+ 4\d|
2249
+ [57]\d{1,2}|
2250
+ 6\d{2}|
2251
+ 8
2252
+ )
2253
+ )|
2254
+ 71\d{2}|
2255
+ 8(?:
2256
+ [18]\d{2}|
2257
+ 23\d{2}|
2258
+ 54\d{2}
2259
+ )|
2260
+ 9(?:
2261
+ [18]\d{2}|
2262
+ 2[2-5]\d{2}|
2263
+ 53\d{1,2}
2264
+ )
2148
2265
  )\d{3}|
2149
2266
  5(?:
2150
- (?:
2151
- [457-9]1|
2152
- 62
2267
+ 02[03489]\d{2}|
2268
+ 1\d{2}|
2269
+ 2(?:
2270
+ 1\d{2}|
2271
+ 2(?:
2272
+ 2(?:\d{2})?|
2273
+ [457]\d{2}
2274
+ )
2153
2275
  )|
2154
- (?:
2155
- 1\d? |
2156
- 2[12]|
2157
- 3[1-3]|
2158
- 52
2159
- )\d|
2160
- 61{2}
2161
- )|
2276
+ 3(?:
2277
+ 1\d{2}|
2278
+ 2(?:
2279
+ [37](?:\d{2})?|
2280
+ [569]\d{2}
2281
+ )
2282
+ )|
2283
+ 4(?:
2284
+ 1\d{2}|
2285
+ 2[46]\d{2}
2286
+ )|
2287
+ 5(?:
2288
+ 1\d{2}|
2289
+ 26\d{1,2}
2290
+ )|
2291
+ 6(?:
2292
+ [18]\d{2}|
2293
+ 2|
2294
+ 53\d{2}
2295
+ )|
2296
+ 7(?:
2297
+ 1|
2298
+ 24
2299
+ )\d{2}|
2300
+ 8(?:
2301
+ 1|
2302
+ 26
2303
+ )\d{2}|
2304
+ 91\d{2}
2305
+ )\d{3}|
2162
2306
  6(?:
2163
- [45]1|
2164
- (?:
2165
- 11|
2166
- 2[15]|
2167
- [39]1
2168
- )\d|
2169
- (?:
2170
- [06-8]1|
2171
- 62
2172
- )\d{2}
2173
- )|
2174
- 7(?:
2175
- (?:
2176
- 32|
2177
- 91
2307
+ 0(?:
2308
+ 1\d{2}|
2309
+ 2(?:
2310
+ 3\d{2}|
2311
+ 4\d{1,2}
2312
+ )
2178
2313
  )|
2314
+ 2(?:
2315
+ 2[2-5]\d{2}|
2316
+ 5(?:
2317
+ [3-5]\d{2}|
2318
+ 7
2319
+ )|
2320
+ 8\d{2}
2321
+ )|
2322
+ 3(?:
2323
+ 1|
2324
+ 2[3478]
2325
+ )\d{2}|
2326
+ 4(?:
2327
+ 1|
2328
+ 2[34]
2329
+ )\d{2}|
2330
+ 5(?:
2331
+ 1|
2332
+ 2[47]
2333
+ )\d{2}|
2334
+ 6(?:
2335
+ [18]\d{2}|
2336
+ 6(?:
2337
+ 2(?:
2338
+ 2\d|
2339
+ [34]\d{2}
2340
+ )|
2341
+ 5(?:
2342
+ [24]\d{2}|
2343
+ 3\d|
2344
+ 5\d{1,2}
2345
+ )
2346
+ )
2347
+ )|
2348
+ 72[2-5]\d{2}|
2349
+ 8(?:
2350
+ 1\d{2}|
2351
+ 2[2-5]\d{2}
2352
+ )|
2353
+ 9(?:
2354
+ 1\d{2}|
2355
+ 2[2-6]\d{2}
2356
+ )
2357
+ )\d{3}|
2358
+ 7(?:
2179
2359
  (?:
2180
2360
  02|
2181
- 31|
2182
- [67][12]
2183
- )\d|
2184
- [458]1\d{2}|
2185
- 21\d{3}
2361
+ [3-589]1|
2362
+ 6[12]|
2363
+ 72[24]
2364
+ )\d{2}|
2365
+ 21\d{3}|
2366
+ 32
2186
2367
  )\d{3}|
2187
2368
  8(?:
2188
2369
  (?:
@@ -2238,6 +2419,17 @@
2238
2419
  <possibleNumberPattern>\d{10}</possibleNumberPattern>
2239
2420
  <exampleNumber>8001234567</exampleNumber>
2240
2421
  </tollFree>
2422
+ <voip>
2423
+ <nationalNumberPattern>
2424
+ 96(?:
2425
+ 0[49]|
2426
+ 1[0-4]|
2427
+ 6[69]
2428
+ )\d{6}
2429
+ </nationalNumberPattern>
2430
+ <possibleNumberPattern>\d{10}</possibleNumberPattern>
2431
+ <exampleNumber>9604123456</exampleNumber>
2432
+ </voip>
2241
2433
  <shortCode>
2242
2434
  <nationalNumberPattern>
2243
2435
  1(?:
@@ -2344,10 +2536,12 @@
2344
2536
  <exampleNumber>12345678</exampleNumber>
2345
2537
  </fixedLine>
2346
2538
  <mobile>
2539
+ <!-- Numbers beginning with 46 outside the ranges allocated by the plan have been included
2540
+ since many were found online. -->
2347
2541
  <nationalNumberPattern>
2348
2542
  4(?:
2349
2543
  [679]\d|
2350
- 8[3-9]
2544
+ 8[03-9]
2351
2545
  )\d{6}
2352
2546
  </nationalNumberPattern>
2353
2547
  <possibleNumberPattern>\d{9}</possibleNumberPattern>
@@ -2432,8 +2626,8 @@
2432
2626
  (?:
2433
2627
  6(?:
2434
2628
  [056]\d|
2435
- 1[0-3]|
2436
- 8[0-2]|
2629
+ 1[0-36-9]|
2630
+ 8[0-5]|
2437
2631
  90
2438
2632
  )|
2439
2633
  7(?:
@@ -2636,8 +2830,13 @@
2636
2830
  )\d|
2637
2831
  6(?:
2638
2832
  1[16]\d|
2833
+ 3(?:
2834
+ 00|
2835
+ 33|
2836
+ 6[16]
2837
+ )|
2639
2838
  6(?:
2640
- [06]\d|
2839
+ [069]\d|
2641
2840
  3[03-9]|
2642
2841
  44
2643
2842
  )|
@@ -3427,7 +3626,7 @@
3427
3626
  </territory>
3428
3627
 
3429
3628
  <!-- Belarus -->
3430
- <!-- http://eng.beltelecom.by/info/numbering/ -->
3629
+ <!-- http://www.eng.beltelecom.by/en/subscribers/phone-codes -->
3431
3630
  <!-- Information on national prefix provided by a Belarussian person. -->
3432
3631
  <territory id="BY" countryCode="375" preferredInternationalPrefix="8~10"
3433
3632
  internationalPrefix="810" nationalPrefixForParsing="80?"
@@ -3479,7 +3678,7 @@
3479
3678
  5(?:
3480
3679
  1[1-5]|
3481
3680
  2\d|
3482
- 6[1-4]|
3681
+ 6[2-4]|
3483
3682
  9[1-7]
3484
3683
  )|
3485
3684
  6(?:
@@ -3632,18 +3831,19 @@
3632
3831
  (?:
3633
3832
  2(?:
3634
3833
  04|
3635
- 26|
3834
+ [23]6|
3636
3835
  [48]9|
3637
3836
  50
3638
3837
  )|
3639
3838
  3(?:
3640
3839
  06|
3641
- 43
3840
+ 43|
3841
+ 65
3642
3842
  )|
3643
3843
  4(?:
3644
3844
  03|
3645
3845
  1[68]|
3646
- 3[18]|
3846
+ 3[178]|
3647
3847
  5[06]
3648
3848
  )|
3649
3849
  5(?:
@@ -3655,6 +3855,7 @@
3655
3855
  6(?:
3656
3856
  0[04]|
3657
3857
  13|
3858
+ 39|
3658
3859
  47
3659
3860
  )|
3660
3861
  7(?:
@@ -3678,18 +3879,19 @@
3678
3879
  (?:
3679
3880
  2(?:
3680
3881
  04|
3681
- 26|
3882
+ [23]6|
3682
3883
  [48]9|
3683
3884
  50
3684
3885
  )|
3685
3886
  3(?:
3686
3887
  06|
3687
- 43
3888
+ 43|
3889
+ 65
3688
3890
  )|
3689
3891
  4(?:
3690
3892
  03|
3691
3893
  1[68]|
3692
- 3[18]|
3894
+ 3[178]|
3693
3895
  5[06]
3694
3896
  )|
3695
3897
  5(?:
@@ -3701,6 +3903,7 @@
3701
3903
  6(?:
3702
3904
  0[04]|
3703
3905
  13|
3906
+ 39|
3704
3907
  47
3705
3908
  )|
3706
3909
  7(?:
@@ -3798,7 +4001,7 @@
3798
4001
  1(?:
3799
4002
  80(?:
3800
4003
  0\d{2}
3801
- )? |
4004
+ )?|
3802
4005
  3(?:
3803
4006
  00\d{2}
3804
4007
  )?
@@ -3839,6 +4042,10 @@
3839
4042
  <territory id="CD" countryCode="243" internationalPrefix="00"
3840
4043
  nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
3841
4044
  <availableFormats>
4045
+ <numberFormat pattern="(\d{2})(\d{3})(\d{4})">
4046
+ <leadingDigits>12</leadingDigits>
4047
+ <format>$1 $2 $3</format>
4048
+ </numberFormat>
3842
4049
  <numberFormat pattern="([89]\d{2})(\d{3})(\d{3})">
3843
4050
  <leadingDigits>
3844
4051
  8[0-259]|
@@ -3857,15 +4064,20 @@
3857
4064
  </availableFormats>
3858
4065
  <generalDesc>
3859
4066
  <nationalNumberPattern>
3860
- [1-6]\d{6}|
3861
- 8\d{6,8}|
4067
+ [2-6]\d{6}|
4068
+ [18]\d{6,8}|
3862
4069
  9\d{8}
3863
4070
  </nationalNumberPattern>
3864
4071
  <possibleNumberPattern>\d{7,9}</possibleNumberPattern>
3865
4072
  </generalDesc>
3866
4073
  <fixedLine>
3867
- <nationalNumberPattern>[1-6]\d{6}</nationalNumberPattern>
3868
- <possibleNumberPattern>\d{7}</possibleNumberPattern>
4074
+ <nationalNumberPattern>
4075
+ 1(?:
4076
+ 2\d{7}|
4077
+ \d{6}
4078
+ )|
4079
+ [2-6]\d{6}
4080
+ </nationalNumberPattern>
3869
4081
  <exampleNumber>1234567</exampleNumber>
3870
4082
  </fixedLine>
3871
4083
  <mobile>
@@ -4352,6 +4564,14 @@
4352
4564
  <leadingDigits>[48]00</leadingDigits>
4353
4565
  <format>$1 $2 $3</format>
4354
4566
  </numberFormat>
4567
+ <!-- 95xxx shared cost numbers. Without this rule, the numbers will be formatted
4568
+ incorrectly by the AsYouTypeFormatter because they overlap with area code 095x.
4569
+ Note although ITU says the format is more like 95 xxx, in reality no space is used
4570
+ when writing such numbers in China -->
4571
+ <numberFormat pattern="(\d{5})">
4572
+ <leadingDigits>95</leadingDigits>
4573
+ <format>$1</format>
4574
+ </numberFormat>
4355
4575
  <!-- Local numbers -->
4356
4576
  <!-- Chinese fixed-line numbers can be dialed from a cell phone without area code and they
4357
4577
  can be 7 to 8 digits. This rule is here to make formatting work with such numbers, as
@@ -4419,7 +4639,10 @@
4419
4639
  6[09]|
4420
4640
  91
4421
4641
  )|
4422
- 898
4642
+ 8(?:
4643
+ 71|
4644
+ 98
4645
+ )
4423
4646
  </leadingDigits>
4424
4647
  <format>$1 $2 $3</format>
4425
4648
  </numberFormat>
@@ -4468,8 +4691,9 @@
4468
4691
  8(?:
4469
4692
  1[236-8]|
4470
4693
  2[5-7]|
4471
- [37]|
4694
+ 3|
4472
4695
  5[1-9]|
4696
+ 7[02-9]|
4473
4697
  8[3678]|
4474
4698
  9[1-7]
4475
4699
  )|
@@ -4496,27 +4720,35 @@
4496
4720
  </availableFormats>
4497
4721
  <generalDesc>
4498
4722
  <nationalNumberPattern>
4499
- [1-79]\d{7,11}|
4500
- 8[0-357-9]\d{6,9}
4723
+ [1-7]\d{7,11}|
4724
+ 8[0-357-9]\d{6,9}|
4725
+ 9(?:
4726
+ 5\d{3}|
4727
+ \d{9}
4728
+ )
4501
4729
  </nationalNumberPattern>
4502
4730
  <possibleNumberPattern>\d{4,12}</possibleNumberPattern>
4503
4731
  </generalDesc>
4504
4732
  <noInternationalDialling>
4733
+ <!-- 95xxx numbers have been verified to be unreachable from overseas by placing actual
4734
+ calls. -->
4505
4735
  <nationalNumberPattern>
4506
4736
  (?:
4507
4737
  4|
4508
4738
  (?:
4509
4739
  10
4510
4740
  )?8
4511
- )00\d{7}
4741
+ )00\d{7}|
4742
+ 95\d{3}
4512
4743
  </nationalNumberPattern>
4513
- <possibleNumberPattern>\d{10,12}</possibleNumberPattern>
4744
+ <possibleNumberPattern>\d{5,12}</possibleNumberPattern>
4514
4745
  <exampleNumber>4001234567</exampleNumber>
4515
4746
  </noInternationalDialling>
4516
4747
  <fixedLine>
4517
4748
  <!-- 0432 increased to 8 digits on October 24, 2009. 0791 increased to 8 digits on August
4518
- 28, 2011. 0551 increased to 8 digits and 0565 was cancelled on Dec 8, 2012. 0475 is
4519
- the prefix for Tongliao but is not in the ITU data. -->
4749
+ 28, 2011. 0551 increased to 8 digits and 0565 was cancelled on Dec 8, 2012. 0871
4750
+ increased to 8 digits on December 16, 2012. 0475 is the prefix for Tongliao but is not
4751
+ in the ITU data. -->
4520
4752
  <nationalNumberPattern>
4521
4753
  21\d{8,10}|
4522
4754
  (?:
@@ -4544,7 +4776,10 @@
4544
4776
  6[09]|
4545
4777
  91
4546
4778
  )|
4547
- 898
4779
+ 8(?:
4780
+ 71|
4781
+ 98
4782
+ )
4548
4783
  )\d{8}|
4549
4784
  (?:
4550
4785
  3(?:
@@ -4591,8 +4826,9 @@
4591
4826
  8(?:
4592
4827
  1[236-8]|
4593
4828
  2[5-7]|
4594
- [37]\d|
4829
+ 3\d|
4595
4830
  5[1-9]|
4831
+ 7[02-9]|
4596
4832
  8[3678]|
4597
4833
  9[1-7]
4598
4834
  )|
@@ -4643,8 +4879,13 @@
4643
4879
  <exampleNumber>16812345</exampleNumber>
4644
4880
  </premiumRate>
4645
4881
  <sharedCost>
4646
- <nationalNumberPattern>400\d{7}</nationalNumberPattern>
4647
- <possibleNumberPattern>\d{10}</possibleNumberPattern>
4882
+ <!-- 95xxx numbers are covered by the ITU doc, but the following doc contains more info:
4883
+ http://baike.baidu.com/view/3269670.htm -->
4884
+ <nationalNumberPattern>
4885
+ 400\d{7}|
4886
+ 95\d{3}
4887
+ </nationalNumberPattern>
4888
+ <possibleNumberPattern>\d{5}(?:\d{5})?</possibleNumberPattern>
4648
4889
  <exampleNumber>4001234567</exampleNumber>
4649
4890
  </sharedCost>
4650
4891
  <emergency>
@@ -4834,7 +5075,8 @@
4834
5075
  70[01]\d{3}
4835
5076
  )|
4836
5077
  1[01]\d{5}|
4837
- 400\d{4}
5078
+ 400\d{4}|
5079
+ 70[0-2]\d{4}
4838
5080
  )|
4839
5081
  5100\d{4}
4840
5082
  </nationalNumberPattern>
@@ -4854,7 +5096,7 @@
4854
5096
  1[0-35-9]|
4855
5097
  37|
4856
5098
  [46]6|
4857
- 75|
5099
+ 7[57]|
4858
5100
  8[79]|
4859
5101
  9[0-379]
4860
5102
  )|
@@ -4876,7 +5118,8 @@
4876
5118
  1[789]|
4877
5119
  2[02]|
4878
5120
  [67]7
4879
- )
5121
+ )|
5122
+ 975
4880
5123
  )
4881
5124
  </nationalNumberPattern>
4882
5125
  <possibleNumberPattern>\d{4}</possibleNumberPattern>
@@ -5177,7 +5420,7 @@
5177
5420
  1(?:
5178
5421
  80(?:
5179
5422
  0\d{2}
5180
- )? |
5423
+ )?|
5181
5424
  3(?:
5182
5425
  00\d{2}
5183
5426
  )?
@@ -5297,7 +5540,7 @@
5297
5540
  numbers are reachable by the public. -->
5298
5541
  <nationalNumberPattern>
5299
5542
  9(?:
5300
- 5[056]|
5543
+ 5\d|
5301
5544
  7[234]
5302
5545
  )\d{6}
5303
5546
  </nationalNumberPattern>
@@ -5698,7 +5941,7 @@
5698
5941
  </territory>
5699
5942
 
5700
5943
  <!-- Denmark -->
5701
- <!-- http://en.itst.dk/telecom-internet-regulation/numbering-issues/numbering-lists -->
5944
+ <!-- http://www.dba.erhvervsstyrelsen.dk/numbering-lists -->
5702
5945
  <territory id="DK" countryCode="45" internationalPrefix="00">
5703
5946
  <availableFormats>
5704
5947
  <numberFormat pattern="(\d{2})(\d{2})(\d{2})(\d{2})">
@@ -5716,7 +5959,7 @@
5716
5959
  (?:
5717
5960
  [2-7]\d|
5718
5961
  8[126-9]|
5719
- 9[16-9]
5962
+ 9[126-9]
5720
5963
  )\d{6}
5721
5964
  </nationalNumberPattern>
5722
5965
  <exampleNumber>32123456</exampleNumber>
@@ -5726,7 +5969,7 @@
5726
5969
  (?:
5727
5970
  [2-7]\d|
5728
5971
  8[126-9]|
5729
- 9[16-9]
5972
+ 9[126-9]
5730
5973
  )\d{6}
5731
5974
  </nationalNumberPattern>
5732
5975
  <exampleNumber>20123456</exampleNumber>
@@ -6072,7 +6315,9 @@
6072
6315
  <mobile>
6073
6316
  <nationalNumberPattern>
6074
6317
  9(?:
6075
- [2-7]9|
6318
+ 39|
6319
+ [4-6][89]|
6320
+ 7[7-9]|
6076
6321
  [89]\d
6077
6322
  )\d{6}
6078
6323
  </nationalNumberPattern>
@@ -6417,14 +6662,14 @@
6417
6662
  <!-- The following sections are copied verbatim from Morocco to allow these non-geographical
6418
6663
  numbers to be recognized as available from within Western Sahara. -->
6419
6664
  <mobile>
6420
- <!-- Prefixes 60[1-5], 62[47-9], 63[0458] and 68[01] are from numbers found online,
6665
+ <!-- Prefixes 60[1-5], 62[47-9], 63[04-8] and 68[01] are from numbers found online,
6421
6666
  bug-reports, and information provided directly by the carriers. -->
6422
6667
  <nationalNumberPattern>
6423
6668
  6(?:
6424
6669
  0[0-6]|
6425
6670
  [14-7]\d|
6426
6671
  2[2-46-9]|
6427
- 3[03458]|
6672
+ 3[03-8]|
6428
6673
  8[01]|
6429
6674
  99
6430
6675
  )\d{6}
@@ -7214,7 +7459,7 @@
7214
7459
 
7215
7460
  <!-- Gabon -->
7216
7461
  <!-- http://www.itu.int/oth/T020200004E/en -->
7217
- <territory id="GA" countryCode="241" internationalPrefix="00" leading_zero_possible="true"
7462
+ <territory id="GA" countryCode="241" internationalPrefix="00" leadingZeroPossible="true"
7218
7463
  nationalPrefix="0">
7219
7464
  <availableFormats>
7220
7465
  <numberFormat pattern="(1)(\d{2})(\d{2})(\d{2})" nationalPrefixFormattingRule="$NP$FG">
@@ -8549,7 +8794,7 @@
8549
8794
  <format>$1 $2 $3 $4</format>
8550
8795
  </numberFormat>
8551
8796
  <numberFormat pattern="(\d{3})(\d{2})(\d{2})(\d{2})">
8552
- <leadingDigits>62</leadingDigits>
8797
+ <leadingDigits>6[02356]</leadingDigits>
8553
8798
  <format>$1 $2 $3 $4</format>
8554
8799
  </numberFormat>
8555
8800
  </availableFormats>
@@ -8574,11 +8819,9 @@
8574
8819
  </fixedLine>
8575
8820
  <mobile>
8576
8821
  <!-- WiMAX is in the plan - which is a wireless broadband protocol. Not including this in
8577
- the metadata for now unless this proves to be necessary. These would start with 79. We
8578
- are also allowing an extra digit for numbers beginning with 62, since Orange is
8579
- apparently moving their 62 and 68 ranges both to 62 and adding an extra digit.
8580
- Extra prefixes 24, 66 and 69 have been added for MTN Guinée, as notified by an
8581
- opensource contributor and matched by numbers found online. -->
8822
+ the metadata for now unless this proves to be necessary. These would start with 79.
8823
+ 61[0-5] is assigned to Orange. Also includes the new 9-digit mobile numbers that are
8824
+ coming into effect on March 29, 2013. -->
8582
8825
  <nationalNumberPattern>
8583
8826
  (?:
8584
8827
  24|
@@ -8590,13 +8833,20 @@
8590
8833
  3[3467]|
8591
8834
  5[2457-9]
8592
8835
  )|
8593
- 2\d{2,3}|
8836
+ 1[0-5]\d|
8837
+ 2\d{2}|
8594
8838
  [4-9]\d{2}|
8595
8839
  3(?:
8596
8840
  [14]0|
8597
8841
  35
8598
8842
  )
8599
- )\d{4}
8843
+ )\d{4}|
8844
+ 6(?:
8845
+ [03]1|
8846
+ 2[128]|
8847
+ 5[57]|
8848
+ 6[2469]
8849
+ )\d{6}
8600
8850
  </nationalNumberPattern>
8601
8851
  <exampleNumber>60201234</exampleNumber>
8602
8852
  </mobile>
@@ -8775,10 +9025,9 @@
8775
9025
  )|
8776
9026
  5(?:
8777
9027
  1\d|
8778
- 2[1-3]|
9028
+ [239][1-4]|
8779
9029
  4[124]|
8780
- 5[1-6]|
8781
- [39][1-4]
9030
+ 5[1-6]
8782
9031
  )|
8783
9032
  6(?:
8784
9033
  1\d|
@@ -9848,9 +10097,8 @@
9848
10097
  </territory>
9849
10098
 
9850
10099
  <!-- Ireland -->
9851
- <!-- http://www.comreg.ie/_fileupload/publications/ComReg0802.pdf -->
9852
- <!-- http://www.comreg.ie/_fileupload/publications/ComReg0435.pdf -->
9853
- <!-- http://www.comreg.ie/_fileupload/publications/ComReg03147.pdf -->
10100
+ <!-- http://www.comreg.ie/licensing_and_services/numbering_plan_for_ireland.552.440.html -->
10101
+ <!-- http://www.comreg.ie/_fileupload/publications/ComReg1119.pdf -->
9854
10102
  <territory id="IE" countryCode="353" internationalPrefix="00"
9855
10103
  nationalPrefix="0" nationalPrefixFormattingRule="($NP$FG)">
9856
10104
  <availableFormats>
@@ -9860,11 +10108,11 @@
9860
10108
  </numberFormat>
9861
10109
  <numberFormat pattern="(\d{2})(\d{5})">
9862
10110
  <leadingDigits>
9863
- 2[2-9]|
9864
- 4[347]|
9865
- 5[2-58]|
9866
- 6[2-47-9]|
9867
- 9[3-9]
10111
+ 2[24-9]|
10112
+ 47|
10113
+ 58|
10114
+ 6[237-9]|
10115
+ 9[35-9]
9868
10116
  </leadingDigits>
9869
10117
  <format>$1 $2</format>
9870
10118
  </numberFormat>
@@ -9930,25 +10178,20 @@
9930
10178
  </noInternationalDialling>
9931
10179
  <fixedLine>
9932
10180
  <!-- We allow 6-7 digit subscriber numbers for the 021 area code since that seems to be
9933
- reflected by the numbers in the Yellow Pages. The 023, 043, 052 and 064 area codes also
9934
- may have 7 digit subscriber numbers, although limited to 5 in the plan. This was caused
9935
- by a numbering update in 2008 (http://www.wtng.info/wtng-353-ie.html has more details).
9936
- Other changes not in the plan include consolidating 0502, 0506 and 0509 into 057 and
9937
- 054, 055 and 053 into 053, and making 044 be followed by 7 digits in some cases.
9938
- Another peculiarity is that 048 actually replaces 00 44 28 when Irish people dial,
9939
- allowing them to easily dial Northern Ireland. We support these numbers here, although
9940
- technically they are numbers for the UK. -->
10181
+ reflected by the numbers in the Yellow Pages. Another peculiarity is that 048 actually
10182
+ replaces 00 44 28 when Irish people dial, allowing them to easily dial Northern
10183
+ Ireland. We support these numbers here, although technically they are numbers for the
10184
+ UK. -->
9941
10185
  <nationalNumberPattern>
9942
10186
  1\d{7,8}|
9943
10187
  2(?:
9944
10188
  1\d{6,7}|
9945
- [24-9]\d{5}|
9946
- 3\d{5,7}
10189
+ 3\d{7}|
10190
+ [24-9]\d{5}
9947
10191
  )|
9948
10192
  4(?:
9949
10193
  0[24]\d{5}|
9950
- [1269]\d{7}|
9951
- [34]\d{5,7}|
10194
+ [1-469]\d{7}|
9952
10195
  5\d{6}|
9953
10196
  7\d{5}|
9954
10197
  8[0-46-9]\d{7}
@@ -9956,21 +10199,19 @@
9956
10199
  5(?:
9957
10200
  0[45]\d{5}|
9958
10201
  1\d{6}|
9959
- 2\d{5,7}|
9960
- [3679]\d{7}|
10202
+ [23679]\d{7}|
9961
10203
  8\d{5}
9962
10204
  )|
9963
10205
  6(?:
9964
10206
  1\d{6}|
9965
- 4\d{5,7}|
9966
10207
  [237-9]\d{5}|
9967
- [56]\d{7}
10208
+ [4-6]\d{7}
9968
10209
  )|
9969
10210
  7[14]\d{7}|
9970
10211
  9(?:
9971
10212
  1\d{6}|
9972
10213
  [04]\d{7}|
9973
- [3-9]\d{5}
10214
+ [35-9]\d{5}
9974
10215
  )
9975
10216
  </nationalNumberPattern>
9976
10217
  <possibleNumberPattern>\d{5,10}</possibleNumberPattern>
@@ -9980,10 +10221,10 @@
9980
10221
  <nationalNumberPattern>
9981
10222
  8(?:
9982
10223
  22\d{6}|
9983
- [35-9]\d{7,8}
10224
+ [35-9]\d{7}
9984
10225
  )
9985
10226
  </nationalNumberPattern>
9986
- <possibleNumberPattern>\d{9,10}</possibleNumberPattern>
10227
+ <possibleNumberPattern>\d{9}</possibleNumberPattern>
9987
10228
  <exampleNumber>850123456</exampleNumber>
9988
10229
  </mobile>
9989
10230
  <tollFree>
@@ -9994,9 +10235,8 @@
9994
10235
  <premiumRate>
9995
10236
  <nationalNumberPattern>
9996
10237
  15(?:
9997
- 1[2-9]|
10238
+ 1[2-8]|
9998
10239
  [2-8]0|
9999
- 59|
10000
10240
  9[089]
10001
10241
  )\d{6}
10002
10242
  </nationalNumberPattern>
@@ -10023,6 +10263,11 @@
10023
10263
  <possibleNumberPattern>\d{9}</possibleNumberPattern>
10024
10264
  <exampleNumber>818123456</exampleNumber>
10025
10265
  </uan>
10266
+ <voicemail>
10267
+ <nationalNumberPattern>8[35-9]\d{8}</nationalNumberPattern>
10268
+ <possibleNumberPattern>\d{10}</possibleNumberPattern>
10269
+ <exampleNumber>8501234567</exampleNumber>
10270
+ </voicemail>
10026
10271
  <emergency>
10027
10272
  <nationalNumberPattern>
10028
10273
  112|
@@ -10333,7 +10578,7 @@
10333
10578
  4[0-389]|
10334
10579
  5[024-9]|
10335
10580
  6[0-35-9]|
10336
- 7[03469]|
10581
+ 7[0346-9]|
10337
10582
  8[0-79]
10338
10583
  )|
10339
10584
  8(?:
@@ -10392,7 +10637,9 @@
10392
10637
  3[5-9]|
10393
10638
  42|
10394
10639
  60|
10395
- 9[5-9]
10640
+ 7[7-9]|
10641
+ 8[1-9]|
10642
+ 9[05-9]
10396
10643
  )|
10397
10644
  8(?:
10398
10645
  [03][07-9]|
@@ -10813,8 +11060,9 @@
10813
11060
  <!-- A couple of additional prefixes found neither on the wikipedia page nor in the MSC
10814
11061
  codes list, are added because SMS messages have been successfully sent to these
10815
11062
  numbers. It seems almost impossible to know for some of these numbers whether they are
10816
- land-line or mobile, since the ranges overlap. Extra prefixes added: 822[1-689], 8299,
10817
- 8309. -->
11063
+ land-line or mobile, since the ranges overlap. Extra prefixes added: 8299, 8309.
11064
+ New prefixes were added based on the document provided from mobile carriers:
11065
+ https://code.google.com/p/libphonenumber/issues/detail?id=260 -->
10818
11066
  <nationalNumberPattern>
10819
11067
  (?:
10820
11068
  7(?:
@@ -10856,15 +11104,14 @@
10856
11104
  )|
10857
11105
  7(?:
10858
11106
  0[27-9]|
10859
- [39][5-9]|
11107
+ 3[5-9]|
10860
11108
  42|
10861
- 60
11109
+ 6[03-9]|
11110
+ [79]\d|
11111
+ 8[1-9]
10862
11112
  )|
10863
11113
  8(?:
10864
- [03][07-9]|
10865
- 14|
10866
- 2[7-9]|
10867
- [4-7]\d|
11114
+ [0-7]\d|
10868
11115
  9[013-9]
10869
11116
  )
10870
11117
  )|
@@ -11034,146 +11281,65 @@
11034
11281
  <leadingDigits>21</leadingDigits>
11035
11282
  <format>$1 $2 $3</format>
11036
11283
  </numberFormat>
11037
- <numberFormat pattern="(21)(\d{4})(\d{4})">
11038
- <leadingDigits>21</leadingDigits>
11284
+ <numberFormat pattern="(2[16])(\d{4})(\d{4})">
11285
+ <leadingDigits>2[16]</leadingDigits>
11039
11286
  <format>$1 $2 $3</format>
11040
11287
  </numberFormat>
11041
11288
  <numberFormat pattern="(\d{3})(\d{3})(\d{3,4})">
11042
11289
  <leadingDigits>
11043
11290
  [13-9]|
11044
11291
  2[02-9]
11045
- </leadingDigits>
11046
- <format>$1 $2 $3</format>
11047
- </numberFormat>
11048
- </availableFormats>
11049
- <generalDesc>
11050
- <nationalNumberPattern>
11051
- [2-6]\d{4,9}|
11052
- 9(?:
11053
- [1-4]\d{8}|
11054
- 9\d{2,8}
11055
- )|
11056
- [178]\d{9}
11057
- </nationalNumberPattern>
11058
- <possibleNumberPattern>\d{4,10}</possibleNumberPattern>
11059
- </generalDesc>
11060
- <fixedLine>
11061
- <!-- The patterns here are organized such that numbers with variable lengths come first,
11062
- followed by numbers that are 10 digits long. -->
11063
- <nationalNumberPattern>
11064
- 2(?:
11065
- 1[2-9]\d{2,7}|
11066
- 51\d{3,7}
11067
- )|
11068
- (?:
11069
- 241|
11070
- 3(?:
11071
- 11|
11072
- 51
11073
- )|
11074
- 441|
11075
- 5[14]1
11076
- )\d{4,7}|
11077
- (?:
11078
- 3(?:
11079
- 34|
11080
- 41
11081
- )|
11082
- 6(?:
11083
- 11|
11084
- 52
11085
- )
11086
- )\d{6,7}|
11087
- (?:
11088
- 1(?:
11089
- [134589][12]|
11090
- [27][1-4]
11091
- )|
11092
- 2(?:
11093
- 2[189]|
11094
- [389][12]|
11095
- 42|
11096
- 5[256]|
11097
- 6[1-59]|
11098
- 7[34]
11099
- )|
11100
- 3(?:
11101
- 12|
11102
- 2[1-4]|
11103
- 3[125]|
11104
- 4[24-9]|
11105
- 5[23]|
11106
- [6-9][12]
11107
- )|
11108
- 4(?:
11109
- [135-9][12]|
11110
- 2[1-467]|
11111
- 4[2-4]
11112
- )|
11113
- 5(?:
11114
- 12|
11115
- 2[89]|
11116
- 3[1-5]|
11117
- 4[2-8]|
11118
- [5-7][12]|
11119
- 8[1245]
11120
- )|
11121
- 6(?:
11122
- 12|
11123
- [347-9][12]|
11124
- 51|
11125
- 6[1-6]
11126
- )|
11127
- 7(?:
11128
- [13589][12]|
11129
- 2[1289]|
11130
- 4[1-4]|
11131
- 6[1-6]|
11132
- 7[1-3]
11133
- )|
11134
- 8(?:
11135
- [145][12]|
11136
- 3[124578]|
11137
- 6[1256]|
11138
- 7[1245]
11139
- )
11140
- )\d{7}
11292
+ </leadingDigits>
11293
+ <format>$1 $2 $3</format>
11294
+ </numberFormat>
11295
+ </availableFormats>
11296
+ <generalDesc>
11297
+ <nationalNumberPattern>
11298
+ [14-8]\d{6,9}|
11299
+ [23]\d{5,9}|
11300
+ 9(?:
11301
+ [1-4]\d{8}|
11302
+ 9\d{2,8}
11303
+ )
11141
11304
  </nationalNumberPattern>
11142
- <possibleNumberPattern>\d{5,10}</possibleNumberPattern>
11305
+ <possibleNumberPattern>\d{4,10}</possibleNumberPattern>
11306
+ </generalDesc>
11307
+ <fixedLine>
11308
+ <nationalNumberPattern>
11309
+ (?:
11310
+ [145](?:
11311
+ 1[1-9]|
11312
+ [2-9]\d
11313
+ )\d{0,3}|
11314
+ [23][1-9]\d{0,4}|
11315
+ 6[1-9]\d{1,4}|
11316
+ [78]\d{2,5}
11317
+ )\d{4}
11318
+ </nationalNumberPattern>
11319
+ <possibleNumberPattern>\d{6,10}</possibleNumberPattern>
11143
11320
  <exampleNumber>2123456789</exampleNumber>
11144
11321
  </fixedLine>
11145
11322
  <mobile>
11146
11323
  <nationalNumberPattern>
11147
- 9(?:
11148
- 1(?:
11149
- [039]\d|
11150
- [16][1-35-9]|
11151
- 2[1-8]|
11152
- 4[013-9]|
11153
- [57][1-9]|
11154
- 8[13-9]
11155
- )|
11156
- 2[01]\d|
11157
- 3(?:
11158
- [035-9]\d|
11159
- 13|
11160
- 2[1-579]|
11161
- 47
11162
- )
11163
- )\d{6}
11324
+ 9[1-3]\d{8}
11164
11325
  </nationalNumberPattern>
11165
11326
  <possibleNumberPattern>\d{10}</possibleNumberPattern>
11166
11327
  <exampleNumber>9123456789</exampleNumber>
11167
11328
  </mobile>
11168
11329
  <pager>
11169
- <nationalNumberPattern>943[24678]\d{6}</nationalNumberPattern>
11330
+ <nationalNumberPattern>943\d{7}</nationalNumberPattern>
11170
11331
  <possibleNumberPattern>\d{10}</possibleNumberPattern>
11171
11332
  <exampleNumber>9432123456</exampleNumber>
11172
11333
  </pager>
11173
11334
  <!-- No tollFree or premiumRate information can be found. -->
11174
11335
  <voip>
11175
11336
  <!-- Includes VSAT and Boomehen Satellite numbers. -->
11176
- <nationalNumberPattern>993[12]\d{6}</nationalNumberPattern>
11337
+ <nationalNumberPattern>
11338
+ (?:
11339
+ [2-6]0\d|
11340
+ 993
11341
+ )\d{7}
11342
+ </nationalNumberPattern>
11177
11343
  <possibleNumberPattern>\d{10}</possibleNumberPattern>
11178
11344
  <exampleNumber>9932123456</exampleNumber>
11179
11345
  </voip>
@@ -11220,10 +11386,9 @@
11220
11386
  <nationalNumberPattern>
11221
11387
  (?:
11222
11388
  4(?:
11223
- 1[0-245]|
11389
+ [14][0-245]|
11224
11390
  2[0-7]|
11225
11391
  [37][0-8]|
11226
- 4[0245]|
11227
11392
  5[0-3568]|
11228
11393
  6\d|
11229
11394
  8[0-36-8]
@@ -11235,7 +11400,7 @@
11235
11400
  3[013-7]|
11236
11401
  4[03-7]|
11237
11402
  7[0-2578]|
11238
- 8[0-25-9]|
11403
+ 8[0-35-9]|
11239
11404
  9[013-689]
11240
11405
  )|
11241
11406
  87[23]
@@ -11259,7 +11424,8 @@
11259
11424
  )|
11260
11425
  7(?:
11261
11426
  5[057]|
11262
- 7\d
11427
+ 7\d|
11428
+ 8[0-3]
11263
11429
  )|
11264
11430
  8(?:
11265
11431
  2[0-5]|
@@ -13059,7 +13225,7 @@
13059
13225
  <exampleNumber>601234567</exampleNumber>
13060
13226
  </personalNumber>
13061
13227
  <voip>
13062
- <nationalNumberPattern>50\d{8}</nationalNumberPattern>
13228
+ <nationalNumberPattern>50[1-9]\d{7}</nationalNumberPattern>
13063
13229
  <possibleNumberPattern>\d{10}</possibleNumberPattern>
13064
13230
  <exampleNumber>5012345678</exampleNumber>
13065
13231
  </voip>
@@ -13338,12 +13504,17 @@
13338
13504
  <!-- Adding 86 and 87 from numbers found online, along with 88 (the 88 numbers seem to be
13339
13505
  one digit longer as well.) Adding 97 followed by 7 digits as such numbers have been
13340
13506
  found online. Adding 14 as Mobitel have informed us they are using this prefix. Adding
13341
- 60[1-9] based on information received from Beeline. -->
13507
+ 60[1-9] based on information received from Beeline. 76 numbers seem now to be 9 digits
13508
+ long. -->
13342
13509
  <nationalNumberPattern>
13343
13510
  (?:
13344
13511
  (?:
13345
13512
  1\d|
13346
- [67][06-9]
13513
+ 6[06-9]|
13514
+ 7(?:
13515
+ [07-9]|
13516
+ 6\d
13517
+ )
13347
13518
  )[1-9]|
13348
13519
  8(?:
13349
13520
  0[89]|
@@ -13688,7 +13859,7 @@
13688
13859
  5[1-4]
13689
13860
  )|
13690
13861
  [68]0|
13691
- [3-6][1-9][2-9]
13862
+ [3-6][1-9][1-9]
13692
13863
  </leadingDigits>
13693
13864
  <leadingDigits>
13694
13865
  1(?:
@@ -13700,7 +13871,7 @@
13700
13871
  )
13701
13872
  )|
13702
13873
  [68]0|
13703
- [3-6][1-9][2-9]
13874
+ [3-6][1-9][1-9]
13704
13875
  </leadingDigits>
13705
13876
  <format>$1-$2-$3</format>
13706
13877
  </numberFormat>
@@ -13728,7 +13899,7 @@
13728
13899
  <format>$1-$2-$3-$4</format>
13729
13900
  </numberFormat>
13730
13901
  <numberFormat pattern="(\d)(\d{3,4})(\d{4})">
13731
- <leadingDigits>2[2-9]</leadingDigits>
13902
+ <leadingDigits>2[1-9]</leadingDigits>
13732
13903
  <format>$1-$2-$3</format>
13733
13904
  </numberFormat>
13734
13905
  <numberFormat pattern="(\d)(\d{3,4})">
@@ -13782,25 +13953,33 @@
13782
13953
  <possibleNumberPattern>\d{4,10}</possibleNumberPattern>
13783
13954
  </generalDesc>
13784
13955
  <fixedLine>
13956
+ <!-- We omit 049, supposedly for Kaesong Industrial Region, since real numbers can't be
13957
+ found, and it is in North Korea anyway. We support 7-8 digits long subscriber numbers
13958
+ starting with 1 based on evidence of real numbers found online. -->
13785
13959
  <nationalNumberPattern>
13786
13960
  (?:
13787
13961
  2|
13788
- [34][1-3]|
13789
- 5[1-5]|
13790
- 6[1-4]
13962
+ 3[1-3]|
13963
+ [46][1-4]|
13964
+ 5[1-5]
13791
13965
  )(?:
13792
13966
  1\d{2,3}|
13793
- [2-9]\d{6,7}
13967
+ [1-9]\d{6,7}
13794
13968
  )
13795
13969
  </nationalNumberPattern>
13796
13970
  <possibleNumberPattern>\d{4,10}</possibleNumberPattern>
13797
13971
  <exampleNumber>22123456</exampleNumber>
13798
13972
  </fixedLine>
13799
13973
  <mobile>
13800
- <nationalNumberPattern>1[0-25-9]\d{7,8}</nationalNumberPattern>
13974
+ <nationalNumberPattern>1[0-26-9]\d{7,8}</nationalNumberPattern>
13801
13975
  <possibleNumberPattern>\d{9,10}</possibleNumberPattern>
13802
13976
  <exampleNumber>1023456789</exampleNumber>
13803
13977
  </mobile>
13978
+ <pager>
13979
+ <nationalNumberPattern>15\d{7,8}</nationalNumberPattern>
13980
+ <possibleNumberPattern>\d{9,10}</possibleNumberPattern>
13981
+ <exampleNumber>1523456789</exampleNumber>
13982
+ </pager>
13804
13983
  <tollFree>
13805
13984
  <nationalNumberPattern>80\d{7}</nationalNumberPattern>
13806
13985
  <possibleNumberPattern>\d{9}</possibleNumberPattern>
@@ -13893,27 +14072,26 @@
13893
14072
  <possibleNumberPattern>\d{7,8}</possibleNumberPattern>
13894
14073
  <exampleNumber>22345678</exampleNumber>
13895
14074
  </fixedLine>
13896
- <!-- Note that the mobile range starting 503 is not specified in the ITU documentation, but
13897
- can be found online as of Dec 2012. -->
13898
14075
  <mobile>
14076
+ <!-- The mention of the mobile range 6933 0000 - 6969 9999 seems to be
14077
+ a mistake in the ITU plan, and should be 6933 0000 - 6933 9999. -->
13899
14078
  <nationalNumberPattern>
13900
14079
  (?:
13901
14080
  5(?:
13902
- 0[0-35-9]|
13903
- 11|
13904
- 5\d
14081
+ 1[0-2]|
14082
+ [05]\d
13905
14083
  )|
13906
14084
  6(?:
13907
14085
  0[034679]|
13908
14086
  5[015-9]|
13909
14087
  6\d|
13910
14088
  7[067]|
13911
- 9[069]
14089
+ 9[0369]
13912
14090
  )|
13913
14091
  9(?:
13914
14092
  0[09]|
13915
14093
  4[049]|
13916
- 6[69]|
14094
+ 6[069]|
13917
14095
  [79]\d
13918
14096
  )
13919
14097
  )\d{5}
@@ -14504,7 +14682,6 @@
14504
14682
  <possibleNumberPattern>\d{7,9}</possibleNumberPattern>
14505
14683
  </generalDesc>
14506
14684
  <fixedLine>
14507
- <!-- Regular Cost services are included here as well. -->
14508
14685
  <nationalNumberPattern>
14509
14686
  (?:
14510
14687
  2(?:
@@ -14518,8 +14695,7 @@
14518
14695
  7[0135-7]|
14519
14696
  8[048]|
14520
14697
  9[0269]
14521
- )|
14522
- 870
14698
+ )
14523
14699
  )\d{4}
14524
14700
  </nationalNumberPattern>
14525
14701
  <possibleNumberPattern>\d{7}</possibleNumberPattern>
@@ -14532,8 +14708,7 @@
14532
14708
  6(?:
14533
14709
  [01][0-4]|
14534
14710
  2[016-9]|
14535
- 88|
14536
- 92
14711
+ 88
14537
14712
  )|
14538
14713
  710
14539
14714
  )\d{5}|
@@ -14544,7 +14719,6 @@
14544
14719
  [7-9]\d
14545
14720
  )\d{4}
14546
14721
  </nationalNumberPattern>
14547
- <possibleNumberPattern>\d{7,9}</possibleNumberPattern>
14548
14722
  <exampleNumber>661234567</exampleNumber>
14549
14723
  </mobile>
14550
14724
  <!-- The prefix 809 seems to be used for AT&T and Verizon access lines from Liechtenstein,
@@ -14562,7 +14736,7 @@
14562
14736
  <possibleNumberPattern>\d{7}</possibleNumberPattern>
14563
14737
  <exampleNumber>8002222</exampleNumber>
14564
14738
  </tollFree>
14565
- <sharedCost>
14739
+ <premiumRate>
14566
14740
  <nationalNumberPattern>
14567
14741
  90(?:
14568
14742
  0(?:
@@ -14581,12 +14755,12 @@
14581
14755
  </nationalNumberPattern>
14582
14756
  <possibleNumberPattern>\d{7}</possibleNumberPattern>
14583
14757
  <exampleNumber>9002222</exampleNumber>
14584
- </sharedCost>
14758
+ </premiumRate>
14585
14759
  <uan>
14586
14760
  <nationalNumberPattern>
14587
14761
  87(?:
14588
- 0[1289]|
14589
- 70
14762
+ 0[128]|
14763
+ 7[0-4]
14590
14764
  )\d{3}
14591
14765
  </nationalNumberPattern>
14592
14766
  <possibleNumberPattern>\d{7}</possibleNumberPattern>
@@ -14639,7 +14813,7 @@
14639
14813
  1[278]|
14640
14814
  44
14641
14815
  )
14642
- </nationalNumberPattern>
14816
+ </nationalNumberPattern>
14643
14817
  <possibleNumberPattern>\d{3}</possibleNumberPattern>
14644
14818
  <exampleNumber>112</exampleNumber>
14645
14819
  </emergency>
@@ -14733,16 +14907,13 @@
14733
14907
  <mobile>
14734
14908
  <!-- According to information from Lonestar Communications Corporation, the prefix 6 is
14735
14909
  being removed, but as of June 2012 is in parallel running with their new prefix 88.
14736
- It seems some numbers beginning with 77[67] are also 9 digits long now. -->
14910
+ According to Cellcom Liberia, they have issued 9 digit numbers starting with 77. -->
14737
14911
  <nationalNumberPattern>
14738
14912
  (?:
14739
14913
  4[67]|
14740
14914
  5\d|
14741
14915
  6[4-8]|
14742
- 7(?:
14743
- 7[67]\d|
14744
- \d{2}
14745
- )|
14916
+ 77?\d{2}|
14746
14917
  88\d{2}
14747
14918
  )\d{5}
14748
14919
  </nationalNumberPattern>
@@ -15303,14 +15474,14 @@
15303
15474
  </fixedLine>
15304
15475
  <!-- Also duplicated in Western Sahara, please ensure you update both. -->
15305
15476
  <mobile>
15306
- <!-- Prefixes 60[1-5], 62[47-9], 63[0458] and 68[01] are from numbers found online,
15477
+ <!-- Prefixes 60[1-5], 62[47-9], 63[04-8] and 68[01] are from numbers found online,
15307
15478
  bug-reports, and information provided directly by the carriers. -->
15308
15479
  <nationalNumberPattern>
15309
15480
  6(?:
15310
15481
  0[0-6]|
15311
15482
  [14-7]\d|
15312
15483
  2[2-46-9]|
15313
- 3[03458]|
15484
+ 3[03-8]|
15314
15485
  8[01]|
15315
15486
  99
15316
15487
  )\d{6}
@@ -15717,7 +15888,12 @@
15717
15888
  <mobile>
15718
15889
  <!-- The numbering plan suggests the third digit, Z, should be 24-9, but this is not borne
15719
15890
  out by reality. -->
15720
- <nationalNumberPattern>3[02-4]\d{7}</nationalNumberPattern>
15891
+ <nationalNumberPattern>
15892
+ 3(?:
15893
+ [02-4]\d|
15894
+ 90
15895
+ )\d{6}
15896
+ </nationalNumberPattern>
15721
15897
  <possibleNumberPattern>\d{9}</possibleNumberPattern>
15722
15898
  <exampleNumber>301234567</exampleNumber>
15723
15899
  </mobile>
@@ -16658,7 +16834,8 @@
16658
16834
  <exampleNumber>2012345</exampleNumber>
16659
16835
  </fixedLine>
16660
16836
  <mobile>
16661
- <!--Adding 92 as SMS messages have been successfully sent to this prefix. -->
16837
+ <!--Adding 92 as SMS messages have been successfully sent to this prefix. 820 has also been
16838
+ added based on a report from Orange. -->
16662
16839
  <nationalNumberPattern>
16663
16840
  (?:
16664
16841
  25\d|
@@ -16667,7 +16844,10 @@
16667
16844
  9\d
16668
16845
  )|
16669
16846
  7\d{2}|
16670
- 87[15-8]|
16847
+ 8(?:
16848
+ 20|
16849
+ 7[15-8]
16850
+ )|
16671
16851
  9[1-8]\d
16672
16852
  )\d{4}
16673
16853
  </nationalNumberPattern>
@@ -16773,12 +16953,13 @@
16773
16953
  </fixedLine>
16774
16954
  <mobile>
16775
16955
  <!-- 7[45] has been added as many numbers online have been found with this prefix. 46[46]
16776
- are new prefixes for Dhiraagu and Wataniya, used currently for SMS-based services. -->
16956
+ are new prefixes for Dhiraagu and Wataniya, used currently for SMS-based services.
16957
+ 91 was added based on information from Wataniya Telecom. -->
16777
16958
  <nationalNumberPattern>
16778
16959
  (?:
16779
16960
  46[46]|
16780
16961
  7[3-9]\d|
16781
- 9[6-9]\d
16962
+ 9[16-9]\d
16782
16963
  )\d{4}
16783
16964
  </nationalNumberPattern>
16784
16965
  <possibleNumberPattern>\d{7}</possibleNumberPattern>
@@ -17157,20 +17338,23 @@
17157
17338
  <fixedLine>
17158
17339
  <nationalNumberPattern>
17159
17340
  (?:
17160
- 3\d{2}|
17161
- [4-79]\d|
17162
- 8[2-9]
17341
+ 3[2-9]\d|
17342
+ [4-9][2-9]
17163
17343
  )\d{6}
17164
17344
  </nationalNumberPattern>
17165
17345
  <possibleNumberPattern>\d{6,9}</possibleNumberPattern>
17166
- <exampleNumber>312345678</exampleNumber>
17346
+ <exampleNumber>323456789</exampleNumber>
17167
17347
  </fixedLine>
17168
17348
  <mobile>
17169
17349
  <nationalNumberPattern>
17170
17350
  1(?:
17171
- [02-46-9][2-9]|
17172
- 1[12]\d
17173
- )\d{6}
17351
+ 1[1-3]\d{2}|
17352
+ [02-4679][2-9]\d|
17353
+ 8(?:
17354
+ 1[23]|
17355
+ [2-9]\d
17356
+ )
17357
+ )\d{5}
17174
17358
  </nationalNumberPattern>
17175
17359
  <possibleNumberPattern>\d{9,10}</possibleNumberPattern>
17176
17360
  <exampleNumber>123456789</exampleNumber>
@@ -17253,9 +17437,9 @@
17253
17437
  a 9 are premium rate, but no online examples can be found of any of these so they are
17254
17438
  omitted for the time-being. -->
17255
17439
  <shortCode>
17256
- <nationalNumberPattern>1[0234]\d</nationalNumberPattern>
17257
- <possibleNumberPattern>\d{3}</possibleNumberPattern>
17258
- <exampleNumber>101</exampleNumber>
17440
+ <nationalNumberPattern>1[02-5]\d{2}</nationalNumberPattern>
17441
+ <possibleNumberPattern>\d{4}</possibleNumberPattern>
17442
+ <exampleNumber>1011</exampleNumber>
17259
17443
  </shortCode>
17260
17444
  <emergency>
17261
17445
  <!-- 11X is national, 19X is for Maputo. -->
@@ -18304,12 +18488,14 @@
18304
18488
  <possibleNumberPattern>\d{7,11}</possibleNumberPattern>
18305
18489
  </generalDesc>
18306
18490
  <fixedLine>
18491
+ <!-- 07 788 was assigned to Voxbox according to
18492
+ http://www.nad.org.nz/07GeographicalCodes.php -->
18307
18493
  <nationalNumberPattern>
18308
18494
  (?:
18309
18495
  3[2-79]|
18310
18496
  [49][2-689]|
18311
18497
  6[235-9]|
18312
- 7[2-589]
18498
+ 7[2-5789]
18313
18499
  )\d{6}|
18314
18500
  24099\d{3}
18315
18501
  </nationalNumberPattern>
@@ -18421,7 +18607,7 @@
18421
18607
  </territory>
18422
18608
 
18423
18609
  <!-- Panama -->
18424
- <!-- http://www.asep.gob.pa/telecom/pnn/default.asp - last read June 6th 2012. -->
18610
+ <!-- http://www.asep.gob.pa/telecom/pnn/default.asp - last read Jan 17th 2013. -->
18425
18611
  <!-- http://en.wikipedia.org/wiki/%2B507 - although it omits the fact that mobile phones are 8
18426
18612
  digits long. -->
18427
18613
  <territory id="PA" countryCode="507" internationalPrefix="00">
@@ -18534,8 +18720,8 @@
18534
18720
  6(?:
18535
18721
  [04-9]\d|
18536
18722
  1[0-5]|
18537
- 2[0-6]|
18538
- 3[6-9]
18723
+ 2[0-7]|
18724
+ 3[5-9]
18539
18725
  )\d{5}
18540
18726
  </nationalNumberPattern>
18541
18727
  <exampleNumber>60012345</exampleNumber>
@@ -18668,16 +18854,24 @@
18668
18854
  <!-- http://www.itu.int/oth/T020200004D/en -->
18669
18855
  <territory id="PF" countryCode="689" internationalPrefix="00">
18670
18856
  <availableFormats>
18857
+ <numberFormat pattern="(\d{2})(\d{2})(\d{2})(\d{2})">
18858
+ <leadingDigits>89</leadingDigits>
18859
+ <format>$1 $2 $3 $4</format>
18860
+ </numberFormat>
18671
18861
  <numberFormat pattern="(\d{2})(\d{2})(\d{2})">
18672
18862
  <format>$1 $2 $3</format>
18673
18863
  </numberFormat>
18674
18864
  </availableFormats>
18675
18865
  <generalDesc>
18676
- <nationalNumberPattern>[2-9]\d{5}</nationalNumberPattern>
18677
- <possibleNumberPattern>\d{6}</possibleNumberPattern>
18866
+ <nationalNumberPattern>
18867
+ [2-79]\d{5}|
18868
+ 8\d{5,7}
18869
+ </nationalNumberPattern>
18870
+ <possibleNumberPattern>\d{6}(?:\d{2})?</possibleNumberPattern>
18678
18871
  </generalDesc>
18679
18872
  <noInternationalDialling>
18680
18873
  <nationalNumberPattern>44\d{4}</nationalNumberPattern>
18874
+ <possibleNumberPattern>\d{6}</possibleNumberPattern>
18681
18875
  <exampleNumber>441234</exampleNumber>
18682
18876
  </noInternationalDialling>
18683
18877
  <fixedLine>
@@ -18692,6 +18886,7 @@
18692
18886
  [5689]\d{2}
18693
18887
  )\d{3}
18694
18888
  </nationalNumberPattern>
18889
+ <possibleNumberPattern>\d{6}</possibleNumberPattern>
18695
18890
  <exampleNumber>401234</exampleNumber>
18696
18891
  </fixedLine>
18697
18892
  <mobile>
@@ -18699,7 +18894,8 @@
18699
18894
  (?:
18700
18895
  [27]\d{2}|
18701
18896
  3[0-79]\d|
18702
- 411
18897
+ 411|
18898
+ 89\d{3}
18703
18899
  )\d{3}
18704
18900
  </nationalNumberPattern>
18705
18901
  <exampleNumber>212345</exampleNumber>
@@ -18884,8 +19080,11 @@
18884
19080
  <format>$1 $2 $3</format>
18885
19081
  </numberFormat>
18886
19082
  <numberFormat nationalPrefixFormattingRule="$NP$FG"
18887
- pattern="(9\d{2})(\d{3})(\d{4})">
18888
- <leadingDigits>9</leadingDigits>
19083
+ pattern="(\d{3})(\d{3})(\d{4})">
19084
+ <leadingDigits>
19085
+ 81|
19086
+ 9
19087
+ </leadingDigits>
18889
19088
  <format>$1 $2 $3</format>
18890
19089
  </numberFormat>
18891
19090
  <!-- Formatting from http://www.uniontelecard.com/calling-guides/philippines/guide1.aspx -->
@@ -18921,17 +19120,19 @@
18921
19120
  <exampleNumber>21234567</exampleNumber>
18922
19121
  </fixedLine>
18923
19122
  <mobile>
18924
- <!-- Adding Sun prefixes 94[23] based on http://en.wikipedia.org/wiki/Sun_Cellular -->
18925
19123
  <nationalNumberPattern>
18926
- 9(?:
18927
- 0[5-9]|
18928
- 1[025-9]|
18929
- 2[0-36-9]|
18930
- 3[02-9]|
18931
- 4[236-9]|
18932
- 7[349]|
18933
- 89|
18934
- 9[49]
19124
+ (?:
19125
+ 81[37]|
19126
+ 9(?:
19127
+ 0[5-9]|
19128
+ 1[025-9]|
19129
+ 2[0-35-9]|
19130
+ 3[02-9]|
19131
+ 4[236-9]|
19132
+ 7[3479]|
19133
+ 89|
19134
+ 9[46-9]
19135
+ )
18935
19136
  )\d{7}
18936
19137
  </nationalNumberPattern>
18937
19138
  <possibleNumberPattern>\d{10}</possibleNumberPattern>
@@ -19599,30 +19800,41 @@
19599
19800
  <nationalNumberPattern>
19600
19801
  9(?:
19601
19802
  [136]\d{2}|
19602
- 2[124-79]\d|
19603
- 4(?:
19604
- 80|
19605
- 9\d
19606
- )
19803
+ 2[0-79]\d|
19804
+ 480
19607
19805
  )\d{5}
19608
19806
  </nationalNumberPattern>
19609
19807
  <exampleNumber>912345678</exampleNumber>
19610
19808
  </mobile>
19611
19809
  <tollFree>
19612
- <nationalNumberPattern>
19613
- 4\d{8}|
19614
- 80[02]\d{6}
19615
- </nationalNumberPattern>
19810
+ <nationalNumberPattern>80[02]\d{6}</nationalNumberPattern>
19616
19811
  <exampleNumber>800123456</exampleNumber>
19617
19812
  </tollFree>
19618
19813
  <premiumRate>
19619
- <nationalNumberPattern>71\d{7}</nationalNumberPattern>
19620
- <exampleNumber>712345678</exampleNumber>
19814
+ <!-- Fixed maximum cost numbers: 761=0.60€, 761=1€, 762=2€. -->
19815
+ <nationalNumberPattern>
19816
+ 76(?:
19817
+ 0[1-57]|
19818
+ 1[2-47]|
19819
+ 2[237]
19820
+ )\d{5}
19821
+ </nationalNumberPattern>
19822
+ <exampleNumber>760123456</exampleNumber>
19621
19823
  </premiumRate>
19622
19824
  <sharedCost>
19623
- <nationalNumberPattern>808\d{6}</nationalNumberPattern>
19825
+ <!-- 808 are priced as local calls, 809 are national calls. -->
19826
+ <nationalNumberPattern>
19827
+ 80(?:
19828
+ 8\d|
19829
+ 9[1579]
19830
+ )\d{5}
19831
+ </nationalNumberPattern>
19624
19832
  <exampleNumber>808123456</exampleNumber>
19625
19833
  </sharedCost>
19834
+ <personalNumber>
19835
+ <nationalNumberPattern>884[128]\d{5}</nationalNumberPattern>
19836
+ <exampleNumber>884123456</exampleNumber>
19837
+ </personalNumber>
19626
19838
  <voip>
19627
19839
  <nationalNumberPattern>30\d{7}</nationalNumberPattern>
19628
19840
  <exampleNumber>301234567</exampleNumber>
@@ -19631,9 +19843,9 @@
19631
19843
  <nationalNumberPattern>
19632
19844
  70(?:
19633
19845
  7\d|
19634
- 8[147]
19846
+ 8[17]
19635
19847
  )\d{5}
19636
- </nationalNumberPattern>
19848
+ </nationalNumberPattern>
19637
19849
  <exampleNumber>707123456</exampleNumber>
19638
19850
  </uan>
19639
19851
  <emergency>
@@ -20755,7 +20967,7 @@
20755
20967
  (?:
20756
20968
  2[0-7]|
20757
20969
  4[0136-8]|
20758
- 5[0-38]|
20970
+ 5[0138]|
20759
20971
  7[018]|
20760
20972
  8[01]|
20761
20973
  9[0-57]
@@ -20786,11 +20998,10 @@
20786
20998
  )|
20787
20999
  5(?:
20788
21000
  0[0-6]|
20789
- 1[0-5]|
21001
+ [15][0-5]|
20790
21002
  2[0-68]|
20791
21003
  3[0-4]|
20792
21004
  4\d|
20793
- 5[0-5]|
20794
21005
  6[03-5]|
20795
21006
  7[013]|
20796
21007
  8[0-79]|
@@ -20816,11 +21027,9 @@
20816
21027
  1[0-68]|
20817
21028
  2\d|
20818
21029
  3[02-59]|
20819
- 4[0-4]|
20820
- 5[0-4]|
20821
- 6[01]|
20822
- 7[0135-8]|
20823
- 8[01]
21030
+ [45][0-4]|
21031
+ [68][01]|
21032
+ 7[0135-8]
20824
21033
  )\d{5,6}
20825
21034
  )
20826
21035
  </nationalNumberPattern>
@@ -20828,10 +21037,15 @@
20828
21037
  <exampleNumber>8123456</exampleNumber>
20829
21038
  </fixedLine>
20830
21039
  <mobile>
20831
- <nationalNumberPattern>7[02-46]\d{7}</nationalNumberPattern>
21040
+ <nationalNumberPattern>7[0236]\d{7}</nationalNumberPattern>
20832
21041
  <possibleNumberPattern>\d{9}</possibleNumberPattern>
20833
21042
  <exampleNumber>701234567</exampleNumber>
20834
21043
  </mobile>
21044
+ <pager>
21045
+ <nationalNumberPattern>74\d{7}</nationalNumberPattern>
21046
+ <possibleNumberPattern>\d{9}</possibleNumberPattern>
21047
+ <exampleNumber>741234567</exampleNumber>
21048
+ </pager>
20835
21049
  <tollFree>
20836
21050
  <nationalNumberPattern>20\d{4,7}</nationalNumberPattern>
20837
21051
  <possibleNumberPattern>\d{6,9}</possibleNumberPattern>
@@ -20869,8 +21083,8 @@
20869
21083
  </territory>
20870
21084
 
20871
21085
  <!-- Singapore -->
20872
- <!-- http://www.ida.gov.sg/policies%20and%20regulation/20060508120124.aspx -->
20873
- <territory id="SG" countryCode="65" internationalPrefix="0[0-3][0-9]">
21086
+ <!-- http://www.ida.gov.sg/Policies-and-Regulations/Industry-and-Licensees/Numbering/National-Numbering-Plan-and-Allocation-Process.aspx -->
21087
+ <territory id="SG" countryCode="65" internationalPrefix="0[0-3]\d">
20874
21088
  <availableFormats>
20875
21089
  <numberFormat pattern="([3689]\d{3})(\d{4})">
20876
21090
  <leadingDigits>
@@ -20927,7 +21141,7 @@
20927
21141
  <exampleNumber>19001234567</exampleNumber>
20928
21142
  </premiumRate>
20929
21143
  <voip>
20930
- <nationalNumberPattern>3[0-2]\d{6}</nationalNumberPattern>
21144
+ <nationalNumberPattern>3[12]\d{6}</nationalNumberPattern>
20931
21145
  <possibleNumberPattern>\d{8}</possibleNumberPattern>
20932
21146
  <exampleNumber>31234567</exampleNumber>
20933
21147
  </voip>
@@ -20943,19 +21157,18 @@
20943
21157
  <nationalNumberPattern>
20944
21158
  1(?:
20945
21159
  [0136]\d{2}|
20946
- 41\d|
20947
21160
  [89](?:
20948
21161
  [1-9]\d|
20949
21162
  0[1-9]
20950
21163
  )|
20951
21164
  [57]\d{2,3})|
20952
- 99[0-46-8]
21165
+ 99[0246-8]
20953
21166
  </nationalNumberPattern>
20954
21167
  <possibleNumberPattern>\d{3,5}</possibleNumberPattern>
20955
21168
  <exampleNumber>1312</exampleNumber>
20956
21169
  </shortCode>
20957
21170
  <emergency>
20958
- <nationalNumberPattern>99[59]</nationalNumberPattern>
21171
+ <nationalNumberPattern>99[359]</nationalNumberPattern>
20959
21172
  <possibleNumberPattern>\d{3}</possibleNumberPattern>
20960
21173
  <exampleNumber>999</exampleNumber>
20961
21174
  </emergency>
@@ -21535,7 +21748,8 @@
21535
21748
  <mobile>
21536
21749
  <!-- 24 is used by the carrier Telesom. 28 is used by Nationlink. 6[89] are apparently used
21537
21750
  by Nationlink Somalia, 67 by Nationlink Puntland, and 61 by Hormuud. 7X is used by
21538
- Somtel. 6 followed by only 7 digits is used by Telecom. -->
21751
+ Somtel. 6 followed by only 7 digits is used by Telecom. We have received information
21752
+ from Golis Telecom that 90 numbers are extended by 1 digit by becoming 907. -->
21539
21753
  <nationalNumberPattern>
21540
21754
  (?:
21541
21755
  15\d|
@@ -21545,10 +21759,13 @@
21545
21759
  )|
21546
21760
  6[17-9]?\d{2}|
21547
21761
  7\d{2}|
21548
- 9[01]\d
21762
+ 9(?:
21763
+ 07|
21764
+ 1
21765
+ )\d
21549
21766
  )\d{5}
21550
21767
  </nationalNumberPattern>
21551
- <exampleNumber>90792024</exampleNumber>
21768
+ <exampleNumber>907792024</exampleNumber>
21552
21769
  </mobile>
21553
21770
  <!-- According to the following webpage, there is no emergency number in Somalia:
21554
21771
  http://www.netglobers.com/africa/somalia-emergency-numbers-in-somalia.html -->
@@ -22060,10 +22277,10 @@
22060
22277
  <mobile>
22061
22278
  <!-- Sotel Tchad "SALAM" (77 XX XX XX) is classified as a fixed operator in the plan, but it
22062
22279
  also says numbers starting with 7 are mobile numbers. Putting under mobile for now.
22063
- Also adding 63[5-9] from evidence of successful SMS delivery. -->
22280
+ Also adding 6[028] and 63[5-9] which are operated by Airtel. -->
22064
22281
  <nationalNumberPattern>
22065
22282
  (?:
22066
- 6[36]\d|
22283
+ 6[02368]\d|
22067
22284
  77\d|
22068
22285
  9(?:
22069
22286
  5[0-4]|
@@ -22367,7 +22584,7 @@
22367
22584
  <exampleNumber>2112345</exampleNumber>
22368
22585
  </fixedLine>
22369
22586
  <mobile>
22370
- <nationalNumberPattern>7[78][1-9]\d{5}</nationalNumberPattern>
22587
+ <nationalNumberPattern>7[78]\d{6}</nationalNumberPattern>
22371
22588
  <possibleNumberPattern>\d{8}</possibleNumberPattern>
22372
22589
  <exampleNumber>77212345</exampleNumber>
22373
22590
  </mobile>
@@ -22501,10 +22718,14 @@
22501
22718
  <possibleNumberPattern>\d{8}</possibleNumberPattern>
22502
22719
  </generalDesc>
22503
22720
  <fixedLine>
22721
+ <!-- We support the whole 81 prefix here instead of just 81200 as
22722
+ indicated in the ITU doc, as more real phone numbers have been
22723
+ found online. -->
22504
22724
  <nationalNumberPattern>
22505
22725
  (?:
22506
22726
  3[012]|
22507
- 7\d
22727
+ 7\d|
22728
+ 81
22508
22729
  )\d{6}
22509
22730
  </nationalNumberPattern>
22510
22731
  <exampleNumber>71234567</exampleNumber>
@@ -22521,7 +22742,7 @@
22521
22742
  <!-- These are listed as 'value added services' - pending further information, we add them
22522
22743
  here for now. -->
22523
22744
  <premiumRate>
22524
- <nationalNumberPattern>8[0128]\d{6}</nationalNumberPattern>
22745
+ <nationalNumberPattern>8[028]\d{6}</nationalNumberPattern>
22525
22746
  <exampleNumber>80123456</exampleNumber>
22526
22747
  </premiumRate>
22527
22748
  <emergency>
@@ -22755,7 +22976,10 @@
22755
22976
  <!-- Adding 703 as messages have been successfully delivered to phones with this prefix. -->
22756
22977
  <nationalNumberPattern>
22757
22978
  868(?:
22758
- 29\d|
22979
+ 2(?:
22980
+ 8[59]|
22981
+ 9\d
22982
+ )|
22759
22983
  3(?:
22760
22984
  0[1-9]|
22761
22985
  1[02-9]|
@@ -22985,9 +23209,9 @@
22985
23209
  area code - http://www.ua.all-biz.info/guide/phonecodes is useful but not error-free.
22986
23210
  Have used local yellow pages guidelines, Google searches and regression tests to
22987
23211
  reverse-engineer these rules as well as bugs. -->
22988
- <numberFormat pattern="([3-69]\d)(\d{3})(\d{4})">
23212
+ <numberFormat pattern="([3-689]\d)(\d{3})(\d{4})">
22989
23213
  <leadingDigits>
22990
- 39|
23214
+ [38]9|
22991
23215
  4(?:
22992
23216
  [45][0-5]|
22993
23217
  87
@@ -23001,7 +23225,7 @@
23001
23225
  9[1-9]
23002
23226
  </leadingDigits>
23003
23227
  <leadingDigits>
23004
- 39|
23228
+ [38]9|
23005
23229
  4(?:
23006
23230
  [45][0-5]|
23007
23231
  87
@@ -23032,7 +23256,7 @@
23032
23256
  [12][29]|
23033
23257
  5[24]
23034
23258
  )|
23035
- 8|
23259
+ 8[0-8]|
23036
23260
  90
23037
23261
  </leadingDigits>
23038
23262
  <leadingDigits>
@@ -23050,7 +23274,7 @@
23050
23274
  [12][29]|
23051
23275
  5[24]
23052
23276
  )|
23053
- 8|
23277
+ 8[0-8]|
23054
23278
  90
23055
23279
  </leadingDigits>
23056
23280
  <format>$1 $2 $3</format>
@@ -23148,6 +23372,12 @@
23148
23372
  <possibleNumberPattern>\d{9}</possibleNumberPattern>
23149
23373
  <exampleNumber>900123456</exampleNumber>
23150
23374
  </premiumRate>
23375
+ <!-- Added based on: http://www.didx.net/did/ShowCountry/Country/AreaDesc/Area/9442 -->
23376
+ <voip>
23377
+ <nationalNumberPattern>89\d{7}</nationalNumberPattern>
23378
+ <possibleNumberPattern>\d{9}</possibleNumberPattern>
23379
+ <exampleNumber>891234567</exampleNumber>
23380
+ </voip>
23151
23381
  <emergency>
23152
23382
  <nationalNumberPattern>
23153
23383
  1(?:
@@ -23170,7 +23400,7 @@
23170
23400
  <leadingDigits>
23171
23401
  [7-9]|
23172
23402
  20(?:
23173
- [013-5]|
23403
+ [013-8]|
23174
23404
  2[5-9]
23175
23405
  )|
23176
23406
  4(?:
@@ -23200,16 +23430,18 @@
23200
23430
  <possibleNumberPattern>\d{5,9}</possibleNumberPattern>
23201
23431
  </generalDesc>
23202
23432
  <fixedLine>
23203
- <!-- Ranges with prefixes 20[35] are "not yet operational" as of Feb. 2012. -->
23433
+ <!-- Ranges with prefixes 20[5-8] are "not yet operational" as of Feb. 2013. -->
23204
23434
  <nationalNumberPattern>
23205
23435
  20(?:
23206
- [014]\d{2}|
23436
+ [0147]\d{2}|
23207
23437
  2(?:
23208
23438
  40|
23209
23439
  [5-9]\d
23210
23440
  )|
23211
23441
  3[23]\d|
23212
- 5[0-4]\d
23442
+ 5[0-4]\d|
23443
+ 60\d|
23444
+ 8[0-2]\d
23213
23445
  )\d{4}|
23214
23446
  [34]\d{8}
23215
23447
  </nationalNumberPattern>
@@ -23220,12 +23452,12 @@
23220
23452
  </fixedLine>
23221
23453
  <mobile>
23222
23454
  <!-- Added 79[5-9] and 707 from online numbers found with this prefix. -->
23223
- <!-- Ranges with prefixes 7[246] are "not yet operational" as of Nov. 2011. -->
23455
+ <!-- Ranges with prefixes 7[2346] are "not yet operational" as of Jan. 2013. -->
23224
23456
  <nationalNumberPattern>
23225
23457
  7(?:
23226
23458
  0[0-7]|
23227
23459
  [15789]\d|
23228
- 20|
23460
+ [23]0|
23229
23461
  [46][0-4]
23230
23462
  )\d{6}
23231
23463
  </nationalNumberPattern>
@@ -23367,7 +23599,7 @@
23367
23599
  )
23368
23600
  )[2-9]\d{6}
23369
23601
  </nationalNumberPattern>
23370
- <exampleNumber>2015550123</exampleNumber>
23602
+ <exampleNumber>2015555555</exampleNumber>
23371
23603
  </fixedLine>
23372
23604
  <mobile>
23373
23605
  <nationalNumberPattern>
@@ -23459,7 +23691,7 @@
23459
23691
  )
23460
23692
  )[2-9]\d{6}
23461
23693
  </nationalNumberPattern>
23462
- <exampleNumber>2015550123</exampleNumber>
23694
+ <exampleNumber>2015555555</exampleNumber>
23463
23695
  </mobile>
23464
23696
  <tollFree>
23465
23697
  <nationalNumberPattern>
@@ -24942,6 +25174,52 @@
24942
25174
  <leadingDigits>86[24]</leadingDigits>
24943
25175
  <format>$1 $2 $3</format>
24944
25176
  </numberFormat>
25177
+ <!-- Three-digit area codes (listed before the two-digit ones since some overlap) -->
25178
+ <numberFormat pattern="([2356]\d{2})(\d{3,5})">
25179
+ <leadingDigits>
25180
+ 2(?:
25181
+ [278]|
25182
+ 0[45]|
25183
+ [49]8
25184
+ )|
25185
+ 3(?:
25186
+ 08|
25187
+ 17|
25188
+ 3[78]|
25189
+ [78]
25190
+ )|
25191
+ 5[15][78]|
25192
+ 6(?:
25193
+ [29]8|
25194
+ 37|
25195
+ [68][78]
25196
+ )
25197
+ </leadingDigits>
25198
+ <format>$1 $2</format>
25199
+ </numberFormat>
25200
+ <numberFormat pattern="(\d{3})(\d{3})(\d{3,4})">
25201
+ <leadingDigits>
25202
+ 2(?:
25203
+ [278]|
25204
+ 0[45]|
25205
+ 48
25206
+ )|
25207
+ 3(?:
25208
+ 08|
25209
+ 17|
25210
+ 3[78]|
25211
+ [78]
25212
+ )|
25213
+ 5[15][78]|
25214
+ 6(?:
25215
+ [29]8|
25216
+ 37|
25217
+ [68][78]
25218
+ )|
25219
+ 80
25220
+ </leadingDigits>
25221
+ <format>$1 $2 $3</format>
25222
+ </numberFormat>
24945
25223
  <!-- Two-digit area codes -->
24946
25224
  <numberFormat pattern="([1-356]\d)(\d{3,5})">
24947
25225
  <leadingDigits>
@@ -24997,51 +25275,6 @@
24997
25275
  </leadingDigits>
24998
25276
  <format>$1 $2 $3</format>
24999
25277
  </numberFormat>
25000
- <!-- Three-digit area codes -->
25001
- <numberFormat pattern="([2356]\d{2})(\d{3,5})">
25002
- <leadingDigits>
25003
- 2(?:
25004
- [278]|
25005
- 0[45]|
25006
- 48
25007
- )|
25008
- 3(?:
25009
- 08|
25010
- 17|
25011
- 3[78]|
25012
- [78]
25013
- )|
25014
- 5[15][78]|
25015
- 6(?:
25016
- [29]8|
25017
- 37|
25018
- [68][78]
25019
- )
25020
- </leadingDigits>
25021
- <format>$1 $2</format>
25022
- </numberFormat>
25023
- <numberFormat pattern="([2356]\d{2})(\d{3})(\d{3})">
25024
- <leadingDigits>
25025
- 2(?:
25026
- [278]|
25027
- 0[45]|
25028
- 48
25029
- )|
25030
- 3(?:
25031
- 08|
25032
- 17|
25033
- 3[78]|
25034
- [78]
25035
- )|
25036
- 5[15][78]|
25037
- 6(?:
25038
- [29]8|
25039
- 37|
25040
- [68][78]
25041
- )
25042
- </leadingDigits>
25043
- <format>$1 $2 $3</format>
25044
- </numberFormat>
25045
25278
  <!-- Four-digit area codes -->
25046
25279
  <numberFormat pattern="([25]\d{3})(\d{3,5})">
25047
25280
  <leadingDigits>
@@ -25071,7 +25304,7 @@
25071
25304
  </numberFormat>
25072
25305
  <!-- VOIP numbers -->
25073
25306
  <numberFormat pattern="(8\d{3})(\d{6})">
25074
- <leadingDigits>86[1389]</leadingDigits>
25307
+ <leadingDigits>86</leadingDigits>
25075
25308
  <format>$1 $2</format>
25076
25309
  </numberFormat>
25077
25310
  </availableFormats>
@@ -25084,7 +25317,7 @@
25084
25317
  6\d{3,6}
25085
25318
  )|
25086
25319
  [13-79]\d{4,8}|
25087
- 86\d{8}
25320
+ 8[06]\d{8}
25088
25321
  </nationalNumberPattern>
25089
25322
  <possibleNumberPattern>\d{3,10}</possibleNumberPattern>
25090
25323
  </generalDesc>
@@ -25140,9 +25373,12 @@
25140
25373
  6[126-8]
25141
25374
  )\d{4,6}|
25142
25375
  2(?:
25143
- 0|
25144
- 70
25145
- )\d{5,6}|
25376
+ (?:
25377
+ 0|
25378
+ 70
25379
+ )\d{5,6}|
25380
+ 2[05]\d{7}
25381
+ )|
25146
25382
  (?:
25147
25383
  4\d|
25148
25384
  9[2-8]
@@ -25154,7 +25390,7 @@
25154
25390
  also being used by the carriers as mobile prefixes. -->
25155
25391
  <mobile>
25156
25392
  <nationalNumberPattern>
25157
- 7[137]\d{7}|
25393
+ 7[1378]\d{7}|
25158
25394
  86(?:
25159
25395
  22|
25160
25396
  44
@@ -25163,12 +25399,19 @@
25163
25399
  <possibleNumberPattern>\d{9,10}</possibleNumberPattern>
25164
25400
  <exampleNumber>711234567</exampleNumber>
25165
25401
  </mobile>
25166
- <!-- No tollFree or premiumRate information can be found. -->
25402
+ <tollFree>
25403
+ <nationalNumberPattern>800\d{7}</nationalNumberPattern>
25404
+ <possibleNumberPattern>\d{10}</possibleNumberPattern>
25405
+ <exampleNumber>8001234567</exampleNumber>
25406
+ </tollFree>
25407
+ <!-- No premiumRate information can be found. -->
25167
25408
  <voip>
25168
25409
  <nationalNumberPattern>
25169
25410
  86(?:
25170
25411
  1[12]|
25171
25412
  30|
25413
+ 55|
25414
+ 77|
25172
25415
  8[367]|
25173
25416
  99
25174
25417
  )\d{6}