File Coverage

blib/lib/Device/Gsm/Networks.pm
Criterion Covered Total %
statement 6 6 100.0
branch 2 4 50.0
condition n/a
subroutine 2 2 100.0
pod 0 2 0.0
total 10 14 71.4


line stmt bran cond sub pod time code
1             package Device::Gsm::Networks;
2              
3             #
4             # Gsm networks data stolen from Gnokii
5             #
6             our %COUNTRIES = (
7             '202' => 'Greece',
8             '204' => 'Netherlands',
9             '206' => 'Belgium',
10             '208' => 'France',
11             '213' => 'Andorra',
12             '214' => 'Spain',
13             '216' => 'Hungary',
14             '218' => 'Bosnia Herzegovina',
15             '219' => 'Croatia',
16             '220' => 'Yugoslavia',
17             '222' => 'Italy',
18             '226' => 'Romania',
19             '228' => 'Switzerland',
20             '230' => 'Czech Republic',
21             '231' => 'Slovak Republic',
22             '232' => 'Austria',
23             '234' => 'United Kingdom',
24             '238' => 'Denmark',
25             '240' => 'Sweden',
26             '242' => 'Norway',
27             '244' => 'Finland',
28             '246' => 'Lithuania',
29             '247' => 'Latvia',
30             '248' => 'Estonia',
31             '250' => 'Russia',
32             '255' => 'Ukraine',
33             '259' => 'Moldova',
34             '260' => 'Poland',
35             '262' => 'Germany',
36             '266' => 'Gibraltar',
37             '268' => 'Portugal',
38             '270' => 'Luxembourg',
39             '272' => 'Ireland',
40             '274' => 'Iceland',
41             '276' => 'Albania',
42             '278' => 'Malta',
43             '280' => 'Cyprus',
44             '282' => 'Georgia',
45             '283' => 'Armenia',
46             '284' => 'Bulgaria',
47             '286' => 'Turkey',
48             '290' => 'Greenland',
49             '293' => 'Slovenia',
50             '294' => 'Macedonia',
51             '302' => 'Canada',
52             '310' => 'U.S.A.',
53             '340' => 'French West Indies',
54             '400' => 'Azerbaijan',
55             '404' => 'India',
56             '410' => 'Pakistan',
57             '413' => 'Sri Lanka',
58             '415' => 'Lebanon',
59             '416' => 'Jordan',
60             '417' => 'Syria',
61             '418' => 'Iraq',
62             '419' => 'Kuwait',
63             '420' => 'Saudi Arabia',
64             '422' => 'Oman',
65             '424' => 'United Arab Emirates',
66             '425' => 'Israel',
67             '426' => 'Bahrain',
68             '427' => 'Qatar',
69             '432' => 'Iran',
70             '434' => 'Uzbekistan',
71             '437' => 'Kyrgyz Republic',
72             '452' => 'Vietnam',
73             '454' => 'Hong Kong',
74             '455' => 'Macau',
75             '456' => 'Cambodia',
76             '457' => 'Lao',
77             '460' => 'China',
78             '466' => 'Taiwan',
79             '470' => 'Bangladesh',
80             '502' => 'Malaysia',
81             '505' => 'Australia',
82             '510' => 'Indonesia',
83             '515' => 'Philippines',
84             '520' => 'Thailand',
85             '525' => 'Singapore',
86             '528' => 'Brunei Darussalam',
87             '530' => 'New Zealand',
88             '542' => 'Fiji',
89             '546' => 'New Caledonia',
90             '547' => 'French Polynesia',
91             '602' => 'Egypt',
92             '603' => 'Algeria',
93             '604' => 'Morocco',
94             '605' => 'Tunisia',
95             '608' => 'Senegal',
96             '611' => 'Guinea',
97             '612' => 'Cote d\'Ivoire',
98             '615' => 'Togo',
99             '617' => 'Mauritius',
100             '618' => 'Liberia',
101             '620' => 'Ghana',
102             '624' => 'Cameroon',
103             '625' => 'Cape Verde',
104             '633' => 'Seychelles',
105             '634' => 'Mozambique',
106             '634' => 'Sudan',
107             '635' => 'Rwanda',
108             '636' => 'Ethiopia',
109             '640' => 'Tanzania',
110             '641' => 'Uganda',
111             '645' => 'Zambia',
112             '646' => 'Madagascar',
113             '647' => 'Reunion',
114             '648' => 'Zimbabwe',
115             '649' => 'Namibia',
116             '650' => 'Malawi',
117             '651' => 'Lesotho',
118             '652' => 'Botswana',
119             '655' => 'South Africa',
120             '730' => 'Chile',
121             '734' => 'Venezuela',
122             undef => 'unknown',
123             );
124              
125             our %NETWORKS = (
126             "20201" => "Cosmote",
127             "20205" => "PANAFON",
128             "20210" => "TELESTET",
129             "20404" => "LIBERTEL",
130             "20408" => "KPN Telecom",
131             "20412" => "O2",
132             "20416" => "BEN",
133             "20420" => "Dutchtone NV",
134             "20601" => "PROXIMUS",
135             "20610" => "Mobistar",
136             "20620" => "Base",
137             "20801" => "ITINERIS",
138             "20810" => "SFR",
139             "20820" => "Bouygues Telecom",
140             "21303" => "MOBILAND",
141             "21401" => "Airtel GSM 900-Spain",
142             "21403" => "Retevision Movil",
143             "21407" => "MOVISTAR",
144             "21601" => "Pannon GSM",
145             "21670" => "Vodafone",
146             "21630" => "Westel 900",
147             "21890" => "GSMBIH",
148             "21901" => "CRONET",
149             "21910" => "VIP",
150             "22001" => "MOBTEL",
151             "22002" => "ProMonte GSM",
152             "22003" => "Telekom Srbije",
153             "22201" => "Telecom Italia Mobile",
154             "22210" => "OMNITEL",
155             "22288" => "Wind Telecomunicazioni SpA",
156             "22601" => "CONNEX GSM",
157             "22610" => "DIALOG",
158             "22801" => "NATEL International",
159             "22802" => "diAx Mobile AG",
160             "23001" => "T-Mobile CZ",
161             "23002" => "EuroTel",
162             "23003" => "Oskar",
163             "23101" => "Orange",
164             "23102" => "EuroTel GSM",
165             "23201" => "A1",
166             "23203" => "T-Mobile AT",
167             "23205" => "ONE",
168             "23207" => "tele.ring",
169             "23410" => "Cellnet",
170             "23415" => "Vodafone",
171             "23430" => "T-Mobile UK",
172             "23433" => "ORANGE",
173             "23450" => "Jersey Telecoms GSM",
174             "23455" => "Guernsey Telecoms GSM",
175             "23458" => "PRONTO GSM",
176             "23801" => "TDK-MOBIL",
177             "23802" => "SONOFON",
178             "23820" => "TELIA DK",
179             "23830" => "Mobilix",
180             "24001" => "Telia AB",
181             "24007" => "COMVIQ",
182             "24008" => "EUROPOLITAN",
183             "24201" => "Telenor Mobil",
184             "24202" => "NetCom GSM",
185             "24403" => "Telia City (Finland)",
186             "24405" => "Radiolinja",
187             "24409" => "Finnet",
188             "24491" => "Sonera",
189             "24601" => "OMNITEL",
190             "24602" => "Bite GSM",
191             "24701" => "LMT LV",
192             "24702" => "BALTCOM GSM",
193             "24801" => "EMT GSM",
194             "24802" => "Radiolinja Eesti AS",
195             "24803" => "Q GSM",
196             "25001" => "Mobile Telesystems",
197             "25002" => "North-West GSM",
198             "25005" => "Siberian Cellular Systems 900",
199             "25007" => "BM Telecom",
200             "25010" => "Don Telecom",
201             "25012" => "FECS-900",
202             "25013" => "Kuban GSM",
203             "25039" => "Uraltel",
204             "25044" => "North Caucasian GSM",
205             "25099" => "BeeLine",
206             "25501" => "UMC",
207             "25502" => "WellCOM",
208             "25503" => "Kyivstar",
209             "25505" => "Golden Telecom",
210             "25901" => "VOXTEL",
211             "26001" => "PLUS GSM",
212             "26002" => "ERA GSM",
213             "26003" => "IDEA Centertel",
214             "26201" => "T-Mobile D",
215             "26202" => "D2 PRIVAT",
216             "26203" => "E-Plus",
217             "26207" => "Interkom",
218             "26601" => "Gibtel GSM",
219             "26801" => "TELECEL",
220             "26803" => "OPTIMUS",
221             "26806" => "TMN",
222             "27001" => "LUXGSM",
223             "27077" => "TANGO",
224             "27201" => "EIRCELL-GSM",
225             "27202" => "Digifone",
226             "27401" => "Landssiminn GSM 900",
227             "27402" => "TAL hf",
228             "27601" => "AMC",
229             "27801" => "Vodafone Malta Limited",
230             "28001" => "CYTAGSM",
231             "28201" => "Geocell Limited",
232             "28202" => "Magti GSM",
233             "28301" => "ArmGSM",
234             "28401" => "M-TEL GSM BG",
235             "28601" => "Turkcell",
236             "28602" => "TELSIM GSM",
237             "28801" => "Faroese Telecom",
238             "29001" => "Tele Greenland",
239             "29340" => "SI.MOBIL d. d.",
240             "29341" => "MOBITEL",
241             "29370" => "SI VEGA 070",
242             "29401" => "MobiMak",
243             "30237" => "Microcell Connexions Inc",
244             "30272" => "Rogers AT&T",
245             "31001" => "Cellnet",
246             "31002" => "Sprint Spectrum",
247             "31011" => "Wireless 2000 Telephone Co.",
248             "31015" => "BellSouth Mobility DCS",
249             "31016" => "T-Mobile",
250             "31017" => "Pac Bell",
251             "31020" => "T-Mobile",
252             "31021" => "T-Mobile",
253             "31022" => "T-Mobile",
254             "31023" => "T-Mobile",
255             "31024" => "T-Mobile",
256             "31025" => "T-Mobile",
257             "31026" => "T-Mobile",
258             "31027" => "T-Mobile",
259             "31031" => "T-Mobile",
260             "31038" => "AT&T Wireless",
261             "31058" => "T-Mobile",
262             "31066" => "T-Mobile",
263             "31077" => "Iowa Wireless Services LP",
264             "31080" => "T-Mobile",
265             "34001" => "AMERIS",
266             "40001" => "AZERCELL GSM",
267             "40002" => "Bakcell GSM 2000",
268             "40407" => "TATA Cellular",
269             "40410" => "AirTel",
270             "40411" => "Essar Cellphone",
271             "40412" => "Escotel",
272             "40414" => "Modicom",
273             "40415" => "Essar Cellphone",
274             "40420" => "Max Touch",
275             "40421" => "BPL - Mobile",
276             "40427" => "BPL USWEST Cellular",
277             "40430" => "Command",
278             "40440" => "SkyCell",
279             "40441" => "RPG Cellular",
280             "40442" => "AIRCEL",
281             "41001" => "Mobilink",
282             "41302" => "DIALOG GSM",
283             "41501" => "CELLIS",
284             "41503" => "LIBANCELL",
285             "41601" => "Fastlink",
286             "41709" => "MOBILE SYRIA",
287             "41902" => "MTCNet",
288             "42001" => "Al Jawwal",
289             "42007" => "E.A.E",
290             "42202" => "GTO",
291             "42402" => "UAE-ETISALAT",
292             "42501" => "Partner Communications Company Ltd",
293             "42601" => "BHR MOBILE PLUS",
294             "42701" => "QATARNET",
295             "43211" => "TCI",
296             "43404" => "Daewoo Unitel",
297             "43405" => "Coscom",
298             "43701" => "Bitel",
299             "45400" => "TCSL GSM",
300             "45404" => "HKGHT",
301             "45406" => "SMARTONE GSM",
302             "45410" => "New World PCS",
303             "45412" => "PEOPLES",
304             "45416" => "SUNDAY",
305             "45501" => "TELEMOVEL+ GSM900-Macau",
306             "45601" => "MobiTel",
307             "45602" => "SAMART-GSM",
308             "45701" => "Lao Shinawatra Telecom",
309             "46000" => "China Telecom GSM",
310             "46001" => "CU-GSM",
311             "46601" => "Far EasTone Telecoms 900",
312             "46606" => "TUNTEX GSM 1800",
313             "46688" => "KG Telecom",
314             "46692" => "Chunghwa GSM",
315             "46693" => "MobiTai",
316             "46697" => "TWNGSM",
317             "46699" => "TransAsia",
318             "47001" => "GrameenPhone Ltd",
319             "47019" => "Mobile 2000",
320             "50212" => "Maxis Mobile",
321             "50213" => "TM Touch",
322             "50216" => "DiGi 1800",
323             "50217" => "ADAM",
324             "50219" => "CELCOM",
325             "50501" => "MobileNet",
326             "50502" => "OPTUS",
327             "50503" => "VODAFONE",
328             "50508" => "One.Tel",
329             "51001" => "SATELINDO",
330             "51008" => "LIPPO TELECOM",
331             "51010" => "TELKOMSEL",
332             "51011" => "Excelcom",
333             "51021" => "INDOSAT",
334             "51501" => "ISLACOM",
335             "51502" => "Globe Telecom",
336             "52001" => "AIS GSM",
337             "52010" => "WCS",
338             "52018" => "Worldphone 1800",
339             "52023" => "HELLO",
340             "52501" => "SingTel Mobile",
341             "52502" => "ST-PCN",
342             "52503" => "MOBILEONE",
343             "52811" => "DSTCom",
344             "53001" => "Vodafone New Zealand Limited",
345             "54201" => "Vodafone",
346             "54601" => "Mobilis",
347             "54720" => "VINI",
348             "60201" => "MobiNil",
349             "60202" => "Tunicell",
350             "60301" => "ALGERIAN MOBILE NETWORK",
351             "60401" => "I A M",
352             "60801" => "ALIZE",
353             "61102" => "Lagui",
354             "61203" => "IVOIRIS",
355             "61205" => "Telecel",
356             "61501" => "TOGO CELL",
357             "61701" => "Cellplus Mobile Comms",
358             "61801" => "Omega",
359             "62001" => "SPACEFON",
360             "62501" => "CVMOVEL",
361             "63301" => "Seychelles Cellular Services",
362             "63310" => "AIRTEL",
363             "63401" => "MobiTel",
364             "63510" => "Rwandacell",
365             "63601" => "ETMTN",
366             "64001" => "TRITEL",
367             "64110" => "MTN-Uganda",
368             "64202" => "ANTARIS",
369             "64301" => "T.D.M GSM 900",
370             "64501" => "ZAMCELL",
371             "64601" => "Madacom",
372             "64603" => "Sacel Madagascar S.A.",
373             "64710" => "SRR",
374             "64801" => "NET*ONE",
375             "64803" => "Telecel",
376             "64901" => "MTC",
377             "65001" => "Callpoint 900",
378             "65101" => "Vodacom Lesotho (Pty) Ltd",
379             "65501" => "Vodacom",
380             "65510" => "MTN",
381             "68038" => "NPI Wireless",
382             "73001" => "Entel Telefonia Movi",
383             "73010" => "Entel PCS",
384             "73401" => "Infonet",
385             undef => 'unknown',
386             );
387              
388             sub name {
389 2     2 0 367 my $number = $_[0];
390 2         6 $number =~ s/\D//;
391 2 50       15 return exists $NETWORKS{$number}
392             ? $NETWORKS{$number}
393             : 'unknown';
394             }
395              
396             sub country {
397 1     1 0 5 my $number = $_[0];
398 1         3 $number =~ s/\D//;
399 1 50       14 return exists $COUNTRIES{$number}
400             ? $COUNTRIES{$number}
401             : 'unknown';
402             }
403              
404             1;
405              
406             #
407             # End of module