From 4d4380b0dddf159f88c25534646d2c998e3609bc Mon Sep 17 00:00:00 2001 From: jona Date: Fri, 28 Nov 2014 23:22:20 +0100 Subject: [PATCH] Add basic multi-sim and no-sim support Changes include * change format of countries.json & modify other files accordingly * ask user for mcc/mnc if unknown * ask user to select sim-card if he has multiple sim-cars The new format seems more appropriate & flexible, an example being the usage of mccs as keys in the old format (mccs are not guaranteed to be unique per country) The new format is: [{"code": iso, "full": fullname, "prefix": +pre, "carriers": {carrier_name: [{"mcc": mcc, "mnc": mnc}, ..], ...}}, ...] A tool to create this file from a csv-list is added to /tools/create_countries_json.py, and the other files have been changed accordingly. The user is asked for mcc/mnc if 1. He does not have a sim-card inserted or 2. The selected (or only) sim-card is not associated with the selected country --- app/scripts/collections/countries.js | 26 +- app/scripts/countries.json | 11658 ++++++++++++++++++++++--- app/scripts/templates/login.hbs | 42 +- app/scripts/utils/country.js | 36 +- app/scripts/views/login.js | 217 +- app/styles/_login.sass | 30 +- tools/create_countries_json.py | 74 + 7 files changed, 10861 insertions(+), 1222 deletions(-) create mode 100644 tools/create_countries_json.py diff --git a/app/scripts/collections/countries.js b/app/scripts/collections/countries.js index d6d94c2..1adb876 100644 --- a/app/scripts/collections/countries.js +++ b/app/scripts/collections/countries.js @@ -20,13 +20,14 @@ define([ fetchCountries: function () { // Get from the countries.json. responseType to json is not allowed, see // http://updates.html5rocks.com/2012/01/Getting-Rid-of-Synchronous-XHRs - var xhr = new XMLHttpRequest(); + var xhr = new XMLHttpRequest(), + _this = this; xhr.open('GET', '/scripts/countries.json', false); // sync request xhr.send(null); //Fill with an empty country this.add(new Country({ - mcc: 0, + networkList: {}, code: '', name: global.localisation[global.language].country, prefix: '' @@ -40,15 +41,12 @@ define([ console.error('Something happened while trying to parse the JSON', e); } - // And walk over all countries found - var keys = _.keys(parsed); - var _this = this; - keys.forEach(function (key) { + parsed.map(function(country) { _this.add(new Country({ - mcc: parseInt(key, 10), - code: parsed[key].code, - name: parsed[key].full, - prefix: parsed[key].prefix + carriers: country.carriers, + code: country.code, + name: country.full, + prefix: country.prefix })); }); } else { @@ -63,11 +61,11 @@ define([ return result; }, - getCountryByMCC: function (mcc) { - var result = this.find(function (model) { - return model.get('mcc') === mcc; + getCountryByMccMnc: function (mcc, mnc) { + //TODO: slow! maybe make a hashmap of concentated mcc and mnc + return this.find(function (model) { + return model.hasMccMnc(mcc, mnc); }); - return result; } }); diff --git a/app/scripts/countries.json b/app/scripts/countries.json index 2e1bcc6..b84b1e6 100644 --- a/app/scripts/countries.json +++ b/app/scripts/countries.json @@ -1,1132 +1,10526 @@ -{ - "202": { - "full": "Greece", - "code": "gr", - "prefix": "+30" - }, - "204": { - "full": "Netherlands", - "code": "nl", - "prefix": "+31" - }, - "206": { - "full": "Belgium", - "code": "be", - "prefix": "+32" - }, - "208": { - "full": "France", - "code": "fr", - "prefix": "+33" - }, - "212": { - "full": "Monaco", - "code": "mc", - "prefix": "+377" - }, - "213": { - "full": "Andorra", - "code": "ad", - "prefix": "+376" - }, - "214": { - "full": "EspaƱa", - "code": "es", - "prefix": "+34" - }, - "216": { - "full": "Hungary", - "code": "hu", - "prefix": "+36" - }, - "218": { - "full": "Bosnia & Herzegov.", - "code": "ba", - "prefix": "+387" - }, - "219": { - "full": "Croatia", - "code": "hr", - "prefix": "+385" - }, - "220": { - "full": "Serbia ", - "code": "rs", - "prefix": "+381" - }, - "222": { - "full": "Italy", - "code": "it", - "prefix": "+39" - }, - "226": { - "full": "Romania", - "code": "ro", - "prefix": "+40" - }, - "228": { - "full": "Switzerland", - "code": "ch", - "prefix": "+41" - }, - "230": { - "full": "Czech Rep.", - "code": "cz", - "prefix": "+420" - }, - "231": { - "full": "Slovakia", - "code": "sk", - "prefix": "+421" - }, - "232": { - "full": "Austria", - "code": "at", - "prefix": "+43" - }, - "234": { - "full": "United Kingdom", - "code": "gb", - "prefix": "+44" - }, - "235": { - "full": "United Kingdom", - "code": "gb", - "prefix": "+44" - }, - "238": { - "full": "Denmark", - "code": "dk", - "prefix": "+45" - }, - "240": { - "full": "Sweden", - "code": "se", - "prefix": "+46" - }, - "242": { - "full": "Norway", - "code": "no", - "prefix": "+47" - }, - "244": { - "full": "Finland", - "code": "fi", - "prefix": "+358" - }, - "246": { - "full": "Lithuania", - "code": "lt", - "prefix": "+370" - }, - "247": { - "full": "Latvia", - "code": "lv", - "prefix": "+371" - }, - "248": { - "full": "Estonia", - "code": "ee", - "prefix": "+372" - }, - "250": { - "full": "Russian Federation", - "code": "ru", - "prefix": "+79" - }, - "255": { - "full": "Ukraine", - "code": "ua", - "prefix": "+380" - }, - "257": { - "full": "Belarus", - "code": "by", - "prefix": "+375" - }, - "259": { - "full": "Moldova", - "code": "md", - "prefix": "+373" - }, - "260": { - "full": "Poland", - "code": "pl", - "prefix": "+48" - }, - "262": { - "full": "Germany", - "code": "de", - "prefix": "+49" - }, - "266": { - "full": "Gibraltar", - "code": "gi", - "prefix": "+350" - }, - "268": { - "full": "Portugal", - "code": "pt", - "prefix": "+351" - }, - "270": { - "full": "Luxembourg", - "code": "lu", - "prefix": "+352" - }, - "272": { - "full": "Ireland", - "code": "ie", - "prefix": "+353" - }, - "274": { - "full": "Iceland", - "code": "is", - "prefix": "+354" - }, - "276": { - "full": "Albania", - "code": "al", - "prefix": "+355" - }, - "278": { - "full": "Malta", - "code": "mt", - "prefix": "+356" - }, - "280": { - "full": "Cyprus", - "code": "cy", - "prefix": "+357" - }, - "282": { - "full": "Georgia", - "code": "ge", - "prefix": "+995" - }, - "283": { - "full": "Armenia", - "code": "am", - "prefix": "+374" - }, - "284": { - "full": "Bulgaria", - "code": "bg", - "prefix": "+359" - }, - "286": { - "full": "Turkey", - "code": "tr", - "prefix": "+90" - }, - "288": { - "full": "Faroe Islands", - "code": "fo", - "prefix": "+298" - }, - "289": { - "full": "Abkhazia", - "code": "ab", - "prefix": "+7" - }, - "290": { - "full": "Greenland", - "code": "gl", - "prefix": "+299" - }, - "292": { - "full": "San Marino", - "code": "sm", - "prefix": "+378" - }, - "293": { - "full": "Slovenia", - "code": "si", - "prefix": "+386" - }, - "294": { - "full": "Macedonia", - "code": "mk", - "prefix": "+389" - }, - "295": { - "full": "Liechtenstein", - "code": "li", - "prefix": "+423" - }, - "297": { - "full": "Montenegro", - "code": "me", - "prefix": "+382" - }, - "302": { - "full": "Canada", - "code": "ca", - "prefix": "+1" - }, - "308": { - "full": "St. Pierre & Miquelon", - "code": "pm", - "prefix": "+508" - }, - "310": { - "full": "United States", - "code": "us", - "prefix": "+1" - }, - "311": { - "full": "United States", - "code": "us", - "prefix": "+1" - }, - "312": { - "full": "United States", - "code": "us", - "prefix": "+1" - }, - "316": { - "full": "United States", - "code": "us", - "prefix": "+1" - }, - "330": { - "full": "Puerto Rico", - "code": "pr", - "prefix": "+1" - }, - "334": { - "full": "Mexico", - "code": "mx", - "prefix": "+52" - }, - "338": { - "full": "Jamaica", - "code": "jm", - "prefix": "+1876" - }, - "340": { - "full": "Martinique (French Department of)", - "code": "mq", - "prefix": "+596" - }, - "342": { - "full": "Barbados", - "code": "bb", - "prefix": "+1246" - }, - "344": { - "full": "Antigua and Barbuda", - "code": "ag", - "prefix": "+1268" - }, - "346": { - "full": "Cayman Islands", - "code": "ky", - "prefix": "+1345" - }, - "348": { - "full": "British Virgin Islands", - "code": "vg", - "prefix": "+284" - }, - "350": { - "full": "Bermuda", - "code": "bm", - "prefix": "+1441" - }, - "352": { - "full": "Grenada", - "code": "gd", - "prefix": "+1473" - }, - "354": { - "full": "Montserrat", - "code": "ms", - "prefix": "+1664" - }, - "356": { - "full": "Saint Kitts and Nevis", - "code": "kn", - "prefix": "+1869" - }, - "358": { - "full": "Saint Lucia", - "code": "lc", - "prefix": "+1758" - }, - "360": { - "full": "St. Vincent & Gren.", - "code": "vc", - "prefix": "+1784" - }, - "362": { - "full": "Sint Maarten (Dutch part)", - "code": "sx", - "prefix": "+599" - }, - "363": { - "full": "Aruba", - "code": "aw", - "prefix": "+297" - }, - "364": { - "full": "Bahamas", - "code": "bs", - "prefix": "+1242" - }, - "365": { - "full": "Anguilla", - "code": "ai", - "prefix": "+1264" - }, - "366": { - "full": "Dominica", - "code": "dm", - "prefix": "+1767" - }, - "368": { - "full": "Cuba", - "code": "cu", - "prefix": "+53" - }, - "370": { - "full": "Dominican Republic", - "code": "do", - "prefix": "+1809" - }, - "372": { - "full": "Haiti", - "code": "ht", - "prefix": "+509" - }, - "374": { - "full": "Trinidad and Tobago", - "code": "tt", - "prefix": "+1868" - }, - "376": { - "full": "Virgin Islands, U.S.", - "code": "vi", - "prefix": "+1340" - }, - "400": { - "full": "Azerbaijan", - "code": "az", - "prefix": "+994" - }, - "401": { - "full": "Kazakhstan", - "code": "kz", - "prefix": "+7" - }, - "402": { - "full": "Bhutan", - "code": "bt", - "prefix": "+975" - }, - "404": { - "full": "India", - "code": "in", - "prefix": "+91" - }, - "405": { - "full": "India", - "code": "in", - "prefix": "+91" - }, - "410": { - "full": "Pakistan", - "code": "pk", - "prefix": "+92" - }, - "412": { - "full": "Afghanistan", - "code": "af", - "prefix": "+93" - }, - "413": { - "full": "Sri Lanka", - "code": "lk", - "prefix": "+94" - }, - "414": { - "full": "Burma/Myanmar", - "code": "mm", - "prefix": "+95" - }, - "415": { - "full": "Lebanon", - "code": "lb", - "prefix": "+961" - }, - "416": { - "full": "Jordan", - "code": "jo", - "prefix": "+962" - }, - "417": { - "full": "Syrian Arab Republic", - "code": "sy", - "prefix": "+963" - }, - "418": { - "full": "Iraq", - "code": "iq", - "prefix": "+964" - }, - "419": { - "full": "Kuwait", - "code": "kw", - "prefix": "+965" - }, - "420": { - "full": "Saudi Arabia", - "code": "sa", - "prefix": "+966" - }, - "421": { - "full": "Yemen", - "code": "ye", - "prefix": "+967" - }, - "422": { - "full": "Oman", - "code": "om", - "prefix": "+968" - }, - "424": { - "full": "United Arab Emirates", - "code": "ae", - "prefix": "+971" - }, - "425": { - "full": "Israel", - "code": "il", - "prefix": "+972" - }, - "425-2": { - "full": "Palestinian Territory", - "code": "ps", - "prefix": "+970" - }, - "426": { - "full": "Bahrain", - "code": "bh", - "prefix": "+973" - }, - "427": { - "full": "Qatar", - "code": "qa", - "prefix": "+974" - }, - "428": { - "full": "Mongolia", - "code": "mn", - "prefix": "+976" - }, - "429": { - "full": "Nepal", - "code": "np", - "prefix": "+977" - }, - "430": { - "full": "United Arab Emirates", - "code": "ae", - "prefix": "+971" - }, - "431": { - "full": "United Arab Emirates", - "code": "ae", - "prefix": "+971" - }, - "432": { - "full": "Iran ", - "code": "ir", - "prefix": "+98" - }, - "434": { - "full": "Uzbekistan", - "code": "uz", - "prefix": "+998" - }, - "436": { - "full": "Tajikistan", - "code": "tj", - "prefix": "+992" - }, - "437": { - "full": "Kyrgyzstan", - "code": "kg", - "prefix": "+996" - }, - "438": { - "full": "Turkmenistan", - "code": "tm", - "prefix": "+993" - }, - "440": { - "full": "Japan", - "code": "jp", - "prefix": "+81" - }, - "441": { - "full": "Japan", - "code": "jp", - "prefix": "+81" - }, - "450": { - "full": "Korea S, Republic of", - "code": "kr", - "prefix": "+82" - }, - "452": { - "full": "Viet Nam", - "code": "vn", - "prefix": "+84" - }, - "454": { - "full": "Hongkong, China", - "code": "hk", - "prefix": "+82" - }, - "455": { - "full": "Macao, China", - "code": "mo", - "prefix": "+853" - }, - "456": { - "full": "Cambodia", - "code": "kh", - "prefix": "+855" - }, - "457": { - "full": "Laos P.D.R.", - "code": "la", - "prefix": "+856" - }, - "460": { - "full": "China", - "code": "cn", - "prefix": "+86" - }, - "466": { - "full": "Taiwan", - "code": "tw", - "prefix": "+886" - }, - "467": { - "full": "Korea N., Dem. People's Rep.", - "code": "kp", - "prefix": "+850" - }, - "470": { - "full": "Bangladesh", - "code": "bd", - "prefix": "+880" - }, - "472": { - "full": "Maldives", - "code": "mv", - "prefix": "+960" - }, - "502": { - "full": "Malaysia", - "code": "my", - "prefix": "+60" - }, - "505": { - "full": "Australia", - "code": "au", - "prefix": "+61" - }, - "510": { - "full": "Indonesia", - "code": "id", - "prefix": "+62" - }, - "514": { - "full": "Timor-Leste", - "code": "tl", - "prefix": "+670" - }, - "515": { - "full": "Philippines", - "code": "ph", - "prefix": "+63" - }, - "520": { - "full": "Thailand", - "code": "th", - "prefix": "+66" - }, - "525": { - "full": "Singapore", - "code": "sg", - "prefix": "+65" - }, - "528": { - "full": "Brunei Darussalam", - "code": "bn", - "prefix": "+673" - }, - "530": { - "full": "New Zealand", - "code": "nz", - "prefix": "+64" - }, - "537": { - "full": "Papua New Guinea", - "code": "pg", - "prefix": "+675" - }, - "539": { - "full": "Tonga", - "code": "to", - "prefix": "+676" - }, - "540": { - "full": "Solomon Islands", - "code": "sb", - "prefix": "+677" - }, - "541": { - "full": "Vanuatu", - "code": "vu", - "prefix": "+678" - }, - "542": { - "full": "Fiji", - "code": "fj", - "prefix": "+679" - }, - "544": { - "full": "American Samoa", - "code": "as", - "prefix": "+684" - }, - "545": { - "full": "Kiribati", - "code": "ki", - "prefix": "+686" - }, - "546": { - "full": "New Caledonia", - "code": "nc", - "prefix": "+687" - }, - "547": { - "full": "French Polynesia", - "code": "pf", - "prefix": "+689" - }, - "548": { - "full": "Cook Islands", - "code": "ck", - "prefix": "+682" - }, - "549": { - "full": "Samoa", - "code": "ws", - "prefix": "+685" - }, - "550": { - "full": "Micronesia", - "code": "fm", - "prefix": "+691" - }, - "552": { - "full": "Palau (Republic of)", - "code": "pw", - "prefix": "+680" - }, - "553": { - "full": "Tuvalu", - "code": "tv", - "prefix": "+688" - }, - "555": { - "full": "Niue", - "code": "nu", - "prefix": "+683" - }, - "602": { - "full": "Egypt", - "code": "eg", - "prefix": "+20" - }, - "603": { - "full": "Algeria", - "code": "dz", - "prefix": "+213" - }, - "604": { - "full": "Morocco", - "code": "ma", - "prefix": "+212" - }, - "605": { - "full": "Tunisia", - "code": "tn", - "prefix": "+216" - }, - "606": { - "full": "Libya", - "code": "ly", - "prefix": "+218" - }, - "607": { - "full": "Gambia", - "code": "gm", - "prefix": "+220" - }, - "608": { - "full": "Senegal", - "code": "sn", - "prefix": "+221" - }, - "609": { - "full": "Mauritania", - "code": "mr", - "prefix": "+222" - }, - "610": { - "full": "Mali", - "code": "ml", - "prefix": "+223" - }, - "611": { - "full": "Guinea", - "code": "gn", - "prefix": "+224" - }, - "612": { - "full": "Ivory Coast", - "code": "ci", - "prefix": "+225" - }, - "613": { - "full": "Burkina Faso", - "code": "bf", - "prefix": "+226" - }, - "614": { - "full": "Niger", - "code": "ne", - "prefix": "+227" - }, - "615": { - "full": "Togo", - "code": "tg", - "prefix": "+228" - }, - "616": { - "full": "Benin", - "code": "bj", - "prefix": "+229" - }, - "617": { - "full": "Mauritius", - "code": "mu", - "prefix": "+230" - }, - "618": { - "full": "Liberia", - "code": "lr", - "prefix": "+231" - }, - "619": { - "full": "Sierra Leone", - "code": "sl", - "prefix": "+232" - }, - "620": { - "full": "Ghana", - "code": "gh", - "prefix": "+233" - }, - "621": { - "full": "Nigeria", - "code": "ng", - "prefix": "+234" - }, - "622": { - "full": "Chad", - "code": "td", - "prefix": "+235" - }, - "623": { - "full": "Central African Rep.", - "code": "cf", - "prefix": "+236" - }, - "624": { - "full": "Cameroon", - "code": "cm", - "prefix": "+237" - }, - "625": { - "full": "Cape Verde", - "code": "cv", - "prefix": "+238" - }, - "626": { - "full": "Sao Tome & Principe", - "code": "st", - "prefix": "+239" - }, - "627": { - "full": "Equatorial Guinea", - "code": "gq", - "prefix": "+240" - }, - "628": { - "full": "Gabon", - "code": "ga", - "prefix": "+241" - }, - "629": { - "full": "Congo, Republic", - "code": "cg", - "prefix": "+242" - }, - "630": { - "full": "Congo, Dem. Rep.", - "code": "cd", - "prefix": "+243" - }, - "631": { - "full": "Angola", - "code": "ao", - "prefix": "+244" - }, - "632": { - "full": "Guinea-Bissau", - "code": "gw", - "prefix": "+245" - }, - "633": { - "full": "Seychelles", - "code": "sc", - "prefix": "+248" - }, - "634": { - "full": "Sudan", - "code": "sd", - "prefix": "+249" - }, - "635": { - "full": "Rwanda", - "code": "rw", - "prefix": "+250" - }, - "636": { - "full": "Ethiopia", - "code": "et", - "prefix": "+251" - }, - "637": { - "full": "Somalia", - "code": "so", - "prefix": "+252" - }, - "638": { - "full": "Djibouti", - "code": "dj", - "prefix": "+253" - }, - "639": { - "full": "Kenya", - "code": "ke", - "prefix": "+254" - }, - "640": { - "full": "Tanzania", - "code": "tz", - "prefix": "+255" - }, - "641": { - "full": "Uganda", - "code": "ug", - "prefix": "+256" - }, - "642": { - "full": "Burundi", - "code": "bi", - "prefix": "+257" - }, - "643": { - "full": "Mozambique", - "code": "mz", - "prefix": "+258" - }, - "645": { - "full": "Zambia", - "code": "zm", - "prefix": "+260" - }, - "646": { - "full": "Madagascar", - "code": "mg", - "prefix": "+261" - }, - "647": { - "full": "Reunion", - "code": "re", - "prefix": "+262" - }, - "648": { - "full": "Zimbabwe", - "code": "zw", - "prefix": "+263" - }, - "649": { - "full": "Namibia", - "code": "na", - "prefix": "+264" - }, - "650": { - "full": "Malawi", - "code": "mw", - "prefix": "+265" - }, - "651": { - "full": "Lesotho", - "code": "ls", - "prefix": "+266" - }, - "652": { - "full": "Botswana", - "code": "bw", - "prefix": "+267" - }, - "653": { - "full": "Swaziland", - "code": "sz", - "prefix": "+268" - }, - "654": { - "full": "Comoros", - "code": "km", - "prefix": "+269" - }, - "655": { - "full": "South Africa", - "code": "za", - "prefix": "+27" - }, - "657": { - "full": "Eritrea", - "code": "er", - "prefix": "+291" - }, - "659": { - "full": "South Sudan (Republic of)", - "code": "ss", - "prefix": "+211" - }, - "702": { - "full": "Belize", - "code": "bz", - "prefix": "+501" - }, - "704": { - "full": "Guatemala", - "code": "gt", - "prefix": "+502" - }, - "706": { - "full": "El Salvador", - "code": "sv", - "prefix": "+503" - }, - "708": { - "full": "Honduras", - "code": "hn", - "prefix": "+504" - }, - "710": { - "full": "Nicaragua", - "code": "ni", - "prefix": "+505" - }, - "712": { - "full": "Costa Rica", - "code": "cr", - "prefix": "+506" - }, - "714": { - "full": "Panama", - "code": "pa", - "prefix": "+507" - }, - "716": { - "full": "Peru", - "code": "pe", - "prefix": "+51" - }, - "722": { - "full": "Argentina Republic", - "code": "ar", - "prefix": "+54" - }, - "724": { - "full": "Brazil", - "code": "br", - "prefix": "+55" - }, - "730": { - "full": "Chile", - "code": "cl", - "prefix": "+56" - }, - "732": { - "full": "Colombia", - "code": "co", - "prefix": "+57" - }, - "734": { - "full": "Venezuela", - "code": "ve", - "prefix": "+58" - }, - "736": { - "full": "Bolivia", - "code": "bo", - "prefix": "+591" - }, - "738": { - "full": "Guyana", - "code": "gy", - "prefix": "+592" - }, - "740": { - "full": "Ecuador", - "code": "ec", - "prefix": "+593" - }, - "744": { - "full": "Paraguay", - "code": "py", - "prefix": "+595" - }, - "746": { - "full": "Suriname", - "code": "sr", - "prefix": "+597" - }, - "748": { - "full": "Uruguay", - "code": "uy", - "prefix": "+598" - }, - "750": { - "full": "Falkland Islands (Malvinas)", - "code": "fk", - "prefix": "+500" - }, - "901": { - "full": "Satellite Networks", - "code": "n/a", - "prefix": "+870" - } -} \ No newline at end of file +[ + { + "carriers": { + "Shoreline Communication": [ + { + "mcc": "539", + "mnc": "43" + } + ], + "Tonga Communications": [ + { + "mcc": "539", + "mnc": "1" + } + ] + }, + "code": "to", + "full": "Tonga", + "prefix": "+676" + }, + { + "carriers": { + "Africel": [ + { + "mcc": "607", + "mnc": "02" + } + ], + "Comium": [ + { + "mcc": "607", + "mnc": "03" + } + ], + "Gamcel": [ + { + "mcc": "607", + "mnc": "01" + } + ], + "Q-Cell": [ + { + "mcc": "607", + "mnc": "04" + } + ] + }, + "code": "gm", + "full": "Gambia", + "prefix": "+220" + }, + { + "carriers": { + "Econet Wireless": [ + { + "mcc": "639", + "mnc": "05" + } + ], + "Orange": [ + { + "mcc": "639", + "mnc": "07" + } + ], + "Safaricom Ltd.": [ + { + "mcc": "639", + "mnc": "02" + } + ], + "Zain/Celtel Ltd.": [ + { + "mcc": "639", + "mnc": "03" + } + ] + }, + "code": "ke", + "full": "Kenya", + "prefix": "+254" + }, + { + "carriers": { + "C-COM": [ + { + "mcc": "368", + "mnc": "01" + } + ] + }, + "code": "cu", + "full": "Cuba", + "prefix": "+53" + }, + { + "carriers": { + "DigiCell": [ + { + "mcc": "542", + "mnc": "02" + } + ], + "Vodafone": [ + { + "mcc": "542", + "mnc": "01" + } + ] + }, + "code": "fj", + "full": "Fiji", + "prefix": "+679" + }, + { + "carriers": { + "OPT Mobilis": [ + { + "mcc": "546", + "mnc": "01" + } + ] + }, + "code": "nc", + "full": "New Caledonia", + "prefix": "+687" + }, + { + "carriers": { + "Entel Pcs": [ + { + "mcc": "736", + "mnc": "02" + } + ], + "Nuevatel": [ + { + "mcc": "736", + "mnc": "01" + } + ], + "TELECEL BOLIVIA": [ + { + "mcc": "736", + "mnc": "03" + } + ] + }, + "code": "bo", + "full": "Bolivia", + "prefix": "+591" + }, + { + "carriers": { + "HiTs-GE": [ + { + "mcc": "627", + "mnc": "03" + } + ], + "ORANGE/GETESA": [ + { + "mcc": "627", + "mnc": "01" + } + ] + }, + "code": "gq", + "full": "Equatorial Guinea", + "prefix": "+240" + }, + { + "carriers": { + "Cingular Wireless": [ + { + "mcc": "362", + "mnc": "630" + } + ], + "DigiCell": [ + { + "mcc": "362", + "mnc": "69" + } + ], + "SETEL GSM": [ + { + "mcc": "362", + "mnc": "91" + } + ], + "TELCELL GSM": [ + { + "mcc": "362", + "mnc": "51" + } + ], + "UTS Wireless": [ + { + "mcc": "362", + "mnc": "951" + } + ] + }, + "code": "an", + "full": "Netherlands Antilles", + "prefix": "+599" + }, + { + "carriers": { + "Econet/Ezi-cel": [ + { + "mcc": "651", + "mnc": "02" + } + ], + "Vodacom Lesotho": [ + { + "mcc": "651", + "mnc": "01" + } + ] + }, + "code": "ls", + "full": "Lesotho", + "prefix": "+266" + }, + { + "carriers": { + "Telecel/MOOV": [ + { + "mcc": "615", + "mnc": "2" + }, + { + "mcc": "615", + "mnc": "03" + } + ], + "Togo Telecom/TogoCELL": [ + { + "mcc": "615", + "mnc": "01" + } + ] + }, + "code": "tg", + "full": "Togo", + "prefix": "+228" + }, + { + "carriers": { + "AVEA/Aria": [ + { + "mcc": "286", + "mnc": "04" + }, + { + "mcc": "286", + "mnc": "03" + } + ], + "Turkcell": [ + { + "mcc": "286", + "mnc": "01" + } + ], + "Vodafone-Telsim": [ + { + "mcc": "286", + "mnc": "02" + } + ] + }, + "code": "tr", + "full": "Turkey", + "prefix": "+90" + }, + { + "carriers": { + "Canar Telecom": [ + { + "mcc": "634", + "mnc": "00" + } + ], + "MTN": [ + { + "mcc": "634", + "mnc": "22" + }, + { + "mcc": "634", + "mnc": "02" + } + ], + "Sudani One": [ + { + "mcc": "634", + "mnc": "15" + }, + { + "mcc": "634", + "mnc": "07" + } + ], + "Vivacell": [ + { + "mcc": "634", + "mnc": "05" + }, + { + "mcc": "634", + "mnc": "08" + } + ], + "ZAIN/Mobitel": [ + { + "mcc": "634", + "mnc": "01" + }, + { + "mcc": "634", + "mnc": "06" + } + ] + }, + "code": "sd", + "full": "Sudan", + "prefix": "+249" + }, + { + "carriers": { + "Salam/Sotel": [ + { + "mcc": "622", + "mnc": "04" + } + ], + "Tchad Mobile": [ + { + "mcc": "622", + "mnc": "02" + } + ], + "Tigo/Milicom/Tchad Mobile": [ + { + "mcc": "622", + "mnc": "03" + } + ], + "Zain/Airtel/Celtel": [ + { + "mcc": "622", + "mnc": "01" + } + ] + }, + "code": "td", + "full": "Chad", + "prefix": "+235" + }, + { + "carriers": { + "BH Mobile": [ + { + "mcc": "218", + "mnc": "90" + } + ], + "Eronet Mobile": [ + { + "mcc": "218", + "mnc": "03" + } + ], + "M-Tel": [ + { + "mcc": "218", + "mnc": "05" + } + ] + }, + "code": "ba", + "full": "Bosnia & Herzegov.", + "prefix": "+387" + }, + { + "carriers": { + "C & W": [ + { + "mcc": "366", + "mnc": "110" + } + ], + "Cingular Wireless/Digicel": [ + { + "mcc": "366", + "mnc": "020" + } + ], + "Wireless Ventures (Dominica) Ltd (Digicel Dominica)": [ + { + "mcc": "366", + "mnc": "050" + } + ] + }, + "code": "dm", + "full": "Dominica", + "prefix": "+1767" + }, + { + "carriers": { + "DigiCel": [ + { + "mcc": "541", + "mnc": "05" + }, + { + "mcc": "541", + "mnc": "0" + } + ], + "SMILE": [ + { + "mcc": "541", + "mnc": "01" + } + ] + }, + "code": "vu", + "full": "Vanuatu", + "prefix": "+678" + }, + { + "carriers": { + "Amazonia Celular S/A": [ + { + "mcc": "724", + "mnc": "24" + } + ], + "Brazil Telcom": [ + { + "mcc": "724", + "mnc": "16" + } + ], + "CTBC Celular SA (CTBC)": [ + { + "mcc": "724", + "mnc": "33" + }, + { + "mcc": "724", + "mnc": "32" + }, + { + "mcc": "724", + "mnc": "34" + } + ], + "CTBC/Triangulo": [ + { + "mcc": "724", + "mnc": "7" + } + ], + "Claro/Albra/America Movil": [ + { + "mcc": "724", + "mnc": "12" + }, + { + "mcc": "724", + "mnc": "38" + }, + { + "mcc": "724", + "mnc": "05" + } + ], + "Nextel (Telet)": [ + { + "mcc": "724", + "mnc": "00" + }, + { + "mcc": "724", + "mnc": "39" + } + ], + "Oi (TNL PCS / Oi)": [ + { + "mcc": "724", + "mnc": "30" + }, + { + "mcc": "724", + "mnc": "31" + } + ], + "Sercontel Cel": [ + { + "mcc": "724", + "mnc": "15" + } + ], + "TIM": [ + { + "mcc": "724", + "mnc": "8" + }, + { + "mcc": "724", + "mnc": "03" + }, + { + "mcc": "724", + "mnc": "02" + }, + { + "mcc": "724", + "mnc": "04" + } + ], + "Unicel do Brasil Telecomunicacoes Ltda": [ + { + "mcc": "724", + "mnc": "37" + } + ], + "Vivo S.A./Telemig": [ + { + "mcc": "724", + "mnc": "1" + }, + { + "mcc": "724", + "mnc": "19" + }, + { + "mcc": "724", + "mnc": "06" + }, + { + "mcc": "724", + "mnc": "23" + }, + { + "mcc": "724", + "mnc": "11" + }, + { + "mcc": "724", + "mnc": "10" + } + ] + }, + "code": "br", + "full": "Brazil", + "prefix": "+55" + }, + { + "carriers": { + "GO/Mobisle": [ + { + "mcc": "278", + "mnc": "21" + } + ], + "Melita": [ + { + "mcc": "278", + "mnc": "77" + } + ], + "Vodafone": [ + { + "mcc": "278", + "mnc": "01" + } + ] + }, + "code": "mt", + "full": "Malta", + "prefix": "+356" + }, + { + "carriers": { + "Baykal Westcom": [ + { + "mcc": "250", + "mnc": "12" + } + ], + "Bee Line GSM": [ + { + "mcc": "250", + "mnc": "28" + } + ], + "DTC/Don Telecom": [ + { + "mcc": "250", + "mnc": "10" + } + ], + "JSC Rostov Cellular Communications": [ + { + "mcc": "250", + "mnc": "20" + } + ], + "Kuban GSM": [ + { + "mcc": "250", + "mnc": "13" + } + ], + "LLC Ekaterinburg-2000": [ + { + "mcc": "250", + "mnc": "35" + } + ], + "LLC Personal Communication Systems in the Region": [ + { + "mcc": "250", + "mnc": "20" + } + ], + "MTS": [ + { + "mcc": "250", + "mnc": "01" + } + ], + "Megafon": [ + { + "mcc": "250", + "mnc": "02" + } + ], + "NCC": [ + { + "mcc": "250", + "mnc": "03" + } + ], + "NTC": [ + { + "mcc": "250", + "mnc": "16" + } + ], + "OJSC Altaysvyaz": [ + { + "mcc": "250", + "mnc": "19" + } + ], + "OJSC Vimpel-Communications (VimpelCom)": [ + { + "mcc": "250", + "mnc": "99" + } + ], + "Orensot": [ + { + "mcc": "250", + "mnc": "11" + } + ], + "Printelefone": [ + { + "mcc": "250", + "mnc": "92" + } + ], + "Sibchallenge": [ + { + "mcc": "250", + "mnc": "04" + } + ], + "StavTelesot": [ + { + "mcc": "250", + "mnc": "44" + } + ], + "Tele2/ECC/Volgogr.": [ + { + "mcc": "250", + "mnc": "20" + } + ], + "Telecom XXL": [ + { + "mcc": "250", + "mnc": "93" + } + ], + "U-Tel/Ermak RMS": [ + { + "mcc": "250", + "mnc": "39" + }, + { + "mcc": "250", + "mnc": "17" + } + ], + "UralTel": [ + { + "mcc": "250", + "mnc": "39" + }, + { + "mcc": "250", + "mnc": "17" + } + ], + "Yenisey Telecom": [ + { + "mcc": "250", + "mnc": "05" + } + ], + "ZAO SMARTS": [ + { + "mcc": "250", + "mnc": "15" + }, + { + "mcc": "250", + "mnc": "07" + } + ] + }, + "code": "ru", + "full": "Russian Federation", + "prefix": "+79" + }, + { + "carriers": { + "Amitelo": [ + { + "mcc": "274", + "mnc": "09" + } + ], + "IceCell": [ + { + "mcc": "274", + "mnc": "07" + } + ], + "Landssiminn": [ + { + "mcc": "274", + "mnc": "08" + }, + { + "mcc": "274", + "mnc": "01" + } + ], + "NOVA": [ + { + "mcc": "274", + "mnc": "11" + } + ], + "VIKING/IMC": [ + { + "mcc": "274", + "mnc": "04" + } + ], + "Vodafone/Tal hf": [ + { + "mcc": "274", + "mnc": "03" + }, + { + "mcc": "274", + "mnc": "05" + }, + { + "mcc": "274", + "mnc": "02" + } + ] + }, + "code": "is", + "full": "Iceland", + "prefix": "+354" + }, + { + "carriers": { + "Cosmote": [ + { + "mcc": "226", + "mnc": "03" + } + ], + "Enigma Systems": [ + { + "mcc": "226", + "mnc": "11" + } + ], + "Orange": [ + { + "mcc": "226", + "mnc": "10" + } + ], + "RCS&RDS Digi Mobile": [ + { + "mcc": "226", + "mnc": "05" + } + ], + "Romtelecom SA": [ + { + "mcc": "226", + "mnc": "02" + } + ], + "Telemobil/Zapp": [ + { + "mcc": "226", + "mnc": "06" + }, + { + "mcc": "226", + "mnc": "04" + } + ], + "Vodafone": [ + { + "mcc": "226", + "mnc": "01" + } + ] + }, + "code": "ro", + "full": "Romania", + "prefix": "+40" + }, + { + "carriers": { + "MoviCel": [ + { + "mcc": "631", + "mnc": "04" + } + ], + "Unitel": [ + { + "mcc": "631", + "mnc": "02" + } + ] + }, + "code": "ao", + "full": "Angola", + "prefix": "+244" + }, + { + "carriers": { + "Choice Phone LLC": [ + { + "mcc": "310", + "mnc": "480" + } + ], + "Docomo": [ + { + "mcc": "310", + "mnc": "370" + }, + { + "mcc": "310", + "mnc": "470" + } + ], + "GTA Wireless": [ + { + "mcc": "310", + "mnc": "140" + } + ], + "Guam Teleph. Auth.": [ + { + "mcc": "310", + "mnc": "033" + } + ], + "IT&E OverSeas": [ + { + "mcc": "310", + "mnc": "032" + } + ], + "Wave Runner LLC": [ + { + "mcc": "311", + "mnc": "250" + } + ] + }, + "code": "gu", + "full": "Guam", + "prefix": "+1671" + }, + { + "carriers": { + "Kiribati Frigate": [ + { + "mcc": "545", + "mnc": "9" + } + ] + }, + "code": "ki", + "full": "Kiribati", + "prefix": "+686" + }, + { + "carriers": { + "C.T.M. TELEMOVEL+": [ + { + "mcc": "455", + "mnc": "04" + }, + { + "mcc": "455", + "mnc": "01" + } + ], + "China Telecom": [ + { + "mcc": "455", + "mnc": "02" + } + ], + "Hutchison Telephone (Macau) Company Ltd": [ + { + "mcc": "455", + "mnc": "05" + }, + { + "mcc": "455", + "mnc": "03" + } + ], + "Smartone Mobile": [ + { + "mcc": "455", + "mnc": "06" + }, + { + "mcc": "455", + "mnc": "00" + } + ] + }, + "code": "mo", + "full": "Macao China", + "prefix": "+853" + }, + { + "carriers": { + "Claro": [ + { + "mcc": "370", + "mnc": "02" + } + ], + "Orange": [ + { + "mcc": "370", + "mnc": "01" + } + ], + "TRIcom": [ + { + "mcc": "370", + "mnc": "03" + } + ], + "Trilogy Dominicana S. A.": [ + { + "mcc": "370", + "mnc": "04" + } + ] + }, + "code": "do", + "full": "Dominican Republic", + "prefix": "+1809" + }, + { + "carriers": { + "B-Mobile": [ + { + "mcc": "402", + "mnc": "11" + } + ], + "Bhutan Telecom Ltd (BTL)": [ + { + "mcc": "402", + "mnc": "17" + } + ], + "TashiCell": [ + { + "mcc": "402", + "mnc": "77" + } + ] + }, + "code": "bt", + "full": "Bhutan", + "prefix": "+975" + }, + { + "carriers": { + "Millicom Tango GSM": [ + { + "mcc": "270", + "mnc": "77" + } + ], + "P+T LUXGSM": [ + { + "mcc": "270", + "mnc": "01" + } + ], + "VOXmobile S.A.": [ + { + "mcc": "270", + "mnc": "99" + } + ] + }, + "code": "lu", + "full": "Luxembourg", + "prefix": "+352" + }, + { + "carriers": { + "AirTel/ZAIN/CelTel": [ + { + "mcc": "613", + "mnc": "02" + } + ], + "TeleCel": [ + { + "mcc": "613", + "mnc": "03" + } + ], + "TeleMob-OnaTel": [ + { + "mcc": "613", + "mnc": "01" + } + ] + }, + "code": "bf", + "full": "Burkina Faso", + "prefix": "+226" + }, + { + "carriers": { + "AMIGO/Dauphin": [ + { + "mcc": "340", + "mnc": "08" + } + ], + "Bouygues/DigiCel": [ + { + "mcc": "340", + "mnc": "20" + } + ], + "Orange Caribe": [ + { + "mcc": "340", + "mnc": "01" + } + ], + "Outremer Telecom": [ + { + "mcc": "340", + "mnc": "02" + } + ], + "TelCell GSM": [ + { + "mcc": "340", + "mnc": "11" + }, + { + "mcc": "340", + "mnc": "03" + } + ] + }, + "code": "gf", + "full": "French Guiana", + "prefix": "+594" + }, + { + "carriers": { + "EOCG Wireless NV": [ + { + "mcc": "362", + "mnc": "95" + } + ], + "Polycom N.V./ Curacao Telecom d.b.a. Digicel": [ + { + "mcc": "362", + "mnc": "69" + } + ] + }, + "code": "cw", + "full": "Curacao", + "prefix": "+" + }, + { + "carriers": { + "Cable and Wireless": [ + { + "mcc": "365", + "mnc": "840" + } + ], + "Digicell / Wireless Vent. Ltd": [ + { + "mcc": "365", + "mnc": "010" + } + ] + }, + "code": "ai", + "full": "Anguilla", + "prefix": "+1264" + }, + { + "carriers": { + "Pannon/Telenor": [ + { + "mcc": "216", + "mnc": "01" + } + ], + "T-mobile/Magyar": [ + { + "mcc": "216", + "mnc": "30" + } + ], + "UPC Magyarorszag Kft.": [ + { + "mcc": "216", + "mnc": "71" + } + ], + "Vodafone": [ + { + "mcc": "216", + "mnc": "70" + } + ] + }, + "code": "hu", + "full": "Hungary", + "prefix": "+36" + }, + { + "carriers": { + "Bee Line/Unitel": [ + { + "mcc": "434", + "mnc": "04" + } + ], + "Buztel": [ + { + "mcc": "434", + "mnc": "1" + } + ], + "MTS/Uzdunrobita": [ + { + "mcc": "434", + "mnc": "07" + } + ], + "Ucell/Coscom": [ + { + "mcc": "434", + "mnc": "05" + } + ], + "Uzmacom": [ + { + "mcc": "434", + "mnc": "2" + } + ] + }, + "code": "uz", + "full": "Uzbekistan", + "prefix": "+998" + }, + { + "carriers": { + "CLARO/CTE": [ + { + "mcc": "706", + "mnc": "01" + } + ], + "Digicel": [ + { + "mcc": "706", + "mnc": "02" + } + ], + "INTELFON SA de CV": [ + { + "mcc": "706", + "mnc": "05" + } + ], + "Telefonica": [ + { + "mcc": "706", + "mnc": "04" + } + ], + "Telemovil": [ + { + "mcc": "706", + "mnc": "03" + } + ] + }, + "code": "sv", + "full": "El Salvador", + "prefix": "+503" + }, + { + "carriers": { + "United Telecommunications Services NV (UTS)": [ + { + "mcc": "362", + "mnc": "91" + } + ] + }, + "code": "bq", + "full": "Bonaire Sint Eustatius and Saba", + "prefix": "+" + }, + { + "carriers": { + "BREEZE": [ + { + "mcc": "540", + "mnc": "10" + }, + { + "mcc": "540", + "mnc": "01" + } + ], + "bemobile": [ + { + "mcc": "540", + "mnc": "02" + } + ] + }, + "code": "sb", + "full": "Solomon Islands", + "prefix": "+677" + }, + { + "carriers": { + "Sun Net": [ + { + "mcc": "467", + "mnc": "193" + } + ] + }, + "code": "kp", + "full": "Korea N. Dem. People's Rep.", + "prefix": "+850" + }, + { + "carriers": { + "China Mobile GSM": [ + { + "mcc": "460", + "mnc": "00" + }, + { + "mcc": "460", + "mnc": "07" + }, + { + "mcc": "460", + "mnc": "02" + } + ], + "China Space Mobile Satellite Telecommunications Co. Ltd (China Spacecom)": [ + { + "mcc": "460", + "mnc": "04" + } + ], + "China Telecom": [ + { + "mcc": "460", + "mnc": "5" + }, + { + "mcc": "460", + "mnc": "03" + } + ], + "China Unicom": [ + { + "mcc": "460", + "mnc": "6" + }, + { + "mcc": "460", + "mnc": "01" + } + ] + }, + "code": "cn", + "full": "China", + "prefix": "+86" + }, + { + "carriers": { + "Niue Telecom": [ + { + "mcc": "555", + "mnc": "01" + } + ] + }, + "code": "nu", + "full": "Niue", + "prefix": "+" + }, + { + "carriers": { + "Mascom Wireless (Pty) Ltd.": [ + { + "mcc": "652", + "mnc": "01" + } + ], + "Orange": [ + { + "mcc": "652", + "mnc": "02" + } + ], + "beMOBILE": [ + { + "mcc": "652", + "mnc": "04" + } + ] + }, + "code": "bw", + "full": "Botswana", + "prefix": "+267" + }, + { + "carriers": { + "Airtel/ZAIN/Econet": [ + { + "mcc": "621", + "mnc": "20" + } + ], + "ETISALAT": [ + { + "mcc": "621", + "mnc": "60" + } + ], + "Glo Mobile": [ + { + "mcc": "621", + "mnc": "50" + } + ], + "M-Tel/Nigeria Telecom. Ltd.": [ + { + "mcc": "621", + "mnc": "40" + } + ], + "MTN": [ + { + "mcc": "621", + "mnc": "30" + } + ], + "Starcomms": [ + { + "mcc": "621", + "mnc": "99" + } + ], + "Visafone": [ + { + "mcc": "621", + "mnc": "25" + }, + { + "mcc": "621", + "mnc": "01" + } + ] + }, + "code": "ng", + "full": "Nigeria", + "prefix": "+234" + }, + { + "carriers": { + "Cable & Wireless": [ + { + "mcc": "352", + "mnc": "110" + } + ], + "Digicel": [ + { + "mcc": "352", + "mnc": "030" + }, + { + "mcc": "352", + "mnc": "050" + } + ] + }, + "code": "gd", + "full": "Grenada", + "prefix": "+1473" + }, + { + "carriers": { + "Etihad/Etisalat/Mobily": [ + { + "mcc": "420", + "mnc": "03" + } + ], + "STC/Al Jawal": [ + { + "mcc": "420", + "mnc": "01" + } + ], + "Zain": [ + { + "mcc": "420", + "mnc": "7" + }, + { + "mcc": "420", + "mnc": "04" + } + ] + }, + "code": "sa", + "full": "Saudi Arabia", + "prefix": "+966" + }, + { + "carriers": { + "Cellink Plus": [ + { + "mcc": "738", + "mnc": "02" + } + ], + "DigiCel": [ + { + "mcc": "738", + "mnc": "01" + } + ] + }, + "code": "gy", + "full": "Guyana", + "prefix": "+592" + }, + { + "carriers": { + "Leo / Orascom": [ + { + "mcc": "649", + "mnc": "03" + } + ], + "MTC": [ + { + "mcc": "649", + "mnc": "01" + } + ], + "Switch/Nam. Telec.": [ + { + "mcc": "649", + "mnc": "02" + } + ] + }, + "code": "na", + "full": "Namibia", + "prefix": "+264" + }, + { + "carriers": { + "Avantel SAS": [ + { + "mcc": "732", + "mnc": "130" + } + ], + "Comcel S.A. Occel S.A./Celcaribe": [ + { + "mcc": "732", + "mnc": "101" + } + ], + "Edatel S.A.": [ + { + "mcc": "732", + "mnc": "002" + } + ], + "Movistar": [ + { + "mcc": "732", + "mnc": "102" + }, + { + "mcc": "732", + "mnc": "123" + } + ], + "TIGO/Colombia Movil": [ + { + "mcc": "732", + "mnc": "103" + }, + { + "mcc": "732", + "mnc": "001" + }, + { + "mcc": "732", + "mnc": "111" + } + ], + "UNE EPM Telecomunicaciones SA ESP": [ + { + "mcc": "732", + "mnc": "142" + }, + { + "mcc": "732", + "mnc": "020" + } + ], + "Virgin Mobile Colombia SAS": [ + { + "mcc": "732", + "mnc": "154" + } + ] + }, + "code": "co", + "full": "Colombia", + "prefix": "+57" + }, + { + "carriers": { + "Cable & Wireless": [ + { + "mcc": "338", + "mnc": "110" + }, + { + "mcc": "338", + "mnc": "020" + }, + { + "mcc": "338", + "mnc": "180" + } + ], + "DIGICEL/Mossel": [ + { + "mcc": "338", + "mnc": "050" + } + ] + }, + "code": "jm", + "full": "Jamaica", + "prefix": "+1876" + }, + { + "carriers": { + "DU": [ + { + "mcc": "424", + "mnc": "03" + } + ], + "Etisalat": [ + { + "mcc": "431", + "mnc": "02" + }, + { + "mcc": "430", + "mnc": "02" + }, + { + "mcc": "424", + "mnc": "02" + } + ] + }, + "code": "ae", + "full": "United Arab Emirates", + "prefix": "+971" + }, + { + "carriers": { + "Caribbean Cellular": [ + { + "mcc": "348", + "mnc": "570" + } + ], + "Digicel": [ + { + "mcc": "348", + "mnc": "770" + } + ], + "LIME": [ + { + "mcc": "348", + "mnc": "170" + } + ] + }, + "code": "vg", + "full": "British Virgin Islands", + "prefix": "+284" + }, + { + "carriers": { + "Access Telecom Ltd.": [ + { + "mcc": "272", + "mnc": "04" + } + ], + "Clever Communications Ltd": [ + { + "mcc": "272", + "mnc": "09" + } + ], + "H3G": [ + { + "mcc": "272", + "mnc": "05" + } + ], + "Liffey Telecom": [ + { + "mcc": "272", + "mnc": "11" + } + ], + "Lycamobile": [ + { + "mcc": "272", + "mnc": "13" + } + ], + "Meteor Mobile Ltd.": [ + { + "mcc": "272", + "mnc": "03" + } + ], + "O2/Digifone": [ + { + "mcc": "272", + "mnc": "02" + } + ], + "Vodafone Eircell": [ + { + "mcc": "272", + "mnc": "01" + } + ], + "eircom Ltd": [ + { + "mcc": "272", + "mnc": "07" + } + ] + }, + "code": "ie", + "full": "Ireland", + "prefix": "+353" + }, + { + "carriers": { + "Axis/Natrindo": [ + { + "mcc": "510", + "mnc": "08" + } + ], + "H3G CP": [ + { + "mcc": "510", + "mnc": "89" + } + ], + "Indosat/Satelindo/M3": [ + { + "mcc": "510", + "mnc": "21" + }, + { + "mcc": "510", + "mnc": "01" + } + ], + "PT Pasifik Satelit Nusantara (PSN)": [ + { + "mcc": "510", + "mnc": "0" + }, + { + "mcc": "510", + "mnc": "00" + } + ], + "PT Sampoerna Telekomunikasi Indonesia (STI)": [ + { + "mcc": "510", + "mnc": "27" + } + ], + "PT Smartfren Telecom Tbk": [ + { + "mcc": "510", + "mnc": "09" + }, + { + "mcc": "510", + "mnc": "28" + } + ], + "PT. Excelcom": [ + { + "mcc": "510", + "mnc": "11" + } + ], + "Telkomsel": [ + { + "mcc": "510", + "mnc": "10" + } + ] + }, + "code": "id", + "full": "Indonesia", + "prefix": "+62" + }, + { + "carriers": { + "Celcom": [ + { + "mcc": "618", + "mnc": "07" + }, + { + "mcc": "618", + "mnc": "03" + } + ], + "Comium BVI": [ + { + "mcc": "618", + "mnc": "04" + } + ], + "LibTelco": [ + { + "mcc": "618", + "mnc": "20" + } + ], + "Libercell": [ + { + "mcc": "618", + "mnc": "02" + } + ], + "Lonestar": [ + { + "mcc": "618", + "mnc": "01" + } + ] + }, + "code": "lr", + "full": "Liberia", + "prefix": "+231" + }, + { + "carriers": { + "Puerto Rico Telephone Company Inc. (PRTC)": [ + { + "mcc": "330", + "mnc": "11" + } + ] + }, + "code": "pr", + "full": "Puerto Rico", + "prefix": "+" + }, + { + "carriers": { + "Golis": [ + { + "mcc": "637", + "mnc": "30" + } + ], + "HorTel": [ + { + "mcc": "637", + "mnc": "19" + } + ], + "Nationlink": [ + { + "mcc": "637", + "mnc": "60" + }, + { + "mcc": "637", + "mnc": "10" + } + ], + "Somafone": [ + { + "mcc": "637", + "mnc": "4" + } + ], + "Telcom Mobile Somalia": [ + { + "mcc": "637", + "mnc": "82" + } + ], + "Telesom": [ + { + "mcc": "637", + "mnc": "01" + } + ] + }, + "code": "so", + "full": "Somalia", + "prefix": "+252" + }, + { + "carriers": { + "Malitel": [ + { + "mcc": "610", + "mnc": "01" + } + ], + "Orange/IKATEL": [ + { + "mcc": "610", + "mnc": "02" + } + ] + }, + "code": "ml", + "full": "Mali", + "prefix": "+223" + }, + { + "carriers": { + "T-Mobile/Cronet": [ + { + "mcc": "219", + "mnc": "01" + } + ], + "Tele2": [ + { + "mcc": "219", + "mnc": "02" + } + ], + "VIPnet d.o.o.": [ + { + "mcc": "219", + "mnc": "10" + } + ] + }, + "code": "hr", + "full": "Croatia", + "prefix": "+385" + }, + { + "carriers": { + "SERCOM": [ + { + "mcc": "704", + "mnc": "01" + } + ], + "TIGO/COMCEL": [ + { + "mcc": "704", + "mnc": "02" + } + ], + "Telefonica": [ + { + "mcc": "704", + "mnc": "03" + } + ] + }, + "code": "gt", + "full": "Guatemala", + "prefix": "+502" + }, + { + "carriers": { + "Debitel": [ + { + "mcc": "262", + "mnc": "n/a" + } + ], + "E-Plus": [ + { + "mcc": "262", + "mnc": "17" + }, + { + "mcc": "262", + "mnc": "03" + }, + { + "mcc": "262", + "mnc": "05" + }, + { + "mcc": "262", + "mnc": "77" + } + ], + "Group 3G UMTS": [ + { + "mcc": "262", + "mnc": "14" + } + ], + "Lycamobile": [ + { + "mcc": "262", + "mnc": "43" + } + ], + "Mobilcom": [ + { + "mcc": "262", + "mnc": "13" + } + ], + "O2": [ + { + "mcc": "262", + "mnc": "07" + }, + { + "mcc": "262", + "mnc": "11" + }, + { + "mcc": "262", + "mnc": "08" + }, + { + "mcc": "262", + "mnc": "10" + }, + { + "mcc": "262", + "mnc": "12" + } + ], + "Talkline": [ + { + "mcc": "262", + "mnc": "n/a" + } + ], + "Telekom/T-mobile": [ + { + "mcc": "262", + "mnc": "06" + }, + { + "mcc": "262", + "mnc": "01" + } + ], + "Telogic/ViStream": [ + { + "mcc": "262", + "mnc": "16" + } + ], + "Vodafone D2": [ + { + "mcc": "262", + "mnc": "04" + }, + { + "mcc": "262", + "mnc": "02" + }, + { + "mcc": "262", + "mnc": "09" + } + ] + }, + "code": "de", + "full": "Germany", + "prefix": "+49" + }, + { + "carriers": { + "CTS Mobile": [ + { + "mcc": "266", + "mnc": "06" + } + ], + "Gibtel GSM": [ + { + "mcc": "266", + "mnc": "01" + } + ], + "eazi telecom": [ + { + "mcc": "266", + "mnc": "09" + } + ] + }, + "code": "gi", + "full": "Gibraltar", + "prefix": "+350" + }, + { + "carriers": { + "AFONE SA": [ + { + "mcc": "208", + "mnc": "27" + } + ], + "Association Plate-forme Telecom": [ + { + "mcc": "208", + "mnc": "92" + } + ], + "Astrium": [ + { + "mcc": "208", + "mnc": "28" + } + ], + "Bouygues Telecom": [ + { + "mcc": "208", + "mnc": "88" + }, + { + "mcc": "208", + "mnc": "21" + }, + { + "mcc": "208", + "mnc": "20" + } + ], + "GlobalStar": [ + { + "mcc": "208", + "mnc": "05" + }, + { + "mcc": "208", + "mnc": "07" + }, + { + "mcc": "208", + "mnc": "06" + } + ], + "Lliad/FREE Mobile": [ + { + "mcc": "208", + "mnc": "14" + }, + { + "mcc": "208", + "mnc": "16" + }, + { + "mcc": "208", + "mnc": "15" + } + ], + "Lycamobile SARL": [ + { + "mcc": "208", + "mnc": "25" + } + ], + "MobiquiThings": [ + { + "mcc": "208", + "mnc": "24" + }, + { + "mcc": "208", + "mnc": "03" + } + ], + "Mundio Mobile (France) Ltd": [ + { + "mcc": "208", + "mnc": "31" + } + ], + "NRJ": [ + { + "mcc": "208", + "mnc": "26" + } + ], + "Omer/Virgin Mobile": [ + { + "mcc": "208", + "mnc": "89" + }, + { + "mcc": "208", + "mnc": "23" + } + ], + "Orange": [ + { + "mcc": "208", + "mnc": "29" + }, + { + "mcc": "208", + "mnc": "02" + }, + { + "mcc": "208", + "mnc": "01" + }, + { + "mcc": "208", + "mnc": "91" + } + ], + "S.F.R.": [ + { + "mcc": "208", + "mnc": "13" + }, + { + "mcc": "208", + "mnc": "11" + }, + { + "mcc": "208", + "mnc": "10" + }, + { + "mcc": "208", + "mnc": "09" + } + ], + "SISTEER": [ + { + "mcc": "208", + "mnc": "04" + } + ], + "Tel/Tel": [ + { + "mcc": "208", + "mnc": "00" + } + ], + "Transatel SA": [ + { + "mcc": "208", + "mnc": "22" + } + ] + }, + "code": "fr", + "full": "France", + "prefix": "+33" + }, + { + "carriers": { + "BT Italia SpA": [ + { + "mcc": "222", + "mnc": "34" + } + ], + "Elsacom": [ + { + "mcc": "222", + "mnc": "02" + } + ], + "Hi3G": [ + { + "mcc": "222", + "mnc": "99" + }, + { + "mcc": "222", + "mnc": "33" + } + ], + "IPSE 2000": [ + { + "mcc": "222", + "mnc": "77" + } + ], + "Lycamobile Srl": [ + { + "mcc": "222", + "mnc": "35" + } + ], + "Noverca Italia Srl": [ + { + "mcc": "222", + "mnc": "07" + } + ], + "RFI Rete Ferroviaria Italiana SpA": [ + { + "mcc": "222", + "mnc": "30" + } + ], + "TIM": [ + { + "mcc": "222", + "mnc": "01" + } + ], + "Telecom Italia Mobile SpA": [ + { + "mcc": "222", + "mnc": "48" + }, + { + "mcc": "222", + "mnc": "43" + } + ], + "Vodafone": [ + { + "mcc": "222", + "mnc": "10" + }, + { + "mcc": "222", + "mnc": "06" + } + ], + "WIND (Blu) -": [ + { + "mcc": "222", + "mnc": "44" + }, + { + "mcc": "222", + "mnc": "88" + } + ] + }, + "code": "it", + "full": "Italy", + "prefix": "+39" + }, + { + "carriers": { + "Benson Informatics Ltd": [ + { + "mcc": "640", + "mnc": "08" + } + ], + "Dovetel (T) Ltd": [ + { + "mcc": "640", + "mnc": "06" + } + ], + "ExcellentCom (T) Ltd": [ + { + "mcc": "640", + "mnc": "09" + } + ], + "Smile Communications Tanzania Ltd": [ + { + "mcc": "640", + "mnc": "11" + } + ], + "TIGO/MIC": [ + { + "mcc": "640", + "mnc": "02" + } + ], + "Tanzania Telecommunications Company Ltd (TTCL)": [ + { + "mcc": "640", + "mnc": "07" + } + ], + "Tri Telecomm. Ltd.": [ + { + "mcc": "640", + "mnc": "1" + } + ], + "Vodacom Ltd": [ + { + "mcc": "640", + "mnc": "04" + } + ], + "ZAIN/Celtel": [ + { + "mcc": "640", + "mnc": "05" + } + ], + "Zantel/Zanzibar Telecom": [ + { + "mcc": "640", + "mnc": "03" + } + ] + }, + "code": "tz", + "full": "Tanzania", + "prefix": "+255" + }, + { + "carriers": { + "Myanmar Post & Teleco.": [ + { + "mcc": "414", + "mnc": "01" + } + ] + }, + "code": "mm", + "full": "Burma/Myanmar", + "prefix": "+95" + }, + { + "carriers": { + "Barash Communication": [ + { + "mcc": "438", + "mnc": "01" + } + ], + "TM-Cell": [ + { + "mcc": "438", + "mnc": "02" + } + ] + }, + "code": "tm", + "full": "Turkmenistan", + "prefix": "+993" + }, + { + "carriers": { + "Eventis Mobile": [ + { + "mcc": "259", + "mnc": "04" + } + ], + "IDC/Unite": [ + { + "mcc": "259", + "mnc": "99" + }, + { + "mcc": "259", + "mnc": "05" + }, + { + "mcc": "259", + "mnc": "03" + } + ], + "Moldcell": [ + { + "mcc": "259", + "mnc": "02" + } + ], + "Orange/Voxtel": [ + { + "mcc": "259", + "mnc": "01" + } + ] + }, + "code": "md", + "full": "Moldova", + "prefix": "+373" + }, + { + "carriers": { + "CTT - Correios de Portugal SA": [ + { + "mcc": "268", + "mnc": "04" + } + ], + "Optimus": [ + { + "mcc": "268", + "mnc": "03" + }, + { + "mcc": "268", + "mnc": "07" + } + ], + "TMN": [ + { + "mcc": "268", + "mnc": "06" + } + ], + "Vodafone": [ + { + "mcc": "268", + "mnc": "01" + } + ] + }, + "code": "pt", + "full": "Portugal", + "prefix": "+351" + }, + { + "carriers": { + "Astelit/LIFE": [ + { + "mcc": "255", + "mnc": "06" + } + ], + "Beeline": [ + { + "mcc": "255", + "mnc": "02" + }, + { + "mcc": "255", + "mnc": "68" + } + ], + "Golden Telecom": [ + { + "mcc": "255", + "mnc": "05" + }, + { + "mcc": "255", + "mnc": "39" + } + ], + "Intertelecom Ltd (IT)": [ + { + "mcc": "255", + "mnc": "04" + } + ], + "KyivStar": [ + { + "mcc": "255", + "mnc": "67" + }, + { + "mcc": "255", + "mnc": "03" + } + ], + "Telesystems Of Ukraine CJSC (TSU)": [ + { + "mcc": "255", + "mnc": "21" + } + ], + "TriMob LLC": [ + { + "mcc": "255", + "mnc": "07" + } + ], + "UMC/MTS": [ + { + "mcc": "255", + "mnc": "50" + }, + { + "mcc": "255", + "mnc": "01" + } + ] + }, + "code": "ua", + "full": "Ukraine", + "prefix": "+380" + }, + { + "carriers": { + "Instaphone": [ + { + "mcc": "410", + "mnc": "08" + } + ], + "Mobilink": [ + { + "mcc": "410", + "mnc": "01" + } + ], + "Telenor": [ + { + "mcc": "410", + "mnc": "06" + } + ], + "UFONE/PAKTel": [ + { + "mcc": "410", + "mnc": "03" + } + ], + "Warid Telecom": [ + { + "mcc": "410", + "mnc": "07" + } + ], + "ZONG/CMPak": [ + { + "mcc": "410", + "mnc": "04" + } + ] + }, + "code": "pk", + "full": "Pakistan", + "prefix": "+92" + }, + { + "carriers": { + "Qtel": [ + { + "mcc": "427", + "mnc": "01" + } + ], + "Vodafone": [ + { + "mcc": "427", + "mnc": "02" + } + ] + }, + "code": "qa", + "full": "Qatar", + "prefix": "+974" + }, + { + "carriers": { + "ACeS Taiwan - ACeS Taiwan Telecommunications Co Ltd": [ + { + "mcc": "466", + "mnc": "68" + } + ], + "Asia Pacific Telecom Co. Ltd (APT)": [ + { + "mcc": "466", + "mnc": "05" + } + ], + "Chunghwa Telecom LDM": [ + { + "mcc": "466", + "mnc": "11" + }, + { + "mcc": "466", + "mnc": "92" + } + ], + "Far EasTone": [ + { + "mcc": "466", + "mnc": "02" + }, + { + "mcc": "466", + "mnc": "01" + }, + { + "mcc": "466", + "mnc": "07" + }, + { + "mcc": "466", + "mnc": "06" + }, + { + "mcc": "466", + "mnc": "03" + } + ], + "Global Mobile Corp.": [ + { + "mcc": "466", + "mnc": "10" + } + ], + "International Telecom Co. Ltd (FITEL)": [ + { + "mcc": "466", + "mnc": "56" + } + ], + "KG Telecom": [ + { + "mcc": "466", + "mnc": "88" + } + ], + "Mobitai": [ + { + "mcc": "466", + "mnc": "93" + } + ], + "Taiwan Cellular": [ + { + "mcc": "466", + "mnc": "97" + } + ], + "TransAsia": [ + { + "mcc": "466", + "mnc": "99" + } + ], + "VIBO": [ + { + "mcc": "466", + "mnc": "89" + } + ], + "VMAX Telecom Co. Ltd": [ + { + "mcc": "466", + "mnc": "09" + } + ] + }, + "code": "tw", + "full": "Taiwan", + "prefix": "+886" + }, + { + "carriers": { + "MTCE": [ + { + "mcc": "432", + "mnc": "70" + } + ], + "MTN/IranCell": [ + { + "mcc": "432", + "mnc": "35" + } + ], + "Mobile Telecommunications Company of Esfahan JV-PJS (MTCE)": [ + { + "mcc": "432", + "mnc": "19" + } + ], + "TCI / MCI": [ + { + "mcc": "432", + "mnc": "11" + } + ], + "TKC/KFZO": [ + { + "mcc": "432", + "mnc": "14" + } + ], + "Taliya": [ + { + "mcc": "432", + "mnc": "32" + } + ] + }, + "code": "ir", + "full": "Iran", + "prefix": "+98" + }, + { + "carriers": { + "8.ta": [ + { + "mcc": "655", + "mnc": "02" + } + ], + "Cape Town Metropolitan": [ + { + "mcc": "655", + "mnc": "21" + } + ], + "Cell C": [ + { + "mcc": "655", + "mnc": "07" + } + ], + "MTN": [ + { + "mcc": "655", + "mnc": "12" + }, + { + "mcc": "655", + "mnc": "10" + } + ], + "Sentech": [ + { + "mcc": "655", + "mnc": "06" + } + ], + "Vodacom": [ + { + "mcc": "655", + "mnc": "01" + } + ], + "Wireless Business Solutions (Pty) Ltd": [ + { + "mcc": "655", + "mnc": "19" + } + ] + }, + "code": "za", + "full": "South Africa", + "prefix": "+27" + }, + { + "carriers": { + "AAPT Ltd.": [ + { + "mcc": "505", + "mnc": "14" + } + ], + "Advanced Comm Tech Pty.": [ + { + "mcc": "505", + "mnc": "24" + } + ], + "Airnet Commercial Australia Ltd..": [ + { + "mcc": "505", + "mnc": "09" + } + ], + "Department of Defense": [ + { + "mcc": "505", + "mnc": "04" + } + ], + "Dialogue Communications Pty Ltd": [ + { + "mcc": "505", + "mnc": "26" + } + ], + "H3G Ltd.": [ + { + "mcc": "505", + "mnc": "12" + }, + { + "mcc": "505", + "mnc": "06" + } + ], + "Localstar Holding Pty. Ltd": [ + { + "mcc": "505", + "mnc": "88" + } + ], + "Lycamobile Pty Ltd": [ + { + "mcc": "505", + "mnc": "19" + } + ], + "Railcorp/Vodafone": [ + { + "mcc": "505", + "mnc": "08" + }, + { + "mcc": "505", + "mnc": "99" + }, + { + "mcc": "505", + "mnc": "13" + } + ], + "Singtel Optus": [ + { + "mcc": "505", + "mnc": "90" + }, + { + "mcc": "505", + "mnc": "02" + } + ], + "Telstra Corp. Ltd.": [ + { + "mcc": "505", + "mnc": "01" + }, + { + "mcc": "505", + "mnc": "11" + }, + { + "mcc": "505", + "mnc": "71" + }, + { + "mcc": "505", + "mnc": "72" + } + ], + "The Ozitel Network Pty.": [ + { + "mcc": "505", + "mnc": "05" + } + ], + "Victorian Rail Track Corp. (VicTrack)": [ + { + "mcc": "505", + "mnc": "16" + } + ], + "Vodafone": [ + { + "mcc": "505", + "mnc": "07" + }, + { + "mcc": "505", + "mnc": "03" + } + ] + }, + "code": "au", + "full": "Australia", + "prefix": "+61" + }, + { + "carriers": { + "Jawwal": [ + { + "mcc": "425", + "mnc": "05" + } + ], + "Wataniya Mobile": [ + { + "mcc": "425", + "mnc": "06" + } + ] + }, + "code": "ps", + "full": "Palestinian Territory", + "prefix": "+970" + }, + { + "carriers": { + "Bell Benin/BBCOM": [ + { + "mcc": "616", + "mnc": "04" + } + ], + "Etisalat/MOOV": [ + { + "mcc": "616", + "mnc": "02" + } + ], + "GloMobile": [ + { + "mcc": "616", + "mnc": "5" + } + ], + "Libercom": [ + { + "mcc": "616", + "mnc": "01" + } + ], + "MTN/Spacetel": [ + { + "mcc": "616", + "mnc": "03" + } + ] + }, + "code": "bj", + "full": "Benin", + "prefix": "+229" + }, + { + "carriers": { + "BTC Mobile EOOD (vivatel)": [ + { + "mcc": "284", + "mnc": "06" + }, + { + "mcc": "284", + "mnc": "03" + } + ], + "Cosmo Mobile EAD/Globul": [ + { + "mcc": "284", + "mnc": "05" + } + ], + "MobilTel AD": [ + { + "mcc": "284", + "mnc": "01" + } + ] + }, + "code": "bg", + "full": "Bulgaria", + "prefix": "+359" + }, + { + "carriers": { + "Digicel": [ + { + "mcc": "708", + "mnc": "040" + } + ], + "HonduTel": [ + { + "mcc": "708", + "mnc": "030" + } + ], + "SERCOM/CLARO": [ + { + "mcc": "708", + "mnc": "001" + } + ], + "Telefonica/CELTEL": [ + { + "mcc": "708", + "mnc": "002" + } + ] + }, + "code": "hn", + "full": "Honduras", + "prefix": "+504" + }, + { + "carriers": { + "Blue Two Chile SA": [ + { + "mcc": "730", + "mnc": "06" + } + ], + "Celupago SA": [ + { + "mcc": "730", + "mnc": "11" + } + ], + "Cibeles Telecom SA": [ + { + "mcc": "730", + "mnc": "15" + } + ], + "Claro": [ + { + "mcc": "730", + "mnc": "03" + } + ], + "Entel PCS": [ + { + "mcc": "730", + "mnc": "10" + } + ], + "Entel Telefonia Mov": [ + { + "mcc": "730", + "mnc": "1" + } + ], + "Netline Telefonica Movil Ltda": [ + { + "mcc": "730", + "mnc": "14" + } + ], + "Nextel SA": [ + { + "mcc": "730", + "mnc": "09" + }, + { + "mcc": "730", + "mnc": "05" + }, + { + "mcc": "730", + "mnc": "04" + } + ], + "TELEFONICA": [ + { + "mcc": "730", + "mnc": "02" + }, + { + "mcc": "730", + "mnc": "07" + } + ], + "TESAM SA": [ + { + "mcc": "730", + "mnc": "00" + } + ], + "Telestar Movil SA": [ + { + "mcc": "730", + "mnc": "12" + } + ], + "Tribe Mobile SPA": [ + { + "mcc": "730", + "mnc": "13" + } + ], + "VTR Banda Ancha SA": [ + { + "mcc": "730", + "mnc": "08" + } + ] + }, + "code": "cl", + "full": "Chile", + "prefix": "+56" + }, + { + "carriers": { + "Mobiland": [ + { + "mcc": "213", + "mnc": "03" + } + ] + }, + "code": "ad", + "full": "Andorra", + "prefix": "+376" + }, + { + "carriers": { + "Base/KPN": [ + { + "mcc": "206", + "mnc": "20" + } + ], + "Belgacom/Proximus": [ + { + "mcc": "206", + "mnc": "01" + } + ], + "Mobistar/Orange": [ + { + "mcc": "206", + "mnc": "10" + } + ], + "SNCT/NMBS": [ + { + "mcc": "206", + "mnc": "02" + } + ], + "Telenet BidCo NV": [ + { + "mcc": "206", + "mnc": "05" + } + ] + }, + "code": "be", + "full": "Belgium", + "prefix": "+32" + }, + { + "carriers": { + "Azur/Usan S.A.": [ + { + "mcc": "628", + "mnc": "04" + } + ], + "Libertis S.A.": [ + { + "mcc": "628", + "mnc": "01" + } + ], + "MOOV/Telecel": [ + { + "mcc": "628", + "mnc": "02" + } + ], + "ZAIN/Celtel Gabon S.A.": [ + { + "mcc": "628", + "mnc": "03" + } + ] + }, + "code": "ga", + "full": "Gabon", + "prefix": "+241" + }, + { + "carriers": { + "Cable & Wireless": [ + { + "mcc": "354", + "mnc": "860" + } + ] + }, + "code": "ms", + "full": "Montserrat", + "prefix": "+1664" + }, + { + "carriers": { + "BC Tel Mobility": [ + { + "mcc": "302", + "mnc": "652" + } + ], + "Bell Aliant": [ + { + "mcc": "302", + "mnc": "630" + } + ], + "Bell Mobility": [ + { + "mcc": "302", + "mnc": "651" + }, + { + "mcc": "302", + "mnc": "610" + } + ], + "CityWest Mobility": [ + { + "mcc": "302", + "mnc": "670" + } + ], + "Clearnet": [ + { + "mcc": "302", + "mnc": "360" + }, + { + "mcc": "302", + "mnc": "361" + } + ], + "DMTS Mobility": [ + { + "mcc": "302", + "mnc": "380" + } + ], + "FIDO (Rogers AT&T/ Microcell)": [ + { + "mcc": "302", + "mnc": "370" + } + ], + "Globalstar Canada": [ + { + "mcc": "302", + "mnc": "710" + } + ], + "Latitude Wireless": [ + { + "mcc": "302", + "mnc": "640" + } + ], + "MT&T Mobility": [ + { + "mcc": "302", + "mnc": "702" + } + ], + "MTS Mobility": [ + { + "mcc": "302", + "mnc": "655" + }, + { + "mcc": "302", + "mnc": "660" + } + ], + "NB Tel Mobility": [ + { + "mcc": "302", + "mnc": "701" + } + ], + "New Tel Mobility": [ + { + "mcc": "302", + "mnc": "703" + } + ], + "Public Mobile": [ + { + "mcc": "302", + "mnc": "760" + } + ], + "Quebectel Mobility": [ + { + "mcc": "302", + "mnc": "657" + } + ], + "Rogers AT&T Wireless": [ + { + "mcc": "302", + "mnc": "720" + } + ], + "Sask Tel Mobility": [ + { + "mcc": "302", + "mnc": "654" + }, + { + "mcc": "302", + "mnc": "680" + } + ], + "Tbay Mobility": [ + { + "mcc": "302", + "mnc": "656" + } + ], + "Telus Mobility": [ + { + "mcc": "302", + "mnc": "220" + }, + { + "mcc": "302", + "mnc": "653" + } + ], + "Videotron": [ + { + "mcc": "302", + "mnc": "500" + } + ], + "WIND": [ + { + "mcc": "302", + "mnc": "490" + } + ], + "mobilicity": [ + { + "mcc": "302", + "mnc": "320" + } + ] + }, + "code": "ca", + "full": "Canada", + "prefix": "+1" + }, + { + "carriers": { + "AMD Telecom.": [ + { + "mcc": "260", + "mnc": "18" + } + ], + "Aero2 SP.": [ + { + "mcc": "260", + "mnc": "17" + } + ], + "CallFreedom Sp. z o.o.": [ + { + "mcc": "260", + "mnc": "38" + } + ], + "Cyfrowy POLSAT S.A.": [ + { + "mcc": "260", + "mnc": "12" + } + ], + "Lycamobile": [ + { + "mcc": "260", + "mnc": "09" + } + ], + "Mobyland": [ + { + "mcc": "260", + "mnc": "16" + } + ], + "Mundio Mobile Sp. z o.o.": [ + { + "mcc": "260", + "mnc": "36" + } + ], + "NORDISK Polska": [ + { + "mcc": "260", + "mnc": "11" + } + ], + "Orange/IDEA/Centertel": [ + { + "mcc": "260", + "mnc": "05" + }, + { + "mcc": "260", + "mnc": "03" + } + ], + "PKP Polskie Linie Kolejowe S.A.": [ + { + "mcc": "260", + "mnc": "35" + } + ], + "Play/P4": [ + { + "mcc": "260", + "mnc": "07" + }, + { + "mcc": "260", + "mnc": "98" + }, + { + "mcc": "260", + "mnc": "06" + } + ], + "Polkomtel/Plus": [ + { + "mcc": "260", + "mnc": "01" + } + ], + "Sferia": [ + { + "mcc": "260", + "mnc": "10" + }, + { + "mcc": "260", + "mnc": "14" + }, + { + "mcc": "260", + "mnc": "13" + } + ], + "T-Mobile/ERA": [ + { + "mcc": "260", + "mnc": "34" + }, + { + "mcc": "260", + "mnc": "02" + } + ], + "Tele2": [ + { + "mcc": "260", + "mnc": "15" + }, + { + "mcc": "260", + "mnc": "04" + } + ], + "e-Telko": [ + { + "mcc": "260", + "mnc": "08" + } + ] + }, + "code": "pl", + "full": "Poland", + "prefix": "+48" + }, + { + "carriers": { + "Asia Cell": [ + { + "mcc": "418", + "mnc": "05" + } + ], + "Itisaluna and Kalemat": [ + { + "mcc": "418", + "mnc": "92" + } + ], + "Korek": [ + { + "mcc": "418", + "mnc": "82" + }, + { + "mcc": "418", + "mnc": "40" + } + ], + "Mobitel (Iraq-Kurdistan) and Moutiny": [ + { + "mcc": "418", + "mnc": "45" + } + ], + "Orascom Telecom": [ + { + "mcc": "418", + "mnc": "30" + } + ], + "Sanatel": [ + { + "mcc": "418", + "mnc": "8" + } + ], + "ZAIN/Atheer": [ + { + "mcc": "418", + "mnc": "20" + } + ] + }, + "code": "iq", + "full": "Iraq", + "prefix": "+964" + }, + { + "carriers": { + "Airtel Congo SA": [ + { + "mcc": "629", + "mnc": "01" + } + ], + "MTN/Libertis": [ + { + "mcc": "629", + "mnc": "10" + } + ], + "Warid": [ + { + "mcc": "629", + "mnc": "07" + } + ], + "Zain/Celtel": [ + { + "mcc": "629", + "mnc": "2" + } + ] + }, + "code": "cg", + "full": "Congo Republic", + "prefix": "+242" + }, + { + "carriers": { + "Blue Sky Communications": [ + { + "mcc": "544", + "mnc": "11" + } + ] + }, + "code": "as", + "full": "American Samoa", + "prefix": "+684" + }, + { + "carriers": { + "Econet": [ + { + "mcc": "648", + "mnc": "04" + } + ], + "Net One": [ + { + "mcc": "648", + "mnc": "01" + } + ], + "Telecel": [ + { + "mcc": "648", + "mnc": "03" + } + ] + }, + "code": "zw", + "full": "Zimbabwe", + "prefix": "+263" + }, + { + "carriers": { + "Chinguitel SA": [ + { + "mcc": "609", + "mnc": "02" + } + ], + "Mattel": [ + { + "mcc": "609", + "mnc": "01" + } + ], + "Mauritel": [ + { + "mcc": "609", + "mnc": "10" + } + ] + }, + "code": "mr", + "full": "Mauritania", + "prefix": "+222" + }, + { + "carriers": { + "Expresso Ghana Ltd": [ + { + "mcc": "620", + "mnc": "04" + } + ], + "GloMobile": [ + { + "mcc": "620", + "mnc": "07" + } + ], + "MTN": [ + { + "mcc": "620", + "mnc": "01" + } + ], + "Milicom/Tigo": [ + { + "mcc": "620", + "mnc": "03" + } + ], + "Vodafone": [ + { + "mcc": "620", + "mnc": "02" + } + ], + "ZAIN": [ + { + "mcc": "620", + "mnc": "06" + } + ] + }, + "code": "gh", + "full": "Ghana", + "prefix": "+233" + }, + { + "carriers": { + "AirTel": [ + { + "mcc": "405", + "mnc": "55" + }, + { + "mcc": "405", + "mnc": "53" + }, + { + "mcc": "405", + "mnc": "51" + } + ], + "Aircel": [ + { + "mcc": "404", + "mnc": "29" + }, + { + "mcc": "404", + "mnc": "28" + }, + { + "mcc": "404", + "mnc": "25" + }, + { + "mcc": "404", + "mnc": "17" + }, + { + "mcc": "404", + "mnc": "42" + }, + { + "mcc": "404", + "mnc": "33" + } + ], + "Aircel Digilink India": [ + { + "mcc": "404", + "mnc": "1" + }, + { + "mcc": "404", + "mnc": "15" + }, + { + "mcc": "404", + "mnc": "60" + } + ], + "Airtel (Bharati Mobile) - Assam": [ + { + "mcc": "405", + "mnc": "56" + } + ], + "BSNL": [ + { + "mcc": "404", + "mnc": "58" + }, + { + "mcc": "404", + "mnc": "81" + }, + { + "mcc": "404", + "mnc": "74" + }, + { + "mcc": "404", + "mnc": "38" + }, + { + "mcc": "404", + "mnc": "57" + }, + { + "mcc": "404", + "mnc": "80" + }, + { + "mcc": "404", + "mnc": "73" + }, + { + "mcc": "404", + "mnc": "34" + }, + { + "mcc": "404", + "mnc": "66" + }, + { + "mcc": "404", + "mnc": "55" + }, + { + "mcc": "404", + "mnc": "72" + }, + { + "mcc": "404", + "mnc": "77" + }, + { + "mcc": "404", + "mnc": "64" + }, + { + "mcc": "404", + "mnc": "54" + }, + { + "mcc": "404", + "mnc": "71" + }, + { + "mcc": "404", + "mnc": "76" + }, + { + "mcc": "404", + "mnc": "53" + }, + { + "mcc": "404", + "mnc": "62" + }, + { + "mcc": "404", + "mnc": "59" + }, + { + "mcc": "404", + "mnc": "75" + }, + { + "mcc": "404", + "mnc": "51" + } + ], + "Barakhamba Sales & Serv.": [ + { + "mcc": "404", + "mnc": "86" + }, + { + "mcc": "404", + "mnc": "13" + } + ], + "Bharti Airtel Limited (Delhi)": [ + { + "mcc": "405", + "mnc": "10" + } + ], + "CellOne A&N": [ + { + "mcc": "404", + "mnc": "79" + } + ], + "Escorts Telecom Ltd.": [ + { + "mcc": "404", + "mnc": "89" + }, + { + "mcc": "404", + "mnc": "88" + }, + { + "mcc": "404", + "mnc": "87" + }, + { + "mcc": "404", + "mnc": "82" + } + ], + "Escotel Mobile Communications": [ + { + "mcc": "404", + "mnc": "12" + }, + { + "mcc": "404", + "mnc": "19" + }, + { + "mcc": "404", + "mnc": "56" + } + ], + "Fascel": [ + { + "mcc": "404", + "mnc": "5" + } + ], + "Fascel Limited": [ + { + "mcc": "405", + "mnc": "5" + } + ], + "Hexacom India": [ + { + "mcc": "404", + "mnc": "70" + } + ], + "Hexcom India": [ + { + "mcc": "404", + "mnc": "16" + } + ], + "Idea Cellular Ltd.": [ + { + "mcc": "404", + "mnc": "4" + }, + { + "mcc": "404", + "mnc": "24" + }, + { + "mcc": "404", + "mnc": "22" + }, + { + "mcc": "404", + "mnc": "78" + }, + { + "mcc": "404", + "mnc": "7" + } + ], + "Mahanagar Telephone Nigam": [ + { + "mcc": "404", + "mnc": "69" + }, + { + "mcc": "404", + "mnc": "68" + } + ], + "RELIANCE TELECOM": [ + { + "mcc": "405", + "mnc": "9" + } + ], + "RPG Cellular": [ + { + "mcc": "404", + "mnc": "41" + } + ], + "Reliable Internet Services": [ + { + "mcc": "404", + "mnc": "83" + } + ], + "Reliance Telecom Private": [ + { + "mcc": "404", + "mnc": "36" + }, + { + "mcc": "404", + "mnc": "52" + }, + { + "mcc": "404", + "mnc": "50" + }, + { + "mcc": "404", + "mnc": "67" + }, + { + "mcc": "404", + "mnc": "18" + }, + { + "mcc": "404", + "mnc": "85" + }, + { + "mcc": "404", + "mnc": "9" + } + ], + "Spice": [ + { + "mcc": "404", + "mnc": "14" + }, + { + "mcc": "404", + "mnc": "44" + } + ], + "Sterling Cellular Ltd.": [ + { + "mcc": "404", + "mnc": "11" + } + ], + "Usha Martin Telecom": [ + { + "mcc": "404", + "mnc": "30" + } + ] + }, + "code": "in", + "full": "India", + "prefix": "+91" + }, + { + "carriers": { + "Cable & Wireless": [ + { + "mcc": "356", + "mnc": "110" + } + ], + "Digicel": [ + { + "mcc": "356", + "mnc": "50" + } + ], + "UTS Cariglobe": [ + { + "mcc": "356", + "mnc": "70" + } + ] + }, + "code": "kn", + "full": "Saint Kitts and Nevis", + "prefix": "+1869" + }, + { + "carriers": { + "42 Telecom AB": [ + { + "mcc": "240", + "mnc": "35" + }, + { + "mcc": "240", + "mnc": "16" + } + ], + "Beepsend": [ + { + "mcc": "240", + "mnc": "26" + } + ], + "Compatel": [ + { + "mcc": "240", + "mnc": "00" + } + ], + "CoolTEL Aps": [ + { + "mcc": "240", + "mnc": "28" + } + ], + "Digitel Mobile Srl": [ + { + "mcc": "240", + "mnc": "25" + } + ], + "EUTel": [ + { + "mcc": "240", + "mnc": "00" + } + ], + "Eu Tel AB": [ + { + "mcc": "240", + "mnc": "22" + } + ], + "Fogg Mobile AB": [ + { + "mcc": "240", + "mnc": "27" + } + ], + "Generic Mobile Systems Sweden AB": [ + { + "mcc": "240", + "mnc": "18" + } + ], + "Gotalandsnatet AB": [ + { + "mcc": "240", + "mnc": "17" + } + ], + "H3G Access AB": [ + { + "mcc": "240", + "mnc": "02" + }, + { + "mcc": "240", + "mnc": "04" + } + ], + "ID Mobile": [ + { + "mcc": "240", + "mnc": "36" + } + ], + "Infobip Ltd.": [ + { + "mcc": "240", + "mnc": "23" + } + ], + "Lindholmen Science Park AB": [ + { + "mcc": "240", + "mnc": "11" + } + ], + "Lycamobile Ltd": [ + { + "mcc": "240", + "mnc": "12" + } + ], + "Mercury International Carrier Services": [ + { + "mcc": "240", + "mnc": "29" + } + ], + "Orange": [ + { + "mcc": "240", + "mnc": "03" + } + ], + "Spring Mobil AB": [ + { + "mcc": "240", + "mnc": "10" + } + ], + "TDC Sverige AB": [ + { + "mcc": "240", + "mnc": "14" + } + ], + "Tele2 Sverige AB": [ + { + "mcc": "240", + "mnc": "07" + }, + { + "mcc": "240", + "mnc": "05" + }, + { + "mcc": "240", + "mnc": "24" + } + ], + "Telenor (Vodafone)": [ + { + "mcc": "240", + "mnc": "24" + }, + { + "mcc": "240", + "mnc": "08" + }, + { + "mcc": "240", + "mnc": "04" + }, + { + "mcc": "240", + "mnc": "06" + } + ], + "Telenor Mobile Sverige AS": [ + { + "mcc": "240", + "mnc": "09" + } + ], + "Telia Mobile": [ + { + "mcc": "240", + "mnc": "05" + }, + { + "mcc": "240", + "mnc": "01" + } + ], + "Timepiece Servicos De Consultoria LDA (Universal Telecom)": [ + { + "mcc": "240", + "mnc": "08" + } + ], + "Ventelo Sverige AB": [ + { + "mcc": "240", + "mnc": "13" + } + ], + "Wireless Maingate AB": [ + { + "mcc": "240", + "mnc": "20" + } + ], + "Wireless Maingate Nordic AB": [ + { + "mcc": "240", + "mnc": "15" + } + ] + }, + "code": "se", + "full": "Sweden", + "prefix": "+46" + }, + { + "carriers": { + "Telecom Cook Islands": [ + { + "mcc": "548", + "mnc": "01" + } + ] + }, + "code": "ck", + "full": "Cook Islands", + "prefix": "+682" + }, + { + "carriers": { + "Claro": [ + { + "mcc": "710", + "mnc": "73" + } + ], + "Empresa Nicaraguense de Telecomunicaciones SA (ENITEL)": [ + { + "mcc": "710", + "mnc": "21" + } + ], + "Movistar": [ + { + "mcc": "710", + "mnc": "30" + } + ] + }, + "code": "ni", + "full": "Nicaragua", + "prefix": "+505" + }, + { + "carriers": { + "C & W BET Ltd.": [ + { + "mcc": "342", + "mnc": "600" + } + ], + "Cingular Wireless": [ + { + "mcc": "342", + "mnc": "810" + } + ], + "Digicel": [ + { + "mcc": "342", + "mnc": "750" + }, + { + "mcc": "342", + "mnc": "050" + } + ], + "Sunbeach": [ + { + "mcc": "342", + "mnc": "820" + } + ] + }, + "code": "bb", + "full": "Barbados", + "prefix": "+1246" + }, + { + "carriers": { + "ArmenTel/Beeline": [ + { + "mcc": "283", + "mnc": "01" + } + ], + "Karabakh Telecom": [ + { + "mcc": "283", + "mnc": "4" + } + ], + "Orange": [ + { + "mcc": "283", + "mnc": "10" + } + ], + "Vivacell": [ + { + "mcc": "283", + "mnc": "05" + } + ] + }, + "code": "am", + "full": "Armenia", + "prefix": "+374" + }, + { + "carriers": { + "EMS - Mobinil": [ + { + "mcc": "602", + "mnc": "01" + } + ], + "ETISALAT": [ + { + "mcc": "602", + "mnc": "03" + } + ], + "Vodafone (Misrfone Telecom)": [ + { + "mcc": "602", + "mnc": "02" + } + ] + }, + "code": "eg", + "full": "Egypt", + "prefix": "+20" + }, + { + "carriers": { + "FSM Telecom": [ + { + "mcc": "550", + "mnc": "01" + } + ] + }, + "code": "fm", + "full": "Micronesia", + "prefix": "+691" + }, + { + "carriers": { + "TNM/Telekom Network Ltd.": [ + { + "mcc": "650", + "mnc": "01" + } + ], + "Zain/Celtel ltd.": [ + { + "mcc": "650", + "mnc": "10" + } + ] + }, + "code": "mw", + "full": "Malawi", + "prefix": "+265" + }, + { + "carriers": { + "Palau Mobile Corp. (PMC) (Palau": [ + { + "mcc": "552", + "mnc": "80" + } + ], + "Palau National Communications Corp. (PNCC) (Palau": [ + { + "mcc": "552", + "mnc": "01" + } + ] + }, + "code": "pw", + "full": "Palau (Republic of)", + "prefix": "+" + }, + { + "carriers": { + "KDDI Corporation": [ + { + "mcc": "440", + "mnc": "74" + }, + { + "mcc": "440", + "mnc": "70" + }, + { + "mcc": "440", + "mnc": "89" + }, + { + "mcc": "440", + "mnc": "51" + }, + { + "mcc": "440", + "mnc": "75" + }, + { + "mcc": "440", + "mnc": "56" + }, + { + "mcc": "441", + "mnc": "70" + }, + { + "mcc": "440", + "mnc": "52" + }, + { + "mcc": "440", + "mnc": "76" + }, + { + "mcc": "440", + "mnc": "71" + }, + { + "mcc": "440", + "mnc": "53" + }, + { + "mcc": "440", + "mnc": "77" + }, + { + "mcc": "440", + "mnc": "08" + }, + { + "mcc": "440", + "mnc": "72" + }, + { + "mcc": "440", + "mnc": "54" + }, + { + "mcc": "440", + "mnc": "79" + }, + { + "mcc": "440", + "mnc": "07" + }, + { + "mcc": "440", + "mnc": "73" + }, + { + "mcc": "440", + "mnc": "55" + }, + { + "mcc": "440", + "mnc": "88" + }, + { + "mcc": "440", + "mnc": "50" + }, + { + "mcc": "440", + "mnc": "85" + }, + { + "mcc": "440", + "mnc": "83" + }, + { + "mcc": "440", + "mnc": "81" + }, + { + "mcc": "440", + "mnc": "80" + }, + { + "mcc": "440", + "mnc": "86" + }, + { + "mcc": "440", + "mnc": "84" + }, + { + "mcc": "440", + "mnc": "82" + } + ], + "NTT Docomo": [ + { + "mcc": "440", + "mnc": "21" + }, + { + "mcc": "441", + "mnc": "44" + }, + { + "mcc": "440", + "mnc": "13" + }, + { + "mcc": "440", + "mnc": "23" + }, + { + "mcc": "440", + "mnc": "16" + }, + { + "mcc": "441", + "mnc": "99" + }, + { + "mcc": "440", + "mnc": "34" + }, + { + "mcc": "440", + "mnc": "69" + }, + { + "mcc": "440", + "mnc": "64" + }, + { + "mcc": "440", + "mnc": "37" + }, + { + "mcc": "440", + "mnc": "25" + }, + { + "mcc": "440", + "mnc": "22" + }, + { + "mcc": "441", + "mnc": "43" + }, + { + "mcc": "440", + "mnc": "27" + }, + { + "mcc": "440", + "mnc": "02" + }, + { + "mcc": "440", + "mnc": "17" + }, + { + "mcc": "440", + "mnc": "31" + }, + { + "mcc": "440", + "mnc": "87" + }, + { + "mcc": "440", + "mnc": "65" + }, + { + "mcc": "440", + "mnc": "36" + }, + { + "mcc": "441", + "mnc": "92" + }, + { + "mcc": "440", + "mnc": "12" + }, + { + "mcc": "440", + "mnc": "58" + }, + { + "mcc": "440", + "mnc": "28" + }, + { + "mcc": "440", + "mnc": "03" + }, + { + "mcc": "440", + "mnc": "18" + }, + { + "mcc": "441", + "mnc": "91" + }, + { + "mcc": "440", + "mnc": "32" + }, + { + "mcc": "440", + "mnc": "61" + }, + { + "mcc": "440", + "mnc": "66" + }, + { + "mcc": "440", + "mnc": "35" + }, + { + "mcc": "441", + "mnc": "93" + }, + { + "mcc": "441", + "mnc": "40" + }, + { + "mcc": "440", + "mnc": "49" + }, + { + "mcc": "440", + "mnc": "29" + }, + { + "mcc": "440", + "mnc": "09" + }, + { + "mcc": "440", + "mnc": "19" + }, + { + "mcc": "441", + "mnc": "90" + }, + { + "mcc": "440", + "mnc": "33" + }, + { + "mcc": "440", + "mnc": "60" + }, + { + "mcc": "440", + "mnc": "14" + }, + { + "mcc": "441", + "mnc": "94" + }, + { + "mcc": "441", + "mnc": "41" + }, + { + "mcc": "440", + "mnc": "67" + }, + { + "mcc": "440", + "mnc": "62" + }, + { + "mcc": "440", + "mnc": "01" + }, + { + "mcc": "440", + "mnc": "39" + }, + { + "mcc": "440", + "mnc": "30" + }, + { + "mcc": "440", + "mnc": "10" + }, + { + "mcc": "440", + "mnc": "20" + }, + { + "mcc": "441", + "mnc": "45" + }, + { + "mcc": "440", + "mnc": "24" + }, + { + "mcc": "440", + "mnc": "15" + }, + { + "mcc": "441", + "mnc": "98" + }, + { + "mcc": "441", + "mnc": "42" + }, + { + "mcc": "440", + "mnc": "68" + }, + { + "mcc": "440", + "mnc": "63" + }, + { + "mcc": "440", + "mnc": "38" + }, + { + "mcc": "440", + "mnc": "26" + }, + { + "mcc": "440", + "mnc": "11" + }, + { + "mcc": "440", + "mnc": "99" + } + ], + "Okinawa Cellular Telephone": [ + { + "mcc": "440", + "mnc": "78" + } + ], + "SoftBank Mobile Corp": [ + { + "mcc": "440", + "mnc": "47" + }, + { + "mcc": "440", + "mnc": "95" + }, + { + "mcc": "440", + "mnc": "41" + }, + { + "mcc": "441", + "mnc": "64" + }, + { + "mcc": "440", + "mnc": "46" + }, + { + "mcc": "440", + "mnc": "97" + }, + { + "mcc": "440", + "mnc": "42" + }, + { + "mcc": "441", + "mnc": "65" + }, + { + "mcc": "440", + "mnc": "90" + }, + { + "mcc": "440", + "mnc": "92" + }, + { + "mcc": "440", + "mnc": "98" + }, + { + "mcc": "440", + "mnc": "43" + }, + { + "mcc": "440", + "mnc": "48" + }, + { + "mcc": "440", + "mnc": "93" + }, + { + "mcc": "440", + "mnc": "06" + }, + { + "mcc": "441", + "mnc": "61" + }, + { + "mcc": "440", + "mnc": "44" + }, + { + "mcc": "440", + "mnc": "04" + }, + { + "mcc": "440", + "mnc": "94" + }, + { + "mcc": "441", + "mnc": "62" + }, + { + "mcc": "440", + "mnc": "45" + }, + { + "mcc": "440", + "mnc": "40" + }, + { + "mcc": "440", + "mnc": "96" + }, + { + "mcc": "441", + "mnc": "63" + } + ], + "eMobile": [ + { + "mcc": "440", + "mnc": "0" + } + ] + }, + "code": "jp", + "full": "Japan", + "prefix": "+81" + }, + { + "carriers": { + "Batelco": [ + { + "mcc": "426", + "mnc": "01" + } + ], + "MTC Vodafone": [ + { + "mcc": "426", + "mnc": "02" + } + ], + "VIVA": [ + { + "mcc": "426", + "mnc": "04" + } + ] + }, + "code": "bh", + "full": "Bahrain", + "prefix": "+973" + }, + { + "carriers": { + "Airtel Rwanda Ltd": [ + { + "mcc": "635", + "mnc": "14" + } + ], + "MTN/Rwandacell": [ + { + "mcc": "635", + "mnc": "10" + } + ], + "TIGO": [ + { + "mcc": "635", + "mnc": "13" + } + ] + }, + "code": "rw", + "full": "Rwanda", + "prefix": "+250" + }, + { + "carriers": { + "ETL Mobile": [ + { + "mcc": "457", + "mnc": "02" + } + ], + "Lao Tel": [ + { + "mcc": "457", + "mnc": "01" + } + ], + "Tigo/Millicom": [ + { + "mcc": "457", + "mnc": "08" + } + ], + "UNITEL/LAT": [ + { + "mcc": "457", + "mnc": "03" + } + ] + }, + "code": "la", + "full": "Laos P.D.R.", + "prefix": "+856" + }, + { + "carriers": { + "Alon Cellular Ltd": [ + { + "mcc": "425", + "mnc": "14" + } + ], + "Cellcom ltd.": [ + { + "mcc": "425", + "mnc": "02" + } + ], + "Golan Telekom": [ + { + "mcc": "425", + "mnc": "08" + } + ], + "Home Cellular Ltd": [ + { + "mcc": "425", + "mnc": "15" + } + ], + "Hot Mobile/Mirs": [ + { + "mcc": "425", + "mnc": "77" + }, + { + "mcc": "425", + "mnc": "07" + } + ], + "Orange/Partner Co. Ltd.": [ + { + "mcc": "425", + "mnc": "01" + } + ], + "Pelephone": [ + { + "mcc": "425", + "mnc": "03" + } + ], + "Rami Levy Hashikma Marketing Communications Ltd": [ + { + "mcc": "425", + "mnc": "16" + } + ] + }, + "code": "il", + "full": "Israel", + "prefix": "+972" + }, + { + "carriers": { + "TelCell NV (Sint Maarten": [ + { + "mcc": "362", + "mnc": "51" + } + ], + "UTS St. Maarten (Sint Maarten": [ + { + "mcc": "362", + "mnc": "91" + } + ] + }, + "code": "sx", + "full": "Sint Maarten (Dutch part)", + "prefix": "+" + }, + { + "carriers": { + "EMT GSM": [ + { + "mcc": "248", + "mnc": "01" + } + ], + "Radiolinja Eesti": [ + { + "mcc": "248", + "mnc": "02" + } + ], + "Tele2 Eesti AS": [ + { + "mcc": "248", + "mnc": "03" + } + ], + "Top Connect OU": [ + { + "mcc": "248", + "mnc": "04" + } + ] + }, + "code": "ee", + "full": "Estonia", + "prefix": "+372" + }, + { + "carriers": { + "Cable & Wireless": [ + { + "mcc": "358", + "mnc": "110" + } + ], + "Cingular Wireless": [ + { + "mcc": "358", + "mnc": "30" + } + ], + "Digicel (St Lucia) Limited": [ + { + "mcc": "358", + "mnc": "50" + } + ] + }, + "code": "lc", + "full": "Saint Lucia", + "prefix": "+1758" + }, + { + "carriers": { + "Ameris": [ + { + "mcc": "308", + "mnc": "01" + } + ] + }, + "code": "pm", + "full": "St. Pierre & Miquelon", + "prefix": "+508" + }, + { + "carriers": { + "MTN": [ + { + "mcc": "624", + "mnc": "01" + } + ], + "Orange": [ + { + "mcc": "624", + "mnc": "02" + } + ] + }, + "code": "cm", + "full": "Cameroon", + "prefix": "+237" + }, + { + "carriers": { + "Djibouti Telecom SA (Evatis)": [ + { + "mcc": "638", + "mnc": "01" + } + ] + }, + "code": "dj", + "full": "Djibouti", + "prefix": "+253" + }, + { + "carriers": { + "Comcel": [ + { + "mcc": "372", + "mnc": "01" + } + ], + "Digicel": [ + { + "mcc": "372", + "mnc": "02" + } + ], + "National Telecom SA (NatCom)": [ + { + "mcc": "372", + "mnc": "03" + } + ] + }, + "code": "ht", + "full": "Haiti", + "prefix": "+509" + }, + { + "carriers": { + "Geocell Ltd.": [ + { + "mcc": "282", + "mnc": "01" + } + ], + "Iberiatel Ltd.": [ + { + "mcc": "282", + "mnc": "3" + } + ], + "Magti GSM Ltd.": [ + { + "mcc": "282", + "mnc": "02" + } + ], + "MobiTel/Beeline": [ + { + "mcc": "282", + "mnc": "04" + } + ], + "Silknet": [ + { + "mcc": "282", + "mnc": "0" + } + ] + }, + "code": "ge", + "full": "Georgia", + "prefix": "+995" + }, + { + "carriers": { + "Alands": [ + { + "mcc": "244", + "mnc": "14" + } + ], + "Compatel Ltd": [ + { + "mcc": "244", + "mnc": "26" + } + ], + "DNA/Finnet": [ + { + "mcc": "244", + "mnc": "13" + }, + { + "mcc": "244", + "mnc": "12" + }, + { + "mcc": "244", + "mnc": "04" + }, + { + "mcc": "244", + "mnc": "03" + } + ], + "Elisa/Saunalahti": [ + { + "mcc": "244", + "mnc": "21" + }, + { + "mcc": "244", + "mnc": "05" + } + ], + "ID-Mobile": [ + { + "mcc": "244", + "mnc": "82" + } + ], + "Mundio Mobile (Finland) Ltd": [ + { + "mcc": "244", + "mnc": "11" + } + ], + "Nokia Oyj": [ + { + "mcc": "244", + "mnc": "09" + } + ], + "TDC Oy Finland": [ + { + "mcc": "244", + "mnc": "10" + } + ], + "TeliaSonera": [ + { + "mcc": "244", + "mnc": "91" + } + ] + }, + "code": "fi", + "full": "Finland", + "prefix": "+358" + }, + { + "carriers": { + "Movitel": [ + { + "mcc": "643", + "mnc": "03" + } + ], + "Vodacom Sarl": [ + { + "mcc": "643", + "mnc": "04" + } + ], + "mCel": [ + { + "mcc": "643", + "mnc": "01" + } + ] + }, + "code": "mz", + "full": "Mozambique", + "prefix": "+258" + }, + { + "carriers": { + "Bite": [ + { + "mcc": "246", + "mnc": "02" + } + ], + "Omnitel": [ + { + "mcc": "246", + "mnc": "01" + } + ], + "Tele2": [ + { + "mcc": "246", + "mnc": "03" + } + ] + }, + "code": "lt", + "full": "Lithuania", + "prefix": "+370" + }, + { + "carriers": { + "Airtel/Warid": [ + { + "mcc": "470", + "mnc": "07" + } + ], + "Citycell": [ + { + "mcc": "470", + "mnc": "05" + }, + { + "mcc": "470", + "mnc": "06" + } + ], + "GrameenPhone": [ + { + "mcc": "470", + "mnc": "01" + } + ], + "Orascom": [ + { + "mcc": "470", + "mnc": "03" + } + ], + "Robi/Aktel": [ + { + "mcc": "470", + "mnc": "02" + } + ], + "TeleTalk": [ + { + "mcc": "470", + "mnc": "04" + } + ] + }, + "code": "bd", + "full": "Bangladesh", + "prefix": "+880" + }, + { + "carriers": { + "Alpmobile/Tele2": [ + { + "mcc": "295", + "mnc": "77" + } + ], + "CUBIC (Liechtenstein": [ + { + "mcc": "295", + "mnc": "06" + } + ], + "First Mobile AG": [ + { + "mcc": "295", + "mnc": "07" + } + ], + "Mobilkom AG": [ + { + "mcc": "295", + "mnc": "05" + } + ], + "Orange": [ + { + "mcc": "295", + "mnc": "02" + } + ], + "Swisscom FL AG": [ + { + "mcc": "295", + "mnc": "01" + } + ] + }, + "code": "li", + "full": "Liechtenstein", + "prefix": "+423" + }, + { + "carriers": { + "AT&T Wireless Inc.": [ + { + "mcc": "310", + "mnc": "380" + }, + { + "mcc": "310", + "mnc": "170" + }, + { + "mcc": "310", + "mnc": "150" + }, + { + "mcc": "310", + "mnc": "680" + }, + { + "mcc": "310", + "mnc": "070" + }, + { + "mcc": "310", + "mnc": "560" + }, + { + "mcc": "310", + "mnc": "410" + }, + { + "mcc": "310", + "mnc": "980" + } + ], + "Aeris Comm. Inc.": [ + { + "mcc": "310", + "mnc": "850" + } + ], + "Airtel Wireless LLC": [ + { + "mcc": "310", + "mnc": "510" + } + ], + "Allied Wireless Communications Corporation": [ + { + "mcc": "312", + "mnc": "090" + } + ], + "Americell PA3 LP": [ + { + "mcc": "311", + "mnc": "030" + } + ], + "Arctic Slope Telephone Association Cooperative Inc.": [ + { + "mcc": "310", + "mnc": "710" + } + ], + "Bluegrass Wireless LLC": [ + { + "mcc": "311", + "mnc": "440" + }, + { + "mcc": "311", + "mnc": "810" + }, + { + "mcc": "311", + "mnc": "800" + } + ], + "Cable & Communications Corp.": [ + { + "mcc": "310", + "mnc": "900" + } + ], + "California RSA No. 3 Limited Partnership": [ + { + "mcc": "311", + "mnc": "590" + } + ], + "Cambridge Telephone Company Inc.": [ + { + "mcc": "311", + "mnc": "500" + } + ], + "Caprock Cellular Ltd.": [ + { + "mcc": "310", + "mnc": "830" + } + ], + "Cellular Network Partnership LLC": [ + { + "mcc": "312", + "mnc": "280" + }, + { + "mcc": "312", + "mnc": "270" + }, + { + "mcc": "310", + "mnc": "360" + } + ], + "Cellular South Licenses Inc.": [ + { + "mcc": "310", + "mnc": "230" + } + ], + "Choice Phone LLC": [ + { + "mcc": "311", + "mnc": "120" + }, + { + "mcc": "310", + "mnc": "480" + } + ], + "Cincinnati Bell Wireless LLC": [ + { + "mcc": "310", + "mnc": "420" + } + ], + "Cingular Wireless": [ + { + "mcc": "310", + "mnc": "180" + } + ], + "Coleman County Telco /Trans TX": [ + { + "mcc": "310", + "mnc": "620" + } + ], + "Consolidated Telcom": [ + { + "mcc": "310", + "mnc": "6" + }, + { + "mcc": "310", + "mnc": "60" + } + ], + "Cross Valliant Cellular Partnership": [ + { + "mcc": "310", + "mnc": "700" + } + ], + "Cross Wireless Telephone Co.": [ + { + "mcc": "311", + "mnc": "140" + }, + { + "mcc": "312", + "mnc": "030" + } + ], + "Cumberland Cellular Partnership": [ + { + "mcc": "311", + "mnc": "810" + }, + { + "mcc": "311", + "mnc": "800" + }, + { + "mcc": "311", + "mnc": "440" + } + ], + "Custer Telephone Cooperative Inc.": [ + { + "mcc": "312", + "mnc": "040" + } + ], + "Denali Spectrum License LLC": [ + { + "mcc": "310", + "mnc": "016" + } + ], + "Dobson Cellular Systems": [ + { + "mcc": "310", + "mnc": "440" + } + ], + "E.N.M.R. Telephone Coop.": [ + { + "mcc": "310", + "mnc": "990" + } + ], + "East Kentucky Network LLC": [ + { + "mcc": "312", + "mnc": "130" + }, + { + "mcc": "312", + "mnc": "120" + }, + { + "mcc": "310", + "mnc": "750" + } + ], + "Edge Wireless LLC": [ + { + "mcc": "310", + "mnc": "9" + }, + { + "mcc": "310", + "mnc": "090" + } + ], + "Elkhart TelCo. / Epic Touch Co.": [ + { + "mcc": "310", + "mnc": "610" + } + ], + "Farmers": [ + { + "mcc": "311", + "mnc": "311" + } + ], + "Fisher Wireless Services Inc.": [ + { + "mcc": "311", + "mnc": "460" + } + ], + "GCI Communication Corp.": [ + { + "mcc": "311", + "mnc": "370" + }, + { + "mcc": "310", + "mnc": "430" + } + ], + "Get Mobile Inc.": [ + { + "mcc": "310", + "mnc": "920" + } + ], + "Illinois Valley Cellular RSA 2 Partnership": [ + { + "mcc": "311", + "mnc": "340" + } + ], + "Iowa RSA No. 2 Limited Partnership": [ + { + "mcc": "312", + "mnc": "170" + }, + { + "mcc": "311", + "mnc": "410" + } + ], + "Iowa Wireless Services LLC": [ + { + "mcc": "310", + "mnc": "770" + } + ], + "Jasper": [ + { + "mcc": "310", + "mnc": "650" + } + ], + "Kaplan Telephone Company Inc.": [ + { + "mcc": "310", + "mnc": "870" + } + ], + "Kentucky RSA #3 Cellular General Partnership": [ + { + "mcc": "311", + "mnc": "810" + }, + { + "mcc": "311", + "mnc": "800" + }, + { + "mcc": "311", + "mnc": "440" + } + ], + "Kentucky RSA #4 Cellular General Partnership": [ + { + "mcc": "311", + "mnc": "440" + }, + { + "mcc": "311", + "mnc": "810" + }, + { + "mcc": "311", + "mnc": "800" + } + ], + "Keystone Wireless LLC": [ + { + "mcc": "312", + "mnc": "180" + }, + { + "mcc": "310", + "mnc": "690" + } + ], + "LCW Wireless Operations LLC": [ + { + "mcc": "310", + "mnc": "016" + } + ], + "Lamar County Cellular": [ + { + "mcc": "311", + "mnc": "310" + } + ], + "Leap Wireless International Inc.": [ + { + "mcc": "310", + "mnc": "016" + } + ], + "MTPCS LLC": [ + { + "mcc": "310", + "mnc": "570" + } + ], + "Matanuska Tel. Assn. Inc.": [ + { + "mcc": "310", + "mnc": "040" + } + ], + "Message Express Co. / Airlink PCS": [ + { + "mcc": "310", + "mnc": "780" + } + ], + "Michigan Wireless LLC": [ + { + "mcc": "311", + "mnc": "330" + } + ], + "Minnesota South. Wirel. Co. / Hickory": [ + { + "mcc": "310", + "mnc": "400" + } + ], + "Missouri RSA No 5 Partnership": [ + { + "mcc": "312", + "mnc": "010" + }, + { + "mcc": "311", + "mnc": "920" + }, + { + "mcc": "311", + "mnc": "020" + }, + { + "mcc": "311", + "mnc": "010" + }, + { + "mcc": "312", + "mnc": "220" + } + ], + "Mohave Cellular LP": [ + { + "mcc": "310", + "mnc": "350" + } + ], + "NEP Cellcorp Inc.": [ + { + "mcc": "310", + "mnc": "290" + } + ], + "Nevada Wireless LLC": [ + { + "mcc": "310", + "mnc": "34" + } + ], + "New-Cell Inc.": [ + { + "mcc": "310", + "mnc": "600" + } + ], + "Nexus Communications Inc.": [ + { + "mcc": "311", + "mnc": "300" + } + ], + "North Carolina RSA 3 Cellular Tel. Co.": [ + { + "mcc": "310", + "mnc": "130" + } + ], + "North Dakota Network Company": [ + { + "mcc": "312", + "mnc": "230" + }, + { + "mcc": "311", + "mnc": "610" + } + ], + "Northeast Colorado Cellular Inc.": [ + { + "mcc": "310", + "mnc": "450" + } + ], + "Northeast Wireless Networks LLC": [ + { + "mcc": "311", + "mnc": "710" + } + ], + "Northstar": [ + { + "mcc": "310", + "mnc": "670" + }, + { + "mcc": "310", + "mnc": "011" + } + ], + "Northwest Missouri Cellular Limited Partnership": [ + { + "mcc": "311", + "mnc": "420" + } + ], + "PCS ONE": [ + { + "mcc": "310", + "mnc": "580" + } + ], + "Panhandle Telephone Cooperative Inc.": [ + { + "mcc": "310", + "mnc": "760" + } + ], + "PetroCom": [ + { + "mcc": "311", + "mnc": "170" + } + ], + "Pine Belt Cellular Inc.": [ + { + "mcc": "311", + "mnc": "670" + } + ], + "Plateau Telecommunications Inc.": [ + { + "mcc": "310", + "mnc": "100" + } + ], + "Poka Lambro Telco Ltd.": [ + { + "mcc": "310", + "mnc": "940" + } + ], + "Public Service Cellular Inc.": [ + { + "mcc": "310", + "mnc": "500" + } + ], + "RSA 1 Limited Partnership": [ + { + "mcc": "312", + "mnc": "160" + }, + { + "mcc": "311", + "mnc": "430" + } + ], + "SIMMETRY": [ + { + "mcc": "310", + "mnc": "46" + } + ], + "SLO Cellular Inc / Cellular One of San Luis": [ + { + "mcc": "311", + "mnc": "260" + } + ], + "Sagebrush Cellular Inc.": [ + { + "mcc": "311", + "mnc": "350" + } + ], + "Sagir Inc.": [ + { + "mcc": "311", + "mnc": "030" + } + ], + "Smith Bagley Inc.": [ + { + "mcc": "310", + "mnc": "320" + } + ], + "Southern Communications Services Inc.": [ + { + "mcc": "316", + "mnc": "011" + } + ], + "Sprint Spectrum": [ + { + "mcc": "310", + "mnc": "2" + }, + { + "mcc": "312", + "mnc": "190" + }, + { + "mcc": "311", + "mnc": "880" + }, + { + "mcc": "311", + "mnc": "870" + }, + { + "mcc": "311", + "mnc": "490" + }, + { + "mcc": "310", + "mnc": "120" + }, + { + "mcc": "316", + "mnc": "010" + } + ], + "T-Mobile": [ + { + "mcc": "310", + "mnc": "31" + }, + { + "mcc": "310", + "mnc": "220" + }, + { + "mcc": "310", + "mnc": "270" + }, + { + "mcc": "310", + "mnc": "210" + }, + { + "mcc": "310", + "mnc": "260" + }, + { + "mcc": "310", + "mnc": "200" + }, + { + "mcc": "310", + "mnc": "250" + }, + { + "mcc": "310", + "mnc": "160" + }, + { + "mcc": "310", + "mnc": "240" + }, + { + "mcc": "310", + "mnc": "660" + }, + { + "mcc": "310", + "mnc": "230" + }, + { + "mcc": "310", + "mnc": "300" + }, + { + "mcc": "310", + "mnc": "280" + }, + { + "mcc": "310", + "mnc": "330" + }, + { + "mcc": "310", + "mnc": "800" + }, + { + "mcc": "310", + "mnc": "310" + } + ], + "TMP Corporation": [ + { + "mcc": "310", + "mnc": "460" + } + ], + "Telemetrix Inc.": [ + { + "mcc": "310", + "mnc": "740" + } + ], + "Testing": [ + { + "mcc": "310", + "mnc": "14" + } + ], + "Texas RSA 15B2 Limited Partnership": [ + { + "mcc": "310", + "mnc": "860" + } + ], + "Thumb Cellular Limited Partnership": [ + { + "mcc": "311", + "mnc": "830" + }, + { + "mcc": "311", + "mnc": "050" + } + ], + "Triton PCS": [ + { + "mcc": "310", + "mnc": "490" + } + ], + "USA 3650 AT&T": [ + { + "mcc": "310", + "mnc": "38" + } + ], + "Uintah Basin Electronics Telecommunications Inc.": [ + { + "mcc": "312", + "mnc": "290" + }, + { + "mcc": "311", + "mnc": "860" + }, + { + "mcc": "310", + "mnc": "960" + } + ], + "Union Telephone Co.": [ + { + "mcc": "310", + "mnc": "020" + } + ], + "United States Cellular Corp.": [ + { + "mcc": "311", + "mnc": "220" + }, + { + "mcc": "310", + "mnc": "730" + } + ], + "United Wireless Communications Inc.": [ + { + "mcc": "311", + "mnc": "650" + } + ], + "Unknown": [ + { + "mcc": "310", + "mnc": "190" + }, + { + "mcc": "310", + "mnc": "8" + }, + { + "mcc": "310", + "mnc": "07" + }, + { + "mcc": "310", + "mnc": "15" + }, + { + "mcc": "310", + "mnc": "950" + }, + { + "mcc": "310", + "mnc": "3" + }, + { + "mcc": "310", + "mnc": "23" + }, + { + "mcc": "310", + "mnc": "24" + }, + { + "mcc": "310", + "mnc": "25" + }, + { + "mcc": "310", + "mnc": "26" + } + ], + "VeriSign": [ + { + "mcc": "310", + "mnc": "520" + } + ], + "Verizon Wireless": [ + { + "mcc": "311", + "mnc": "272" + }, + { + "mcc": "311", + "mnc": "288" + }, + { + "mcc": "311", + "mnc": "277" + }, + { + "mcc": "311", + "mnc": "482" + }, + { + "mcc": "310", + "mnc": "590" + }, + { + "mcc": "311", + "mnc": "282" + }, + { + "mcc": "311", + "mnc": "487" + }, + { + "mcc": "311", + "mnc": "271" + }, + { + "mcc": "311", + "mnc": "287" + }, + { + "mcc": "311", + "mnc": "276" + }, + { + "mcc": "311", + "mnc": "481" + }, + { + "mcc": "310", + "mnc": "013" + }, + { + "mcc": "311", + "mnc": "281" + }, + { + "mcc": "311", + "mnc": "486" + }, + { + "mcc": "311", + "mnc": "270" + }, + { + "mcc": "311", + "mnc": "286" + }, + { + "mcc": "311", + "mnc": "275" + }, + { + "mcc": "311", + "mnc": "480" + }, + { + "mcc": "310", + "mnc": "012" + }, + { + "mcc": "311", + "mnc": "280" + }, + { + "mcc": "311", + "mnc": "485" + }, + { + "mcc": "311", + "mnc": "110" + }, + { + "mcc": "311", + "mnc": "285" + }, + { + "mcc": "311", + "mnc": "274" + }, + { + "mcc": "311", + "mnc": "390" + }, + { + "mcc": "310", + "mnc": "010" + }, + { + "mcc": "311", + "mnc": "279" + }, + { + "mcc": "311", + "mnc": "484" + }, + { + "mcc": "310", + "mnc": "910" + }, + { + "mcc": "311", + "mnc": "284" + }, + { + "mcc": "311", + "mnc": "489" + }, + { + "mcc": "311", + "mnc": "273" + }, + { + "mcc": "311", + "mnc": "289" + }, + { + "mcc": "310", + "mnc": "004" + }, + { + "mcc": "311", + "mnc": "278" + }, + { + "mcc": "311", + "mnc": "483" + }, + { + "mcc": "310", + "mnc": "890" + }, + { + "mcc": "311", + "mnc": "283" + }, + { + "mcc": "311", + "mnc": "488" + } + ], + "West Virginia Wireless": [ + { + "mcc": "310", + "mnc": "530" + } + ], + "Westlink Communications LLC": [ + { + "mcc": "310", + "mnc": "340" + } + ], + "Wisconsin RSA #7 Limited Partnership": [ + { + "mcc": "311", + "mnc": "070" + } + ], + "Yorkville Telephone Cooperative": [ + { + "mcc": "310", + "mnc": "390" + } + ], + "i CAN_GSM": [ + { + "mcc": "311", + "mnc": "250" + } + ] + }, + "code": "us", + "full": "United States", + "prefix": "+1" + }, + { + "carriers": { + "CV Movel": [ + { + "mcc": "625", + "mnc": "01" + } + ], + "T+ Telecom": [ + { + "mcc": "625", + "mnc": "02" + } + ] + }, + "code": "cv", + "full": "Cape Verde", + "prefix": "+238" + }, + { + "carriers": { + "A-Mobile": [ + { + "mcc": "289", + "mnc": "88" + }, + { + "mcc": "289", + "mnc": "68" + } + ], + "Aquafon": [ + { + "mcc": "289", + "mnc": "67" + } + ] + }, + "code": "ab", + "full": "Abkhazia", + "prefix": "+7" + }, + { + "carriers": { + "2degrees": [ + { + "mcc": "530", + "mnc": "28" + } + ], + "NZ Telecom CDMA": [ + { + "mcc": "530", + "mnc": "2" + } + ], + "Telecom Mobile Ltd": [ + { + "mcc": "530", + "mnc": "05" + } + ], + "Telstra": [ + { + "mcc": "530", + "mnc": "4" + } + ], + "Two Degrees Mobile Ltd": [ + { + "mcc": "530", + "mnc": "24" + } + ], + "Vodafone": [ + { + "mcc": "530", + "mnc": "01" + } + ], + "Walker Wireless Ltd.": [ + { + "mcc": "530", + "mnc": "3" + } + ] + }, + "code": "nz", + "full": "New Zealand", + "prefix": "+64" + }, + { + "carriers": { + "Cambodia Advance Communications Co. Ltd (CADCOMMS)": [ + { + "mcc": "456", + "mnc": "04" + } + ], + "Hello/Malaysia Telcom": [ + { + "mcc": "456", + "mnc": "02" + } + ], + "MFone/Camshin": [ + { + "mcc": "456", + "mnc": "18" + } + ], + "Metfone": [ + { + "mcc": "456", + "mnc": "08" + } + ], + "Mobitel/Cam GSM": [ + { + "mcc": "456", + "mnc": "01" + } + ], + "QB/Cambodia Adv. Comms.": [ + { + "mcc": "456", + "mnc": "03" + } + ], + "Smart Mobile": [ + { + "mcc": "456", + "mnc": "05" + }, + { + "mcc": "456", + "mnc": "06" + } + ], + "Sotelco Ltd (Beeline Cambodia)": [ + { + "mcc": "456", + "mnc": "09" + } + ] + }, + "code": "kh", + "full": "Cambodia", + "prefix": "+855" + }, + { + "carriers": { + "GuineTel": [ + { + "mcc": "632", + "mnc": "0" + }, + { + "mcc": "632", + "mnc": "01" + } + ], + "Orange": [ + { + "mcc": "632", + "mnc": "03" + } + ], + "SpaceTel": [ + { + "mcc": "632", + "mnc": "02" + } + ] + }, + "code": "gw", + "full": "Guinea-Bissau", + "prefix": "+245" + }, + { + "carriers": { + "HITS/Y Unitel": [ + { + "mcc": "421", + "mnc": "04" + } + ], + "MTN/Spacetel": [ + { + "mcc": "421", + "mnc": "02" + } + ], + "Sabaphone": [ + { + "mcc": "421", + "mnc": "01" + } + ], + "Yemen Mob. CDMA": [ + { + "mcc": "421", + "mnc": "03" + } + ] + }, + "code": "ye", + "full": "Yemen", + "prefix": "+967" + }, + { + "carriers": { + "Edge Mobile Sp/F": [ + { + "mcc": "288", + "mnc": "03" + } + ], + "Faroese Telecom": [ + { + "mcc": "288", + "mnc": "01" + } + ], + "Kall GSM": [ + { + "mcc": "288", + "mnc": "02" + } + ] + }, + "code": "fo", + "full": "Faroe Islands", + "prefix": "+298" + }, + { + "carriers": { + "Digicel": [ + { + "mcc": "363", + "mnc": "20" + } + ], + "Setar GSM": [ + { + "mcc": "363", + "mnc": "01" + } + ] + }, + "code": "aw", + "full": "Aruba", + "prefix": "+297" + }, + { + "carriers": { + "A1 MobilKom": [ + { + "mcc": "232", + "mnc": "02" + }, + { + "mcc": "232", + "mnc": "11" + }, + { + "mcc": "232", + "mnc": "09" + }, + { + "mcc": "232", + "mnc": "01" + } + ], + "Fix Line": [ + { + "mcc": "232", + "mnc": "00" + } + ], + "H3G": [ + { + "mcc": "232", + "mnc": "10" + }, + { + "mcc": "232", + "mnc": "14" + } + ], + "Orange/One Connect": [ + { + "mcc": "232", + "mnc": "12" + }, + { + "mcc": "232", + "mnc": "06" + }, + { + "mcc": "232", + "mnc": "05" + } + ], + "T-Mobile/Telering": [ + { + "mcc": "232", + "mnc": "15" + }, + { + "mcc": "232", + "mnc": "04" + }, + { + "mcc": "232", + "mnc": "03" + }, + { + "mcc": "232", + "mnc": "07" + } + ], + "Telefonica": [ + { + "mcc": "232", + "mnc": "08" + } + ] + }, + "code": "at", + "full": "Austria", + "prefix": "+43" + }, + { + "carriers": { + "Cable and Wireless South Atlantic Ltd (Falkland Islands": [ + { + "mcc": "750", + "mnc": "001" + } + ] + }, + "code": "fk", + "full": "Falkland Islands (Malvinas)", + "prefix": "+" + }, + { + "carriers": { + "Viva": [ + { + "mcc": "419", + "mnc": "04" + } + ], + "Wantaniya": [ + { + "mcc": "419", + "mnc": "03" + } + ], + "Zain": [ + { + "mcc": "419", + "mnc": "02" + } + ] + }, + "code": "kw", + "full": "Kuwait", + "prefix": "+965" + }, + { + "carriers": { + "MADACOM": [ + { + "mcc": "646", + "mnc": "01" + } + ], + "Orange/Soci": [ + { + "mcc": "646", + "mnc": "02" + } + ], + "Sacel": [ + { + "mcc": "646", + "mnc": "03" + } + ], + "Telma": [ + { + "mcc": "646", + "mnc": "04" + } + ] + }, + "code": "mg", + "full": "Madagascar", + "prefix": "+261" + }, + { + "carriers": { + "Swazi MTN": [ + { + "mcc": "653", + "mnc": "10" + } + ], + "SwaziTelecom": [ + { + "mcc": "653", + "mnc": "01" + } + ] + }, + "code": "sz", + "full": "Swaziland", + "prefix": "+268" + }, + { + "carriers": { + "Babilon-M": [ + { + "mcc": "436", + "mnc": "04" + } + ], + "Bee Line": [ + { + "mcc": "436", + "mnc": "05" + } + ], + "CJSC Indigo Tajikistan": [ + { + "mcc": "436", + "mnc": "02" + } + ], + "MLT/TT mobile": [ + { + "mcc": "436", + "mnc": "03" + } + ], + "Tcell/JC Somoncom": [ + { + "mcc": "436", + "mnc": "12" + }, + { + "mcc": "436", + "mnc": "01" + } + ] + }, + "code": "tj", + "full": "Tajikistan", + "prefix": "+992" + }, + { + "carriers": { + "Afghan Telecom Corp. (AT)": [ + { + "mcc": "412", + "mnc": "88" + }, + { + "mcc": "412", + "mnc": "80" + } + ], + "Afghan Wireless/AWCC": [ + { + "mcc": "412", + "mnc": "01" + } + ], + "Areeba": [ + { + "mcc": "412", + "mnc": "40" + } + ], + "Etisalat": [ + { + "mcc": "412", + "mnc": "50" + } + ], + "Roshan": [ + { + "mcc": "412", + "mnc": "20" + } + ] + }, + "code": "af", + "full": "Afghanistan", + "prefix": "+93" + }, + { + "carriers": { + "Bermuda Digital Communications Ltd (BDC)": [ + { + "mcc": "350", + "mnc": "000" + } + ], + "CellOne Ltd": [ + { + "mcc": "350", + "mnc": "99" + } + ], + "DigiCel / Cingular": [ + { + "mcc": "350", + "mnc": "10" + } + ], + "M3 Wireless Ltd": [ + { + "mcc": "350", + "mnc": "02" + } + ], + "Telecommunications (Bermuda & West Indies) Ltd (Digicel Bermuda)": [ + { + "mcc": "350", + "mnc": "01" + } + ] + }, + "code": "bm", + "full": "Bermuda", + "prefix": "+1441" + }, + { + "carriers": { + "ETH/MTN": [ + { + "mcc": "636", + "mnc": "01" + } + ] + }, + "code": "et", + "full": "Ethiopia", + "prefix": "+251" + }, + { + "carriers": { + "Bharti Airtel": [ + { + "mcc": "413", + "mnc": "05" + } + ], + "Etisalat/Tigo": [ + { + "mcc": "413", + "mnc": "03" + } + ], + "H3G Hutchison": [ + { + "mcc": "413", + "mnc": "08" + } + ], + "MTN/Dialog": [ + { + "mcc": "413", + "mnc": "02" + } + ], + "Mobitel Ltd.": [ + { + "mcc": "413", + "mnc": "01" + } + ] + }, + "code": "lk", + "full": "Sri Lanka", + "prefix": "+94" + }, + { + "carriers": { + "EriTel": [ + { + "mcc": "657", + "mnc": "0" + } + ], + "Eritel": [ + { + "mcc": "657", + "mnc": "01" + } + ] + }, + "code": "er", + "full": "Eritrea", + "prefix": "+291" + }, + { + "carriers": { + "Aircomm SA": [ + { + "mcc": "612", + "mnc": "07" + } + ], + "Atlantik Tel./Moov": [ + { + "mcc": "612", + "mnc": "02" + } + ], + "Comium": [ + { + "mcc": "612", + "mnc": "04" + } + ], + "Comstar": [ + { + "mcc": "612", + "mnc": "1" + } + ], + "MTN": [ + { + "mcc": "612", + "mnc": "05" + } + ], + "Orange": [ + { + "mcc": "612", + "mnc": "03" + } + ], + "OriCell": [ + { + "mcc": "612", + "mnc": "06" + } + ], + "Warid": [ + { + "mcc": "612", + "mnc": "0" + } + ] + }, + "code": "ci", + "full": "Ivory Coast", + "prefix": "+225" + }, + { + "carriers": { + "GRID Communications Pte Ltd": [ + { + "mcc": "525", + "mnc": "12" + } + ], + "MobileOne Ltd": [ + { + "mcc": "525", + "mnc": "03" + } + ], + "Singtel": [ + { + "mcc": "525", + "mnc": "01" + }, + { + "mcc": "525", + "mnc": "07" + }, + { + "mcc": "525", + "mnc": "02" + } + ], + "Starhub": [ + { + "mcc": "525", + "mnc": "06" + }, + { + "mcc": "525", + "mnc": "05" + } + ] + }, + "code": "sg", + "full": "Singapore", + "prefix": "+65" + }, + { + "carriers": { + "Samoatel Mobile": [ + { + "mcc": "549", + "mnc": "27" + } + ], + "Telecom Samoa Cellular Ltd.": [ + { + "mcc": "549", + "mnc": "01" + } + ] + }, + "code": "ws", + "full": "Samoa", + "prefix": "+685" + }, + { + "carriers": { + "HURI - SNPT": [ + { + "mcc": "654", + "mnc": "01" + } + ] + }, + "code": "km", + "full": "Comoros", + "prefix": "+269" + }, + { + "carriers": { + "CSL Ltd.": [ + { + "mcc": "454", + "mnc": "18" + }, + { + "mcc": "454", + "mnc": "02" + }, + { + "mcc": "454", + "mnc": "00" + } + ], + "CSL/New World PCS Ltd.": [ + { + "mcc": "454", + "mnc": "10" + } + ], + "China Mobile/Peoples": [ + { + "mcc": "454", + "mnc": "13" + }, + { + "mcc": "454", + "mnc": "12" + } + ], + "China Motion": [ + { + "mcc": "454", + "mnc": "09" + } + ], + "China Unicom Ltd": [ + { + "mcc": "454", + "mnc": "07" + } + ], + "China-HongKong Telecom Ltd (CHKTL)": [ + { + "mcc": "454", + "mnc": "11" + } + ], + "Citic Telecom Ltd.": [ + { + "mcc": "454", + "mnc": "01" + } + ], + "H3G/Hutchinson": [ + { + "mcc": "454", + "mnc": "14" + }, + { + "mcc": "454", + "mnc": "05" + }, + { + "mcc": "454", + "mnc": "04" + }, + { + "mcc": "454", + "mnc": "03" + } + ], + "HKT/PCCW": [ + { + "mcc": "454", + "mnc": "16" + }, + { + "mcc": "454", + "mnc": "19" + }, + { + "mcc": "454", + "mnc": "20" + }, + { + "mcc": "454", + "mnc": "29" + } + ], + "Trident Telecom Ventures Ltd.": [ + { + "mcc": "454", + "mnc": "08" + } + ], + "Vodafone/SmarTone": [ + { + "mcc": "454", + "mnc": "17" + }, + { + "mcc": "454", + "mnc": "15" + }, + { + "mcc": "454", + "mnc": "06" + } + ], + "shared by private TETRA systems": [ + { + "mcc": "454", + "mnc": "47" + }, + { + "mcc": "454", + "mnc": "40" + } + ] + }, + "code": "hk", + "full": "Hongkong China", + "prefix": "+852" + }, + { + "carriers": { + "Al-Madar": [ + { + "mcc": "606", + "mnc": "02" + }, + { + "mcc": "606", + "mnc": "01" + } + ], + "Hatef": [ + { + "mcc": "606", + "mnc": "06" + } + ], + "Libyana": [ + { + "mcc": "606", + "mnc": "00" + }, + { + "mcc": "606", + "mnc": "03" + } + ] + }, + "code": "ly", + "full": "Libya", + "prefix": "+218" + }, + { + "carriers": { + "Outremer Telecom Martinique (only) (Martinique": [ + { + "mcc": "340", + "mnc": "02" + } + ], + "United Telecommunications Services Caraibe SARL (UTS Caraibe Martinique Telephone Mobile) (Martinique": [ + { + "mcc": "340", + "mnc": "12" + }, + { + "mcc": "340", + "mnc": "03" + } + ] + }, + "code": "mq", + "full": "Martinique (French Department of)", + "prefix": "+" + }, + { + "carriers": { + "Dardafone LLC": [ + { + "mcc": "212", + "mnc": "01" + } + ], + "Monaco Telecom": [ + { + "mcc": "212", + "mnc": "10" + }, + { + "mcc": "212", + "mnc": "01" + } + ], + "Post and Telecommunications of Kosovo JSC (PTK)": [ + { + "mcc": "212", + "mnc": "01" + } + ] + }, + "code": "mc", + "full": "Monaco", + "prefix": "+377" + }, + { + "carriers": { + "Alegro/Telcsa": [ + { + "mcc": "740", + "mnc": "02" + } + ], + "MOVISTAR/OteCel": [ + { + "mcc": "740", + "mnc": "00" + } + ], + "Porta/Conecel": [ + { + "mcc": "740", + "mnc": "01" + } + ] + }, + "code": "ec", + "full": "Ecuador", + "prefix": "+593" + }, + { + "carriers": { + "Cable & Wireless (Turks & Caicos)": [ + { + "mcc": "376", + "mnc": "350" + } + ], + "Digicel": [ + { + "mcc": "376", + "mnc": "50" + } + ], + "IslandCom": [ + { + "mcc": "376", + "mnc": "352" + } + ] + }, + "code": "vi", + "full": "Virgin Islands U.S.", + "prefix": "+1340" + }, + { + "carriers": { + "O2": [ + { + "mcc": "231", + "mnc": "06" + } + ], + "Orange": [ + { + "mcc": "231", + "mnc": "01" + }, + { + "mcc": "231", + "mnc": "05" + }, + { + "mcc": "231", + "mnc": "15" + } + ], + "T-Mobile": [ + { + "mcc": "231", + "mnc": "02" + }, + { + "mcc": "231", + "mnc": "04" + } + ], + "Zeleznice Slovenskej republiky (ZSR)": [ + { + "mcc": "231", + "mnc": "99" + } + ] + }, + "code": "sk", + "full": "Slovakia", + "prefix": "+421" + }, + { + "carriers": { + "Compatel s.r.o.": [ + { + "mcc": "230", + "mnc": "08" + } + ], + "O2": [ + { + "mcc": "230", + "mnc": "02" + } + ], + "T-Mobile / RadioMobil": [ + { + "mcc": "230", + "mnc": "01" + } + ], + "Travel Telekommunikation s.r.o.": [ + { + "mcc": "230", + "mnc": "05" + } + ], + "Ufone": [ + { + "mcc": "230", + "mnc": "04" + } + ], + "Vodafone": [ + { + "mcc": "230", + "mnc": "99" + }, + { + "mcc": "230", + "mnc": "03" + } + ] + }, + "code": "cz", + "full": "Czech Rep.", + "prefix": "+420" + }, + { + "carriers": { + "Africel": [ + { + "mcc": "619", + "mnc": "3" + }, + { + "mcc": "619", + "mnc": "5" + } + ], + "Comium": [ + { + "mcc": "619", + "mnc": "4" + } + ], + "Mobitel": [ + { + "mcc": "619", + "mnc": "25" + } + ], + "Tigo/Millicom": [ + { + "mcc": "619", + "mnc": "2" + } + ], + "Zain/Celtel": [ + { + "mcc": "619", + "mnc": "1" + } + ] + }, + "code": "sl", + "full": "Sierra Leone", + "prefix": "+232" + }, + { + "carriers": { + "BebbiCell AG": [ + { + "mcc": "228", + "mnc": "51" + } + ], + "Comfone AG": [ + { + "mcc": "228", + "mnc": "09" + }, + { + "mcc": "228", + "mnc": "05" + } + ], + "Lycamobile AG": [ + { + "mcc": "228", + "mnc": "54" + } + ], + "Mundio Mobile AG": [ + { + "mcc": "228", + "mnc": "52" + } + ], + "Orange": [ + { + "mcc": "228", + "mnc": "03" + } + ], + "Swisscom": [ + { + "mcc": "228", + "mnc": "01" + } + ], + "TDC Sunrise": [ + { + "mcc": "228", + "mnc": "07" + }, + { + "mcc": "228", + "mnc": "12" + }, + { + "mcc": "228", + "mnc": "02" + }, + { + "mcc": "228", + "mnc": "08" + } + ], + "upc cablecom GmbH": [ + { + "mcc": "228", + "mnc": "53" + } + ] + }, + "code": "ch", + "full": "Switzerland", + "prefix": "+41" + }, + { + "carriers": { + "Cable & Wireless (TCI) Ltd": [ + { + "mcc": "376", + "mnc": "350" + } + ], + "Digicel TCI Ltd": [ + { + "mcc": "376", + "mnc": "050" + } + ], + "IslandCom Communications Ltd.": [ + { + "mcc": "376", + "mnc": "352" + } + ] + }, + "code": "tc", + "full": "Turks and Caicos Islands", + "prefix": "+" + }, + { + "carriers": { + "Datastream (DTSCom)": [ + { + "mcc": "528", + "mnc": "11" + } + ], + "Telekom Brunei Bhd (TelBru)": [ + { + "mcc": "528", + "mnc": "01" + } + ], + "b-mobile": [ + { + "mcc": "528", + "mnc": "02" + } + ] + }, + "code": "bn", + "full": "Brunei Darussalam", + "prefix": "+673" + }, + { + "carriers": { + "Bmobile/TSTT": [ + { + "mcc": "374", + "mnc": "129" + } + ], + "Digicel": [ + { + "mcc": "374", + "mnc": "130" + } + ], + "LaqTel Ltd.": [ + { + "mcc": "374", + "mnc": "140" + } + ] + }, + "code": "tt", + "full": "Trinidad and Tobago", + "prefix": "+1868" + }, + { + "carriers": { + "ApS KBUS": [ + { + "mcc": "238", + "mnc": "5" + } + ], + "Banedanmark": [ + { + "mcc": "238", + "mnc": "23" + } + ], + "CoolTEL ApS": [ + { + "mcc": "238", + "mnc": "28" + } + ], + "Hi3G": [ + { + "mcc": "238", + "mnc": "06" + } + ], + "Lycamobile Ltd": [ + { + "mcc": "238", + "mnc": "12" + } + ], + "Mach Connectivity ApS": [ + { + "mcc": "238", + "mnc": "03" + } + ], + "NextGen Mobile Ltd (CardBoardFish)": [ + { + "mcc": "238", + "mnc": "04" + } + ], + "TDC Denmark": [ + { + "mcc": "238", + "mnc": "10" + }, + { + "mcc": "238", + "mnc": "01" + } + ], + "Telenor/Sonofon": [ + { + "mcc": "238", + "mnc": "02" + }, + { + "mcc": "238", + "mnc": "77" + } + ], + "Telia": [ + { + "mcc": "238", + "mnc": "20" + }, + { + "mcc": "238", + "mnc": "30" + } + ] + }, + "code": "dk", + "full": "Denmark", + "prefix": "+45" + }, + { + "carriers": { + "NT Mobile / Namaste": [ + { + "mcc": "429", + "mnc": "01" + } + ], + "Ncell": [ + { + "mcc": "429", + "mnc": "02" + } + ], + "Smart Cell": [ + { + "mcc": "429", + "mnc": "04" + } + ] + }, + "code": "np", + "full": "Nepal", + "prefix": "+977" + }, + { + "carriers": { + "Digicel Cayman Ltd": [ + { + "mcc": "346", + "mnc": "050" + } + ], + "Digicel Ltd.": [ + { + "mcc": "346", + "mnc": "006" + } + ], + "LIME / Cable & Wirel.": [ + { + "mcc": "346", + "mnc": "140" + } + ] + }, + "code": "ky", + "full": "Cayman Islands", + "prefix": "+1345" + }, + { + "carriers": { + "Tuvalu Telecommunication Corporation (TTC)": [ + { + "mcc": "553", + "mnc": "01" + } + ] + }, + "code": "tv", + "full": "Tuvalu", + "prefix": "+" + }, + { + "carriers": { + "Centrafr. Telecom+": [ + { + "mcc": "623", + "mnc": "01" + } + ], + "Nationlink": [ + { + "mcc": "623", + "mnc": "04" + } + ], + "Orange/Celca": [ + { + "mcc": "623", + "mnc": "03" + } + ], + "Telecel Centraf.": [ + { + "mcc": "623", + "mnc": "02" + } + ] + }, + "code": "cf", + "full": "Central African Rep.", + "prefix": "+236" + }, + { + "carriers": { + "MTS/Telekom Srbija": [ + { + "mcc": "220", + "mnc": "03" + } + ], + "Telenor/Mobtel": [ + { + "mcc": "220", + "mnc": "02" + }, + { + "mcc": "220", + "mnc": "1" + } + ], + "VIP Mobile": [ + { + "mcc": "220", + "mnc": "05" + } + ] + }, + "code": "rs", + "full": "Serbia", + "prefix": "+381" + }, + { + "carriers": { + "IAM/Itissallat": [ + { + "mcc": "604", + "mnc": "01" + } + ], + "INWI/WANA": [ + { + "mcc": "604", + "mnc": "02" + } + ], + "Medi Telecom": [ + { + "mcc": "604", + "mnc": "00" + } + ] + }, + "code": "ma", + "full": "Morocco", + "prefix": "+212" + }, + { + "carriers": { + "AkTel LLC": [ + { + "mcc": "437", + "mnc": "03" + } + ], + "Beeline/Bitel": [ + { + "mcc": "437", + "mnc": "01" + } + ], + "MEGACOM": [ + { + "mcc": "437", + "mnc": "05" + } + ], + "O!/NUR Telecom": [ + { + "mcc": "437", + "mnc": "09" + } + ] + }, + "code": "kg", + "full": "Kyrgyzstan", + "prefix": "+996" + }, + { + "carriers": { + "Dauphin Telecom SU (Guadeloupe Telecom) (Guadeloupe": [ + { + "mcc": "340", + "mnc": "08" + } + ], + "Digicel Antilles Francaises Guyane SA (Guadeloupe": [ + { + "mcc": "340", + "mnc": "20" + } + ], + "Orange Caribe": [ + { + "mcc": "340", + "mnc": "01" + } + ], + "Outremer Telecom Guadeloupe (only) (Guadeloupe": [ + { + "mcc": "340", + "mnc": "02" + } + ], + "United Telecommunications Services Caraibe SARL (UTS Caraibe Guadeloupe Telephone Mobile) (Guadeloupe": [ + { + "mcc": "340", + "mnc": "10" + }, + { + "mcc": "340", + "mnc": "03" + } + ] + }, + "code": "gp", + "full": "Guadeloupe", + "prefix": "+590" + }, + { + "carriers": { + "AMD Telecom SA": [ + { + "mcc": "202", + "mnc": "07" + } + ], + "Cosmote": [ + { + "mcc": "202", + "mnc": "02" + }, + { + "mcc": "202", + "mnc": "01" + } + ], + "OTE Hellenic Telecommunications Organization SA": [ + { + "mcc": "202", + "mnc": "03" + } + ], + "Organismos Sidirodromon Ellados (OSE)": [ + { + "mcc": "202", + "mnc": "04" + } + ], + "Tim/Wind": [ + { + "mcc": "202", + "mnc": "10" + }, + { + "mcc": "202", + "mnc": "09" + } + ], + "Vodafone": [ + { + "mcc": "202", + "mnc": "05" + } + ] + }, + "code": "gr", + "full": "Greece", + "prefix": "+30" + }, + { + "carriers": { + "Com4 AS": [ + { + "mcc": "242", + "mnc": "09" + } + ], + "ICE Nordisk Mobiltelefon AS": [ + { + "mcc": "242", + "mnc": "6" + } + ], + "Jernbaneverket (GSM-R)": [ + { + "mcc": "242", + "mnc": "20" + }, + { + "mcc": "242", + "mnc": "21" + } + ], + "Lycamobile Ltd": [ + { + "mcc": "242", + "mnc": "23" + } + ], + "Netcom": [ + { + "mcc": "242", + "mnc": "02" + } + ], + "Network Norway AS": [ + { + "mcc": "242", + "mnc": "22" + }, + { + "mcc": "242", + "mnc": "05" + } + ], + "TDC Mobil A/S": [ + { + "mcc": "242", + "mnc": "08" + } + ], + "Tele2": [ + { + "mcc": "242", + "mnc": "04" + } + ], + "Telenor": [ + { + "mcc": "242", + "mnc": "12" + }, + { + "mcc": "242", + "mnc": "01" + } + ], + "Teletopia": [ + { + "mcc": "242", + "mnc": "03" + } + ], + "Ventelo AS": [ + { + "mcc": "242", + "mnc": "07" + } + ] + }, + "code": "no", + "full": "Norway", + "prefix": "+47" + }, + { + "carriers": { + "Orange": [ + { + "mcc": "605", + "mnc": "01" + } + ], + "Orascom Telecom": [ + { + "mcc": "605", + "mnc": "03" + } + ], + "Tunisie Telecom": [ + { + "mcc": "605", + "mnc": "02" + } + ] + }, + "code": "tn", + "full": "Tunisia", + "prefix": "+216" + }, + { + "carriers": { + "BeST": [ + { + "mcc": "257", + "mnc": "04" + } + ], + "BelCel JV": [ + { + "mcc": "257", + "mnc": "03" + } + ], + "MTS": [ + { + "mcc": "257", + "mnc": "02" + } + ], + "Mobile Digital Communications": [ + { + "mcc": "257", + "mnc": "01" + } + ] + }, + "code": "by", + "full": "Belarus", + "prefix": "+375" + }, + { + "carriers": { + "MTS/Cosmofone": [ + { + "mcc": "294", + "mnc": "75" + }, + { + "mcc": "294", + "mnc": "02" + } + ], + "T-Mobile/Mobimak": [ + { + "mcc": "294", + "mnc": "01" + } + ], + "VIP Mobile": [ + { + "mcc": "294", + "mnc": "03" + } + ] + }, + "code": "mk", + "full": "Macedonia", + "prefix": "+389" + }, + { + "carriers": { + "6GMOBILE BV": [ + { + "mcc": "204", + "mnc": "14" + } + ], + "Aspider Solutions": [ + { + "mcc": "204", + "mnc": "23" + } + ], + "Elephant Talk Communications Premium Rate Services Netherlands BV": [ + { + "mcc": "204", + "mnc": "05" + } + ], + "Intercity Mobile Communications BV": [ + { + "mcc": "204", + "mnc": "17" + } + ], + "KPN Telecom B.V.": [ + { + "mcc": "204", + "mnc": "10" + }, + { + "mcc": "204", + "mnc": "08" + }, + { + "mcc": "204", + "mnc": "69" + } + ], + "KPN/Telfort": [ + { + "mcc": "204", + "mnc": "12" + } + ], + "Lancelot BV": [ + { + "mcc": "204", + "mnc": "28" + } + ], + "Lycamobile Ltd": [ + { + "mcc": "204", + "mnc": "09" + } + ], + "Mundio/Vectone Mobile": [ + { + "mcc": "204", + "mnc": "06" + } + ], + "NS Railinfrabeheer B.V.": [ + { + "mcc": "204", + "mnc": "21" + } + ], + "Orange/T-mobile": [ + { + "mcc": "204", + "mnc": "20" + } + ], + "Private Mobility Nederland BV": [ + { + "mcc": "204", + "mnc": "24" + } + ], + "T-Mobile B.V.": [ + { + "mcc": "204", + "mnc": "98" + }, + { + "mcc": "204", + "mnc": "16" + } + ], + "Tele2": [ + { + "mcc": "204", + "mnc": "02" + } + ], + "Teleena Holding BV": [ + { + "mcc": "204", + "mnc": "07" + } + ], + "UPC Nederland BV": [ + { + "mcc": "204", + "mnc": "18" + } + ], + "Unify Mobile": [ + { + "mcc": "204", + "mnc": "68" + } + ], + "Vodafone Libertel": [ + { + "mcc": "204", + "mnc": "04" + } + ], + "Voiceworks Mobile BV": [ + { + "mcc": "204", + "mnc": "03" + } + ], + "Ziggo BV": [ + { + "mcc": "204", + "mnc": "15" + } + ] + }, + "code": "nl", + "full": "Netherlands", + "prefix": "+31" + }, + { + "carriers": { + "Dhiraagu/C&W": [ + { + "mcc": "472", + "mnc": "01" + } + ], + "Wataniya/WMOBILE": [ + { + "mcc": "472", + "mnc": "02" + } + ] + }, + "code": "mv", + "full": "Maldives", + "prefix": "+960" + }, + { + "carriers": { + "MTN/Spacetel": [ + { + "mcc": "417", + "mnc": "02" + } + ], + "Syriatel Holdings": [ + { + "mcc": "417", + "mnc": "09" + }, + { + "mcc": "417", + "mnc": "01" + } + ] + }, + "code": "sy", + "full": "Syrian Arab Republic", + "prefix": "+963" + }, + { + "carriers": { + "Cable & Wireless S.A.": [ + { + "mcc": "714", + "mnc": "01" + } + ], + "Claro": [ + { + "mcc": "714", + "mnc": "03" + } + ], + "Digicel": [ + { + "mcc": "714", + "mnc": "04" + } + ], + "Movistar": [ + { + "mcc": "714", + "mnc": "020" + }, + { + "mcc": "714", + "mnc": "02" + } + ] + }, + "code": "pa", + "full": "Panama", + "prefix": "+507" + }, + { + "carriers": { + "Tele Greenland": [ + { + "mcc": "290", + "mnc": "01" + } + ] + }, + "code": "gl", + "full": "Greenland", + "prefix": "+299" + }, + { + "carriers": { + "Bite Latvija": [ + { + "mcc": "247", + "mnc": "05" + } + ], + "Latvian Mobile Phone": [ + { + "mcc": "247", + "mnc": "01" + } + ], + "SIA Camel Mobile": [ + { + "mcc": "247", + "mnc": "09" + } + ], + "SIA IZZI": [ + { + "mcc": "247", + "mnc": "08" + } + ], + "SIA Master Telecom": [ + { + "mcc": "247", + "mnc": "07" + } + ], + "SIA Rigatta": [ + { + "mcc": "247", + "mnc": "06" + } + ], + "TRIATEL/Telekom Baltija": [ + { + "mcc": "247", + "mnc": "03" + } + ], + "Tele2": [ + { + "mcc": "247", + "mnc": "02" + } + ] + }, + "code": "lv", + "full": "Latvia", + "prefix": "+371" + }, + { + "carriers": { + "Africel / Safaris": [ + { + "mcc": "642", + "mnc": "02" + } + ], + "HiTs Telecom": [ + { + "mcc": "642", + "mnc": "08" + } + ], + "Onatel / Telecel": [ + { + "mcc": "642", + "mnc": "03" + } + ], + "Smart Mobile / LACELL": [ + { + "mcc": "642", + "mnc": "07" + } + ], + "Spacetel / Econet": [ + { + "mcc": "642", + "mnc": "01" + } + ], + "U-COM": [ + { + "mcc": "642", + "mnc": "82" + } + ] + }, + "code": "bi", + "full": "Burundi", + "prefix": "+257" + }, + { + "carriers": { + "DigiTel C.A.": [ + { + "mcc": "734", + "mnc": "3" + }, + { + "mcc": "734", + "mnc": "02" + }, + { + "mcc": "734", + "mnc": "1" + } + ], + "Movilnet C.A.": [ + { + "mcc": "734", + "mnc": "06" + } + ], + "Movistar/TelCel": [ + { + "mcc": "734", + "mnc": "04" + } + ] + }, + "code": "ve", + "full": "Venezuela", + "prefix": "+58" + }, + { + "carriers": { + "C & W": [ + { + "mcc": "360", + "mnc": "110" + } + ], + "Cingular": [ + { + "mcc": "360", + "mnc": "10" + }, + { + "mcc": "360", + "mnc": "100" + } + ], + "Digicel": [ + { + "mcc": "360", + "mnc": "050" + }, + { + "mcc": "360", + "mnc": "70" + } + ] + }, + "code": "vc", + "full": "St. Vincent & Gren.", + "prefix": "+1784" + }, + { + "carriers": { + "Claro/Hutchison": [ + { + "mcc": "744", + "mnc": "02" + } + ], + "Compa": [ + { + "mcc": "744", + "mnc": "03" + } + ], + "Hola/VOX": [ + { + "mcc": "744", + "mnc": "01" + } + ], + "TIM/Nucleo/Personal": [ + { + "mcc": "744", + "mnc": "5" + } + ], + "Tigo/Telecel": [ + { + "mcc": "744", + "mnc": "04" + } + ] + }, + "code": "py", + "full": "Paraguay", + "prefix": "+595" + }, + { + "carriers": { + "Art900": [ + { + "mcc": "502", + "mnc": "01" + } + ], + "Baraka Telecom Sdn Bhd": [ + { + "mcc": "502", + "mnc": "151" + } + ], + "CelCom": [ + { + "mcc": "502", + "mnc": "13" + }, + { + "mcc": "502", + "mnc": "19" + } + ], + "Digi Telecommunications": [ + { + "mcc": "502", + "mnc": "16" + }, + { + "mcc": "502", + "mnc": "10" + } + ], + "Electcoms Wireless Sdn Bhd": [ + { + "mcc": "502", + "mnc": "20" + } + ], + "MTX Utara": [ + { + "mcc": "502", + "mnc": "11" + } + ], + "Maxis": [ + { + "mcc": "502", + "mnc": "12" + }, + { + "mcc": "502", + "mnc": "17" + } + ], + "Packet One Networks (Malaysia) Sdn Bhd": [ + { + "mcc": "502", + "mnc": "153" + } + ], + "Samata Communications Sdn Bhd": [ + { + "mcc": "502", + "mnc": "155" + } + ], + "Talk Focus Sdn Bhd": [ + { + "mcc": "502", + "mnc": "154" + } + ], + "U Mobile": [ + { + "mcc": "502", + "mnc": "18" + } + ], + "YES": [ + { + "mcc": "502", + "mnc": "152" + } + ] + }, + "code": "my", + "full": "Malaysia", + "prefix": "+60" + }, + { + "carriers": { + "Fix Line": [ + { + "mcc": "515", + "mnc": "00" + } + ], + "Globe Telecom": [ + { + "mcc": "515", + "mnc": "01" + }, + { + "mcc": "515", + "mnc": "02" + } + ], + "Next Mobile": [ + { + "mcc": "515", + "mnc": "88" + } + ], + "RED Mobile/Cure": [ + { + "mcc": "515", + "mnc": "18" + } + ], + "SUN/Digitel": [ + { + "mcc": "515", + "mnc": "05" + } + ], + "Smart": [ + { + "mcc": "515", + "mnc": "03" + } + ] + }, + "code": "ph", + "full": "Philippines", + "prefix": "+63" + }, + { + "carriers": { + "CSTmovel": [ + { + "mcc": "626", + "mnc": "01" + } + ] + }, + "code": "st", + "full": "Sao Tome & Principe", + "prefix": "+239" + }, + { + "carriers": { + "Ancel/Antel": [ + { + "mcc": "748", + "mnc": "01" + }, + { + "mcc": "748", + "mnc": "03" + } + ], + "Claro/AM Wireless": [ + { + "mcc": "748", + "mnc": "10" + } + ], + "MOVISTAR": [ + { + "mcc": "748", + "mnc": "07" + } + ] + }, + "code": "uy", + "full": "Uruguay", + "prefix": "+598" + }, + { + "carriers": { + "Digicel": [ + { + "mcc": "537", + "mnc": "03" + } + ], + "GreenCom PNG Ltd": [ + { + "mcc": "537", + "mnc": "02" + } + ], + "Pacific Mobile": [ + { + "mcc": "537", + "mnc": "01" + } + ] + }, + "code": "pg", + "full": "Papua New Guinea", + "prefix": "+675" + }, + { + "carriers": { + "Airtel/Vodafone": [ + { + "mcc": "234", + "mnc": "03" + } + ], + "BT Group": [ + { + "mcc": "234", + "mnc": "76" + }, + { + "mcc": "234", + "mnc": "77" + } + ], + "Cable and Wireless": [ + { + "mcc": "234", + "mnc": "07" + }, + { + "mcc": "234", + "mnc": "92" + } + ], + "Calbe and Wireless Isle of Man": [ + { + "mcc": "234", + "mnc": "36" + } + ], + "Cloud9/wire9 Tel.": [ + { + "mcc": "234", + "mnc": "18" + } + ], + "Everyth. Ev.wh.": [ + { + "mcc": "235", + "mnc": "02" + } + ], + "Everyth. Ev.wh./Orange": [ + { + "mcc": "234", + "mnc": "34" + }, + { + "mcc": "234", + "mnc": "33" + } + ], + "Everyth. Ev.wh./T-Mobile": [ + { + "mcc": "234", + "mnc": "31" + }, + { + "mcc": "234", + "mnc": "30" + }, + { + "mcc": "234", + "mnc": "32" + } + ], + "FlexTel": [ + { + "mcc": "234", + "mnc": "17" + } + ], + "Guernsey Telecoms": [ + { + "mcc": "234", + "mnc": "55" + } + ], + "HaySystems": [ + { + "mcc": "234", + "mnc": "14" + } + ], + "Hutchinson 3G": [ + { + "mcc": "234", + "mnc": "94" + }, + { + "mcc": "234", + "mnc": "20" + } + ], + "Inquam Telecom Ltd": [ + { + "mcc": "234", + "mnc": "75" + } + ], + "JSC Ingenicum": [ + { + "mcc": "234", + "mnc": "35" + } + ], + "Jersey Telecom": [ + { + "mcc": "234", + "mnc": "50" + }, + { + "mcc": "234", + "mnc": "51" + } + ], + "Lycamobile": [ + { + "mcc": "234", + "mnc": "26" + } + ], + "Manx Telecom": [ + { + "mcc": "234", + "mnc": "58" + } + ], + "Mapesbury C. Ltd": [ + { + "mcc": "234", + "mnc": "01" + } + ], + "Marthon Telecom": [ + { + "mcc": "234", + "mnc": "28" + } + ], + "O2 Ltd.": [ + { + "mcc": "234", + "mnc": "10" + }, + { + "mcc": "234", + "mnc": "02" + }, + { + "mcc": "234", + "mnc": "11" + } + ], + "OnePhone": [ + { + "mcc": "234", + "mnc": "08" + } + ], + "Opal Telecom": [ + { + "mcc": "234", + "mnc": "16" + } + ], + "PMN/Teleware": [ + { + "mcc": "234", + "mnc": "19" + } + ], + "Railtrack Plc": [ + { + "mcc": "234", + "mnc": "12" + } + ], + "Routotelecom": [ + { + "mcc": "234", + "mnc": "22" + } + ], + "Stour Marine": [ + { + "mcc": "234", + "mnc": "24" + } + ], + "Synectiv Ltd.": [ + { + "mcc": "234", + "mnc": "37" + } + ], + "Tismi": [ + { + "mcc": "234", + "mnc": "09" + } + ], + "Truphone": [ + { + "mcc": "234", + "mnc": "25" + } + ], + "Vectofone Mobile Wifi": [ + { + "mcc": "234", + "mnc": "23" + } + ], + "Vodafone": [ + { + "mcc": "234", + "mnc": "27" + }, + { + "mcc": "234", + "mnc": "15" + }, + { + "mcc": "234", + "mnc": "91" + } + ], + "Wave Telecom Ltd": [ + { + "mcc": "234", + "mnc": "78" + } + ] + }, + "code": "gb", + "full": "United Kingdom", + "prefix": "+44" + }, + { + "carriers": { + "APUA PCS": [ + { + "mcc": "344", + "mnc": "030" + } + ], + "C & W": [ + { + "mcc": "344", + "mnc": "920" + } + ], + "Cing. Wirel./DigiCel": [ + { + "mcc": "344", + "mnc": "930" + } + ] + }, + "code": "ag", + "full": "Antigua and Barbuda", + "prefix": "+1268" + }, + { + "carriers": { + "Monet/T-mobile": [ + { + "mcc": "297", + "mnc": "02" + } + ], + "Mtel": [ + { + "mcc": "297", + "mnc": "03" + } + ], + "Promonte GSM": [ + { + "mcc": "297", + "mnc": "01" + } + ] + }, + "code": "me", + "full": "Montenegro", + "prefix": "+382" + }, + { + "carriers": { + "G-Mobile Corporation Ltd": [ + { + "mcc": "428", + "mnc": "98" + } + ], + "Mobicom": [ + { + "mcc": "428", + "mnc": "99" + } + ], + "Skytel Co. Ltd": [ + { + "mcc": "428", + "mnc": "00" + } + ], + "Unitel": [ + { + "mcc": "428", + "mnc": "88" + } + ] + }, + "code": "mn", + "full": "Mongolia", + "prefix": "+976" + }, + { + "carriers": { + "Beeline/KaR-Tel LLP": [ + { + "mcc": "401", + "mnc": "01" + } + ], + "Dalacom/Altel": [ + { + "mcc": "401", + "mnc": "07" + } + ], + "K-Cell": [ + { + "mcc": "401", + "mnc": "02" + } + ], + "NEO/MTS": [ + { + "mcc": "401", + "mnc": "77" + } + ] + }, + "code": "kz", + "full": "Kazakhstan", + "prefix": "+7" + }, + { + "carriers": { + "Prima Telecom": [ + { + "mcc": "292", + "mnc": "01" + } + ] + }, + "code": "sm", + "full": "San Marino", + "prefix": "+378" + }, + { + "carriers": { + "Orange RDC sarl": [ + { + "mcc": "630", + "mnc": "86" + } + ], + "SuperCell": [ + { + "mcc": "630", + "mnc": "05" + } + ], + "TIGO/Oasis": [ + { + "mcc": "630", + "mnc": "89" + } + ], + "Vodacom": [ + { + "mcc": "630", + "mnc": "01" + } + ], + "Yozma Timeturns sprl (YTT)": [ + { + "mcc": "630", + "mnc": "88" + } + ], + "ZAIN CelTel": [ + { + "mcc": "630", + "mnc": "02" + } + ] + }, + "code": "cd", + "full": "Congo Dem. Rep.", + "prefix": "+243" + }, + { + "carriers": { + "Orange/Petra": [ + { + "mcc": "416", + "mnc": "77" + } + ], + "Umniah Mobile Co.": [ + { + "mcc": "416", + "mnc": "03" + } + ], + "Xpress": [ + { + "mcc": "416", + "mnc": "2" + } + ], + "ZAIN /J.M.T.S": [ + { + "mcc": "416", + "mnc": "01" + } + ] + }, + "code": "jo", + "full": "Jordan", + "prefix": "+962" + }, + { + "carriers": { + "DigiCell": [ + { + "mcc": "702", + "mnc": "67" + } + ], + "International Telco (INTELCO)": [ + { + "mcc": "702", + "mnc": "68" + } + ] + }, + "code": "bz", + "full": "Belize", + "prefix": "+501" + }, + { + "carriers": { + "Pacific Mobile Telecom (PMT)": [ + { + "mcc": "547", + "mnc": "15" + } + ], + "Tikiphone": [ + { + "mcc": "547", + "mnc": "20" + } + ] + }, + "code": "pf", + "full": "French Polynesia", + "prefix": "+689" + }, + { + "carriers": { + "MTN/Areeba": [ + { + "mcc": "280", + "mnc": "10" + } + ], + "PrimeTel PLC": [ + { + "mcc": "280", + "mnc": "20" + } + ], + "Vodafone/CyTa": [ + { + "mcc": "280", + "mnc": "01" + } + ] + }, + "code": "cy", + "full": "Cyprus", + "prefix": "+357" + }, + { + "carriers": { + "Emtel Ltd": [ + { + "mcc": "617", + "mnc": "10" + } + ], + "Mahanagar Telephone": [ + { + "mcc": "617", + "mnc": "02" + }, + { + "mcc": "617", + "mnc": "03" + } + ], + "Orange/Cellplus": [ + { + "mcc": "617", + "mnc": "01" + } + ] + }, + "code": "mu", + "full": "Mauritius", + "prefix": "+230" + }, + { + "carriers": { + "BT Espana Compania de Servicios Globales de Telecomunicaciones SAU": [ + { + "mcc": "214", + "mnc": "15" + } + ], + "Cableuropa SAU (ONO)": [ + { + "mcc": "214", + "mnc": "18" + } + ], + "Euskaltel SA": [ + { + "mcc": "214", + "mnc": "08" + } + ], + "Jazz Telecom SAU": [ + { + "mcc": "214", + "mnc": "21" + } + ], + "Lleida": [ + { + "mcc": "214", + "mnc": "26" + } + ], + "Lycamobile SL": [ + { + "mcc": "214", + "mnc": "23" + }, + { + "mcc": "214", + "mnc": "25" + } + ], + "Movistar": [ + { + "mcc": "214", + "mnc": "22" + }, + { + "mcc": "214", + "mnc": "05" + } + ], + "Movistar2": [ + { + "mcc": "214", + "mnc": "07" + } + ], + "Orange": [ + { + "mcc": "214", + "mnc": "09" + }, + { + "mcc": "214", + "mnc": "11" + } + ], + "Orange2": [ + { + "mcc": "214", + "mnc": "03" + } + ], + "R Cable y Telecomunicaciones Galicia SA": [ + { + "mcc": "214", + "mnc": "17" + } + ], + "Simyo/KPN": [ + { + "mcc": "214", + "mnc": "19" + } + ], + "Telecable de Asturias SA": [ + { + "mcc": "214", + "mnc": "16" + } + ], + "Truphone": [ + { + "mcc": "214", + "mnc": "27" + } + ], + "Vodafone": [ + { + "mcc": "214", + "mnc": "01" + } + ], + "Vodafone Enabler Espana SL": [ + { + "mcc": "214", + "mnc": "06" + } + ], + "Yoigo": [ + { + "mcc": "214", + "mnc": "04" + } + ], + "fonYou Wireless SL": [ + { + "mcc": "214", + "mnc": "20" + } + ] + }, + "code": "es", + "full": "Spain", + "prefix": "+34" + }, + { + "carriers": { + "KT Freetel Co. Ltd.": [ + { + "mcc": "450", + "mnc": "02" + }, + { + "mcc": "450", + "mnc": "04" + }, + { + "mcc": "450", + "mnc": "08" + } + ], + "LG Telecom": [ + { + "mcc": "450", + "mnc": "06" + } + ], + "SK Telecom": [ + { + "mcc": "450", + "mnc": "03" + } + ], + "SK Telecom Co. Ltd": [ + { + "mcc": "450", + "mnc": "05" + } + ] + }, + "code": "kr", + "full": "Korea S Republic of", + "prefix": "+82" + }, + { + "carriers": { + "Axtel": [ + { + "mcc": "334", + "mnc": "00" + } + ], + "IUSACell/UneFon": [ + { + "mcc": "334", + "mnc": "50" + }, + { + "mcc": "334", + "mnc": "050" + }, + { + "mcc": "334", + "mnc": "040" + }, + { + "mcc": "334", + "mnc": "04" + } + ], + "Movistar/Pegaso": [ + { + "mcc": "334", + "mnc": "03" + }, + { + "mcc": "334", + "mnc": "030" + } + ], + "NEXTEL": [ + { + "mcc": "334", + "mnc": "01" + }, + { + "mcc": "334", + "mnc": "090" + }, + { + "mcc": "334", + "mnc": "010" + } + ], + "Operadora Unefon SA de CV": [ + { + "mcc": "334", + "mnc": "080" + }, + { + "mcc": "334", + "mnc": "070" + } + ], + "SAI PCS": [ + { + "mcc": "334", + "mnc": "060" + }, + { + "mcc": "334", + "mnc": "00" + } + ], + "TelCel/America Movil": [ + { + "mcc": "334", + "mnc": "02" + }, + { + "mcc": "334", + "mnc": "020" + } + ] + }, + "code": "mx", + "full": "Mexico", + "prefix": "+52" + }, + { + "carriers": { + "Expresso/Sudatel": [ + { + "mcc": "608", + "mnc": "03" + } + ], + "Orange/Sonatel": [ + { + "mcc": "608", + "mnc": "01" + } + ], + "Sentel GSM": [ + { + "mcc": "608", + "mnc": "02" + } + ] + }, + "code": "sn", + "full": "Senegal", + "prefix": "+221" + }, + { + "carriers": { + "Claro/ CTI/AMX": [ + { + "mcc": "722", + "mnc": "310" + }, + { + "mcc": "722", + "mnc": "330" + }, + { + "mcc": "722", + "mnc": "320" + } + ], + "Compania De Radiocomunicaciones Moviles SA": [ + { + "mcc": "722", + "mnc": "010" + } + ], + "Movistar/Telefonica": [ + { + "mcc": "722", + "mnc": "070" + } + ], + "Nextel": [ + { + "mcc": "722", + "mnc": "020" + } + ], + "Telecom Personal S.A.": [ + { + "mcc": "722", + "mnc": "341" + } + ] + }, + "code": "ar", + "full": "Argentina Republic", + "prefix": "+54" + }, + { + "carriers": { + "Gemtel Ltd (South Sudan": [ + { + "mcc": "659", + "mnc": "03" + } + ], + "MTN South Sudan (South Sudan": [ + { + "mcc": "659", + "mnc": "02" + } + ], + "Network of The World Ltd (NOW) (South Sudan": [ + { + "mcc": "659", + "mnc": "04" + } + ], + "Zain South Sudan (South Sudan": [ + { + "mcc": "659", + "mnc": "06" + } + ] + }, + "code": "ss", + "full": "South Sudan (Republic of)", + "prefix": "+" + }, + { + "carriers": { + "Cell Z/MTS": [ + { + "mcc": "645", + "mnc": "03" + } + ], + "MTN/Telecel": [ + { + "mcc": "645", + "mnc": "02" + } + ], + "Zain/Celtel": [ + { + "mcc": "645", + "mnc": "01" + } + ] + }, + "code": "zm", + "full": "Zambia", + "prefix": "+260" + }, + { + "carriers": { + "Nawras": [ + { + "mcc": "422", + "mnc": "03" + } + ], + "Oman Mobile/GTO": [ + { + "mcc": "422", + "mnc": "02" + } + ] + }, + "code": "om", + "full": "Oman", + "prefix": "+968" + }, + { + "carriers": { + "ATM Mobils": [ + { + "mcc": "603", + "mnc": "01" + } + ], + "Orascom / DJEZZY": [ + { + "mcc": "603", + "mnc": "02" + } + ], + "Wataniya / Nedjma": [ + { + "mcc": "603", + "mnc": "03" + } + ] + }, + "code": "dz", + "full": "Algeria", + "prefix": "+213" + }, + { + "carriers": { + "Beeline": [ + { + "mcc": "452", + "mnc": "07" + } + ], + "Mobifone": [ + { + "mcc": "452", + "mnc": "01" + } + ], + "S-Fone/Telecom": [ + { + "mcc": "452", + "mnc": "03" + } + ], + "VietnaMobile": [ + { + "mcc": "452", + "mnc": "05" + } + ], + "Viettel Mobile": [ + { + "mcc": "452", + "mnc": "08" + }, + { + "mcc": "452", + "mnc": "06" + }, + { + "mcc": "452", + "mnc": "04" + } + ], + "Vinaphone": [ + { + "mcc": "452", + "mnc": "02" + } + ] + }, + "code": "vn", + "full": "Viet Nam", + "prefix": "+84" + }, + { + "carriers": { + "Dukagjini Telecommunications Sh.P.K.": [ + { + "mcc": "293", + "mnc": "41" + } + ], + "Ipko Telecommunications d. o. o.": [ + { + "mcc": "293", + "mnc": "41" + } + ], + "Mobitel": [ + { + "mcc": "293", + "mnc": "41" + } + ], + "SI.Mobil": [ + { + "mcc": "293", + "mnc": "40" + } + ], + "Slovenske zeleznice d.o.o.": [ + { + "mcc": "293", + "mnc": "10" + } + ], + "T-2 d.o.o.": [ + { + "mcc": "293", + "mnc": "64" + } + ], + "TusMobil/VEGA": [ + { + "mcc": "293", + "mnc": "70" + } + ] + }, + "code": "si", + "full": "Slovenia", + "prefix": "+386" + }, + { + "carriers": { + "Claro": [ + { + "mcc": "712", + "mnc": "03" + } + ], + "ICE": [ + { + "mcc": "712", + "mnc": "02" + }, + { + "mcc": "712", + "mnc": "01" + } + ], + "Movistar": [ + { + "mcc": "712", + "mnc": "04" + } + ] + }, + "code": "cr", + "full": "Costa Rica", + "prefix": "+506" + }, + { + "carriers": { + "ACT Mobile": [ + { + "mcc": "520", + "mnc": "15" + } + ], + "ACeS Thailand - ACeS Regional Services Co Ltd": [ + { + "mcc": "520", + "mnc": "20" + } + ], + "AIS/Advanced Info Service": [ + { + "mcc": "520", + "mnc": "01" + } + ], + "Advanced Wireless Networks/AWN": [ + { + "mcc": "520", + "mnc": "03" + } + ], + "Digital Phone Co.": [ + { + "mcc": "520", + "mnc": "23" + } + ], + "Hutch/CAT CDMA": [ + { + "mcc": "520", + "mnc": "00" + } + ], + "Total Access (DTAC)": [ + { + "mcc": "520", + "mnc": "18" + }, + { + "mcc": "520", + "mnc": "05" + } + ], + "True Move/Orange": [ + { + "mcc": "520", + "mnc": "04" + }, + { + "mcc": "520", + "mnc": "99" + } + ] + }, + "code": "th", + "full": "Thailand", + "prefix": "+66" + }, + { + "carriers": { + "Areeba - MTN": [ + { + "mcc": "611", + "mnc": "4" + } + ], + "Celcom": [ + { + "mcc": "611", + "mnc": "05" + } + ], + "Intercel": [ + { + "mcc": "611", + "mnc": "03" + } + ], + "Orange/Spacetel": [ + { + "mcc": "611", + "mnc": "01" + } + ], + "SotelGui": [ + { + "mcc": "611", + "mnc": "02" + } + ] + }, + "code": "gn", + "full": "Guinea", + "prefix": "+224" + }, + { + "carriers": { + "Telin/ Telkomcel": [ + { + "mcc": "514", + "mnc": "01" + } + ], + "Timor Telecom": [ + { + "mcc": "514", + "mnc": "02" + } + ] + }, + "code": "tl", + "full": "Timor-Leste", + "prefix": "+670" + }, + { + "carriers": { + "Etisalat/TeleCel": [ + { + "mcc": "614", + "mnc": "03" + } + ], + "Orange/Sahelc.": [ + { + "mcc": "614", + "mnc": "04" + }, + { + "mcc": "614", + "mnc": "01" + } + ], + "Zain/CelTel": [ + { + "mcc": "614", + "mnc": "02" + } + ] + }, + "code": "ne", + "full": "Niger", + "prefix": "+227" + }, + { + "carriers": { + "Bahamas Telco. Comp.": [ + { + "mcc": "364", + "mnc": "30" + }, + { + "mcc": "364", + "mnc": "390" + }, + { + "mcc": "364", + "mnc": "39" + } + ], + "Smart Communications": [ + { + "mcc": "364", + "mnc": "3" + } + ] + }, + "code": "bs", + "full": "Bahamas", + "prefix": "+1242" + }, + { + "carriers": { + "Claro /Amer.Mov./TIM": [ + { + "mcc": "716", + "mnc": "20" + }, + { + "mcc": "716", + "mnc": "10" + } + ], + "GlobalStar": [ + { + "mcc": "716", + "mnc": "02" + }, + { + "mcc": "716", + "mnc": "01" + } + ], + "Movistar": [ + { + "mcc": "716", + "mnc": "06" + } + ], + "Nextel": [ + { + "mcc": "716", + "mnc": "07" + } + ] + }, + "code": "pe", + "full": "Peru", + "prefix": "+51" + }, + { + "carriers": { + "AMC Mobil": [ + { + "mcc": "276", + "mnc": "01" + } + ], + "Eagle Mobile": [ + { + "mcc": "276", + "mnc": "03" + } + ], + "PLUS Communication Sh.a": [ + { + "mcc": "276", + "mnc": "04" + } + ], + "Vodafone": [ + { + "mcc": "276", + "mnc": "02" + } + ] + }, + "code": "al", + "full": "Albania", + "prefix": "+355" + }, + { + "carriers": { + "Digicel": [ + { + "mcc": "746", + "mnc": "03" + } + ], + "Telecommunicatiebedrijf Suriname (TELESUR)": [ + { + "mcc": "746", + "mnc": "02" + } + ], + "Telesur": [ + { + "mcc": "746", + "mnc": "1" + } + ], + "UNIQA": [ + { + "mcc": "746", + "mnc": "04" + } + ] + }, + "code": "sr", + "full": "Suriname", + "prefix": "+597" + }, + { + "carriers": { + "Orange": [ + { + "mcc": "647", + "mnc": "00" + } + ], + "Outremer Telecom": [ + { + "mcc": "647", + "mnc": "02" + } + ], + "SFR": [ + { + "mcc": "647", + "mnc": "10" + } + ] + }, + "code": "re", + "full": "Reunion", + "prefix": "+262" + }, + { + "carriers": { + "Airtel": [ + { + "mcc": "633", + "mnc": "10" + } + ], + "C&W": [ + { + "mcc": "633", + "mnc": "01" + } + ], + "Smartcom": [ + { + "mcc": "633", + "mnc": "02" + } + ] + }, + "code": "sc", + "full": "Seychelles", + "prefix": "+248" + }, + { + "carriers": { + "Airtel/Warid": [ + { + "mcc": "641", + "mnc": "22" + } + ], + "Celtel": [ + { + "mcc": "641", + "mnc": "01" + } + ], + "K2 Telecom Ltd": [ + { + "mcc": "641", + "mnc": "30" + } + ], + "MTN Ltd.": [ + { + "mcc": "641", + "mnc": "10" + } + ], + "Orange": [ + { + "mcc": "641", + "mnc": "14" + } + ], + "Smile Communications Uganda Ltd": [ + { + "mcc": "641", + "mnc": "33" + } + ], + "Suretelecom Uganda Ltd": [ + { + "mcc": "641", + "mnc": "18" + } + ], + "Uganda Telecom Ltd.": [ + { + "mcc": "641", + "mnc": "11" + } + ], + "i-Tel Ltd": [ + { + "mcc": "641", + "mnc": "66" + } + ] + }, + "code": "ug", + "full": "Uganda", + "prefix": "+256" + }, + { + "carriers": { + "Cellis": [ + { + "mcc": "415", + "mnc": "33" + }, + { + "mcc": "415", + "mnc": "32" + }, + { + "mcc": "415", + "mnc": "35" + } + ], + "FTML Cellis": [ + { + "mcc": "415", + "mnc": "34" + } + ], + "MIC1 (Alfa)": [ + { + "mcc": "415", + "mnc": "01" + } + ], + "MIC2/LibanCell": [ + { + "mcc": "415", + "mnc": "39" + }, + { + "mcc": "415", + "mnc": "38" + }, + { + "mcc": "415", + "mnc": "37" + }, + { + "mcc": "415", + "mnc": "03" + }, + { + "mcc": "415", + "mnc": "36" + } + ] + }, + "code": "lb", + "full": "Lebanon", + "prefix": "+961" + }, + { + "carriers": { + "Azercell Telekom B.M.": [ + { + "mcc": "400", + "mnc": "01" + } + ], + "Azerfon.": [ + { + "mcc": "400", + "mnc": "04" + } + ], + "Caspian American Telecommunications LLC (CATEL)": [ + { + "mcc": "400", + "mnc": "03" + } + ], + "J.V. Bakcell GSM 2000": [ + { + "mcc": "400", + "mnc": "02" + } + ] + }, + "code": "az", + "full": "Azerbaijan", + "prefix": "+994" + } +] \ No newline at end of file diff --git a/app/scripts/templates/login.hbs b/app/scripts/templates/login.hbs index bc7dfc0..f0fc058 100644 --- a/app/scripts/templates/login.hbs +++ b/app/scripts/templates/login.hbs @@ -18,6 +18,9 @@
+

+ +

{{translate 'country'}} @@ -27,7 +30,7 @@

@@ -39,6 +42,34 @@
+
+
+

{{translate 'registerOpenWapp'}}

+
+
+
+

{{translate 'mncNeeded'}}

+
+
+ +

+ +

+

+ +

+

+ +

+

+ +

+ +
+
+
+
@@ -57,7 +88,7 @@

- {{translate 'country'}} + {{translate 'country'}}
@@ -67,8 +98,11 @@

-

- +

+ +

diff --git a/app/scripts/utils/country.js b/app/scripts/utils/country.js index e190cc0..b7d01d8 100644 --- a/app/scripts/utils/country.js +++ b/app/scripts/utils/country.js @@ -6,15 +6,47 @@ define([ var Country = Backbone.Model.extend({ defaults: function () { return { - mcc: 0, + carriers: {}, code: '', name: '', - prefix: '' + prefix: '', + mncList: [] }; }, + addMccMnc: function(mcc, mnc, networkname) { + if (this.hasMccMnc(mcc, mnc)) { + console.warn('Tried to add network with mcc ' + mcc + ' and mnc ' + + mnc + ' multiple times to country ' + this.get('code')); + } + var networkList = this.get('networkList'); + if (!networkList.hasOwnProperty(networkname)) { + networkList[networkname] = []; + } + networkList[networkname].push({mcc: mcc, mnc: mnc}); + }, + toString: function () { return this.get('name'); + }, + + hasMccMnc: function(mcc, mnc) { + return this.getCarrier(mcc, mnc) !== null && true || false; + }, + + getCarrier: function(mcc, mnc) { + var carriers = this.get('carriers'), + carrierList = Object.keys(carriers), + neededCarrierList = carrierList.map(function(carrierName) { + return carriers[carrierName].filter(function(mccMnc) { + return mccMnc.mcc === mcc && mccMnc.mnc === mnc; + }).length > 0; + }); + if (neededCarrierList.length === 0) { + return null; + } else { + return neededCarrierList[0]; + } } }); diff --git a/app/scripts/views/login.js b/app/scripts/views/login.js index 88d256c..e42b352 100644 --- a/app/scripts/views/login.js +++ b/app/scripts/views/login.js @@ -21,20 +21,28 @@ define([ currentPage: 'init', initialize: function () { - this.mcc = 0; - this.mnc = 0; + console.log('called init'); + this.mcc = ''; + this.mnc = ''; + this.possibleSimCards = []; //only relevant if multiple sims found + this.selectedSimCard = null; + this.proposedCountry = null; this.getMccAndMnc(); this.countryTables = new CountriesCollection(); }, events: { - 'submit #register': 'gotoConfirmation', - 'submit #register-conf': 'register', - 'click button': 'goToValidate', - 'click .btn-back': 'back', - 'change select': 'setCountryPrefix', - 'click legend': 'showSelect', - 'click .tos a': 'showTOS' + 'submit #register': 'gotoConfirmation', + 'submit #register-conf': 'register', + 'submit #register-network': 'networkSelected', + 'click #validate-button': 'goToValidate', + 'click .btn-back': 'back', + 'change #country-select': 'setCountryPrefix', + 'change #sim-select' : 'setSimCard', + 'change #network-name-select': 'setNetworkName', + 'change #mcc-mnc-select': 'setNetwork', + 'click .action': 'showSelect', + 'click .tos a': 'showTOS' }, render: function () { @@ -47,7 +55,8 @@ define([ var _this = this; // No country found - if (this.mcc === 0 || isNaN(this.mcc)) { + if (this.mcc === ''|| this.mnc === '') { + console.log(this); stringId = 'countryNotDetectedOnLogin'; message = l10n[stringId]; } @@ -56,9 +65,10 @@ define([ var interpolate = global.l10nUtils.interpolate; stringId = 'countryDetectedOnLogin'; message = interpolate(l10n[stringId], { - country: this.countryTables.getCountryByMCC(_this.mcc) + country: this.countryTables.getCountryByMccMnc(_this.mcc, _this.mnc) }); } + console.log(message); var el = this.template({ countryDetectionMessage: message }); @@ -69,71 +79,125 @@ define([ }, getMccAndMnc: function () { - var mozCnx, network; - var stringId; - var multiSIMdetected = false; - var _this = this; - var l10n = global.localisation[global.language]; - // Firefox OS 1.1- - if ((mozCnx = navigator.mozMobileConnection)) { - network = (mozCnx.lastKnownHomeNetwork || mozCnx.lastKnownNetwork || - '-').split('-'); - this.mcc = parseInt(network[0], 10); - this.mnc = parseInt(network[1], 10); - } - // Firefox OS 1.2+ - else if ((mozCnx = navigator.mozMobileConnections)) { - if (navigator.mozMobileConnections.length > 1) { - multiSIMdetected = true; - } - for (var c = 0; c < navigator.mozMobileConnections.length; c++) { - network = (mozCnx[c].lastKnownHomeNetwork || - mozCnx.lastKnownNetwork || '-').split('-'); - _this.mcc = _this.mcc || parseInt(network[0], 10); - _this.mnc = _this.mnc || parseInt(network[1], 10); - } - } - // Desktop or simulator - else { - console.log('mozMobileConnection not available'); - stringId = 'simRequired'; - window.alert(l10n[stringId]); + var SimCardList = ( + // < 1.3 + (navigator.mozMobileConnection && [navigator.mozMobileConnection]) || + // >= 1.3 + navigator.mozMobileConnections || + // simulator + [] + ), + possibleSimCards = SimCardList. + map(function(sim, index) { + var network = (sim.lastKnownHomeNetwork || + sim.lastKnownNetwork || '-'). + split('-'). + map(function(i){parseInt(i, 10);}); + return { + index: index, + mcc: network[0], + mnc: network[1] + }; + }). + filter(function(sim) { + return sim.mcc !== '' && sim.mnc !== ''; + }); + if (possibleSimCards.length === 1) { + console.log('Single sim card found', possibleSimCards[0]); + this.selectedSimCard = possibleSimCards[0]; + } else if (possibleSimCards.length > 1) { + console.log('Multiple usable sim cards found', possibleSimCards); + this.possibleSimCards = possibleSimCards; + this.populateSimCards(); + } else { + console.warn('No usable sim card found'); } + }, - if (multiSIMdetected) { - stringId = 'multiSIMdetectedWarn'; - window.alert(l10n[stringId]); - } + populateSimCards: function () { + var _this = this, + $select = this.$el.find('#sim-select'); + this.possibleSimCards.map(function(sim) { + var country = _this.countryTables.getCountryByMccMnc(sim.mcc, sim.mnc), + carrier = country.getCarrier(sim.mcc, sim.mnc); + $select.append(new Option( + 'Slot ' + sim.index + ': ' + carrier, sim.index + )); + }); + $select.removeClass('hidden'); + }, - if (isNaN(this.mcc)) { - stringId = 'simRequired'; - window.alert(l10n[stringId]); - } + setSimCard: function(evt) { + var simNumber = $(evt.target).val(), + simCard = this.possibleMccMncs[simNumber], + $countrySelect = this.$el.find('#country-select'), + country = this.countryTables.getCountryByMCC(simCard.mcc, simCard.mnc); + this.selectedSimCard = simCard; + $countrySelect.val(country.get('code')); + }, + + populateNetworkNames: function() { + var $select = this.$el.find('#network-name-select').html(''); + Object.keys(this.proposedCountry.get('carriers')). + map(function(carrierName) { + $select.append(new Option(carrierName, carrierName)); + }); + this.populateNetworks($select.val()); + }, + + populateNetworks: function(networkName) { + var $mccMncSelect = this.$el.find('#mcc-mnc-select').html(''); + console.log(networkName); + console.log(this.proposedCountry.get('carriers')); + this.proposedCountry.get('carriers')[networkName]. + map(function(network, index) { + $mccMncSelect.append(new Option( + 'MCC: ' + network.mcc + ', MNC: ' + network.mnc, + index + )); + }); + this.setNetworkFromElem($mccMncSelect, networkName); + }, + + setNetworkName: function(evt) { + var networkName = $(evt.target).val(); + this.populateNetworks(networkName); + }, + + setNetwork: function(evt) { + this.setNetworkFromElem( + $(evt.target), + this.$el.find('#network-name-select').val() + ); + }, + + setNetworkFromElem: function($elem, carrier) { + var networkNumber = $elem.val(), + network = this.proposedCountry.get('carriers')[carrier][networkNumber]; + console.log(networkNumber); + this.mcc = network.mcc; + this.mnc = network.mnc; + console.log(network); }, populateCountryNames: function () { - var _this = this; - var $select = this.$el.find('#register select'); - $select.html(''); - var added = {}; + var _this = this, + $select = this.$el.find('#register select').html(''); this.countryTables.forEach(function (country) { - if (!added[country.get('code')]) { - $select.append(new Option(country.toString(), country.get('code'), - true, (_this.mcc === country.get('mcc')))); - added[country.get('code')] = true; + var isSim = _this.selectedSimCard && country.hasMccMnc( + _this.selectedSimCard.mcc, _this.selectedSimCard.mnc + ); + $select.append(new Option(country.toString(), country.get('code'), + true, isSim)); + if (isSim) { + _this.$el.find('legend').html(country.get('prefix')); + _this.proposedCountry = country; } }); - - if (this.mcc === 0 || isNaN(this.mcc)) { - return; - } - - var country = this.countryTables.getSelectedCountry($('select').val()); - this.$el.find('legend').html(country.get('prefix')); }, showSelect: function () { - var $select = this.$el.find('select'); + var $select = this.$el.find('#country-select'); $select.focus(); }, @@ -142,21 +206,30 @@ define([ var country = this.countryTables .getSelectedCountry($(evt.target).val()); this.$el.find('legend').html(country.get('prefix')); + console.log(country); + this.proposedCountry = country; }, gotoConfirmation: function (evt) { evt.preventDefault(); - var countryCode = $(evt.target).find('select').val(); + var countryCode = $(evt.target).find('#country-select').val(); var phoneParts = this._getPhoneParts(); var isValid = this._checkPhoneNumber(phoneParts, countryCode); if (!isValid) { return; } - var $confirmationForm = this.$el.find('#register-conf'); $confirmationForm.find('input[name=msisdn]').val(phoneParts.number); - this.next('confirmation'); + if (this.selectedSimCard && this.proposedCountry.hasMccMnc( + this.selectedSimCard.mcc, this.selectedSimCard.mnc)) { + this.mcc = this.selectedSimCard.mcc; + this.mnc = this.selectedSimCard.mnc; + this.next('confirmation'); + } else { + this.populateNetworkNames(); + this.next('network-prompt'); + } }, goToValidate: function (evt) { @@ -169,9 +242,15 @@ define([ ); }, + networkSelected: function () { + console.log('chosen mcc', this.mcc); + console.log('chosen mnc', this.mnc); + this.next('confirmation'); + }, + _getPhoneParts: function (pageId) { pageId = pageId || '#login-page'; - var code = this.$el.find('select').val(); + var code = this.$el.find('#country-select').val(); var country = this.countryTables.findWhere({ code: code }); var prefix = country.get('prefix').substr(1); var number = this.$el.find(pageId + ' input[name=msisdn]').val(); @@ -230,7 +309,7 @@ define([ // we should also for this check to work country = country.toUpperCase(); if (!international || country !== international.region) { - var countrySelect = this.$el.find('select')[0]; + var countrySelect = this.$el.find('#country-select')[0]; var countryName = countrySelect.options[countrySelect.selectedIndex].textContent; var message = diff --git a/app/styles/_login.sass b/app/styles/_login.sass index 3393add..1fe6404 100644 --- a/app/styles/_login.sass +++ b/app/styles/_login.sass @@ -2,6 +2,19 @@ &.init .register-page left: 0% + .register-network-page + left: 100% + .tos-page + left: 100% + .privacy-page + left: 100% + .register-confirmation-page + left: 100% + &.network-prompt + .register-page + left: -100% + .register-network-page + left: 0% .tos-page left: 100% .privacy-page @@ -11,6 +24,8 @@ &.confirmation .register-page left: -100% + .register-network-page + left: -100% .tos-page left: 100% .privacy-page @@ -18,7 +33,7 @@ .register-confirmation-page left: 0% -#login-page, #tos-page, #confirm-phone-page +#login-page, #tos-page, #confirm-phone-page, #network-prompt-page +register-page #login-page input[type=submit], #confirm-phone-page input[type=submit] @@ -29,8 +44,21 @@ label margin-left: 0 + + +#confirm-phone-page + section.main p + margin-top: 0.5rem + button + margin-bottom: 0% + section.intro + min-height: 6rem + #confirm-phone-page button +secondary-action-button padding-top: 0 margin-top: 1.8rem +#network-prompt-page #network-name-select, #network-prompt-page #mcc-mnc-select + width: 100% + diff --git a/tools/create_countries_json.py b/tools/create_countries_json.py new file mode 100644 index 0000000..70a8afb --- /dev/null +++ b/tools/create_countries_json.py @@ -0,0 +1,74 @@ +#! /bin/python3 + +# This script reads a csv-list of countries and writes it's contents to a json-file +# The csv-list must be called 'countries.csv'; the json-file will be called 'countries.json' +# Both files should be within the current directory. +# The csv-file should have the form +# mcc, junk, mnc, junk, country_code (e.g. 'de'), name, prefix (e.g. '43'), carrier +# and should contain a header line +# The json-file will contain list of countries as follows +#[ +# { +# "carriers": { +# "{carrier_name}": [ +# {"mcc": "{mcc}", "mnc": "{mnc}"}, +# -------as above--------------- +# ], +# } +# "code": "{country_code}", +# "full": "{country_name}", +# "prefix": "{country_prefix}" +# }, +# ---------next country------ +#] + +import csv +import json + +countries = {} +with open('countries.csv', newline='') as csvfile: + reader = csv.reader(csvfile) + for row in reader: + #print(list(row)) + mcc, _, mnc, _, iso, name, code, network = row + if mcc == 'MCC' or name == 'Unknown Country' or iso == 'n/a' or network == '': + #first line or garbage + continue + if name not in countries: + country = countries[name] = { + "full": name, + "code": iso, + "prefix": "+" + code, + "carriers": {}, + } + else: + country = countries[name] + if (country["full"] != name or + country["code"] != iso or + country["prefix"] != "+" + code): + #continue + print("Invalid: old country with iso {}".format(iso)) + print(country) + print("New country:") + print(row) + print(code) + continue + if network not in country["carriers"]: + country["carriers"][network] = [] + country["carriers"][network].append({"mcc": mcc, "mnc": mnc}) +#output statistics +networks_with_one_mccmnc = 0 +networks_with_more_mccmnc = 0 +for country in countries.values(): + for mcc_mnc_list in country["carriers"].values(): + if len(mcc_mnc_list) > 1: + networks_with_more_mccmnc += 1 + else: + networks_with_one_mccmnc += 1 +print("networks with one mccmnc: {}; with more mccmnc: {}".format( + networks_with_one_mccmnc, + networks_with_more_mccmnc +)) +with open('countries.json', 'w') as jsonfile: + jsonfile.write(json.dumps(list(countries.values()), sort_keys=True, indent=4, separators=(',', ': '))) +