e164 0.0.0 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.0
1
+ 0.1.0
data/e164.gemspec ADDED
@@ -0,0 +1,63 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run `rake gemspec`
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = %q{e164}
8
+ s.version = "0.1.0"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["hexorx"]
12
+ s.date = %q{2009-12-15}
13
+ s.description = %q{The e164 gem can parse and normalize numbers into the e164 format.
14
+ It provides extra information on the Country Code and National Destination Codes.
15
+ It can be used standalone or mixed into a model.}
16
+ s.email = %q{hexorx@gmail.com}
17
+ s.extra_rdoc_files = [
18
+ "LICENSE",
19
+ "README.rdoc"
20
+ ]
21
+ s.files = [
22
+ ".document",
23
+ ".gitignore",
24
+ "LICENSE",
25
+ "README.rdoc",
26
+ "Rakefile",
27
+ "VERSION",
28
+ "e164.gemspec",
29
+ "lib/e164.rb",
30
+ "lib/e164/country_codes.rb",
31
+ "lib/e164/national_destination_codes/austria.rb",
32
+ "lib/e164/national_destination_codes/germany.rb",
33
+ "lib/e164/national_destination_codes/nanp.rb",
34
+ "lib/load_data.sql",
35
+ "spec/e164_spec.rb",
36
+ "spec/spec_helper.rb"
37
+ ]
38
+ s.homepage = %q{http://github.com/hexorx/e164}
39
+ s.rdoc_options = ["--charset=UTF-8"]
40
+ s.require_paths = ["lib"]
41
+ s.rubygems_version = %q{1.3.5}
42
+ s.summary = %q{This gem provides e164 parsing and normalization}
43
+ s.test_files = [
44
+ "spec/e164_spec.rb",
45
+ "spec/spec_helper.rb"
46
+ ]
47
+
48
+ if s.respond_to? :specification_version then
49
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
50
+ s.specification_version = 3
51
+
52
+ if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
53
+ s.add_development_dependency(%q<rspec>, [">= 0"])
54
+ s.add_development_dependency(%q<yard>, [">= 0"])
55
+ else
56
+ s.add_dependency(%q<rspec>, [">= 0"])
57
+ s.add_dependency(%q<yard>, [">= 0"])
58
+ end
59
+ else
60
+ s.add_dependency(%q<rspec>, [">= 0"])
61
+ s.add_dependency(%q<yard>, [">= 0"])
62
+ end
63
+ end
data/lib/e164.rb CHANGED
@@ -0,0 +1,54 @@
1
+ module E164
2
+
3
+ Dir.glob(File.join(File.dirname(__FILE__), 'e164/*.rb')).each {|f| require f }
4
+
5
+ ValidFormat = /^\+([\d]{1,3})([\d]{1,14})$/
6
+ Identifiers = ['+','011']
7
+ DefaultIdentifier = '+'
8
+ DefaultCountryCode = '1'
9
+
10
+ def self.normalize(num)
11
+ parse(num).unshift(DefaultIdentifier).join
12
+ end
13
+
14
+ def self.parse(num)
15
+ num = e164_clean(num)
16
+ identifier = Identifiers.include?(num.first) ? num.shift : nil
17
+
18
+ num = (identifier || num.join.start_with?(DefaultCountryCode)) ? join_country_code(num) : num.unshift(DefaultCountryCode)
19
+ num = join_national_destination_code(num)
20
+
21
+ [num.shift,num.shift,num.join]
22
+ end
23
+
24
+ def self.e164_clean(num)
25
+ num.scan(/^(?:#{Identifiers.map{|i| Regexp.escape(i) }.join('|')})|[\d]/)
26
+ end
27
+
28
+ def self.join_country_code(num)
29
+ potentials = (1..3).map {|l| num[0,l].join}
30
+ country_code = potentials.map {|x| CountryCodes[x] ? x : nil}.compact.first
31
+
32
+ unless country_code
33
+ country_code = DefaultCountryCode
34
+ num.unshift(country_code)
35
+ end
36
+
37
+ [num.shift(country_code.length).join, *num]
38
+ end
39
+
40
+ def self.join_national_destination_code(num)
41
+ country = CountryCodes[num[0]]
42
+
43
+ case (destination_codes = country[:national_destination_codes])
44
+ when Integer
45
+ destination_code_length = destination_codes
46
+ when Hash
47
+ potentials = destination_codes[:range].map {|l| num[1,l].join}
48
+ destination_code = potentials.map {|x| destination_codes[x] ? x : nil}.compact.first
49
+ destination_code_length = destination_code.length || destination_codes[:default]
50
+ end
51
+
52
+ [num.shift, num.shift(destination_code_length).join, *num]
53
+ end
54
+ end
@@ -0,0 +1,259 @@
1
+ Dir.glob(File.join(File.dirname(__FILE__), 'national_destination_codes/*.rb')).each {|f| require f }
2
+
3
+ CountryCodes = {
4
+ '1' => {:national_destination_codes => NANP, :abbreviation => 'NANP', :description => 'USA/NANP', :info => 'en.wikipedia.com.org/wiki/NANP'},
5
+ '7' => {:national_destination_codes => 3, :abbreviation => '', :description => 'Russia', :info => 'en.wikipedia.com.org/wiki/Russia'},
6
+
7
+ '20' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Egypt', :info => 'en.wikipedia.com.org/wiki/Egypt'},
8
+ '27' => {:national_destination_codes => 2, :abbreviation => '', :description => 'South Africa', :info => 'en.wikipedia.com.org/wiki/South_Africa'},
9
+
10
+ '30' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Greece', :info => 'en.wikipedia.com.org/wiki/Greece'},
11
+ '31' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Netherlands', :info => 'en.wikipedia.com.org/wiki/Netherlands'},
12
+ '32' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Belgium', :info => 'en.wikipedia.com.org/wiki/Belgium'},
13
+ '33' => {:national_destination_codes => 1, :abbreviation => '', :description => 'France', :info => 'en.wikipedia.com.org/wiki/France'},
14
+ '34' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Spain', :info => 'en.wikipedia.com.org/wiki/Spain'},
15
+ '36' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Hungary', :info => 'en.wikipedia.com.org/wiki/Hungary'},
16
+ '37' => {:national_destination_codes => 2, :abbreviation => '', :description => 'discontinued (was assigned to the [German Democratic Republic] (East Germany) until April 1992.', :info => ''},
17
+ '38' => {:national_destination_codes => 2, :abbreviation => '', :description => 'discontinued (was assigned to [Yugoslavia] before break', :info => ''},
18
+ '39' => {:national_destination_codes => 3, :abbreviation => '', :description => 'Italy', :info => 'en.wikipedia.com.org/wiki/Italy'},
19
+
20
+ '40' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Romania', :info => 'en.wikipedia.com.org/wiki/Romania'},
21
+ '41' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Switzerland', :info => 'en.wikipedia.com.org/wiki/Switzerland'},
22
+ '42' => {:national_destination_codes => 2, :abbreviation => '', :description => 'previously assigned to [Czechoslovakia] until its breakup. Czech Republic and Slovakia used this common code until 1 March 1997.', :info => ''},
23
+ '43' => {:national_destination_codes => Austria, :abbreviation => '', :description => 'Austria', :info => 'en.wikipedia.com.org/wiki/Austria'},
24
+ '44' => {:national_destination_codes => 2, :abbreviation => '', :description => 'United Kingdom', :info => 'en.wikipedia.com.org/wiki/United_Kingdom'},
25
+ '45' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Denmark', :info => 'en.wikipedia.com.org/wiki/Denmark'},
26
+ '46' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Sweden', :info => 'en.wikipedia.com.org/wiki/Sweden'},
27
+ '47' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Norway', :info => 'en.wikipedia.com.org/wiki/Norway'},
28
+ '48' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Poland', :info => 'en.wikipedia.com.org/wiki/Poland'},
29
+ '49' => {:national_destination_codes => Germany, :abbreviation => '', :description => 'Germany', :info => 'en.wikipedia.com.org/wiki/Germany'},
30
+
31
+ '51' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Peru', :info => 'en.wikipedia.com.org/wiki/Peru'},
32
+ '52' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Mexico', :info => 'en.wikipedia.com.org/wiki/Mexico'},
33
+ '53' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Cuba', :info => 'en.wikipedia.com.org/wiki/Cuba'},
34
+ '54' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Argentina', :info => 'en.wikipedia.com.org/wiki/Argentina'},
35
+ '55' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Brazil', :info => 'en.wikipedia.com.org/wiki/Brazil'},
36
+ '56' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Chile', :info => 'en.wikipedia.com.org/wiki/Chile'},
37
+ '57' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Colombia', :info => 'en.wikipedia.com.org/wiki/Colombia'},
38
+ '58' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Venezuela', :info => 'en.wikipedia.com.org/wiki/Venezuela'},
39
+
40
+ '60' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Malaysia', :info => 'en.wikipedia.com.org/wiki/Malaysia'},
41
+ '61' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Australia', :info => 'en.wikipedia.com.org/wiki/Australia'},
42
+ '62' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Indonesia', :info => 'en.wikipedia.com.org/wiki/Indonesia'},
43
+ '63' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Philippines', :info => 'en.wikipedia.com.org/wiki/Philippines'},
44
+ '64' => {:national_destination_codes => 1, :abbreviation => '', :description => 'New Zealand', :info => 'en.wikipedia.com.org/wiki/New_Zealand'},
45
+ '65' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Singapore', :info => 'en.wikipedia.com.org/wiki/Singapore'},
46
+ '66' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Thailand', :info => 'en.wikipedia.com.org/wiki/Thailand'},
47
+
48
+ '81' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Japan', :info => 'en.wikipedia.com.org/wiki/Japan'},
49
+ '82' => {:national_destination_codes => 2, :abbreviation => '', :description => 'South Korea', :info => 'en.wikipedia.com.org/wiki/South_Korea'},
50
+ '84' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Vietnam', :info => 'en.wikipedia.com.org/wiki/Vietnam'},
51
+ '86' => {:national_destination_codes => 2, :abbreviation => '', :description => 'People\'s Republic of China', :info => 'en.wikipedia.com.org/wiki/People%27s_Republic_of_China'},
52
+
53
+ '90' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Turkey', :info => 'en.wikipedia.com.org/wiki/Turkey'},
54
+ '91' => {:national_destination_codes => 2, :abbreviation => '', :description => 'India', :info => 'en.wikipedia.com.org/wiki/India'},
55
+ '92' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Pakistan', :info => 'en.wikipedia.com.org/wiki/Pakistan'},
56
+ '93' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Afghanistan', :info => 'en.wikipedia.com.org/wiki/Afghanistan'},
57
+ '94' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Sri Lanka', :info => 'en.wikipedia.com.org/wiki/Sri_Lanka'},
58
+ '95' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Burma', :info => 'en.wikipedia.com.org/wiki/Burma'},
59
+ '98' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Iran', :info => 'en.wikipedia.com.org/wiki/Iran'},
60
+
61
+ '212' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Morocco', :info => 'en.wikipedia.com.org/wiki/Morocco'},
62
+ '213' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Algeria', :info => 'en.wikipedia.com.org/wiki/Algeria'},
63
+ '216' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Tunisia', :info => 'en.wikipedia.com.org/wiki/Tunisia'},
64
+ '218' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Libya', :info => 'en.wikipedia.com.org/wiki/Libya'},
65
+
66
+ '220' => {:national_destination_codes => 2, :abbreviation => '', :description => 'The Gambia', :info => 'en.wikipedia.com.org/wiki/The_Gambia'},
67
+ '221' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Senegal', :info => 'en.wikipedia.com.org/wiki/Senegal'},
68
+ '222' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Mauritania', :info => 'en.wikipedia.com.org/wiki/Mauritania'},
69
+ '223' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Mali', :info => 'en.wikipedia.com.org/wiki/Mali'},
70
+ '224' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Guinea', :info => 'en.wikipedia.com.org/wiki/Guinea'},
71
+ '225' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Côte_d\'Ivoire', :info => 'en.wikipedia.com.org/wiki/Côte_d\'Ivoire'},
72
+ '226' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Burkina Faso', :info => 'en.wikipedia.com.org/wiki/Burkina_Faso'},
73
+ '227' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Niger', :info => 'en.wikipedia.com.org/wiki/Niger'},
74
+ '228' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Togo', :info => 'en.wikipedia.com.org/wiki/Togo'},
75
+ '229' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Benin', :info => 'en.wikipedia.com.org/wiki/Benin'},
76
+
77
+ '230' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Mauritius', :info => 'en.wikipedia.com.org/wiki/Mauritius'},
78
+ '231' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Liberia', :info => 'en.wikipedia.com.org/wiki/Liberia'},
79
+ '232' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Sierra Leone', :info => 'en.wikipedia.com.org/wiki/Sierra_Leone'},
80
+ '233' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Ghana', :info => 'en.wikipedia.com.org/wiki/Ghana'},
81
+ '234' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Nigeria', :info => 'en.wikipedia.com.org/wiki/Nigeria'},
82
+ '235' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Chad', :info => 'en.wikipedia.com.org/wiki/Chad'},
83
+ '236' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Central African Republic', :info => 'en.wikipedia.com.org/wiki/Central_African_Republic'},
84
+ '237' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Cameroon', :info => 'en.wikipedia.com.org/wiki/Cameroon'},
85
+ '238' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Cape Verde', :info => 'en.wikipedia.com.org/wiki/Cape_Verde'},
86
+ '239' => {:national_destination_codes => 2, :abbreviation => '', :description => 'São Tomé and Príncipe', :info => 'en.wikipedia.com.org/wiki/S%C3%A3o_Tom%C3%A9_and_Pr%C3%ADncipe'},
87
+
88
+ '240' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Equatorial Guinea', :info => 'en.wikipedia.com.org/wiki/Equatorial_Guinea'},
89
+ '241' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Gabon', :info => 'en.wikipedia.com.org/wiki/Gabon'},
90
+ '242' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Republic of the Congo', :info => 'en.wikipedia.com.org/wiki/Republic_of_the_Congo'},
91
+ '243' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Democratic Republic of the Congo', :info => 'en.wikipedia.com.org/wiki/Democratic_Republic_of_the_Congo'},
92
+ '244' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Angola', :info => 'en.wikipedia.com.org/wiki/Angola'},
93
+ '245' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Guinea-Bissau', :info => 'en.wikipedia.com.org/wiki/Guinea-Bissau'},
94
+ '246' => {:national_destination_codes => 2, :abbreviation => '', :description => 'British Indian Ocean Territory', :info => 'en.wikipedia.com.org/wiki/British_Indian_Ocean_Territory'},
95
+ '247' => {:national_destination_codes => 2, :abbreviation => '', :description => 'United Kingdom', :info => 'en.wikipedia.com.org/wiki/United_Kingdom'},
96
+ '248' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Seychelles', :info => 'en.wikipedia.com.org/wiki/Seychelles'},
97
+ '249' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Sudan', :info => 'en.wikipedia.com.org/wiki/Sudan'},
98
+
99
+ '250' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Rwanda', :info => 'en.wikipedia.com.org/wiki/Rwanda'},
100
+ '251' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Ethiopia', :info => 'en.wikipedia.com.org/wiki/Ethiopia'},
101
+ '252' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Somalia', :info => 'en.wikipedia.com.org/wiki/Somalia'},
102
+ '253' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Djibouti', :info => 'en.wikipedia.com.org/wiki/Djibouti'},
103
+ '254' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Kenya', :info => 'en.wikipedia.com.org/wiki/Kenya'},
104
+ '255' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Tanzania', :info => 'en.wikipedia.com.org/wiki/Tanzania'},
105
+ '256' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Uganda', :info => 'en.wikipedia.com.org/wiki/Uganda'},
106
+ '257' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Burundi', :info => 'en.wikipedia.com.org/wiki/Burundi'},
107
+ '258' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Mozambique', :info => 'en.wikipedia.com.org/wiki/Mozambique'},
108
+
109
+ '260' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Zambia', :info => 'en.wikipedia.com.org/wiki/Zambia'},
110
+ '261' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Madagascar', :info => 'en.wikipedia.com.org/wiki/Madagascar'},
111
+ '262' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Mayotte', :info => 'en.wikipedia.com.org/wiki/Mayotte'},
112
+ '263' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Zimbabwe', :info => 'en.wikipedia.com.org/wiki/Zimbabwe'},
113
+ '264' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Namibia', :info => 'en.wikipedia.com.org/wiki/Namibia'},
114
+ '265' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Malawi', :info => 'en.wikipedia.com.org/wiki/Malawi'},
115
+ '266' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Lesotho', :info => 'en.wikipedia.com.org/wiki/Lesotho'},
116
+ '267' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Botswana', :info => 'en.wikipedia.com.org/wiki/Botswana'},
117
+ '268' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Swaziland', :info => 'en.wikipedia.com.org/wiki/Swaziland'},
118
+ '269' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Comoros', :info => 'en.wikipedia.com.org/wiki/Comoros'},
119
+
120
+ '290' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Saint Helena', :info => 'en.wikipedia.com.org/wiki/Saint_Helena'},
121
+ '291' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Eritrea', :info => 'en.wikipedia.com.org/wiki/Eritrea'},
122
+ '297' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Aruba', :info => 'en.wikipedia.com.org/wiki/Aruba'},
123
+ '298' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Faroe Islands', :info => 'en.wikipedia.com.org/wiki/Faroe_Islands'},
124
+ '299' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Greenland', :info => 'en.wikipedia.com.org/wiki/Greenland'},
125
+
126
+ '350' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Gibraltar', :info => 'en.wikipedia.com.org/wiki/Gibraltar'},
127
+ '351' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Portugal', :info => 'en.wikipedia.com.org/wiki/Portugal'},
128
+ '352' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Luxembourg', :info => 'en.wikipedia.com.org/wiki/Luxembourg'},
129
+ '353' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Republic of Ireland', :info => 'en.wikipedia.com.org/wiki/Republic_of_Ireland'},
130
+ '354' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Iceland', :info => 'en.wikipedia.com.org/wiki/Iceland'},
131
+ '355' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Albania', :info => 'en.wikipedia.com.org/wiki/Albania'},
132
+ '356' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Malta', :info => 'en.wikipedia.com.org/wiki/Malta'},
133
+ '357' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Cyprus', :info => 'en.wikipedia.com.org/wiki/Cyprus'},
134
+ '358' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Finland', :info => 'en.wikipedia.com.org/wiki/Finland'},
135
+ '359' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Bulgaria', :info => 'en.wikipedia.com.org/wiki/Bulgaria'},
136
+
137
+ '370' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Lithuania', :info => 'en.wikipedia.com.org/wiki/Lithuania'},
138
+ '371' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Latvia', :info => 'en.wikipedia.com.org/wiki/Latvia'},
139
+ '372' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Estonia', :info => 'en.wikipedia.com.org/wiki/Estonia'},
140
+ '373' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Moldova', :info => 'en.wikipedia.com.org/wiki/Moldova'},
141
+ '374' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Armenia', :info => 'en.wikipedia.com.org/wiki/Armenia'},
142
+ '375' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Belarus', :info => 'en.wikipedia.com.org/wiki/Belarus'},
143
+ '376' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Andorra', :info => 'en.wikipedia.com.org/wiki/Andorra'},
144
+ '377' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Monaco', :info => 'en.wikipedia.com.org/wiki/Monaco'},
145
+ '378' => {:national_destination_codes => 2, :abbreviation => '', :description => 'discontinued (was assigned to [San Marino], see [+378])', :info => ''},
146
+ '379' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Vatican City', :info => 'en.wikipedia.com.org/wiki/Vatican_City'},
147
+
148
+ '380' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Ukraine', :info => 'en.wikipedia.com.org/wiki/Ukraine'},
149
+ '381' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Serbia', :info => 'en.wikipedia.com.org/wiki/Serbia'},
150
+ '382' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Montenegro', :info => 'en.wikipedia.com.org/wiki/Montenegro'},
151
+ '385' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Croatia', :info => 'en.wikipedia.com.org/wiki/Croatia'},
152
+ '386' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Slovenia', :info => 'en.wikipedia.com.org/wiki/Slovenia'},
153
+ '387' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Bosnia and Herzegovina', :info => 'en.wikipedia.com.org/wiki/Bosnia_and_Herzegovina'},
154
+ '388' => {:national_destination_codes => 2, :abbreviation => '', :description => 'shared code for groups of nations', :info => ''},
155
+ '389' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Republic of Macedonia', :info => 'en.wikipedia.com.org/wiki/Republic_of_Macedonia'},
156
+
157
+ '420' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Czech Republic', :info => 'en.wikipedia.com.org/wiki/Czech_Republic'},
158
+ '421' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Slovakia', :info => 'en.wikipedia.com.org/wiki/Slovakia'},
159
+ '423' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Liechtenstein', :info => 'en.wikipedia.com.org/wiki/Liechtenstein'},
160
+
161
+ '500' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Falkland Islands', :info => 'en.wikipedia.com.org/wiki/Falkland_Islands'},
162
+ '501' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Belize', :info => 'en.wikipedia.com.org/wiki/Belize'},
163
+ '502' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Guatemala', :info => 'en.wikipedia.com.org/wiki/Guatemala'},
164
+ '503' => {:national_destination_codes => 2, :abbreviation => '', :description => 'El Salvador', :info => 'en.wikipedia.com.org/wiki/El_Salvador'},
165
+ '504' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Honduras', :info => 'en.wikipedia.com.org/wiki/Honduras'},
166
+ '505' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Nicaragua', :info => 'en.wikipedia.com.org/wiki/Nicaragua'},
167
+ '506' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Costa Rica', :info => 'en.wikipedia.com.org/wiki/Costa_Rica'},
168
+ '507' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Panama', :info => 'en.wikipedia.com.org/wiki/Panama'},
169
+ '508' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Saint Pierre and Miquelon', :info => 'en.wikipedia.com.org/wiki/Saint_Pierre_and_Miquelon'},
170
+ '509' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Haiti', :info => 'en.wikipedia.com.org/wiki/Haiti'},
171
+
172
+ '590' => {:national_destination_codes => 3, :abbreviation => '', :description => 'Guadeloupe', :info => 'en.wikipedia.com.org/wiki/Guadeloupe'},
173
+ '591' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Bolivia', :info => 'en.wikipedia.com.org/wiki/Bolivia'},
174
+ '592' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Guyana', :info => 'en.wikipedia.com.org/wiki/Guyana'},
175
+ '593' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Ecuador', :info => 'en.wikipedia.com.org/wiki/Ecuador'},
176
+ '594' => {:national_destination_codes => 3, :abbreviation => '', :description => 'French Guiana', :info => 'en.wikipedia.com.org/wiki/French_Guiana'},
177
+ '595' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Paraguay', :info => 'en.wikipedia.com.org/wiki/Paraguay'},
178
+ '596' => {:national_destination_codes => 3, :abbreviation => '', :description => 'Martinique', :info => 'en.wikipedia.com.org/wiki/Martinique'},
179
+ '597' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Suriname', :info => 'en.wikipedia.com.org/wiki/Suriname'},
180
+ '598' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Uruguay', :info => 'en.wikipedia.com.org/wiki/Uruguay'},
181
+ '599' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Netherlands Antilles', :info => 'en.wikipedia.com.org/wiki/Netherlands_Antilles'},
182
+
183
+ '670' => {:national_destination_codes => 2, :abbreviation => '', :description => 'East Timor', :info => 'en.wikipedia.com.org/wiki/East_Timor'},
184
+ '672' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Australia', :info => 'en.wikipedia.com.org/wiki/Australia'},
185
+ '673' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Brunei', :info => 'en.wikipedia.com.org/wiki/Brunei'},
186
+ '674' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Nauru', :info => 'en.wikipedia.com.org/wiki/Nauru'},
187
+ '675' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Papua New Guinea', :info => 'en.wikipedia.com.org/wiki/Papua_New_Guinea'},
188
+ '676' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Tonga', :info => 'en.wikipedia.com.org/wiki/Tonga'},
189
+ '677' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Solomon Islands', :info => 'en.wikipedia.com.org/wiki/Solomon_Islands'},
190
+ '678' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Vanuatu', :info => 'en.wikipedia.com.org/wiki/Vanuatu'},
191
+ '679' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Fiji', :info => 'en.wikipedia.com.org/wiki/Fiji'},
192
+
193
+ '680' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Palau', :info => 'en.wikipedia.com.org/wiki/Palau'},
194
+ '681' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Wallis and Futuna', :info => 'en.wikipedia.com.org/wiki/Wallis_and_Futuna'},
195
+ '682' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Cook Islands', :info => 'en.wikipedia.com.org/wiki/Cook_Islands'},
196
+ '683' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Niue', :info => 'en.wikipedia.com.org/wiki/Niue'},
197
+ '685' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Samoa', :info => 'en.wikipedia.com.org/wiki/Samoa'},
198
+ '686' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Kiribati', :info => 'en.wikipedia.com.org/wiki/Kiribati'},
199
+ '687' => {:national_destination_codes => 2, :abbreviation => '', :description => 'New Caledonia', :info => 'en.wikipedia.com.org/wiki/New_Caledonia'},
200
+ '688' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Tuvalu', :info => 'en.wikipedia.com.org/wiki/Tuvalu'},
201
+ '689' => {:national_destination_codes => 2, :abbreviation => '', :description => 'French Polynesia', :info => 'en.wikipedia.com.org/wiki/French_Polynesia'},
202
+
203
+ '690' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Tokelau', :info => 'en.wikipedia.com.org/wiki/Tokelau'},
204
+ '691' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Federated States of Micronesia', :info => 'en.wikipedia.com.org/wiki/Federated_States_of_Micronesia'},
205
+ '692' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Marshall Islands', :info => 'en.wikipedia.com.org/wiki/Marshall_Islands'},
206
+
207
+ '800' => {:national_destination_codes => 2, :abbreviation => '', :description => 'International Freephone ([UIFN])', :info => ''},
208
+ '808' => {:national_destination_codes => 2, :abbreviation => '', :description => 'reserved for [Shared Cost Services]', :info => ''},
209
+
210
+ '850' => {:national_destination_codes => 2, :abbreviation => '', :description => 'North Korea', :info => 'en.wikipedia.com.org/wiki/North_Korea'},
211
+ '852' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Hong Kong', :info => 'en.wikipedia.com.org/wiki/Hong_Kong'},
212
+ '853' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Macau', :info => 'en.wikipedia.com.org/wiki/Macau'},
213
+ '855' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Cambodia', :info => 'en.wikipedia.com.org/wiki/Cambodia'},
214
+ '856' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Laos', :info => 'en.wikipedia.com.org/wiki/Laos'},
215
+
216
+ '870' => {:national_destination_codes => 2, :abbreviation => '', :description => '[Inmarsat] "SNAC" service', :info => ''},
217
+ '875' => {:national_destination_codes => 2, :abbreviation => '', :description => 'reserved for Maritime Mobile service', :info => ''},
218
+ '876' => {:national_destination_codes => 2, :abbreviation => '', :description => 'reserved for Maritime Mobile service', :info => ''},
219
+ '877' => {:national_destination_codes => 2, :abbreviation => '', :description => 'reserved for Maritime Mobile service', :info => ''},
220
+ '878' => {:national_destination_codes => 2, :abbreviation => '', :description => '[Universal Personal Telecommunications] services', :info => ''},
221
+ '879' => {:national_destination_codes => 2, :abbreviation => '', :description => 'reserved for national non', :info => ''},
222
+
223
+ '880' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Bangladesh', :info => 'en.wikipedia.com.org/wiki/Bangladesh'},
224
+ '881' => {:national_destination_codes => 2, :abbreviation => '', :description => '[Global Mobile Satellite System]', :info => ''},
225
+ '882' => {:national_destination_codes => 2, :abbreviation => '', :description => '[International Networks]', :info => ''},
226
+ '883' => {:national_destination_codes => 2, :abbreviation => '', :description => '[International Networks]', :info => ''},
227
+ '886' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Republic of China', :info => 'en.wikipedia.com.org/wiki/Republic_of_China'},
228
+ '888' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Telecommunications for Disaster Relief by [OCHA]', :info => ''},
229
+
230
+ '960' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Maldives', :info => 'en.wikipedia.com.org/wiki/Maldives'},
231
+ '961' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Lebanon', :info => 'en.wikipedia.com.org/wiki/Lebanon'},
232
+ '962' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Jordan', :info => 'en.wikipedia.com.org/wiki/Jordan'},
233
+ '963' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Syria', :info => 'en.wikipedia.com.org/wiki/Syria'},
234
+ '964' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Iraq', :info => 'en.wikipedia.com.org/wiki/Iraq'},
235
+ '965' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Kuwait', :info => 'en.wikipedia.com.org/wiki/Kuwait'},
236
+ '966' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Saudi Arabia', :info => 'en.wikipedia.com.org/wiki/Saudi_Arabia'},
237
+ '967' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Yemen', :info => 'en.wikipedia.com.org/wiki/Yemen'},
238
+ '968' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Oman', :info => 'en.wikipedia.com.org/wiki/Oman'},
239
+ '969' => {:national_destination_codes => 2, :abbreviation => '', :description => 'formerly [People\'s Democratic Republic of Yemen]', :info => ''},
240
+
241
+ '970' => {:national_destination_codes => 2, :abbreviation => '', :description => 'reserved (for the [Palestinian Authority]).', :info => ''},
242
+ '971' => {:national_destination_codes => 2, :abbreviation => '', :description => 'United Arab Emirates', :info => 'en.wikipedia.com.org/wiki/United_Arab_Emirates'},
243
+ '972' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Israel', :info => 'en.wikipedia.com.org/wiki/Israel'},
244
+ '973' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Bahrain', :info => 'en.wikipedia.com.org/wiki/Bahrain'},
245
+ '974' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Qatar', :info => 'en.wikipedia.com.org/wiki/Qatar'},
246
+ '975' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Bhutan', :info => 'en.wikipedia.com.org/wiki/Bhutan'},
247
+ '976' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Mongolia', :info => 'en.wikipedia.com.org/wiki/Mongolia'},
248
+ '977' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Nepal', :info => 'en.wikipedia.com.org/wiki/Nepal'},
249
+ '979' => {:national_destination_codes => 2, :abbreviation => '', :description => '[International Premium Rate Service]', :info => ''},
250
+
251
+ '991' => {:national_destination_codes => 2, :abbreviation => '', :description => '[International Telecommunications Public Correspondence Service trial] (ITPCS)', :info => ''},
252
+ '992' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Tajikistan', :info => 'en.wikipedia.com.org/wiki/Tajikistan'},
253
+ '993' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Turkmenistan', :info => 'en.wikipedia.com.org/wiki/Turkmenistan'},
254
+ '994' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Azerbaijan', :info => 'en.wikipedia.com.org/wiki/Azerbaijan'},
255
+ '995' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Georgia (country)', :info => 'en.wikipedia.com.org/wiki/Georgia_(country)'},
256
+ '996' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Kyrgyzstan', :info => 'en.wikipedia.com.org/wiki/Kyrgyzstan'},
257
+ '998' => {:national_destination_codes => 2, :abbreviation => '', :description => 'Uzbekistan', :info => 'en.wikipedia.com.org/wiki/Uzbekistan'},
258
+ '999' => {:national_destination_codes => 2, :abbreviation => '', :description => 'reserved for future global service', :info => ''}
259
+ }
@@ -0,0 +1,60 @@
1
+ Austria = {
2
+ :range => 1..3,
3
+ :default => 3,
4
+ '1' => {:description => 'Wient'},
5
+ '57' => {:description => '-'},
6
+ '59' => {:description => '-'},
7
+ '67' => {:description => 'Mobile Services'},
8
+ '68' => {:description => 'Mobile Services'},
9
+ '89' => {:description => 'Routing Number'},
10
+ '316' => {:description => 'Graz'},
11
+ '501' => {:description => '-'},
12
+ '502' => {:description => '-'},
13
+ '503' => {:description => '-'},
14
+ '504' => {:description => '-'},
15
+ '505' => {:description => '-'},
16
+ '506' => {:description => '-'},
17
+ '507' => {:description => '-'},
18
+ '508' => {:description => '-'},
19
+ '509' => {:description => '-'},
20
+ '512' => {:description => 'Innsbruck'},
21
+ '517' => {:description => '-'},
22
+ '644' => {:description => 'Mobile Services'},
23
+ '650' => {:description => 'Mobile Services'},
24
+ '651' => {:description => 'Mobile Services'},
25
+ '652' => {:description => 'Mobile Services'},
26
+ '653' => {:description => 'Mobile Services'},
27
+ '655' => {:description => 'Mobile Services'},
28
+ '657' => {:description => 'Mobile Services'},
29
+ '659' => {:description => 'Mobile Services'},
30
+ '660' => {:description => 'Mobile Services'},
31
+ '661' => {:description => 'Mobile Services'},
32
+ '662' => {:description => 'Salzburg'},
33
+ '663' => {:description => 'Mobile Services'},
34
+ '664' => {:description => 'Mobile Services'},
35
+ '665' => {:description => 'Mobile Services'},
36
+ '666' => {:description => 'Mobile Services'},
37
+ '667' => {:description => 'Mobile Services'},
38
+ '668' => {:description => 'Mobile Services'},
39
+ '669' => {:description => 'Mobile Services'},
40
+ '710' => {:description => 'Service Number'},
41
+ '711' => {:description => 'Service Number'},
42
+ '718' => {:description => 'Service Number'},
43
+ '720' => {:description => ''},
44
+ '730' => {:description => 'Service Number'},
45
+ '732' => {:description => 'Linz'},
46
+ '740' => {:description => 'Service Number'},
47
+ '780' => {:description => 'Service Number'},
48
+ '800' => {:description => 'Service Number'},
49
+ '802' => {:description => 'Service Number'},
50
+ '804' => {:description => 'Service Number'},
51
+ '810' => {:description => 'Service Number'},
52
+ '820' => {:description => 'Service Number'},
53
+ '821' => {:description => 'Service Number'},
54
+ '828' => {:description => 'Service Number'},
55
+ '900' => {:description => 'Service Number'},
56
+ '901' => {:description => 'Service Number'},
57
+ '930' => {:description => 'Service Number'},
58
+ '931' => {:description => 'Service Number'},
59
+ '939' => {:description => 'Service Number'}
60
+ }
@@ -0,0 +1,145 @@
1
+ Germany = {
2
+ :range => 2..3,
3
+ :default => 3,
4
+ '10' => {:description => 'Call-By-Call'},
5
+ '11' => {:description => 'formerly Value Added Services'},
6
+ '12' => {:description => 'Innovative Services'},
7
+ '13' => {:description => 'Voting and Lottery Numbers'},
8
+ '30' => {:description => 'Berlin'},
9
+ '32' => {:description => 'Non Geographical Numbers'},
10
+ '40' => {:description => 'Hamburg'},
11
+ '69' => {:description => 'Frankfurt am Main'},
12
+ '89' => {:description => 'München'},
13
+ '150' => {:description => 'Group3G/Quam'},
14
+ '151' => {:description => 'T-Mobile'},
15
+ '152' => {:description => 'Vodafone'},
16
+ '155' => {:description => 'E-Plus'},
17
+ '156' => {:description => 'Mobilcom'},
18
+ '157' => {:description => 'E-Plus'},
19
+ '159' => {:description => 'O2'},
20
+ '160' => {:description => 'T-Mobile'},
21
+ '161' => {:description => 'C-Netz'},
22
+ '162' => {:description => 'Vodafone'},
23
+ '163' => {:description => 'E-Plus'},
24
+ '164' => {:description => 'Cityruf'},
25
+ '165' => {:description => 'Quix'},
26
+ '166' => {:description => 'Telmi'},
27
+ '168' => {:description => 'Scall'},
28
+ '169' => {:description => 'Cityruf, Scall, Skyper (e*cityruf, e*message, e*skyper)'},
29
+ '170' => {:description => 'T-Mobile'},
30
+ '171' => {:description => 'T-Mobile'},
31
+ '172' => {:description => 'Vodafone'},
32
+ '173' => {:description => 'Vodafone'},
33
+ '174' => {:description => 'Vodafone'},
34
+ '175' => {:description => 'T-Mobile'},
35
+ '176' => {:description => 'O2 Germany'},
36
+ '177' => {:description => 'E-Plus'},
37
+ '178' => {:description => 'E-Plus'},
38
+ '179' => {:description => 'O2 Germany'},
39
+ '181' => {:description => 'IVPNs'},
40
+ '182' => {:description => 'Closed User Group'},
41
+ '183' => {:description => 'Closed User Group'},
42
+ '184' => {:description => 'Closed User Group'},
43
+ '185' => {:description => 'Closed User Group'},
44
+ '186' => {:description => 'Closed User Group'},
45
+ '187' => {:description => 'Closed User Group'},
46
+ '189' => {:description => 'Closed User Group'},
47
+ '190' => {:description => 'former Premium Rate Services'},
48
+ '191' => {:description => 'Online Services'},
49
+ '192' => {:description => 'Online Services'},
50
+ '193' => {:description => 'Online Services'},
51
+ '194' => {:description => 'Online Services'},
52
+ '199' => {:description => 'Network-Internal Traffic Control'},
53
+ '201' => {:description => 'Essen'},
54
+ '202' => {:description => 'Wuppertal'},
55
+ '203' => {:description => 'Duisburg'},
56
+ '208' => {:description => 'Mühlheim an der Ruhr'},
57
+ '209' => {:description => 'Gelsenkirchen'},
58
+ '211' => {:description => 'Düsseldorf'},
59
+ '212' => {:description => 'Solingen'},
60
+ '214' => {:description => 'Leverkusen'},
61
+ '221' => {:description => 'Köln'},
62
+ '228' => {:description => 'Bonn'},
63
+ '231' => {:description => 'Dortmund'},
64
+ '234' => {:description => 'Bochum'},
65
+ '241' => {:description => 'Aachen'},
66
+ '251' => {:description => 'Münster'},
67
+ '261' => {:description => 'Koblenz'},
68
+ '271' => {:description => 'Siegen'},
69
+ '281' => {:description => 'Wesel'},
70
+ '291' => {:description => 'Meschede'},
71
+ '310' => {:description => 'Test Number Long Distance'},
72
+ '311' => {:description => 'Test Number Local'},
73
+ '335' => {:description => 'Frankfurt (Oder)'},
74
+ '340' => {:description => 'Dessau'},
75
+ '341' => {:description => 'Leipzig'},
76
+ '345' => {:description => 'Halle (Saale)'},
77
+ '351' => {:description => 'Dresden'},
78
+ '355' => {:description => 'Cottbus'},
79
+ '361' => {:description => 'Erfurt'},
80
+ '365' => {:description => 'Gera'},
81
+ '371' => {:description => 'Chemnitz'},
82
+ '375' => {:description => 'Zwickau'},
83
+ '381' => {:description => 'Rostock'},
84
+ '385' => {:description => 'Schwerin'},
85
+ '391' => {:description => 'Magdeburg'},
86
+ '395' => {:description => 'Neubrandenburg'},
87
+ '421' => {:description => 'Bremen'},
88
+ '431' => {:description => 'Kiel'},
89
+ '441' => {:description => 'Oldenburg'},
90
+ '461' => {:description => 'Flensburg'},
91
+ '471' => {:description => 'Bremerhaven'},
92
+ '481' => {:description => 'Heide'},
93
+ '491' => {:description => 'Leer'},
94
+ '511' => {:description => 'Hannover'},
95
+ '521' => {:description => 'Bielefeld'},
96
+ '531' => {:description => 'Braunschweig'},
97
+ '541' => {:description => 'Osnabrück'},
98
+ '551' => {:description => 'Göttingen'},
99
+ '561' => {:description => 'Kassel'},
100
+ '571' => {:description => 'Minden'},
101
+ '581' => {:description => 'Uelzen'},
102
+ '591' => {:description => 'Lingen (Ems)'},
103
+ '611' => {:description => 'Wiesbaden'},
104
+ '621' => {:description => 'Mannheim / Ludwigshafen'},
105
+ '631' => {:description => 'Kaiserslautern'},
106
+ '641' => {:description => 'Gießen'},
107
+ '651' => {:description => 'Trier'},
108
+ '661' => {:description => 'Fulda'},
109
+ '671' => {:description => 'Bad Kreuznach'},
110
+ '681' => {:description => 'Saarbrücken'},
111
+ '700' => {:description => 'Personal Numbers'},
112
+ '701' => {:description => 'Personal Numbers, reserved'},
113
+ '711' => {:description => 'Stuttgart'},
114
+ '721' => {:description => 'Karlsruhe'},
115
+ '731' => {:description => 'Ulm'},
116
+ '741' => {:description => 'Rottweil'},
117
+ '751' => {:description => 'Ravensburg'},
118
+ '761' => {:description => 'Freiburg im Breisgau'},
119
+ '771' => {:description => 'Donaueschingen'},
120
+ '781' => {:description => 'Offenburg'},
121
+ '791' => {:description => 'Schwäbisch Hall'},
122
+ '800' => {:description => 'Toll-Free Numbers'},
123
+ '801' => {:description => 'Toll-Free Numbers, reserved'},
124
+ '811' => {:description => 'Hallbergmoos'},
125
+ '821' => {:description => 'Augsburg'},
126
+ '831' => {:description => 'Kempten'},
127
+ '841' => {:description => 'Ingolstadt'},
128
+ '851' => {:description => 'Passau'},
129
+ '861' => {:description => 'Traunstein'},
130
+ '871' => {:description => 'Landshut'},
131
+ '881' => {:description => 'Weilheim in Oberbayern'},
132
+ '900' => {:description => 'Premium Rate Numbers'},
133
+ '901' => {:description => 'Premium Rate Numbers, reserved'},
134
+ '902' => {:description => 'Replacement for 0137/0138'},
135
+ '906' => {:description => 'Donauwörth'},
136
+ '911' => {:description => 'Nürnberg'},
137
+ '921' => {:description => 'Bayreuth'},
138
+ '931' => {:description => 'Würzburg'},
139
+ '941' => {:description => 'Regensburg'},
140
+ '951' => {:description => 'Bamberg'},
141
+ '961' => {:description => 'Weiden'},
142
+ '971' => {:description => 'Bad Kissingen'},
143
+ '981' => {:description => 'Ansbach'},
144
+ '991' => {:description => 'Deggendorf'}
145
+ }