layer23: Split [1/2] -> The source code
[osmocom-bb.git] / src / host / layer23 / src / common / networks.c
1 #include <string.h>
2 #include <stdint.h>
3 #include <stdio.h>
4
5 #include <osmocom/networks.h>
6
7 /* list of networks */
8
9 struct gsm_networks gsm_networks[] = {
10         { 0x001, -1,    "Test" },
11         { 0x001, 0x01f,         "Test" },
12         { 0x412, -1,    "Afghanistan" },
13         { 0x412, 0x01f,         "AWCC" },
14         { 0x412, 0x20f,         "Roshan" },
15         { 0x412, 0x40f,         "Areeba" },
16         { 0x412, 0x50f,         "Etisalat" },
17         { 0x276, -1,    "Albania" },
18         { 0x276, 0x01f,         "AMC" },
19         { 0x276, 0x02f,         "Vodafone" },
20         { 0x276, 0x03f,         "Eagle Mobile" },
21         { 0x603, -1,    "Algeria" },
22         { 0x603, 0x01f,         "Mobilis" },
23         { 0x603, 0x02f,         "Djezzy" },
24         { 0x603, 0x03f,         "Nedjma" },
25         { 0x213, -1,    "Andorra" },
26         { 0x213, 0x03f,         "Mobiland" },
27         { 0x631, -1,    "Angola" },
28         { 0x631, 0x02f,         "UNITEL" },
29         { 0x365, -1,    "Anguilla" },
30         { 0x365, 0x010,         "Weblinks Limited" },
31         { 0x365, 0x840,         "Cable & Wireless" },
32         { 0x344, -1,    "Antigua and Barbuda" },
33         { 0x344, 0x030,         "APUA" },
34         { 0x344, 0x920,         "Lime" },
35         { 0x338, 0x050,         "Digicel" },
36         { 0x722, -1,    "Argentina" },
37         { 0x722, 0x010,         "Movistar" },
38         { 0x722, 0x020,         "Nextel" },
39         { 0x722, 0x070,         "Movistar" },
40         { 0x722, 0x310,         "Claro" },
41         { 0x722, 0x320,         "Claro" },
42         { 0x722, 0x330,         "Claro" },
43         { 0x722, 0x340,         "Personal" },
44         { 0x722, 0x350,         "Hutchinson (PORT HABLE)" },
45         { 0x283, -1,    "Armenia" },
46         { 0x283, 0x01f,         "Beeline" },
47         { 0x283, 0x05f,         "VivaCell-MTS" },
48         { 0x283, 0x10f,         "Orange" },
49         { 0x363, -1,    "Aruba" },
50         { 0x363, 0x01f,         "SETAR" },
51         { 0x363, 0x02f,         "Digicel" },
52         { 0x505, -1,    "Australia" },
53         { 0x505, 0x01f,         "Telstra" },
54         { 0x505, 0x02f,         "Optus" },
55         { 0x505, 0x03f,         "Vodafone" },
56         { 0x505, 0x04f,         "Department of Defence" },
57         { 0x505, 0x05f,         "Ozitel" },
58         { 0x505, 0x06f,         "Vodafone" },
59         { 0x505, 0x08f,         "One.Tel" },
60         { 0x505, 0x09f,         "Airnet" },
61         { 0x505, 0x12f,         "3" },
62         { 0x505, 0x13f,         "Railcorp" },
63         { 0x505, 0x14f,         "AAPT" },
64         { 0x505, 0x15f,         "3GIS" },
65         { 0x505, 0x16f,         "Unknown" },
66         { 0x505, 0x21f,         "SOUL" },
67         { 0x505, 0x24f,         "Advanced Communications Technologies Pty. Ltd." },
68         { 0x505, 0x38f,         "Crazy John's" },
69         { 0x505, 0x71f,         "Telstra" },
70         { 0x505, 0x72f,         "Telstra" },
71         { 0x505, 0x88f,         "Localstar Holding Pty. Ltd." },
72         { 0x505, 0x90f,         "Optus" },
73         { 0x505, 0x99f,         "One.Tel" },
74         { 0x232, -1,    "Austria" },
75         { 0x232, 0x01f,         "A1" },
76         { 0x232, 0x03f,         "T-Mobile" },
77         { 0x232, 0x05f,         "Orange" },
78         { 0x232, 0x07f,         "tele.ring" },
79         { 0x232, 0x10f,         "3" },
80         { 0x232, 0x11f,         "bob" },
81         { 0x232, 0x12f,         "yesss" },
82         { 0x232, 0x14f,         "3" },
83         { 0x232, 0x15f,         "Barablu" },
84         { 0x232, 0x16f,         "3" },
85         { 0x400, -1,    "Azerbaijan" },
86         { 0x400, 0x01f,         "Azercell" },
87         { 0x400, 0x02f,         "Bakcell" },
88         { 0x400, 0x03f,         "FONEX" },
89         { 0x400, 0x04f,         "Nar Mobile" },
90         { 0x364, -1,    "Bahamas" },
91         { 0x364, 0x390,         "BaTelCo" },
92         { 0x426, -1,    "Bahrain" },
93         { 0x426, 0x01f,         "Batelco" },
94         { 0x426, 0x02f,         "zain BH" },
95         { 0x426, 0x04f,         "VIVA" },
96         { 0x470, -1,    "Bangladesh" },
97         { 0x470, 0x01f,         "Grameenphone" },
98         { 0x470, 0x02f,         "Robi" },
99         { 0x470, 0x03f,         "Banglalink" },
100         { 0x470, 0x04f,         "TeleTalk" },
101         { 0x470, 0x05f,         "Citycell" },
102         { 0x470, 0x06f,         "Warid" },
103         { 0x470, 0x07f,         "WTBL" },
104         { 0x342, -1,    "Barbados" },
105         { 0x342, 0x600,         "bmobile" },
106         { 0x342, 0x750,         "Digicel" },
107         { 0x342, 0x820,         "Sunbeach Communications" },
108         { 0x257, -1,    "Belarus" },
109         { 0x257, 0x01f,         "velcom" },
110         { 0x257, 0x02f,         "MTS" },
111         { 0x257, 0x04f,         "life:)" },
112         { 0x257, 0x03f,         "DIALLOG" },
113         { 0x206, -1,    "Belgium" },
114         { 0x206, 0x01f,         "Proximus" },
115         { 0x206, 0x02f,         "SNCB GSM-R" },
116         { 0x206, 0x10f,         "Mobistar" },
117         { 0x206, 0x20f,         "BASE" },
118         { 0x702, -1,    "Belize" },
119         { 0x702, 0x67f,         "Belize Telemedia" },
120         { 0x702, 0x68f,         "International Telecommunications Ltd." },
121         { 0x702, 0x00f,         "Smart" },
122         { 0x616, -1,    "Benin" },
123         { 0x616, 0x01f,         "Libercom" },
124         { 0x616, 0x02f,         "Moov" },
125         { 0x616, 0x03f,         "MTN" },
126         { 0x616, 0x04f,         "BBCOM" },
127         { 0x616, 0x05f,         "Glo" },
128         { 0x350, -1,    "Bermuda" },
129         { 0x350, 0x01f,         "Digicel Bermuda" },
130         { 0x350, 0x02f,         "Mobility" },
131         { 0x338, 0x050,         "Digicel Bermuda" },
132         { 0x310, 0x00f,         "Cellular One" },
133         { 0x402, -1,    "Bhutan" },
134         { 0x402, 0x11f,         "B-Mobile" },
135         { 0x402, 0x77f,         "TashiCell" },
136         { 0x736, -1,    "Bolivia" },
137         { 0x736, 0x01f,         "Nuevatel" },
138         { 0x736, 0x02f,         "Entel" },
139         { 0x736, 0x03f,         "Tigo" },
140         { 0x218, -1,    "Bosnia and Herzegovina" },
141         { 0x218, 0x03f,         "HT-ERONET" },
142         { 0x218, 0x05f,         "m:tel" },
143         { 0x218, 0x90f,         "BH Mobile" },
144         { 0x652, -1,    "Botswana" },
145         { 0x652, 0x01f,         "Mascom" },
146         { 0x652, 0x02f,         "Orange" },
147         { 0x652, 0x04f,         "BTC Mobile" },
148         { 0x724, -1,    "Brazil" },
149         { 0x724, 0x02f,         "TIM" },
150         { 0x724, 0x03f,         "TIM" },
151         { 0x724, 0x04f,         "TIM" },
152         { 0x724, 0x05f,         "Claro" },
153         { 0x724, 0x06f,         "Vivo" },
154         { 0x724, 0x07f,         "CTBC Celular" },
155         { 0x724, 0x08f,         "TIM" },
156         { 0x724, 0x10f,         "Vivo" },
157         { 0x724, 0x11f,         "Vivo" },
158         { 0x724, 0x15f,         "Sercomtel" },
159         { 0x724, 0x16f,         "Oi / Brasil Telecom" },
160         { 0x724, 0x23f,         "Vivo" },
161         { 0x724, 0x24f,         "Oi / Amazonia Celular" },
162         { 0x724, 0x31f,         "Oi" },
163         { 0x724, 0x32f,         "CTBC Celular" },
164         { 0x724, 0x33f,         "CTBC Celular" },
165         { 0x724, 0x34f,         "CTBC Celular" },
166         { 0x724, 0x37f,         "aeiou" },
167         { 0x724, 0x00f,         "Nextel" },
168         { 0x348, -1,    "British Virgin Islands" },
169         { 0x348, 0x170,         "Cable & Wireless" },
170         { 0x348, 0x570,         "CCT Boatphone" },
171         { 0x528, -1,    "Brunei" },
172         { 0x528, 0x01f,         "Jabatan Telekom" },
173         { 0x528, 0x02f,         "B-Mobile" },
174         { 0x528, 0x11f,         "DSTCom" },
175         { 0x284, -1,    "Bulgaria" },
176         { 0x284, 0x01f,         "M-Tel" },
177         { 0x284, 0x03f,         "Vivacom" },
178         { 0x284, 0x05f,         "GLOBUL" },
179         { 0x613, -1,    "Burkina Faso" },
180         { 0x613, 0x01f,         "Onatel" },
181         { 0x613, 0x02f,         "Zain" },
182         { 0x613, 0x03f,         "Telecel Faso" },
183         { 0x642, -1,    "Burundi" },
184         { 0x642, 0x01f,         "Spacetel" },
185         { 0x642, 0x02f,         "Africell" },
186         { 0x642, 0x03f,         "Telecel" },
187         { 0x642, 0x82f,         "Onatel" },
188 //      { 0x642, ?,             "LACELL SU" },
189         { 0x456, -1,    "Cambodia" },
190         { 0x456, 0x01f,         "Mobitel" },
191         { 0x456, 0x02f,         "hello" },
192         { 0x456, 0x03f,         "S Telecom" },
193         { 0x456, 0x04f,         "qb" },
194         { 0x456, 0x05f,         "Star-Cell" },
195         { 0x456, 0x06f,         "Smart" },
196         { 0x456, 0x18f,         "Mfone" },
197 //      { 0x456, ?,             "Excell" },
198         { 0x456, 0x09f,         "Beeline" },
199         { 0x456, 0x08f,         "Metfone" },
200         { 0x624, -1,    "Cameroon" },
201         { 0x624, 0x01f,         "MTN Cameroon" },
202         { 0x624, 0x02f,         "Orange" },
203         { 0x302, -1,    "Canada" },
204         { 0x302, 0x220,         "Telus" },
205         { 0x302, 0x221,         "Telus" },
206         { 0x302, 0x290,         "Airtel Wireless" },
207         { 0x302, 0x350,         "FIRST" },
208         { 0x302, 0x360,         "MiKe" },
209         { 0x302, 0x361,         "Telus" },
210         { 0x302, 0x370,         "Fido" },
211         { 0x302, 0x380,         "DMTS" },
212         { 0x302, 0x490,         "WIND Mobile" },
213         { 0x302, 0x500,         "Videotron" },
214         { 0x302, 0x510,         "Videotron" },
215         { 0x302, 0x610,         "Bell" },
216         { 0x302, 0x620,         "ICE Wireless" },
217         { 0x302, 0x640,         "Bell" },
218         { 0x302, 0x651,         "Bell" },
219         { 0x302, 0x652,         "BC Tel Mobility (Telus)" },
220         { 0x302, 0x653,         "Telus" },
221         { 0x302, 0x655,         "MTS" },
222         { 0x302, 0x656,         "TBay" },
223         { 0x302, 0x657,         "Telus" },
224         { 0x302, 0x680,         "SaskTel" },
225         { 0x302, 0x701,         "MB Tel Mobility" },
226         { 0x302, 0x702,         "MT&T Mobility (Aliant)" },
227         { 0x302, 0x703,         "New Tel Mobility (Aliant)" },
228         { 0x302, 0x710,         "Globalstar" },
229         { 0x302, 0x720,         "Rogers Wireless" },
230         { 0x302, 0x780,         "SaskTel" },
231         { 0x302, 0x880,         "Bell / Telus" },
232         { 0x625, -1,    "Cape Verde" },
233         { 0x625, 0x01f,         "CVMOVEL" },
234         { 0x625, 0x02f,         "T+" },
235         { 0x346, -1,    "Cayman Islands" },
236         { 0x346, 0x140,         "Cable & Wireless" },
237         { 0x338, 0x050,         "Digicel" },
238         { 0x623, -1,    "Central African Republic" },
239         { 0x623, 0x01f,         "CTP" },
240         { 0x623, 0x02f,         "TC" },
241         { 0x623, 0x03f,         "Orange" },
242         { 0x623, 0x04f,         "Nationlink" },
243         { 0x622, -1,    "Chad" },
244         { 0x622, 0x01f,         "Zain" },
245         { 0x622, 0x02f,         "Tchad Mobile" },
246         { 0x622, 0x03f,         "TIGO - Millicom" },
247         { 0x622, 0x02f,         "TAWALI" },
248         { 0x622, 0x04f,         "Salam" },
249         { 0x730, -1,    "Chile" },
250         { 0x730, 0x01f,         "Entel" },
251         { 0x730, 0x02f,         "movistar" },
252         { 0x730, 0x03f,         "Claro" },
253         { 0x730, 0x04f,         "Nextel" },
254         { 0x730, 0x10f,         "Entel" },
255         { 0x730, 0x99f,         "WILL" },
256         { 0x460, -1,    "China" },
257         { 0x460, 0x00f,         "China Mobile" },
258         { 0x460, 0x01f,         "China Unicom" },
259         { 0x460, 0x02f,         "China Mobile" },
260         { 0x460, 0x03f,         "China Telecom" },
261         { 0x460, 0x05f,         "China Telecom" },
262         { 0x460, 0x06f,         "China Unicom" },
263         { 0x460, 0x20f,         "China TIETONG" },
264         { 0x732, -1,    "Colombia" },
265         { 0x732, 0x001,         "Colombia Telecomunicaciones S.A." },
266         { 0x732, 0x002,         "Edatel" },
267         { 0x732, 0x101,         "Comcel" },
268         { 0x732, 0x102,         "movistar" },
269         { 0x732, 0x103,         "Tigo" },
270         { 0x732, 0x111,         "Tigo" },
271         { 0x732, 0x12f,         "movistar" },
272         { 0x654, -1,    "Comoros" },
273         { 0x654, 0x01f,         "HURI - SNPT" },
274         { 0x629, -1,    "Republic of the Congo" },
275         { 0x629, 0x01f,         "Zain" },
276         { 0x629, 0x10f,         "Libertis Telecom" },
277 //      { 0x629, ?,             "Warid Telecom" },
278         { 0x548, -1,    "Cook Islands" },
279         { 0x548, 0x01f,         "Telecom Cook" },
280         { 0x712, -1,    "Costa Rica" },
281         { 0x712, 0x01f,         "ICE" },
282         { 0x712, 0x02f,         "ICE" },
283         { 0x712, 0x03f,         "ICE" },
284         { 0x219, -1,    "Croatia" },
285         { 0x219, 0x01f,         "T-Mobile" },
286         { 0x219, 0x02f,         "Tele2" },
287         { 0x219, 0x10f,         "VIPnet" },
288         { 0x368, -1,    "Cuba" },
289         { 0x368, 0x01f,         "ETECSA" },
290         { 0x280, -1,    "Cyprus" },
291         { 0x280, 0x01f,         "Cytamobile-Vodafone" },
292         { 0x280, 0x10f,         "MTN" },
293         { 0x230, -1,    "Czech Republic" },
294         { 0x230, 0x01f,         "T-Mobile" },
295         { 0x230, 0x02f,         "O2" },
296         { 0x230, 0x03f,         "Vodafone" },
297         { 0x230, 0x04f,         "U:fon" },
298         { 0x230, 0x98f,         "S?DC s.o." },
299         { 0x230, 0x99f,         "Vodafone" },
300         { 0x630, -1,    "Democratic Republic of the Congo" },
301         { 0x630, 0x01f,         "Vodacom" },
302         { 0x630, 0x02f,         "Zain" },
303         { 0x630, 0x04f,         "Cellco" },
304         { 0x630, 0x05f,         "Supercell" },
305         { 0x630, 0x86f,         "CCT" },
306         { 0x630, 0x89f,         "SAIT Telecom" },
307 //      { 0x630, ?,             "Africell" },
308         { 0x238, -1,    "Denmark" },
309         { 0x238, 0x01f,         "TDC" },
310         { 0x238, 0x02f,         "Telenor" },
311         { 0x238, 0x03f,         "MIGway A/S" },
312         { 0x238, 0x05f,         "ApS KBUS" },
313         { 0x238, 0x06f,         "3" },
314         { 0x238, 0x07f,         "Barablu Mobile Ltd." },
315         { 0x238, 0x09f,         "Dansk Beredskabskommunikation A/S" },
316         { 0x238, 0x10f,         "TDC" },
317         { 0x238, 0x11f,         "Dansk Beredskabskommunikation A/S" },
318         { 0x238, 0x12f,         "Lycamobile Denmark Ltd" },
319         { 0x238, 0x20f,         "Telia" },
320         { 0x238, 0x30f,         "Telia" },
321         { 0x238, 0x40f,         "Ericsson Danmark A/S" },
322         { 0x238, 0x77f,         "Telenor" },
323         { 0x638, -1,    "Djibouti" },
324         { 0x638, 0x01f,         "Evatis" },
325         { 0x366, -1,    "Dominica" },
326         { 0x366, 0x020,         "Digicel" },
327         { 0x366, 0x110,         "Cable &  Wireless" },
328         { 0x370, -1,    "Dominican Republic" },
329         { 0x370, 0x01f,         "Orange" },
330         { 0x370, 0x02f,         "Claro" },
331         { 0x370, 0x03f,         "Tricom" },
332         { 0x370, 0x04f,         "Viva" },
333         { 0x514, -1,    "East Timor" },
334         { 0x514, 0x02f,         "Timor Telecom" },
335         { 0x740, -1,    "Ecuador" },
336         { 0x740, 0x00f,         "Movistar" },
337         { 0x740, 0x01f,         "Porta" },
338         { 0x740, 0x02f,         "Alegro" },
339         { 0x602, -1,    "Egypt" },
340         { 0x602, 0x01f,         "Mobinil" },
341         { 0x602, 0x02f,         "Vodafone" },
342         { 0x602, 0x03f,         "Etisalat" },
343         { 0x706, -1,    "El Salvador" },
344         { 0x706, 0x01f,         "CTE Telecom Personal" },
345         { 0x706, 0x02f,         "digicel" },
346         { 0x706, 0x03f,         "Telemovil EL Salvador" },
347         { 0x706, 0x04f,         "movistar" },
348         { 0x706, 0x10f,         "Claro" },
349         { 0x627, -1,    "Equatorial Guinea" },
350         { 0x627, 0x01f,         "Orange GQ" },
351         { 0x627, 0x03f,         "Hits GQ" },
352         { 0x657, -1,    "Eritrea" },
353         { 0x657, 0x01f,         "Eritel" },
354         { 0x248, -1,    "Estonia" },
355         { 0x248, 0x01f,         "EMT" },
356         { 0x248, 0x02f,         "Elisa" },
357         { 0x248, 0x03f,         "Tele 2" },
358         { 0x248, 0x04f,         "OY Top Connect" },
359         { 0x248, 0x05f,         "AS Bravocom Mobiil" },
360         { 0x248, 0x06f,         "OY ViaTel" },
361         { 0x636, -1,    "Ethiopia" },
362         { 0x636, 0x01f,         "ETMTN" },
363         { 0x288, -1,    "Faroe Islands" },
364         { 0x288, 0x01f,         "Faroese Telecom" },
365         { 0x288, 0x02f,         "Vodafone" },
366         { 0x542, -1,    "Fiji" },
367         { 0x542, 0x01f,         "Vodafone" },
368         { 0x542, 0x02f,         "Digicel" },
369         { 0x244, -1,    "Finland" },
370         { 0x244, 0x03f,         "DNA" },
371         { 0x244, 0x05f,         "Elisa" },
372         { 0x244, 0x07f,         "Nokia" },
373         { 0x244, 0x08f,         "Unknown" },
374         { 0x244, 0x10f,         "TDC Oy" },
375         { 0x244, 0x12f,         "DNA" },
376         { 0x244, 0x14f,         "AMT" },
377         { 0x244, 0x21f,         "Saunalahti" },
378         { 0x244, 0x29f,         "Scnl Truphone" },
379         { 0x244, 0x91f,         "Sonera" },
380         { 0x208, -1,    "France" },
381         { 0x208, 0x00f,         "Orange" },
382         { 0x208, 0x01f,         "Orange" },
383         { 0x208, 0x02f,         "Orange" },
384         { 0x208, 0x05f,         "Globalstar Europe" },
385         { 0x208, 0x06f,         "Globalstar Europe" },
386         { 0x208, 0x07f,         "Globalstar Europe" },
387         { 0x208, 0x10f,         "SFR" },
388         { 0x208, 0x11f,         "SFR" },
389         { 0x208, 0x13f,         "SFR" },
390         { 0x208, 0x20f,         "Bouygues" },
391         { 0x208, 0x21f,         "Bouygues" },
392         { 0x208, 0x22f,         "Transatel Mobile" },
393         { 0x208, 0x88f,         "Bouygues" },
394         { 0x628, -1,    "Gabon" },
395         { 0x628, 0x01f,         "Libertis" },
396         { 0x628, 0x02f,         "Moov (Telecel) Gabon S.A." },
397         { 0x628, 0x03f,         "Zain" },
398         { 0x607, -1,    "Gambia" },
399         { 0x607, 0x01f,         "Gamcel" },
400         { 0x607, 0x02f,         "Africel" },
401         { 0x607, 0x03f,         "Comium" },
402         { 0x607, 0x04f,         "QCell" },
403         { 0x282, -1,    "Georgia" },
404         { 0x282, 0x01f,         "Geocell" },
405         { 0x282, 0x02f,         "MagtiCom" },
406         { 0x282, 0x03f,         "Iberiatel" },
407         { 0x282, 0x04f,         "Beeline" },
408         { 0x289, 0x67f,         "Aquafon" },
409         { 0x289, 0x88f,         "A-Mobile" },
410         { 0x262, -1,    "Germany" },
411         { 0x262, 0x01f,         "T-Mobile" },
412         { 0x262, 0x02f,         "Vodafone" },
413         { 0x262, 0x03f,         "E-Plus" },
414         { 0x262, 0x04f,         "Vodafone" },
415         { 0x262, 0x05f,         "E-Plus" },
416         { 0x262, 0x06f,         "T-Mobile" },
417         { 0x262, 0x07f,         "O2" },
418         { 0x262, 0x08f,         "O2" },
419         { 0x262, 0x09f,         "Vodafone" },
420         { 0x262, 0x10f,         "DB Systel GSM-R" },
421         { 0x262, 0x11f,         "O2" },
422         { 0x262, 0x12f,         "Dolphin Telecom" },
423         { 0x262, 0x13f,         "Mobilcom Multimedia" },
424         { 0x262, 0x14f,         "Group 3G UMTS" },
425         { 0x262, 0x15f,         "Airdata" },
426         { 0x262, 0x16f,         "Vistream" },
427         { 0x262, 0x42f,         "OpenBSC" },
428         { 0x262, 0x60f,         "DB Telematik" },
429         { 0x262, 0x76f,         "Siemens AG" },
430         { 0x262, 0x77f,         "E-Plus" },
431         { 0x262, 0x901,         "Debitel" },
432         { 0x620, -1,    "Ghana" },
433         { 0x620, 0x01f,         "MTN" },
434         { 0x620, 0x02f,         "Vodafone" },
435         { 0x620, 0x03f,         "tiGO" },
436         { 0x620, 0x04f,         "Kasapa / Hutchison Telecom" },
437         { 0x620, 0x06f,         "Zain" },
438         { 0x266, -1,    "Gibraltar" },
439         { 0x266, 0x01f,         "GibTel" },
440         { 0x266, 0x06f,         "CTS Mobile" },
441         { 0x202, -1,    "Greece" },
442         { 0x202, 0x01f,         "Cosmote" },
443         { 0x202, 0x05f,         "Vodafone" },
444         { 0x202, 0x09f,         "Wind" },
445         { 0x202, 0x10f,         "Wind" },
446         { 0x290, -1,    "Greenland" },
447         { 0x290, 0x01f,         "TELE Greenland A/S" },
448         { 0x352, -1,    "Grenada" },
449         { 0x352, 0x030,         "Digicel" },
450         { 0x352, 0x110,         "Cable &  Wireless" },
451         { 0x340, -1,    "Guadeloupe" },
452         { 0x340, 0x01f,         "Orange" },
453         { 0x340, 0x02f,         "Outremer" },
454         { 0x340, 0x03f,         "Telcell" },
455         { 0x340, 0x08f,         "MIO GSM" },
456         { 0x340, 0x20f,         "Digicel" },
457         { 0x310, -1,    "Guam" },
458         { 0x310, 0x032,         "IT&E Wireless" },
459         { 0x310, 0x033,         "Guam Telephone Authority" },
460         { 0x310, 0x140,         "mPulse" },
461         { 0x310, 0x370,         "Guamcell" },
462         { 0x311, 0x250,         "i CAN_GSM" },
463         { 0x310, 0x470,         "Guamcell" },
464         { 0x704, -1,    "Guatemala" },
465         { 0x704, 0x01f,         "Claro" },
466         { 0x704, 0x02f,         "Comcel / Tigo" },
467         { 0x704, 0x03f,         "movistar" },
468 //      { 0x704, ?,             "digicel" },
469         { 0x234, -1,    "Guernsey" },
470         { 0x234, 0x55f,         "Sure Mobile" },
471         { 0x234, 0x50f,         "Wave Telecom" },
472         { 0x234, 0x03f,         "Airtel Vodafone" },
473         { 0x611, -1,    "Guinea" },
474         { 0x611, 0x01f,         "Spacetel" },
475         { 0x611, 0x02f,         "Lagui" },
476         { 0x611, 0x03f,         "Telecel Guinee" },
477         { 0x611, 0x04f,         "MTN" },
478         { 0x632, -1,    "Guinea-Bissau" },
479         { 0x632, 0x02f,         "Areeba" },
480         { 0x632, 0x03f,         "Orange" },
481         { 0x738, -1,    "Guyana" },
482         { 0x738, 0x01f,         "Digicel" },
483         { 0x738, 0x02f,         "GT&T Cellink Plus" },
484         { 0x372, -1,    "Haiti" },
485         { 0x372, 0x01f,         "Comcel / Voila" },
486         { 0x338, 0x050,         "Digicel" },
487         { 0x708, -1,    "Honduras" },
488         { 0x708, 0x01f,         "Claro" },
489         { 0x708, 0x02f,         "Celtel / Tigo" },
490         { 0x708, 0x30f,         "Hondutel" },
491         { 0x708, 0x40f,         "DIGICEL" },
492         { 0x454, -1,    "Hong Kong" },
493         { 0x454, 0x00f,         "1O1O and One2Free" },
494         { 0x454, 0x01f,         "CITIC Telecom 1616" },
495         { 0x454, 0x02f,         "CSL Limited" },
496         { 0x454, 0x03f,         "3 (3G)" },
497         { 0x454, 0x04f,         "3 DualBand (2G)" },
498         { 0x454, 0x05f,         "3 CDMA" },
499         { 0x454, 0x06f,         "SmarTone-Vodafone" },
500         { 0x454, 0x07f,         "China Unicom (Hong Kong) Limited" },
501         { 0x454, 0x08f,         "Trident" },
502         { 0x454, 0x09f,         "China Motion Telecom" },
503         { 0x454, 0x10f,         "New World Mobility" },
504         { 0x454, 0x11f,         "China-Hongkong Telecom" },
505         { 0x454, 0x12f,         "CMCC HK" },
506         { 0x454, 0x14f,         "Hutchison Telecom" },
507         { 0x454, 0x15f,         "SmarTone Mobile Communications Limited" },
508         { 0x454, 0x16f,         "PCCW Mobile (2G)" },
509         { 0x454, 0x17f,         "SmarTone Mobile Communications Limited" },
510         { 0x454, 0x18f,         "CSL Limited" },
511         { 0x454, 0x19f,         "PCCW Mobile (3G)" },
512         { 0x454, 0x29f,         "PCCW Mobile (CDMA)" },
513         { 0x274, -1,    "Iceland" },
514         { 0x274, 0x01f,         "Siminn" },
515         { 0x274, 0x02f,         "Vodafone" },
516         { 0x274, 0x03f,         "Vodafone" },
517         { 0x274, 0x04f,         "Viking" },
518         { 0x274, 0x06f,         "N?ll n?u ehf" },
519         { 0x274, 0x07f,         "IceCell" },
520         { 0x274, 0x08f,         "On-waves" },
521         { 0x274, 0x11f,         "Nova" },
522         { 0x404, -1,    "India" },
523         { 0x404, 0x01f,         "Vodafone IN" },
524         { 0x404, 0x02f,         "AirTel" },
525         { 0x404, 0x04f,         "IDEA" },
526         { 0x404, 0x05f,         "Vodafone IN" },
527         { 0x404, 0x07f,         "IDEA" },
528         { 0x404, 0x09f,         "Reliance" },
529         { 0x404, 0x10f,         "AirTel" },
530         { 0x404, 0x11f,         "Vodafone IN" },
531         { 0x404, 0x12f,         "IDEA" },
532         { 0x404, 0x13f,         "Vodafone IN" },
533         { 0x404, 0x14f,         "IDEA" },
534         { 0x404, 0x15f,         "Vodafone IN" },
535         { 0x404, 0x17f,         "AIRCEL" },
536         { 0x404, 0x19f,         "IDEA" },
537         { 0x404, 0x20f,         "Vodafone IN" },
538         { 0x404, 0x21f,         "Loop Mobile" },
539         { 0x404, 0x22f,         "IDEA" },
540         { 0x404, 0x24f,         "IDEA" },
541         { 0x404, 0x27f,         "Vodafone IN" },
542         { 0x404, 0x28f,         "AIRCEL" },
543         { 0x404, 0x29f,         "AIRCEL" },
544         { 0x404, 0x30f,         "Vodafone IN" },
545         { 0x404, 0x31f,         "AirTel" },
546         { 0x404, 0x34f,         "CellOne" },
547         { 0x404, 0x36f,         "Reliance" },
548         { 0x404, 0x37f,         "Aircel" },
549         { 0x404, 0x38f,         "CellOne" },
550         { 0x404, 0x41f,         "Aircel" },
551         { 0x404, 0x42f,         "Aircel" },
552         { 0x404, 0x44f,         "IDEA" },
553         { 0x404, 0x45f,         "Airtel" },
554         { 0x404, 0x51f,         "CellOne" },
555         { 0x404, 0x52f,         "Reliance" },
556         { 0x404, 0x53f,         "CellOne" },
557         { 0x404, 0x54f,         "CellOne" },
558         { 0x404, 0x55f,         "CellOne" },
559         { 0x404, 0x56f,         "IDEA" },
560         { 0x404, 0x57f,         "CellOne" },
561         { 0x404, 0x58f,         "CellOne" },
562         { 0x404, 0x59f,         "CellOne" },
563         { 0x404, 0x60f,         "Vodafone IN" },
564         { 0x404, 0x62f,         "CellOne" },
565         { 0x404, 0x64f,         "CellOne" },
566         { 0x404, 0x66f,         "CellOne" },
567         { 0x404, 0x67f,         "Reliance GSM" },
568         { 0x404, 0x68f,         "DOLPHIN" },
569         { 0x404, 0x69f,         "DOLPHIN" },
570         { 0x404, 0x72f,         "CellOne" },
571         { 0x404, 0x74f,         "CellOne" },
572         { 0x404, 0x76f,         "CellOne" },
573         { 0x404, 0x78f,         "Idea Cellular Ltd" },
574         { 0x404, 0x80f,         "BSNL MOBILE" },
575         { 0x404, 0x81f,         "CellOne" },
576         { 0x404, 0x82f,         "Idea" },
577         { 0x404, 0x83f,         "Reliance Smart GSM" },
578         { 0x404, 0x84f,         "Vodafone IN" },
579         { 0x404, 0x85f,         "Reliance" },
580         { 0x404, 0x86f,         "Vodafone IN" },
581         { 0x404, 0x90f,         "AirTel" },
582         { 0x404, 0x91f,         "AIRCEL" },
583         { 0x404, 0x92f,         "AirTel" },
584         { 0x404, 0x93f,         "AirTel" },
585         { 0x404, 0x96f,         "AirTel" },
586         { 0x405, 0x05f,         "Reliance" },
587         { 0x405, 0x10f,         "Reliance" },
588         { 0x405, 0x13f,         "Reliance" },
589         { 0x405, 0x025,         "TATA DOCOMO" },
590         { 0x405, 0x026,         "TATA DOCOMO" },
591         { 0x405, 0x027,         "TATA DOCOMO" },
592         { 0x405, 0x029,         "TATA DOCOMO" },
593         { 0x405, 0x030,         "TATA DOCOMO" },
594         { 0x405, 0x031,         "TATA DOCOMO" },
595         { 0x405, 0x032,         "TATA DOCOMO" },
596         { 0x405, 0x034,         "TATA DOCOMO" },
597         { 0x405, 0x035,         "TATA DOCOMO" },
598         { 0x405, 0x036,         "TATA DOCOMO" },
599         { 0x405, 0x037,         "TATA DOCOMO" },
600         { 0x405, 0x038,         "TATA DOCOMO" },
601         { 0x405, 0x039,         "TATA DOCOMO" },
602         { 0x405, 0x041,         "TATA DOCOMO" },
603         { 0x405, 0x042,         "TATA DOCOMO" },
604         { 0x405, 0x043,         "TATA DOCOMO" },
605         { 0x405, 0x044,         "TATA DOCOMO" },
606         { 0x405, 0x045,         "TATA DOCOMO" },
607         { 0x405, 0x046,         "TATA DOCOMO" },
608         { 0x405, 0x047,         "TATA DOCOMO" },
609         { 0x405, 0x51f,         "AirTel" },
610         { 0x405, 0x52f,         "AirTel" },
611         { 0x405, 0x54f,         "AirTel" },
612         { 0x405, 0x56f,         "AirTel" },
613         { 0x405, 0x66f,         "Vodafone IN" },
614         { 0x405, 0x70f,         "IDEA" },
615         { 0x405, 0x750,         "Vodafone IN" },
616         { 0x405, 0x751,         "Vodafone IN" },
617         { 0x405, 0x752,         "Vodafone IN" },
618         { 0x405, 0x753,         "Vodafone IN" },
619         { 0x405, 0x754,         "Vodafone IN" },
620         { 0x405, 0x755,         "Vodafone IN" },
621         { 0x405, 0x756,         "Vodafone IN" },
622         { 0x405, 0x799,         "IDEA" },
623         { 0x405, 0x800,         "AIRCEL" },
624         { 0x405, 0x801,         "AIRCEL" },
625         { 0x405, 0x802,         "AIRCEL" },
626         { 0x405, 0x803,         "AIRCEL" },
627         { 0x405, 0x804,         "AIRCEL" },
628         { 0x405, 0x805,         "AIRCEL" },
629         { 0x405, 0x806,         "AIRCEL" },
630         { 0x405, 0x807,         "AIRCEL" },
631         { 0x405, 0x808,         "AIRCEL" },
632         { 0x405, 0x809,         "AIRCEL" },
633         { 0x405, 0x810,         "AIRCEL" },
634         { 0x405, 0x811,         "AIRCEL" },
635         { 0x405, 0x812,         "AIRCEL" },
636         { 0x405, 0x819,         "Uninor" },
637         { 0x405, 0x818,         "[Uninor]" },
638         { 0x405, 0x820,         "Uninor" },
639         { 0x405, 0x821,         "Uninor" },
640         { 0x405, 0x822,         "Uninor" },
641         { 0x405, 0x880,         "Uninor" },
642         { 0x405, 0x824,         "Videocon Datacom" },
643         { 0x405, 0x834,         "Videocon Datacom" },
644         { 0x405, 0x844,         "Uninor" },
645         { 0x405, 0x845,         "IDEA" },
646         { 0x405, 0x848,         "IDEA" },
647         { 0x405, 0x850,         "IDEA" },
648         { 0x405, 0x855,         "Loop Mobile" },
649         { 0x405, 0x864,         "Loop Mobile" },
650         { 0x405, 0x865,         "Loop Mobile" },
651         { 0x405, 0x875,         "Uninor" },
652         { 0x405, 0x881,         "S Tel" },
653         { 0x405, 0x912,         "Etisalat DB" },
654         { 0x405, 0x913,         "Etisalat DB" },
655         { 0x405, 0x917,         "Etisalat DB" },
656         { 0x405, 0x929,         "Uninor" },
657         { 0x510, -1,    "Indonesia" },
658         { 0x510, 0x00f,         "PSN" },
659         { 0x510, 0x01f,         "INDOSAT" },
660         { 0x510, 0x03f,         "StarOne" },
661         { 0x510, 0x07f,         "TelkomFlexi" },
662         { 0x510, 0x08f,         "AXIS" },
663         { 0x510, 0x09f,         "SMART" },
664         { 0x510, 0x10f,         "Telkomsel" },
665         { 0x510, 0x11f,         "XL" },
666         { 0x510, 0x20f,         "TELKOMMobile" },
667         { 0x510, 0x21f,         "IM3" },
668         { 0x510, 0x27f,         "Ceria" },
669         { 0x510, 0x28f,         "Fren/Hepi" },
670         { 0x510, 0x89f,         "3" },
671         { 0x510, 0x99f,         "Esia " },
672         { 0x432, -1,    "Iran" },
673         { 0x432, 0x11f,         "MCI" },
674         { 0x432, 0x14f,         "TKC" },
675         { 0x432, 0x19f,         "MTCE" },
676         { 0x432, 0x32f,         "Taliya" },
677         { 0x432, 0x35f,         "Irancell" },
678         { 0x418, -1,    "Iraq" },
679         { 0x418, 0x20f,         "Zain IQ" },
680         { 0x418, 0x30f,         "Zain IQ" },
681         { 0x418, 0x05f,         "Asia Cell" },
682         { 0x418, 0x40f,         "Korek" },
683         { 0x418, 0x08f,         "SanaTel" },
684 //      { 0x418, ?,             "IRAQNA" },
685         { 0x272, -1,    "Ireland" },
686         { 0x272, 0x01f,         "Vodafone" },
687         { 0x272, 0x02f,         "O2" },
688         { 0x272, 0x03f,         "Meteor" },
689         { 0x272, 0x04f,         "Access Telecom" },
690         { 0x272, 0x05f,         "3" },
691         { 0x272, 0x07f,         "Eircom" },
692         { 0x272, 0x09f,         "Clever Communications" },
693         { 0x234, -1,    "Isle of Man" },
694         { 0x234, 0x58f,         "Pronto GSM" },
695         { 0x425, -1,    "Israel" },
696         { 0x425, 0x01f,         "Orange" },
697         { 0x425, 0x02f,         "Cellcom" },
698         { 0x425, 0x03f,         "Pelephone" },
699         { 0x425, 0x77f,         "Mirs" },
700         { 0x222, -1,    "Italy" },
701         { 0x222, 0x01f,         "TIM" },
702         { 0x222, 0x02f,         "Elsacom" },
703         { 0x222, 0x10f,         "Vodafone" },
704         { 0x222, 0x30f,         "RFI" },
705         { 0x222, 0x77f,         "IPSE 2000" },
706         { 0x222, 0x88f,         "Wind" },
707         { 0x222, 0x98f,         "Blu" },
708         { 0x222, 0x99f,         "3 Italia" },
709         { 0x612, -1,    "Ivory Coast" },
710         { 0x612, 0x01f,         "Cora de Comstar" },
711         { 0x612, 0x02f,         "Moov" },
712         { 0x612, 0x03f,         "Orange" },
713         { 0x612, 0x04f,         "KoZ" },
714         { 0x612, 0x05f,         "MTN" },
715         { 0x612, 0x06f,         "ORICEL" },
716         { 0x338, -1,    "Jamaica" },
717         { 0x338, 0x020,         "LIME (formerly known as Cable & Wireless)" },
718         { 0x338, 0x050,         "Digicel" },
719         { 0x338, 0x070,         "Claro" },
720         { 0x338, 0x180,         "LIME (formerly known as Cable & Wireless)" },
721         { 0x440, -1,    "Japan" },
722         { 0x440, 0x00f,         "eMobile" },
723         { 0x440, 0x01f,         "NTT docomo" },
724         { 0x440, 0x02f,         "NTT docomo" },
725         { 0x440, 0x03f,         "NTT docomo" },
726         { 0x440, 0x04f,         "SoftBank" },
727         { 0x440, 0x06f,         "SoftBank" },
728         { 0x440, 0x07f,         "KDDI" },
729         { 0x440, 0x08f,         "KDDI" },
730         { 0x440, 0x09f,         "NTT docomo" },
731         { 0x440, 0x10f,         "NTT docomo" },
732         { 0x440, 0x11f,         "NTT docomo" },
733         { 0x440, 0x12f,         "NTT docomo" },
734         { 0x440, 0x13f,         "NTT docomo" },
735         { 0x440, 0x14f,         "NTT docomo" },
736         { 0x440, 0x15f,         "NTT docomo" },
737         { 0x440, 0x16f,         "NTT docomo" },
738         { 0x440, 0x17f,         "NTT docomo" },
739         { 0x440, 0x18f,         "NTT docomo" },
740         { 0x440, 0x19f,         "NTT docomo" },
741         { 0x440, 0x20f,         "SoftBank" },
742         { 0x440, 0x21f,         "NTT docomo" },
743         { 0x440, 0x22f,         "NTT docomo" },
744         { 0x440, 0x23f,         "DoCoMo" },
745         { 0x440, 0x24f,         "DoCoMo" },
746         { 0x440, 0x25f,         "DoCoMo" },
747         { 0x440, 0x26f,         "DoCoMo" },
748         { 0x440, 0x27f,         "DoCoMo" },
749         { 0x440, 0x28f,         "DoCoMo" },
750         { 0x440, 0x29f,         "DoCoMo" },
751         { 0x440, 0x30f,         "DoCoMo" },
752         { 0x440, 0x31f,         "DoCoMo" },
753         { 0x440, 0x32f,         "DoCoMo" },
754         { 0x440, 0x33f,         "DoCoMo" },
755         { 0x440, 0x34f,         "DoCoMo" },
756         { 0x440, 0x35f,         "DoCoMo" },
757         { 0x440, 0x36f,         "DoCoMo" },
758         { 0x440, 0x37f,         "DoCoMo" },
759         { 0x440, 0x38f,         "DoCoMo" },
760         { 0x440, 0x39f,         "DoCoMo" },
761         { 0x440, 0x40f,         "SoftBank" },
762         { 0x440, 0x41f,         "SoftBank" },
763         { 0x440, 0x42f,         "SoftBank" },
764         { 0x440, 0x43f,         "SoftBank" },
765         { 0x440, 0x44f,         "SoftBank" },
766         { 0x440, 0x45f,         "SoftBank" },
767         { 0x440, 0x46f,         "SoftBank" },
768         { 0x440, 0x47f,         "SoftBank" },
769         { 0x440, 0x48f,         "SoftBank" },
770         { 0x440, 0x49f,         "DoCoMo" },
771         { 0x440, 0x50f,         "KDDI" },
772         { 0x440, 0x51f,         "KDDI" },
773         { 0x440, 0x52f,         "KDDI" },
774         { 0x440, 0x53f,         "KDDI" },
775         { 0x440, 0x54f,         "KDDI" },
776         { 0x440, 0x55f,         "KDDI" },
777         { 0x440, 0x56f,         "KDDI" },
778         { 0x440, 0x58f,         "DoCoMo" },
779         { 0x440, 0x60f,         "DoCoMo" },
780         { 0x440, 0x61f,         "DoCoMo" },
781         { 0x440, 0x62f,         "DoCoMo" },
782         { 0x440, 0x63f,         "DoCoMo" },
783         { 0x440, 0x64f,         "DoCoMo" },
784         { 0x440, 0x65f,         "DoCoMo" },
785         { 0x440, 0x66f,         "DoCoMo" },
786         { 0x440, 0x67f,         "DoCoMo" },
787         { 0x440, 0x68f,         "DoCoMo" },
788         { 0x440, 0x69f,         "DoCoMo" },
789         { 0x440, 0x70f,         "au" },
790         { 0x440, 0x71f,         "KDDI" },
791         { 0x440, 0x72f,         "KDDI" },
792         { 0x440, 0x73f,         "KDDI" },
793         { 0x440, 0x74f,         "KDDI" },
794         { 0x440, 0x75f,         "KDDI" },
795         { 0x440, 0x76f,         "KDDI" },
796         { 0x440, 0x77f,         "KDDI" },
797         { 0x440, 0x78f,         "Okinawa Cellular Telephone" },
798         { 0x440, 0x79f,         "KDDI" },
799         { 0x440, 0x80f,         "TU-KA" },
800         { 0x440, 0x81f,         "TU-KA" },
801         { 0x440, 0x82f,         "TU-KA" },
802         { 0x440, 0x83f,         "TU-KA" },
803         { 0x440, 0x84f,         "TU-KA" },
804         { 0x440, 0x85f,         "TU-KA" },
805         { 0x440, 0x86f,         "TU-KA" },
806         { 0x440, 0x87f,         "DoCoMo" },
807         { 0x440, 0x88f,         "KDDI" },
808         { 0x440, 0x89f,         "KDDI" },
809         { 0x440, 0x90f,         "SoftBank" },
810         { 0x440, 0x92f,         "SoftBank" },
811         { 0x440, 0x93f,         "SoftBank" },
812         { 0x440, 0x94f,         "SoftBank" },
813         { 0x440, 0x95f,         "SoftBank" },
814         { 0x440, 0x96f,         "SoftBank" },
815         { 0x440, 0x97f,         "SoftBank" },
816         { 0x440, 0x98f,         "SoftBank" },
817         { 0x440, 0x99f,         "DoCoMo" },
818         { 0x234, -1,    "Jersey" },
819         { 0x234, 0x50f,         "JT-Wave" },
820         { 0x234, 0x55f,         "Sure Mobile" },
821         { 0x234, 0x03f,         "Airtel Vodafone" },
822         { 0x416, -1,    "Jordan" },
823         { 0x416, 0x01f,         "zain JO" },
824         { 0x416, 0x02f,         "XPress Telecom" },
825         { 0x416, 0x03f,         "Umniah" },
826         { 0x416, 0x77f,         "Orange" },
827         { 0x401, -1,    "Kazakhstan" },
828         { 0x401, 0x01f,         "Beeline" },
829         { 0x401, 0x02f,         "Kcell" },
830         { 0x401, 0x07f,         "Dalacom" },
831         { 0x401, 0x77f,         "Mobile Telecom Service" },
832         { 0x639, -1,    "Kenya" },
833         { 0x639, 0x02f,         "Safaricom" },
834         { 0x639, 0x03f,         "Zain" },
835         { 0x639, 0x07f,         "Orange Kenya" },
836         { 0x545, -1,    "Kiribati" },
837         { 0x545, 0x09f,         "Kiribati Frigate" },
838         { 0x467, -1,    "North Korea" },
839         { 0x467, 0x193,         "SUN NET" },
840         { 0x450, -1,    "South Korea" },
841         { 0x450, 0x02f,         "KT" },
842         { 0x450, 0x03f,         "Power 017" },
843         { 0x450, 0x04f,         "KT" },
844         { 0x450, 0x05f,         "SKT" },
845         { 0x450, 0x06f,         "LGT" },
846         { 0x450, 0x08f,         "KT SHOW" },
847         { 0x212, -1,    "Kosovo" },
848         { 0x212, 0x01f,         "Vala" },
849         { 0x293, 0x41f,         "iPKO" },
850         { 0x293, 0x41f,         "D3 Mobile" },
851         { 0x212, 0x01f,         "Z Mobile" },
852         { 0x419, -1,    "Kuwait" },
853         { 0x419, 0x02f,         "zain KW" },
854         { 0x419, 0x03f,         "Wataniya" },
855         { 0x419, 0x04f,         "Viva" },
856         { 0x437, -1,    "Kyrgyzstan" },
857         { 0x437, 0x01f,         "Beeline" },
858         { 0x437, 0x05f,         "MegaCom" },
859         { 0x437, 0x09f,         "O!" },
860         { 0x457, -1,    "Laos" },
861         { 0x457, 0x01f,         "LaoTel" },
862         { 0x457, 0x02f,         "ETL" },
863         { 0x457, 0x03f,         "Unitel" },
864         { 0x457, 0x08f,         "Tigo" },
865         { 0x247, -1,    "Latvia" },
866         { 0x247, 0x01f,         "LMT" },
867         { 0x247, 0x02f,         "Tele2" },
868         { 0x247, 0x03f,         "TRIATEL" },
869         { 0x247, 0x05f,         "Bite" },
870         { 0x247, 0x06f,         "Rigatta" },
871         { 0x247, 0x07f,         "MTS" },
872         { 0x247, 0x08f,         "IZZI" },
873         { 0x247, 0x09f,         "Camel Mobile" },
874         { 0x415, -1,    "Lebanon" },
875         { 0x415, 0x01f,         "Alfa" },
876         { 0x415, 0x03f,         "MTC-Touch" },
877         { 0x651, -1,    "Lesotho" },
878         { 0x651, 0x01f,         "Vodacom" },
879         { 0x651, 0x02f,         "Econet Ezin-cel" },
880         { 0x618, -1,    "Liberia" },
881         { 0x618, 0x01f,         "Lonestar Cell" },
882         { 0x618, 0x04f,         "Comium" },
883         { 0x618, 0x20f,         "LIBTELCO" },
884         { 0x606, -1,    "Libya" },
885         { 0x606, 0x00f,         "Libyana" },
886         { 0x606, 0x01f,         "Madar" },
887         { 0x295, -1,    "Liechtenstein" },
888         { 0x295, 0x01f,         "Swisscom" },
889         { 0x295, 0x02f,         "Orange" },
890         { 0x295, 0x05f,         "FL1" },
891         { 0x295, 0x77f,         "Tele 2" },
892         { 0x246, -1,    "Lithuania" },
893         { 0x246, 0x01f,         "Omnitel" },
894         { 0x246, 0x02f,         "BITE" },
895         { 0x246, 0x03f,         "Tele 2" },
896         { 0x270, -1,    "Luxembourg" },
897         { 0x270, 0x01f,         "LuxGSM" },
898         { 0x270, 0x77f,         "Tango" },
899         { 0x270, 0x99f,         "Orange" },
900         { 0x455, -1,    "Macau" },
901         { 0x455, 0x00f,         "SmarTone" },
902         { 0x455, 0x01f,         "CTM" },
903         { 0x455, 0x02f,         "China Telecom" },
904         { 0x455, 0x03f,         "3" },
905         { 0x455, 0x04f,         "CTM" },
906         { 0x455, 0x05f,         "3" },
907         { 0x294, -1,    "Republic of Macedonia" },
908         { 0x294, 0x01f,         "T-Mobile MK" },
909         { 0x294, 0x02f,         "ONE" },
910         { 0x294, 0x03f,         "Vip MK" },
911         { 0x646, -1,    "Madagascar" },
912         { 0x646, 0x01f,         "Zain" },
913         { 0x646, 0x02f,         "Orange" },
914         { 0x646, 0x03f,         "Sacel" },
915         { 0x646, 0x04f,         "Telma" },
916         { 0x650, -1,    "Malawi" },
917         { 0x650, 0x01f,         "TNM" },
918         { 0x650, 0x10f,         "Zain" },
919         { 0x502, -1,    "Malaysia" },
920         { 0x502, 0x12f,         "Maxis" },
921         { 0x502, 0x13f,         "Celcom" },
922         { 0x502, 0x16f,         "DiGi" },
923         { 0x502, 0x17f,         "Maxis" },
924         { 0x502, 0x18f,         "U Mobile" },
925         { 0x502, 0x19f,         "Celcom" },
926         { 0x472, -1,    "Maldives" },
927         { 0x472, 0x01f,         "Dhiraagu" },
928         { 0x472, 0x02f,         "Wataniya" },
929         { 0x610, -1,    "Mali" },
930         { 0x610, 0x01f,         "Malitel" },
931         { 0x610, 0x02f,         "Orange" },
932         { 0x278, -1,    "Malta" },
933         { 0x278, 0x01f,         "Vodafone" },
934         { 0x278, 0x21f,         "GO" },
935         { 0x278, 0x77f,         "Melita" },
936         { 0x000, -1,    "Marshall Islands" },
937 //      { 0x000, ?,             "?" },
938         { 0x340, -1,    "Martinique" },
939         { 0x340, 0x01f,         "Orange" },
940         { 0x340, 0x02f,         "Outremer" },
941         { 0x340, 0x20f,         "Digicel" },
942         { 0x609, -1,    "Mauritania" },
943         { 0x609, 0x01f,         "Mattel" },
944         { 0x609, 0x10f,         "Mauritel" },
945         { 0x617, -1,    "Mauritius" },
946         { 0x617, 0x01f,         "Orange" },
947         { 0x617, 0x02f,         "MTML" },
948         { 0x617, 0x10f,         "Emtel" },
949         { 0x334, -1,    "Mexico" },
950         { 0x334, 0x01f,         "Nextel" },
951         { 0x334, 0x02f,         "Telcel" },
952         { 0x334, 0x03f,         "movistar" },
953         { 0x334, 0x04f,         "Iusacell / Unefon" },
954         { 0x550, -1,    "Federated States of Micronesia" },
955         { 0x550, 0x01f,         "FSM Telecom" },
956         { 0x259, -1,    "Moldova" },
957         { 0x259, 0x01f,         "Orange" },
958         { 0x259, 0x02f,         "Moldcell" },
959         { 0x259, 0x03f,         "IDC" },
960         { 0x259, 0x03f,         "Unit?" },
961         { 0x259, 0x04f,         "Eventis" },
962         { 0x259, 0x05f,         "Unit?" },
963         { 0x212, -1,    "Monaco" },
964         { 0x212, 0x01f,         "Office des Telephones" },
965         { 0x428, -1,    "Mongolia" },
966         { 0x428, 0x99f,         "MobiCom" },
967         { 0x428, 0x88f,         "Unitel" },
968         { 0x428, 0x91f,         "Skytel" },
969         { 0x428, 0x98f,         "G.Mobile" },
970         { 0x297, -1,    "Montenegro" },
971         { 0x297, 0x01f,         "Telenor" },
972         { 0x297, 0x02f,         "T-Mobile" },
973         { 0x297, 0x03f,         "m:tel CG" },
974         { 0x604, -1,    "Morocco" },
975         { 0x604, 0x00f,         "Moditel" },
976         { 0x604, 0x01f,         "IAM" },
977         { 0x604, 0x02f,         "INWI" },
978         { 0x605, 0x03f,         "yassine" },
979         { 0x643, -1,    "Mozambique" },
980         { 0x643, 0x01f,         "mCel" },
981         { 0x643, 0x04f,         "Vodacom" },
982         { 0x414, -1,    "Myanmar" },
983         { 0x414, 0x01f,         "MPT" },
984         { 0x649, -1,    "Namibia" },
985         { 0x649, 0x01f,         "MTC" },
986         { 0x649, 0x02f,         "switch" },
987         { 0x649, 0x03f,         "Leo" },
988         { 0x536, -1,    "Nauru" },
989         { 0x429, -1,    "Nepal" },
990         { 0x429, 0x01f,         "Namaste / NT Mobile" },
991         { 0x429, 0x02f,         "Ncell" },
992         { 0x429, 0x03f,         "Sky/C-Phone" },
993         { 0x204, -1,    "Netherlands" },
994         { 0x204, 0x01f,         "OneFoon" },
995         { 0x204, 0x02f,         "Tele2" },
996         { 0x204, 0x03f,         "Blyk" },
997         { 0x204, 0x04f,         "Vodafone" },
998         { 0x204, 0x05f,         "Elephant Talk" },
999         { 0x204, 0x06f,         "Barablu Mobile" },
1000         { 0x204, 0x07f,         "Teleena" },
1001         { 0x204, 0x08f,         "KPN" },
1002         { 0x204, 0x09f,         "Lycamobile" },
1003         { 0x204, 0x10f,         "KPN" },
1004         { 0x204, 0x12f,         "Telfort" },
1005         { 0x204, 0x14f,         "6Gmobile" },
1006         { 0x204, 0x16f,         "T-Mobile" },
1007         { 0x204, 0x18f,         "Telfort" },
1008         { 0x204, 0x20f,         "Orange Nederland" },
1009         { 0x204, 0x21f,         "NS Railinfrabeheer B.V." },
1010         { 0x204, 0x67f,         "RadioAccess" },
1011         { 0x204, 0x69f,         "KPN Mobile" },
1012         { 0x362, -1,    "Netherlands Antilles" },
1013         { 0x362, 0x51f,         "Telcell" },
1014         { 0x362, 0x69f,         "Digicel" },
1015         { 0x362, 0x91f,         "UTS" },
1016         { 0x362, 0x00f,         "East Caribbean Cellular" },
1017         { 0x362, 0x00f,         "Antiliano Por N.V." },
1018         { 0x362, 0x95f,         "MIO" },
1019         { 0x362, 0x94f,         "Bay?s" },
1020         { 0x546, -1,    "New Caledonia" },
1021         { 0x546, 0x01f,         "Mobilis" },
1022         { 0x530, -1,    "New Zealand" },
1023         { 0x530, 0x00f,         "Telecom" },
1024         { 0x530, 0x01f,         "Vodafone" },
1025         { 0x530, 0x02f,         "Telecom" },
1026         { 0x530, 0x03f,         "Woosh" },
1027         { 0x530, 0x04f,         "TelstraClear" },
1028         { 0x530, 0x05f,         "XT Mobile Network" },
1029         { 0x530, 0x12f,         "360" },
1030         { 0x530, 0x24f,         "2degrees" },
1031         { 0x710, -1,    "Nicaragua" },
1032         { 0x710, 0x21f,         "Claro" },
1033         { 0x710, 0x30f,         "movistar" },
1034         { 0x710, 0x73f,         "SERCOM" },
1035         { 0x614, -1,    "Niger" },
1036         { 0x614, 0x01f,         "SahelCom" },
1037         { 0x614, 0x02f,         "Zain" },
1038         { 0x614, 0x03f,         "Telecel" },
1039         { 0x614, 0x04f,         "Orange" },
1040         { 0x621, -1,    "Nigeria" },
1041         { 0x621, 0x20f,         "Zain" },
1042         { 0x621, 0x30f,         "MTN" },
1043         { 0x621, 0x40f,         "M-Tel" },
1044         { 0x621, 0x50f,         "Glo" },
1045         { 0x621, 0x60f,         "Etisalat" },
1046         { 0x242, -1,    "Norway" },
1047         { 0x242, 0x01f,         "Telenor" },
1048         { 0x242, 0x02f,         "NetCom" },
1049         { 0x242, 0x03f,         "Teletopia" },
1050         { 0x242, 0x04f,         "Tele2" },
1051         { 0x242, 0x05f,         "Network Norway" },
1052         { 0x242, 0x06f,         "Ice" },
1053         { 0x242, 0x07f,         "Ventelo" },
1054         { 0x242, 0x08f,         "TDC Mobil AS" },
1055         { 0x242, 0x09f,         "Barablu Mobile Norway Ltd" },
1056         { 0x242, 0x20f,         "Jernbaneverket AS" },
1057         { 0x422, -1,    "Oman" },
1058         { 0x422, 0x02f,         "Oman Mobile" },
1059         { 0x422, 0x03f,         "Nawras" },
1060         { 0x410, -1,    "Pakistan" },
1061         { 0x410, 0x01f,         "Mobilink" },
1062         { 0x410, 0x03f,         "Ufone" },
1063         { 0x410, 0x04f,         "Zong" },
1064         { 0x410, 0x06f,         "Telenor" },
1065         { 0x410, 0x07f,         "Warid" },
1066         { 0x552, -1,    "Palau" },
1067         { 0x552, 0x01f,         "PNCC" },
1068         { 0x552, 0x80f,         "Palau Mobile" },
1069         { 0x423, -1,    "Palestinian Authority" },
1070         { 0x423, 0x05f,         "Jawwal" },
1071         { 0x423, 0x06f,         "Wataniya" },
1072         { 0x714, -1,    "Panama" },
1073         { 0x714, 0x01f,         "Cable & Wireless" },
1074         { 0x714, 0x02f,         "movistar" },
1075         { 0x714, 0x04f,         "Digicel" },
1076         { 0x714, 0x03f,         "Claro" },
1077         { 0x537, -1,    "Papua New Guinea" },
1078         { 0x537, 0x01f,         "B-Mobile" },
1079         { 0x537, 0x03f,         "Digicel" },
1080         { 0x744, -1,    "Paraguay" },
1081         { 0x744, 0x01f,         "VOX" },
1082         { 0x744, 0x02f,         "Claro" },
1083         { 0x744, 0x04f,         "Tigo" },
1084         { 0x744, 0x05f,         "Personal" },
1085         { 0x716, -1,    "Peru" },
1086         { 0x716, 0x06f,         "movistar" },
1087         { 0x716, 0x10f,         "Claro" },
1088         { 0x716, 0x17f,         "NEXTEL" },
1089         { 0x515, -1,    "Philippines" },
1090         { 0x515, 0x01f,         "Islacom" },
1091         { 0x515, 0x02f,         "Globe" },
1092         { 0x515, 0x03f,         "Smart" },
1093         { 0x515, 0x05f,         "Sun" },
1094         { 0x515, 0x11f,         "PLDT via ACeS Philippines" },
1095         { 0x515, 0x18f,         "Cure" },
1096         { 0x515, 0x88f,         "Nextel" },
1097         { 0x260, -1,    "Poland" },
1098         { 0x260, 0x01f,         "Plus" },
1099         { 0x260, 0x02f,         "Era" },
1100         { 0x260, 0x03f,         "Orange" },
1101         { 0x260, 0x04f,         "Netia S.A." },
1102         { 0x260, 0x05f,         "Polska Telefonia Kom?rkowa Centertel Sp. z o.o." },
1103         { 0x260, 0x06f,         "Play" },
1104         { 0x260, 0x07f,         "Netia" },
1105         { 0x260, 0x08f,         "E-Telko Sp. z o.o." },
1106         { 0x260, 0x09f,         "Telekomunikacja Kolejowa Sp. z o.o." },
1107         { 0x260, 0x10f,         "Sferia" },
1108         { 0x260, 0x11f,         "Nordisk Polska" },
1109         { 0x260, 0x12f,         "Cyfrowy Polsat" },
1110         { 0x260, 0x13f,         "Sferia" },
1111         { 0x260, 0x14f,         "Sferia" },
1112         { 0x260, 0x15f,         "CenterNet" },
1113         { 0x260, 0x16f,         "Mobyland" },
1114         { 0x260, 0x17f,         "Aero2" },
1115         { 0x268, -1,    "Portugal" },
1116         { 0x268, 0x01f,         "Vodafone" },
1117         { 0x268, 0x03f,         "Optimus" },
1118         { 0x268, 0x06f,         "TMN" },
1119         { 0x268, 0x21f,         "Zapp" },
1120         { 0x330, -1,    "Puerto Rico" },
1121         { 0x330, 0x11f,         "Claro" },
1122         { 0x427, -1,    "Qatar" },
1123         { 0x427, 0x01f,         "Qatarnet" },
1124         { 0x427, 0x02f,         "Vodafone Qatar" },
1125         { 0x647, -1,    "R&?union" },
1126         { 0x647, 0x00f,         "Orange" },
1127         { 0x647, 0x02f,         "Outremer" },
1128         { 0x647, 0x10f,         "SFR Reunion" },
1129         { 0x226, -1,    "Romania" },
1130         { 0x226, 0x01f,         "Vodafone" },
1131         { 0x226, 0x02f,         "Romtelecom" },
1132         { 0x226, 0x03f,         "Cosmote" },
1133         { 0x226, 0x04f,         "Cosmote" },
1134         { 0x226, 0x05f,         "Digi.Mobil" },
1135         { 0x226, 0x06f,         "Cosmote" },
1136         { 0x226, 0x10f,         "Orange" },
1137         { 0x250, -1,    "Russian Federation" },
1138         { 0x250, 0x01f,         "MTS" },
1139         { 0x250, 0x02f,         "MegaFon" },
1140         { 0x250, 0x03f,         "NCC" },
1141         { 0x250, 0x04f,         "Sibchallenge" },
1142         { 0x250, 0x05f,         "ETK" },
1143         { 0x250, 0x06f,         "Skylink" },
1144         { 0x250, 0x07f,         "SMARTS" },
1145         { 0x250, 0x09f,         "Skylink" },
1146         { 0x250, 0x10f,         "DTC" },
1147         { 0x250, 0x11f,         "Orensot" },
1148         { 0x250, 0x12f,         "Baykalwestcom" },
1149         { 0x250, 0x12f,         "Akos" },
1150         { 0x250, 0x13f,         "KUGSM" },
1151         { 0x250, 0x15f,         "SMARTS" },
1152         { 0x250, 0x16f,         "NTC" },
1153         { 0x250, 0x17f,         "Utel" },
1154         { 0x250, 0x19f,         "INDIGO" },
1155         { 0x250, 0x20f,         "Tele2" },
1156         { 0x250, 0x23f,         "Mobicom - Novosibirsk" },
1157         { 0x250, 0x28f,         "Beeline" },
1158         { 0x250, 0x35f,         "MOTIV" },
1159         { 0x250, 0x38f,         "Tambov GSM" },
1160         { 0x250, 0x39f,         "Utel" },
1161         { 0x250, 0x44f,         "Stavtelesot / North Caucasian GSM" },
1162         { 0x250, 0x92f,         "Primtelefon" },
1163         { 0x250, 0x93f,         "Telecom XXI" },
1164         { 0x250, 0x99f,         "Beeline" },
1165 //      { 0x250, ?,             "SkyLink/MTS/the Moscow Cellular communication" },
1166         { 0x635, -1,    "Rwanda" },
1167         { 0x635, 0x10f,         "MTN" },
1168         { 0x635, 0x13f,         "Tigo" },
1169         { 0x356, -1,    "Saint Kitts and Nevis" },
1170         { 0x356, 0x050,         "Digicel" },
1171         { 0x356, 0x110,         "Cable &  Wireless" },
1172         { 0x358, -1,    "Saint Lucia" },
1173         { 0x358, 0x050,         "Digicel" },
1174         { 0x358, 0x110,         "Cable &  Wireless" },
1175         { 0x308, -1,    "Saint Pierre and Miquelon" },
1176         { 0x308, 0x01f,         "Ameris" },
1177         { 0x360, -1,    "Saint Vincent and the Grenadines" },
1178         { 0x360, 0x070,         "Digicel" },
1179         { 0x360, 0x100,         "Cingular Wireless" },
1180         { 0x360, 0x110,         "Cable & Wireless" },
1181         { 0x549, -1,    "Samoa" },
1182         { 0x549, 0x01f,         "Digicel" },
1183         { 0x549, 0x27f,         "SamoaTel" },
1184         { 0x292, -1,    "San Marino" },
1185         { 0x292, 0x01f,         "PRIMA" },
1186         { 0x626, -1,    "Sao Tome and Principe" },
1187         { 0x626, 0x01f,         "CSTmovel" },
1188         { 0x420, -1,    "Saudi Arabia" },
1189         { 0x420, 0x01f,         "Al Jawal" },
1190         { 0x420, 0x03f,         "Mobily" },
1191         { 0x420, 0x07f,         "EAE" },
1192         { 0x420, 0x04f,         "Zain SA" },
1193         { 0x608, -1,    "Senegal" },
1194         { 0x608, 0x01f,         "Orange (telecommunications)" },
1195         { 0x608, 0x02f,         "Tigo" },
1196         { 0x608, 0x03f,         "Expresso" },
1197         { 0x220, -1,    "Serbia" },
1198         { 0x220, 0x01f,         "Telenor" },
1199         { 0x220, 0x03f,         "mt:s" },
1200         { 0x220, 0x05f,         "VIP" },
1201         { 0x633, -1,    "Seychelles" },
1202         { 0x633, 0x01f,         "Cable & Wireless" },
1203         { 0x633, 0x02f,         "Mediatech International" },
1204         { 0x633, 0x10f,         "Airtel" },
1205         { 0x619, -1,    "Sierra Leone" },
1206         { 0x619, 0x01f,         "Zain" },
1207         { 0x619, 0x02f,         "Millicom" },
1208         { 0x619, 0x03f,         "Datatel" },
1209         { 0x619, 0x04f,         "Comium" },
1210         { 0x619, 0x05f,         "Africell" },
1211         { 0x619, 0x25f,         "Mobitel" },
1212 //      { 0x619, ?,             "LeoneCel" },
1213         { 0x525, -1,    "Singapore" },
1214         { 0x525, 0x01f,         "SingTel" },
1215         { 0x525, 0x02f,         "SingTel-G18" },
1216         { 0x525, 0x03f,         "M1" },
1217         { 0x525, 0x05f,         "StarHub" },
1218         { 0x525, 0x12f,         "Digital Trunked Radio Network" },
1219         { 0x231, -1,    "Slovakia" },
1220         { 0x231, 0x01f,         "Orange" },
1221         { 0x231, 0x02f,         "T-Mobile" },
1222         { 0x231, 0x03f,         "Unient Communications" },
1223         { 0x231, 0x04f,         "T-Mobile" },
1224         { 0x231, 0x05f,         "Mobile Entertainment Company" },
1225         { 0x231, 0x06f,         "O2" },
1226         { 0x231, 0x99f,         "?SR" },
1227         { 0x293, -1,    "Slovenia" },
1228         { 0x293, 0x40f,         "Si.mobil" },
1229         { 0x293, 0x41f,         "Mobitel" },
1230         { 0x293, 0x64f,         "T-2" },
1231         { 0x293, 0x70f,         "Tu?mobil" },
1232         { 0x540, -1,    "Solomon Islands" },
1233         { 0x637, -1,    "Somalia" },
1234         { 0x637, 0x01f,         "Telesom" },
1235         { 0x637, 0x04f,         "Somafone" },
1236         { 0x637, 0x10f,         "Nationlink" },
1237         { 0x637, 0x25f,         "Hormuud" },
1238         { 0x637, 0x30f,         "Golis" },
1239         { 0x637, 0x82f,         "Telcom" },
1240         { 0x655, -1,    "South Africa" },
1241         { 0x655, 0x01f,         "Vodacom" },
1242         { 0x655, 0x06f,         "Sentech" },
1243         { 0x655, 0x07f,         "Cell C" },
1244         { 0x655, 0x10f,         "MTN" },
1245         { 0x655, 0x11f,         "SAPS Gauteng" },
1246         { 0x655, 0x13f,         "Neotel" },
1247         { 0x655, 0x21f,         "Cape Town Metropolitan Council" },
1248         { 0x655, 0x30f,         "Bokamoso Consortium" },
1249         { 0x655, 0x31f,         "Karabo Telecoms (Pty) Ltd." },
1250         { 0x655, 0x32f,         "Ilizwi Telecommunications" },
1251         { 0x655, 0x33f,         "Thinta Thinta Telecommunications" },
1252         { 0x655, 0x02f,         "Telkom" },
1253         { 0x214, -1,    "Spain" },
1254         { 0x214, 0x01f,         "Vodafone" },
1255         { 0x214, 0x03f,         "Orange" },
1256         { 0x214, 0x04f,         "Yoigo" },
1257         { 0x214, 0x05f,         "TME" },
1258         { 0x214, 0x06f,         "Vodafone" },
1259         { 0x214, 0x07f,         "movistar" },
1260         { 0x214, 0x08f,         "Euskaltel" },
1261         { 0x214, 0x09f,         "Orange" },
1262         { 0x214, 0x15f,         "BT" },
1263         { 0x214, 0x16f,         "TeleCable" },
1264         { 0x214, 0x17f,         "M?bil R" },
1265         { 0x214, 0x18f,         "ONO" },
1266         { 0x214, 0x19f,         "Simyo" },
1267         { 0x214, 0x21f,         "Jazztel" },
1268         { 0x214, 0x22f,         "DigiMobil" },
1269         { 0x214, 0x23f,         "Barablu" },
1270         { 0x413, -1,    "Sri Lanka" },
1271         { 0x413, 0x01f,         "Mobitel" },
1272         { 0x413, 0x02f,         "Dialog" },
1273         { 0x413, 0x03f,         "Etisalat" },
1274         { 0x413, 0x05f,         "Airtel" },
1275         { 0x413, 0x08f,         "Hutch" },
1276         { 0x413, 0x00f,         "RTEC Mobile" },
1277         { 0x634, -1,    "Sudan" },
1278         { 0x634, 0x01f,         "Zain SD" },
1279         { 0x634, 0x02f,         "MTN" },
1280         { 0x634, 0x05f,         "Vivacell" },
1281         { 0x746, -1,    "Suriname" },
1282         { 0x746, 0x05f,         "Telesur" },
1283         { 0x653, -1,    "Swaziland" },
1284         { 0x653, 0x10f,         "Swazi MTN" },
1285         { 0x240, -1,    "Sweden" },
1286         { 0x240, 0x01f,         "Telia" },
1287         { 0x240, 0x02f,         "3" },
1288         { 0x240, 0x03f,         "Ice.net" },
1289         { 0x240, 0x04f,         "3G Infrastructure Services" },
1290         { 0x240, 0x05f,         "Sweden 3G" },
1291         { 0x240, 0x06f,         "Telenor" },
1292         { 0x240, 0x07f,         "Tele2" },
1293         { 0x240, 0x08f,         "Telenor" },
1294         { 0x240, 0x09f,         "djuice" },
1295         { 0x240, 0x10f,         "Spring Mobil" },
1296         { 0x240, 0x11f,         "Lindholmen Science Park" },
1297         { 0x240, 0x12f,         "Barablu Mobile Scandinavia" },
1298         { 0x240, 0x13f,         "Ventelo Sverige" },
1299         { 0x240, 0x14f,         "TDC Mobil" },
1300         { 0x240, 0x15f,         "Wireless Maingate Nordic" },
1301         { 0x240, 0x16f,         "42IT" },
1302         { 0x240, 0x17f,         "G?talandsn?tet" },
1303         { 0x240, 0x20f,         "Wireless Maingate Message Services" },
1304         { 0x240, 0x21f,         "MobiSir" },
1305         { 0x240, 0x25f,         "DigiTelMobile" },
1306         { 0x228, -1,    "Switzerland" },
1307         { 0x228, 0x01f,         "Swisscom" },
1308         { 0x228, 0x02f,         "Sunrise" },
1309         { 0x228, 0x03f,         "Orange" },
1310         { 0x228, 0x05f,         "Togewanet AG (Comfone)" },
1311         { 0x228, 0x06f,         "SBB AG" },
1312         { 0x228, 0x07f,         "IN&Phone" },
1313         { 0x228, 0x08f,         "Tele2" },
1314         { 0x228, 0x50f,         "3G Mobile AG" },
1315         { 0x228, 0x51f,         "BebbiCell AG" },
1316         { 0x417, -1,    "Syria" },
1317         { 0x417, 0x01f,         "Syriatel" },
1318         { 0x417, 0x02f,         "MTN" },
1319         { 0x466, -1,    "Taiwan" },
1320         { 0x466, 0x01f,         "FarEasTone" },
1321         { 0x466, 0x02f,         "APTG" },
1322         { 0x466, 0x06f,         "Tuntex" },
1323         { 0x466, 0x11f,         "Chunghwa LDM" },
1324         { 0x466, 0x88f,         "KG Telecom" },
1325         { 0x466, 0x89f,         "VIBO" },
1326         { 0x466, 0x92f,         "Chungwa" },
1327         { 0x466, 0x93f,         "MobiTai" },
1328         { 0x466, 0x97f,         "Taiwan Mobile" },
1329         { 0x466, 0x99f,         "TransAsia" },
1330         { 0x436, -1,    "Tajikistan" },
1331         { 0x436, 0x01f,         "Tcell" },
1332         { 0x436, 0x02f,         "Indigo" },
1333         { 0x436, 0x03f,         "MLT" },
1334         { 0x436, 0x04f,         "Babilon-M" },
1335         { 0x436, 0x05f,         "Beeline" },
1336         { 0x640, -1,    "Tanzania" },
1337         { 0x640, 0x06f,         "SasaTel" },
1338         { 0x640, 0x02f,         "tiGO" },
1339         { 0x640, 0x03f,         "Zantel" },
1340         { 0x640, 0x04f,         "Vodacom" },
1341         { 0x640, 0x05f,         "Zain" },
1342         { 0x520, -1,    "Thailand" },
1343         { 0x520, 0x00f,         "Hutch" },
1344         { 0x520, 0x01f,         "AIS" },
1345         { 0x520, 0x02f,         "CAT CDMA" },
1346         { 0x520, 0x10f,         "?" },
1347         { 0x520, 0x15f,         "Thai Mobile" },
1348         { 0x520, 0x15f,         "TOT 3G" },
1349         { 0x520, 0x18f,         "dtac" },
1350         { 0x520, 0x23f,         "AIS GSM 1800" },
1351         { 0x520, 0x99f,         "True Move" },
1352         { 0x520, 0x00f,         "WE PCT" },
1353         { 0x615, -1,    "Togo" },
1354         { 0x615, 0x01f,         "Togo Cell" },
1355         { 0x615, 0x03f,         "Moov" },
1356         { 0x539, -1,    "Tonga" },
1357         { 0x539, 0x01f,         "Tonga Communications Corporation" },
1358         { 0x539, 0x43f,         "Shoreline Communication" },
1359         { 0x539, 0x88f,         "Digicel" },
1360         { 0x374, -1,    "Trinidad and Tobago" },
1361         { 0x374, 0x12f,         "bmobile" },
1362         { 0x374, 0x13f,         "Digicel" },
1363         { 0x605, -1,    "Tunisia" },
1364         { 0x605, 0x01f,         "Orange" },
1365         { 0x605, 0x02f,         "Tunicell" },
1366         { 0x605, 0x03f,         "Tunisiana" },
1367         { 0x286, -1,    "Turkey" },
1368         { 0x286, 0x01f,         "Turkcell" },
1369         { 0x286, 0x02f,         "Vodafone" },
1370         { 0x286, 0x03f,         "Avea" },
1371         { 0x286, 0x04f,         "Aycell" },
1372         { 0x438, -1,    "Turkmenistan" },
1373         { 0x438, 0x01f,         "MTS" },
1374         { 0x438, 0x02f,         "TM-Cell" },
1375         { 0x376, -1,    "Turks and Caicos Islands" },
1376         { 0x376, 0x350,         "C&W" },
1377         { 0x376, 0x352,         "Islandcom" },
1378         { 0x338, 0x05f,         "Digicel" },
1379         { 0x553, -1,    "Tuvalu" },
1380         { 0x553, 0x01f,         "TTC" },
1381         { 0x641, -1,    "Uganda" },
1382         { 0x641, 0x01f,         "Zain" },
1383         { 0x641, 0x10f,         "MTN" },
1384         { 0x641, 0x11f,         "Uganda Telecom Ltd." },
1385         { 0x641, 0x22f,         "Warid Telecom" },
1386         { 0x641, 0x14f,         "Orange" },
1387         { 0x255, -1,    "Ukraine" },
1388         { 0x255, 0x01f,         "MTS" },
1389         { 0x255, 0x02f,         "Beeline" },
1390         { 0x255, 0x03f,         "Kyivstar" },
1391         { 0x255, 0x04f,         "IT" },
1392         { 0x255, 0x05f,         "Golden Telecom" },
1393         { 0x255, 0x06f,         "life:)" },
1394         { 0x255, 0x07f,         "Ukrtelecom" },
1395         { 0x255, 0x21f,         "PEOPLEnet" },
1396         { 0x255, 0x23f,         "CDMA Ukraine" },
1397         { 0x424, -1,    "United Arab Emirates" },
1398         { 0x424, 0x02f,         "Etisalat" },
1399         { 0x424, 0x03f,         "du" },
1400         { 0x234, -1,    "United Kingdom" },
1401         { 0x234, 0x00f,         "BT" },
1402         { 0x234, 0x01f,         "UK01" },
1403         { 0x234, 0x02f,         "O2" },
1404         { 0x234, 0x03f,         "Airtel-Vodafone" },
1405         { 0x234, 0x04f,         "FMS Solutions Ltd" },
1406         { 0x234, 0x07f,         "Cable and Wireless UK" },
1407         { 0x234, 0x08f,         "OnePhone Ltd" },
1408         { 0x234, 0x10f,         "O2" },
1409         { 0x234, 0x11f,         "O2" },
1410         { 0x234, 0x12f,         "Railtrack" },
1411         { 0x234, 0x14f,         "Hay Systems Ltd" },
1412         { 0x234, 0x15f,         "Vodafone" },
1413         { 0x234, 0x16f,         "Opal Telecom Ltd" },
1414         { 0x234, 0x18f,         "Cloud9" },
1415         { 0x234, 0x19f,         "Teleware" },
1416         { 0x234, 0x20f,         "3" },
1417         { 0x234, 0x22f,         "RoutoMessaging" },
1418         { 0x234, 0x25f,         "Truphone" },
1419         { 0x234, 0x30f,         "T-Mobile" },
1420         { 0x234, 0x31f,         "Virgin" },
1421         { 0x234, 0x32f,         "Virgin" },
1422         { 0x234, 0x33f,         "Orange" },
1423         { 0x234, 0x34f,         "Orange" },
1424         { 0x234, 0x50f,         "JT-Wave" },
1425         { 0x234, 0x55f,         "Cable & Wireless Guernsey / Sure Mobile (Jersey)" },
1426         { 0x234, 0x58f,         "Manx Telecom" },
1427         { 0x234, 0x75f,         "Inquam" },
1428         { 0x234, 0x77f,         "BT" },
1429         { 0x200, -1,    "United States of America" },
1430         { 0x200, 0x053,         "Virgin Mobile US" },
1431         { 0x200, 0x054,         "Alltel US" },
1432         { 0x200, 0x066,         "U.S. Cellular" },
1433         { 0x310, 0x00f,         "nTelos" },
1434         { 0x310, 0x000,         "Mid-Tex Cellular" },
1435         { 0x310, 0x004,         "Verizon" },
1436         { 0x310, 0x010,         "MCI" },
1437         { 0x310, 0x012,         "Verizon" },
1438         { 0x310, 0x013,         "MobileTel" },
1439         { 0x310, 0x014,         "Testing" },
1440         { 0x310, 0x016,         "Cricket Communications" },
1441         { 0x310, 0x017,         "North Sight Communications Inc." },
1442         { 0x310, 0x020,         "Union Telephone Company" },
1443         { 0x310, 0x026,         "T-Mobile" },
1444         { 0x310, 0x030,         "Centennial" },
1445         { 0x310, 0x034,         "Airpeak" },
1446         { 0x310, 0x038,         "AT&T" },
1447         { 0x310, 0x040,         "Concho" },
1448         { 0x310, 0x046,         "SIMMETRY" },
1449         { 0x310, 0x060,         "Consolidated Telcom" },
1450         { 0x310, 0x070,         "Highland Cellular" },
1451         { 0x310, 0x080,         "Corr" },
1452         { 0x310, 0x090,         "AT&T" },
1453         { 0x310, 0x100,         "Plateau Wireless" },
1454         { 0x310, 0x110,         "PTI Pacifica" },
1455         { 0x310, 0x120,         "Sprint" },
1456         { 0x310, 0x150,         "AT&T" },
1457         { 0x310, 0x160,         "T-Mobile" },
1458         { 0x310, 0x170,         "T-Mobile" },
1459         { 0x310, 0x180,         "West Central" },
1460         { 0x310, 0x190,         "Dutch Harbor" },
1461         { 0x310, 0x200,         "T-Mobile" },
1462         { 0x310, 0x210,         "T-Mobile" },
1463         { 0x310, 0x220,         "T-Mobile" },
1464         { 0x310, 0x230,         "T-Mobile" },
1465         { 0x310, 0x240,         "T-Mobile" },
1466         { 0x310, 0x250,         "T-Mobile" },
1467         { 0x310, 0x260,         "T-Mobile" },
1468         { 0x310, 0x270,         "T-Mobile" },
1469         { 0x310, 0x280,         "T-Mobile" },
1470         { 0x310, 0x290,         "T-Mobile" },
1471         { 0x310, 0x300,         "iSmart Mobile" },
1472         { 0x310, 0x310,         "T-Mobile" },
1473         { 0x310, 0x311,         "Farmers Wireless" },
1474         { 0x310, 0x320,         "Cellular One" },
1475         { 0x310, 0x330,         "T-Mobile" },
1476         { 0x310, 0x340,         "Westlink" },
1477         { 0x310, 0x350,         "Carolina Phone" },
1478         { 0x310, 0x380,         "AT&T Mobility" },
1479         { 0x310, 0x390,         "Cellular One of East Texas" },
1480         { 0x310, 0x400,         "i CAN_GSM" },
1481         { 0x310, 0x410,         "AT&T" },
1482         { 0x310, 0x420,         "Cincinnati Bell" },
1483         { 0x310, 0x430,         "Alaska Digitel" },
1484         { 0x310, 0x440,         "Cellular One" },
1485         { 0x310, 0x450,         "Viaero" },
1486         { 0x310, 0x460,         "Simmetry" },
1487         { 0x310, 0x480,         "Choice Phone" },
1488         { 0x310, 0x490,         "T-Mobile" },
1489         { 0x310, 0x500,         "Alltel" },
1490         { 0x310, 0x510,         "Airtel" },
1491         { 0x310, 0x520,         "VeriSign" },
1492         { 0x310, 0x530,         "West Virginia Wireless" },
1493         { 0x310, 0x540,         "Oklahoma Western" },
1494         { 0x310, 0x560,         "AT&T" },
1495         { 0x310, 0x570,         "Cellular One" },
1496         { 0x310, 0x580,         "T-Mobile" },
1497         { 0x310, 0x590,         "Alltel" },
1498         { 0x310, 0x610,         "Epic Touch" },
1499         { 0x310, 0x620,         "Coleman County Telecom" },
1500         { 0x310, 0x630,         "AmeriLink PCS" },
1501         { 0x310, 0x640,         "Airadigm" },
1502         { 0x310, 0x650,         "Jasper" },
1503         { 0x310, 0x660,         "T-Mobile" },
1504         { 0x310, 0x670,         "Northstar" },
1505         { 0x310, 0x680,         "AT&T" },
1506         { 0x310, 0x690,         "Conestoga" },
1507         { 0x310, 0x730,         "SeaMobile" },
1508         { 0x310, 0x740,         "Convey" },
1509         { 0x310, 0x760,         "Panhandle" },
1510         { 0x310, 0x770,         "i wireless" },
1511         { 0x310, 0x780,         "Airlink PCS" },
1512         { 0x310, 0x790,         "PinPoint" },
1513         { 0x310, 0x800,         "T-Mobile" },
1514         { 0x310, 0x830,         "Caprock" },
1515         { 0x310, 0x850,         "Aeris" },
1516         { 0x310, 0x870,         "PACE" },
1517         { 0x310, 0x880,         "Advantage" },
1518         { 0x310, 0x890,         "Unicel" },
1519         { 0x310, 0x900,         "Mid-Rivers Wireless" },
1520         { 0x310, 0x910,         "First Cellular" },
1521         { 0x310, 0x940,         "Iris Wireless LLC" },
1522         { 0x310, 0x950,         "XIT Wireless" },
1523         { 0x310, 0x960,         "Plateau Wireless" },
1524         { 0x310, 0x970,         "Globalstar" },
1525         { 0x310, 0x980,         "AT&T Mobility" },
1526         { 0x310, 0x990,         "AT&T Mobility" },
1527         { 0x311, 0x000,         "Mid-Tex Cellular" },
1528         { 0x311, 0x010,         "Chariton Valley" },
1529         { 0x311, 0x020,         "Missouri RSA 5 Partnership" },
1530         { 0x311, 0x030,         "Indigo Wireless" },
1531         { 0x311, 0x040,         "Commnet Wireless" },
1532         { 0x311, 0x050,         "Wikes Cellular" },
1533         { 0x311, 0x060,         "Farmers Cellular" },
1534         { 0x311, 0x070,         "Easterbrooke" },
1535         { 0x311, 0x080,         "Pine Cellular" },
1536         { 0x311, 0x090,         "Long Lines Wireless" },
1537         { 0x311, 0x100,         "High Plains Wireless" },
1538         { 0x311, 0x110,         "High Plains Wireless" },
1539         { 0x311, 0x120,         "Choice Phone" },
1540         { 0x311, 0x130,         "Cell One Amarillo" },
1541         { 0x311, 0x140,         "Sprocket" },
1542         { 0x311, 0x150,         "Wilkes Cellular" },
1543         { 0x311, 0x160,         "Endless Mountains Wireless" },
1544         { 0x311, 0x170,         "PetroCom" },
1545         { 0x311, 0x180,         "Cingular Wireless" },
1546         { 0x311, 0x190,         "Cellular Properties" },
1547         { 0x311, 0x210,         "Farmers Cellular" },
1548         { 0x316, 0x010,         "Nextel" },
1549         { 0x316, 0x011,         "Southern Communications Services" },
1550         { 0x748, -1,    "Uruguay" },
1551         { 0x748, 0x00f,         "Ancel" },
1552         { 0x748, 0x01f,         "Ancel" },
1553         { 0x748, 0x07f,         "Movistar" },
1554         { 0x748, 0x10f,         "Claro" },
1555         { 0x434, -1,    "Uzbekistan" },
1556         { 0x434, 0x01f,         "Buztel" },
1557         { 0x434, 0x02f,         "Uzmacom" },
1558         { 0x434, 0x04f,         "Beeline" },
1559         { 0x434, 0x05f,         "Ucell" },
1560         { 0x434, 0x06f,         "Perfectum Mobile" },
1561         { 0x434, 0x07f,         "MTS" },
1562         { 0x541, -1,    "Vanuatu" },
1563         { 0x541, 0x01f,         "SMILE" },
1564         { 0x225, -1,    "Vatican" },
1565         { 0x734, -1,    "Venezuela" },
1566         { 0x734, 0x01f,         "Digitel" },
1567         { 0x734, 0x02f,         "Digitel" },
1568         { 0x734, 0x03f,         "Digitel" },
1569         { 0x734, 0x04f,         "movistar" },
1570         { 0x734, 0x06f,         "Movilnet" },
1571         { 0x452, -1,    "Vietnam" },
1572         { 0x452, 0x01f,         "MobiFone" },
1573         { 0x452, 0x02f,         "Vinaphone" },
1574         { 0x452, 0x03f,         "S-Fone" },
1575         { 0x452, 0x04f,         "Viettel Mobile" },
1576         { 0x452, 0x05f,         "Vietnamobile" },
1577         { 0x452, 0x06f,         "E-Mobile" },
1578         { 0x452, 0x07f,         "Beeline VN" },
1579         { 0x421, -1,    "Yemen" },
1580         { 0x421, 0x01f,         "SabaFon" },
1581         { 0x421, 0x02f,         "MTN" },
1582         { 0x421, 0x03f,         "Yemen Mobile" },
1583         { 0x421, 0x04f,         "HiTS-UNITEL" },
1584         { 0x645, -1,    "Zambia" },
1585         { 0x645, 0x01f,         "Zain" },
1586         { 0x645, 0x02f,         "MTN" },
1587         { 0x645, 0x03f,         "ZAMTEL" },
1588         { 0x648, -1,    "Zimbabwe" },
1589         { 0x648, 0x01f,         "Net*One" },
1590         { 0x648, 0x03f,         "Telecel" },
1591         { 0x648, 0x04f,         "Econet" },
1592         { 0x901, -1,    "International" },
1593         { 0x901, 0x01f,         "ICO" },
1594         { 0x901, 0x02f,         "Sense Communications International" },
1595         { 0x901, 0x03f,         "Iridium" },
1596         { 0x901, 0x04f,         "Globalstar" },
1597         { 0x901, 0x05f,         "Thuraya RMSS Network" },
1598         { 0x901, 0x06f,         "Thuraya Satellite Telecommunications Company" },
1599         { 0x901, 0x07f,         "Ellipso" },
1600         { 0x901, 0x08f,         "" },
1601         { 0x901, 0x09f,         "Tele1 Europe" },
1602         { 0x901, 0x10f,         "ACeS" },
1603         { 0x901, 0x11f,         "Inmarsat" },
1604         { 0x901, 0x12f,         "MCP" },
1605         { 0x901, 0x13f,         "GSM.AQ" },
1606         { 0x901, 0x14f,         "AeroMobile AS" },
1607         { 0x901, 0x15f,         "OnAir Switzerland Sarl" },
1608         { 0x901, 0x16f,         "Jasper Systems" },
1609         { 0x901, 0x17f,         "Navitas" },
1610         { 0x901, 0x18f,         "Cellular @Sea" },
1611         { 0x901, 0x19f,         "Vodafone Malta Maritime" },
1612         { 0x901, 0x21f,         "Seanet" },
1613         { 0x901, 0x24f,         "iNum" },
1614         { 0x901, 0x29f,         "Telenor" },
1615         { 0, 0, NULL }
1616 };
1617
1618 /* GSM 03.22 Annex A */
1619 int gsm_match_mcc(uint16_t mcc, char *imsi)
1620 {
1621         uint16_t sim_mcc;
1622
1623         sim_mcc = ((imsi[0] - '0') << 8)
1624                  + ((imsi[1] - '0') << 4)
1625                  + imsi[2] - '0';
1626
1627         return (mcc == sim_mcc);
1628 }
1629
1630 /* GSM 03.22 Annex A */
1631 int gsm_match_mnc(uint16_t mcc, uint8_t mnc, char *imsi)
1632 {
1633         uint16_t sim_mnc;
1634
1635         /* 1. SIM-MCC = BCCH-MCC */
1636         if (!gsm_match_mcc(mcc, imsi))
1637                 return 0;
1638
1639         /* 2. 3rd digit of BCCH-MNC is not 0xf */
1640         if ((mnc & 0x00f) != 0x00f) {
1641                 /* 3. 3 digit SIM-MNC = BCCH-MNC */
1642                 sim_mnc = ((imsi[3] - '0') << 8)
1643                          + ((imsi[4] - '0') << 4)
1644                          + imsi[5] - '0';
1645
1646                 return (mnc == sim_mnc);
1647         }
1648
1649         /* 4. BCCH-MCC in the range 310-316 */
1650         if (mcc >= 310 && mcc <= 316) {
1651                 /* 5. 3rd diit of SIM-MNC is 0 */
1652                 if (imsi[5] != 0)
1653                         return 0;
1654         }
1655
1656         /* 6. 1st 2 digits of SIM-MNC and BCCH-MNC match */
1657         sim_mnc = ((imsi[3] - '0') << 8)
1658                  + ((imsi[4] - '0') << 4)
1659                  + 0x00f;
1660
1661         return (mnc == sim_mnc);
1662 }
1663
1664 const char *gsm_print_mcc(uint16_t mcc)
1665 {
1666         static char string[5] = "000";
1667
1668         snprintf(string, 4, "%03x", mcc);
1669         return string;
1670 }
1671
1672 const char *gsm_print_mnc(uint16_t mnc)
1673 {
1674         static char string[7];
1675
1676         /* invalid format: return hex value */
1677         if ((mnc & 0xf000)
1678          || (mnc & 0x0f00) > 0x0900
1679          || (mnc & 0x00f0) > 0x0090
1680          || ((mnc & 0x000f) > 0x0009 && (mnc & 0x000f) < 0x000f)) {
1681                 snprintf(string, 6, "0x%03x", mnc);
1682                 return string;
1683         }
1684
1685         /* two digits */
1686         if ((mnc & 0x000f) == 0x000f) {
1687                 snprintf(string, 6, "%02x", mnc >> 4);
1688                 return string;
1689         }
1690
1691         /* three digits */
1692         snprintf(string, 6, "%03x", mnc);
1693         return string;
1694 }
1695
1696 const uint16_t gsm_input_mcc(char *string)
1697 {
1698         uint16_t mcc;
1699
1700         if (strlen(string) != 3)
1701                 return 0;
1702         if (string[0] < '0' || string [0] > '9'
1703          || string[1] < '0' || string [1] > '9'
1704          || string[2] < '0' || string [2] > '9')
1705                 return 0;
1706
1707         mcc = ((string[0] - '0') << 8)
1708             | ((string[1] - '0') << 4)
1709             | ((string[2] - '0'));
1710
1711         return mcc;
1712 }
1713
1714 const uint16_t gsm_input_mnc(char *string)
1715 {
1716         uint16_t mnc = 0;
1717
1718         if (strlen(string) == 2) {
1719                 if (string[0] < '0' || string [0] > '9'
1720                  || string[1] < '0' || string [1] > '9')
1721                         return 0;
1722
1723                 mnc = ((string[0] - '0') << 8)
1724                     | ((string[1] - '0') << 4)
1725                     | 0x00f;
1726         } else
1727         if (strlen(string) == 3) {
1728                 if (string[0] < '0' || string [0] > '9'
1729                  || string[1] < '0' || string [1] > '9'
1730                  || string[2] < '0' || string [2] > '9')
1731                         return 0;
1732
1733                 mnc = ((string[0] - '0') << 8)
1734                     | ((string[1] - '0') << 4)
1735                     | ((string[2] - '0'));
1736         }
1737
1738         return mnc;
1739 }
1740
1741 const char *gsm_get_mcc(uint16_t mcc)
1742 {
1743         int i;
1744
1745         for (i = 0; gsm_networks[i].name; i++)
1746                 if (gsm_networks[i].mnc < 0 && gsm_networks[i].mcc == mcc)
1747                         return gsm_networks[i].name;
1748
1749         return gsm_print_mcc(mcc);
1750 }
1751
1752 const char *gsm_get_mnc(uint16_t mcc, uint16_t mnc)
1753 {
1754         int i;
1755
1756         for (i = 0; gsm_networks[i].name; i++)
1757                 if (gsm_networks[i].mcc == mcc && gsm_networks[i].mnc == mnc)
1758                         return gsm_networks[i].name;
1759
1760         return gsm_print_mnc(mnc);
1761 }
1762
1763 /* get MCC from IMSI */
1764 const char *gsm_imsi_mcc(char *imsi)
1765 {
1766         int i, found = 0;
1767         uint16_t mcc;
1768
1769         mcc = ((imsi[0] - '0') << 8)
1770             | ((imsi[1] - '0') << 4)
1771             | ((imsi[2] - '0'));
1772
1773         for (i = 0; gsm_networks[i].name; i++) {
1774                 if (gsm_networks[i].mcc == mcc) {
1775                         found = 1;
1776                         break;
1777                 }
1778         }
1779         if (found == 0)
1780                 return "Unknown";
1781
1782         return gsm_networks[i].name;
1783 }
1784
1785 /* get MNC from IMSI */
1786 const char *gsm_imsi_mnc(char *imsi)
1787 {
1788         int i, found = 0, position = 0;
1789         uint16_t mcc, mnc2, mnc3;
1790
1791         mcc = ((imsi[0] - '0') << 8)
1792             | ((imsi[1] - '0') << 4)
1793             | ((imsi[2] - '0'));
1794         mnc2 = ((imsi[3] - '0') << 8)
1795              + ((imsi[4] - '0') << 4)
1796              + 0x00f;
1797         mnc3 = ((imsi[3] - '0') << 8)
1798              + ((imsi[4] - '0') << 4)
1799              + imsi[5] - '0';
1800
1801         for (i = 0; gsm_networks[i].name; i++) {
1802                 if (gsm_networks[i].mcc != mcc)
1803                         continue;
1804                 if ((gsm_networks[i].mnc & 0x00f) == 0x00f) {
1805                         if (mnc2 == gsm_networks[i].mnc) {
1806                                 found++;
1807                                 position = i;
1808                         }
1809                 } else {
1810                         if (mnc3 == gsm_networks[i].mnc) {
1811                                 found++;
1812                                 position = i;
1813                         }
1814                 }
1815         }
1816
1817         if (found == 0)
1818                 return "Unknown";
1819         if (found > 1)
1820                 return "Ambiguous";
1821         return gsm_networks[position].name;
1822 }
1823
1824