webui-new/development/simpleadmin/www/scanner.html

2390 lines
95 KiB
HTML
Raw Normal View History

2025-03-24 22:39:52 +08:00
<!DOCTYPE html>
<html lang="en" data-bs-theme="light">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>模块管理</title>
<!-- <link
href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css"
rel="stylesheet"
integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH"
crossorigin="anonymous"
/> -->
<!-- Import all the bootstrap css files from css folder -->
<link rel="stylesheet" href="css/styles.css" />
<link rel="stylesheet" href="css/bootstrap.min.css" />
<!-- Logo -->
<link rel="simpleadmin-logo" href="favicon.ico" />
<!-- Import BootStrap Javascript -->
<script src="js/bootstrap.bundle.min.js"></script>
<script src="js/alpinejs.min.js" defer></script>
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
</head>
<body>
<main>
<div class="container my-4" x-data="cellScanner()">
<nav class="navbar navbar-expand-lg mt-2">
<div class="container-fluid">
<a class="navbar-brand" href="/"
><span class="mb-0 h4 fw-bold">模块管理</span></a>
<button
class="navbar-toggler"
type="button"
data-bs-toggle="collapse"
data-bs-target="#navbarText"
aria-controls="navbarText"
aria-expanded="false"
aria-label="Toggle navigation"
>
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarText">
<ul class="navbar-nav me-auto mb-2 ml-4 mb-lg-0">
<li class="nav-item">
<a class="nav-link" href="/">首页</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/network.html">网络</a>
</li>
<li class="nav-item">
<a
class="nav-link active"
href="/scanner.html"
aria-current="page"
>扫描</a
>
</li>
<li class="nav-item">
<a class="nav-link" href="/settings.html">设置</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/sms.html">短信</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/console">控制台</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/deviceinfo.html"
>设备信息</a
>
</li>
</ul>
<span class="navbar-text">
<button class="btn btn-link text-reset" id="darkModeToggle">
暗黑模式
</button>
</span>
</div>
</div>
</nav>
<!-- <div class="row mt-3 mb-4">
<div class="col">
<div class="card">
<div class="card-header">Live Signal</div>
<div class="card-body">
<div class="row mt-2 mb-2">
<p>Signal Graph</p>
<div>
<canvas id="myChart"></canvas>
</div>
</div>
</div>
</div>
</div>
</div> -->
<div class="row mt-3 mb-4">
<div class="col">
<div class="card">
<div class="card-header">运营商扫描</div>
<div class="card-body">
<div class="card-text">
<table class="table">
<thead>
<tr>
<th scope="col">网络</th>
<th scope="col">运营商</th>
<th scope="col">频段</th>
<th scope="col">频率</th>
<th scope="col">PCI</th>
<th scope="col">RSRP</th>
<th scope="col">信号</th>
</tr>
</thead>
<tbody id="cellScanTableBody">
<!-- CELL ROWS HERE -->
</tbody>
</table>
<div>
<div class="col-md-4 mb-3">
<div class="form-group">
<label for="exampleFormControlSelect1"
>选择扫描模式</label
>
<select
class="form-select"
id="cellSelect"
x-model="cellScanMode"
>
<option selected>选择扫描模式</option>
<option value="Full Scan">扫描所有</option>
<option value="LTE Only">4G扫描</option>
<option value="NR5G Only">5G扫描</option>
</select>
<div id="cellSelectHelper" class="form-text">
运营商扫描将扫描您所在区域的所有4G和5G。扫描可能会断开您的网络并需要几分钟才能完成.
</div>
</div>
</div>
<div
class="d-grid gap-2 d-md-flex justify-content-md-start"
>
<button
class="btn btn-primary me-md-2"
type="button"
x-on:click="startCellScan()"
:disabled="isLoading === true || cellScanMode === 'Unspecified' || cellScanMode === 'Select Scan Mode'"
x-text="isCellScanning ? '扫描中...' : '开始扫描'"
></button>
<button
class="btn btn-danger"
type="button"
x-on:click="clearTableRowsBodyCellScan()"
:disabled="isLoading === true || resultDoneCell === false"
>
取消
</button>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col">
<div class="card">
<div class="card-header">小区扫描</div>
<div class="card-body">
<table class="table">
<thead>
<tr>
<th scope="col">网络</th>
<th scope="col">频率</th>
<th scope="col">PCI</th>
<th scope="col">RSRP</th>
<th scope="col">信号</th>
</tr>
</thead>
<tbody id="neighbourCellTableBody">
<!-- NEIGHBOUR CELL ROWS HERE -->
</tbody>
</table>
<div>
<div class="col-md-4 mb-3">
<div class="form-group">
<label for="exampleFormControlSelect1"
>选择扫描模式</label
>
<select
class="form-select"
id="neighbourCellSelect"
x-model="neighbourCellsScanMode"
>
<option selected>扫描模式</option>
<option value="LTE and NR5G">扫描所有</option>
<option value="LTE">4G扫描</option>
<option value="NR5G">5G扫描</option>
</select>
<div id="neighbourCellSelectHelper" class="form-text">
小区扫描将仅扫描您网络供应商的4G或5G
</div>
</div>
</div>
<div class="d-grid gap-2 d-md-flex justify-content-md-start">
<button
class="btn btn-primary me-md-2"
type="button"
x-on:click="getNeighbourcellLTEandNR5G()"
:disabled="isLoading === true || neighbourCellsScanMode === 'Unspecified' || neighbourCellsScanMode === 'Select Scan Mode'"
>
开始小区扫描
</button>
<button
class="btn btn-danger"
type="button"
x-on:click="clearTableRowsBodyNeighbourCells()"
:disabled="isLoading === true || resultDoneNeighbourCell === false"
>
取消
</button>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</main>
<script src="js/dark-mode.js"></script>
<script>
function cellScanner() {
return {
networkNames: {
28967: "Aquafon JSC",
28988: "A-Mobile LLSC",
27601: "One Telecommunications",
27602: "Vodafone Albania",
27603: "Albtelecom",
21303: "Andorra Telecom",
28301: "Veon Armenia CJSC",
28304: "Karabakh Telecom",
28305: "K Telecom CJSC",
28310: "Ucom LLC",
23201: "A1 Telekom Austria",
23203: "T-Mobile Austria GmbH",
23205: "Hutchison Drei Austria",
23207: "T-Mobile Austria",
23208: "Lycamobile Austria",
23209: "A1 Telekom Austria",
23210: "Hutchison Drei Austria",
23211: "A1 Telekom Austria",
23212: "A1 Telekom Austria",
23213: "T-Mobile Austria GmbH",
23215: "Mundio Mobile Austria",
23217: "MASS Response Service GmbH",
23220: "MTEL Austrija GmbH",
23291: "ÖBB",
23292: "ArgoNET GmbH",
25701: "A1 Belarus",
25702: "Mobile TeleSystems",
25704: "Belarusian Telecommunications Network",
25706: "Belorussian Cloud Technologies",
20601: "Proximus SA",
20602: "Infrabel",
20603: "Citymesh NV",
20605: "Telenet",
20606: "Lycamobile sprl",
20608: "Nethys",
20610: "Orange S.A.",
20620: "Telenet",
20630: "Unleashed NV",
21803: "Public Enterprise Croatian Telecom Ltd.",
21805: "RS Telecommunications JSC Banja Luka",
21890: "BH Telecom",
28401: "A1 Bulgaria",
28403: "BTC",
28405: "Yettel Bulgaria",
28407: "НАЦИОНАЛНА КОМПАНИЯ ЖЕЛЕЗОПЪТНА ИНФРАСТРУКТУРА",
28411: "Bulsatcom",
28413: "Ti.com JSC",
21901: "T-Hrvatski Telekom",
21902: "Telemach",
21910: "A1 Hrvatska",
28001: "Cyprus Telecommunications Authority",
28010: "Monaco Telecom",
28020: "PrimeTel PLC",
28022: "Lemontel Ltd",
23001: "T-Mobile Czech Republic",
23002: "O2 Czech Republic",
23003: "Vodafone Czech Republic",
23004: "Nordic Telecom Regional s.r.o.",
23005: "PODA a.s.",
23006: "Nordic Telecom 5G a.s.",
23007: "T-Mobile Czech Republic",
23098: "Správa železniční dopravní cesty, s.o.",
23801: "TDC A/S",
23802: "Telenor Denmark",
23805: "Dansk Beredskabskommunikation A/S",
23806: "Hi3G Denmark ApS",
23808: "Voxbone mobile",
23809: "Dansk Beredskabskommunikation A/S",
23810: "TDC A/S",
23811: "Dansk Beredskabskommunikation A/S",
23812: "Lycamobile Denmark Ltd",
23815: "Cibicom",
23820: "Telia",
23823: "Banedanmark",
23842: "Greenwave Mobile IoT ApS",
23866: "TT-Netværket P/S",
23873: "Onomondo ApS",
24801: "Telia Eesti",
24802: "Elisa Eesti",
24803: "Tele2 Eesti",
24804: "OY Top Connect",
24805: "CSC Telecom Estonia OÜ",
24816: "SmartTel Plus OÜ",
24820: "DOTT Telecom OÜ",
24826: "IT-Decision Telecom OÜ",
28801: "Føroya Tele",
28802: "Nema",
24403: "DNA Oy",
24405: "Elisa Oyj",
24407: "Nokia Solutions and Networks Oy",
24412: "DNA Oy",
24414: "Ålands Telekommunikation Ab",
24417: "Liikennevirasto",
24419: "Nettia Oy",
24421: "Elisa Oyj",
24426: "Compatel Ltd",
24432: "Voxbone SA",
24433: "Suomen Turvallisuusverkko Oy",
24435: "Edzcom Oy",
24436: "Telia Finland Oyj / Suomen Yhteisverkko Oy",
24437: "Tismi BV",
24491: "Telia Finland Oyj",
20801: "Orange S.A.",
20802: "Orange S.A.",
20803: "MobiquiThings",
20805: "Globalstar Europe",
20806: "Globalstar Europe",
20807: "Globalstar Europe",
20808: "Altice",
20809: "Altice",
20810: "Altice",
20811: "Altice",
20812: "Truphone France",
20813: "Altice",
20814: "SNCF Réseau",
20815: "Free Mobile",
20816: "Free Mobile",
20819: "Haute-Garonne numérique",
20820: "Bouygues Telecom",
20823: "Syndicat mixte ouvert Charente Numérique",
20824: "Sierra Wireless",
20825: "LycaMobile",
20826: "Bouygues Telecom - Distribution",
20827: "Coriolis Telecom",
20828: "Airmob Infra Full",
20829: "Cubic télécom France",
20830: "Syma Mobile",
20831: "Mundio Mobile",
20834: "Cellhire France",
20835: "Free Mobile",
20836: "Free Mobile",
20838: "Lebara France Ltd",
20888: "Bouygues Telecom",
20896: "Région Bourgogne-Franche-Comté",
28201: "Silknet",
28202: "MagtiCom",
28203: "MagtiCom",
28204: "Mobitel",
28205: "Silknet",
28207: "GlobalCell",
28208: "Silknet",
28209: "Gmobile",
26201: "Telekom Deutschland GmbH",
26202: "Vodafone D2 GmbH",
26203: "Telefónica Germany GmbH & Co. oHG",
26209: "Vodafone D2 GmbH",
26210: "DB Netz AG",
26212: "sipgate GmbH",
26214: "Lebara Limited",
26215: "None",
26218: "NetCologne",
26219: "Alliander AG",
26220: "Enreach Germany GmbH",
26223: "Drillisch Online AG",
26243: "Lycamobile",
26260: "DB Telematik",
26270: "BDBOS",
26298: "private networks",
26601: "Gibtelecom",
20201: "COSMOTE - Mobile Telecommunications S.A.",
20202: "COSMOTE - Mobile Telecommunications S.A.",
20205: "Vodafone Greece",
20209: "NOVA",
20210: "NOVA",
20212: "Yuboto",
20214: "CYTA",
20216: "Inter Telecom",
29001: "Tusass A/S",
29002: "inu:it a/s",
23403: "Jersey Airtel Ltd",
23450: "JT Group Limited",
23455: "Sure (Guernsey) Limited",
21601: "Telenor Magyarország Zrt.",
21602: "MVM Net Ltd.",
21603: "DIGI Telecommunication Ltd.",
21630: "Magyar Telekom Plc",
21670: "Vodafone Magyarország Zrt.",
21671: "Vodafone Magyarország Zrt.",
21699: "Magyar Államvasutak",
27401: "Iceland Telecom",
27402: "Sýn",
27404: "IMC Island ehf",
27408: "Iceland Telecom",
27411: "Nova ehf",
27412: "IP fjarskipti",
27491: "Neyðarlínan",
27201: "Vodafone Ireland",
27202: "Hutchison 3G Ireland limited",
27203: "Eir Group plc",
27205: "Hutchison 3G Ireland limited",
27207: "Eir Group plc",
27211: "Liffey Telecom",
27213: "Lycamobile",
27215: "UPC",
27216: "Carphone Warehouse",
27218: "Cubic Telecom Limited",
27221: "Net Feasa Limited",
23436: "Sure Isle of Man Ltd.",
23458: "Manx Telecom",
23473: "Bluewave Communications Ltd",
22201: "Telecom Italia S.p.A.",
22206: "Vodafone Italia S.p.A.",
22207: "Noverca",
22208: "Fastweb S.p.A.",
22210: "Vodafone Italia S.p.A.",
22230: "Rete Ferroviaria Italiana",
22233: "Poste Mobile S.p.A.",
22234: "BT Italia",
22235: "Lycamobile",
22236: "Digi Italy S.r.l.",
22238: "OpNet S.p.A.",
22241: "GO internet S.p.A.",
22243: "Telecom Italia S.p.A.",
22247: "Fastweb S.p.A.",
22250: "Iliad Italia",
22253: "COOP Voce",
22254: "None",
22256: "Mass Response GmbH",
22288: "Wind Tre",
22299: "Wind Tre",
22101: "Telecom of Kosovo J.S.C.",
22102: "IPKO",
22106: "Dardaphone.Net LLC",
22107: "Dukagjini Telecommunications LLC",
24701: "Latvian Mobile Telephone",
24702: "Tele2",
24703: "Telekom Baltija",
24705: "Bite Latvija",
24707: "SIA MEGATEL",
24708: "SIA VENTAmobile",
24709: "Camel Mobile",
29501: "Swisscom Schweiz AG",
29502: "Salt Liechtenstein AG",
29505: "Telecom Liechtenstein AG",
29506: "Cubic Telecom AG",
24601: "Telia Lietuva",
24602: "UAB Bitė Lietuva",
24603: "UAB Tele2 (Tele2 AB, Sweden)",
24605: "Lietuvos geležinkeliai (Lithuanian Railways)",
24606: "UAB Mediafon",
24608: "Lietuvos radijo ir televizijos centras",
27001: "POST Luxembourg",
27071: "Société Nationale des Chemins de Fer Luxembourgeois",
27077: "Tango SA",
27099: "Orange S.A.",
27801: "Epic",
27821: "Mobile Communications Limited",
27877: "Melita",
25500: "Interdnestrcom",
25901: "Orange Moldova",
25902: "Moldcell",
25903: "Moldtelecom",
25905: "Moldtelecom",
25915: "Interdnestrcom",
25999: "Moldtelecom",
21210: "Monaco Telecom",
29701: "Telenor Montenegro",
29702: "Crnogorski Telekom",
29703: "m:tel Crna Gora",
20402: "T-Mobile Netherlands B.V",
20403: "Enreach Netherlands B.V.",
20404: "Vodafone Libertel B.V.",
20407: "Tata Communications MOVE B.V.",
20408: "KPN Mobile The Netherlands B.V.",
20409: "Lycamobile Netherlands Limited",
20410: "KPN B.V.",
20411: "Greenet Netwerk B.V",
20412: "KPN Mobile The Netherlands B.V.",
20415: "Ziggo B.V.",
20416: "T-Mobile Netherlands B.V",
20417: "Lebara Ltd",
20418: "Ziggo Services B.V.",
20420: "T-Mobile Netherlands B.V",
20421: "ProRail B.V.",
20423: "KORE Wireless Nederland B.V.",
20425: "CapX B.V.",
20427: "L-Mobi Mobile B.V.",
20433: "Truphone B.V.",
20462: "RGTN Wholesale Netherlands B.V.",
20466: "Utility Connect B.V.",
29401: "Makedonski Telekom",
29403: "A1 Macedonia DOOEL",
29404: "Lycamobile LLC",
24201: "Telenor Norge AS",
24202: "Telia Norge AS",
24206: "ICE Norge AS",
24208: "Telia Norge AS",
24209: "Com4 AS",
24214: "ICE Communication Norge AS",
24215: "eRate Norway AS",
24220: "Jernbaneverket AS",
24221: "Jernbaneverket AS",
24223: "Lyca Mobile Ltd",
24299: "TampNet AS",
26001: "Polkomtel Sp. z o.o.",
26002: "T-Mobile Polska S.A.",
26003: "Orange Polska S.A.",
26006: "P4 Sp. z o.o.",
26007: "Netia S.A.",
26009: "Lycamobile Sp. z o.o.",
26011: "Polkomtel Sp. z o.o.",
26012: "Cyfrowy Polsat S.A.",
26013: "Move Telecom S.A.",
26015: "Polkomtel Sp. z o.o.",
26016: "Polkomtel Sp. z o.o.",
26017: "Polkomtel Sp. z o.o.",
26025: "Claude ICT Poland Sp. z o.o.",
26033: "Truphone Poland Sp. z o.o.",
26034: "T-Mobile Polska S.A.",
26035: "PKP Polskie Linie Kolejowe S.A.",
26039: "VOXBONE SA",
26045: "P4 Sp. z o.o.",
26801: "Vodafone Portugal",
26803: "NOS Comunicações",
26804: "LycaMobile",
26806: "MEO - Serviços de Comunicações e Multimédia, S.A.",
26812: "Infraestruturas de Portugal, S.A.",
26880: "MEO - Serviços de Comunicações e Multimédia, S.A.",
22601: "Vodafone România",
22603: "Telekom Romania",
22605: "RCS&RDS",
22610: "Orange România",
22616: "Lycamobile Romania",
25001: "Mobile TeleSystems",
25002: "MegaFon PJSC",
25008: "CS VainahTelecom",
25009: "Khabarovsky Cellular Phone",
25011: "Scartel",
25016: "Miatel",
25020: "Tele2",
25021: "JSC GlobalTel",
25022: "Vainakh Telecom",
25023: "GTNT",
25026: "VTB Mobile",
25027: "Tattelecom",
25029: "Iridium Communications",
25032: "K-Telecom",
25033: "Sevtelekom",
25034: "Krymtelekom",
25035: "EKATERINBURG-2000",
25040: "Voentelecom",
25045: "PJSC New Mobile Communications",
25050: "Sberbank-Telecom",
25059: "NetbyNet",
25060: "KTK Telecom",
25062: "Tinkoff Mobile",
25096: "K-Telecom",
25097:
"State Unitary Enterprise of DPR Republican Telecommunications Operator",
25598: "OOO MKS",
25099: "OJSC Vimpel-Communications",
29201: "San Marino Telecom",
22001: "Telenor Serbia",
22003: "Telekom Srbija",
22005: "A1 Srbija d.o.o.",
22011: "GLOBALTEL d.o.o.",
23101: "Orange Slovensko",
23102: "Slovak Telekom",
23103: "SWAN Mobile, a.s.",
23104: "Slovak Telekom",
23105: "Orange Slovensko",
23106: "O2 Slovakia",
23199: "Železnice Slovenskej Republiky",
29310: "SŽ - Infrastruktura, d.o.o.",
29340: "A1 Slovenija",
29341: "Telekom Slovenije",
29364: "T-2 d.o.o.",
29370: "Tušmobil d.o.o.",
21401: "Vodafone Spain",
21402: "Fibracat Telecom SLU",
21403: "Orange Espagne S.A.U",
21404: "Xfera Moviles SA",
21405: "Telefónica Móviles España",
21406: "Vodafone Spain",
21407: "Telefónica Móviles España",
21408: "None",
21409: "Orange Espagne S.A.U",
21414: "AVATEL MÓVIL, S.L.U.",
21416: "R Cable y Telecomunicaciones Galicia S.A.",
21417: "R Cable y Telecomunicaciones Galicia S.A.",
21419: "Orange España Virtual Sl.",
21422: "Best Spain Telecom",
21424: "VODAFONE ESPAÑA, S.A.U.",
21427: "SCN Truphone, S.L.",
21428: "Consorcio de Telecomunicaciones Avanzadas, S.A.",
21429: "Xfera Moviles S.A.U.",
21434: "Aire Networks del Mediterráneo, S.L.U.",
21451: "Administrador de Infraestructuras Ferroviarias",
24001: "Telia Sverige AB",
24002: "HI3G Access AB",
24003: "Teracom AB",
24004: "3G Infrastructure Services AB",
24005: "Svenska UMTS-Nät AB",
24006: "Telenor Sverige AB",
24007: "Tele2 Sverige AB",
24010: "Tele2 Sverige AB",
24012: "Lycamobile Sweden Limited",
24016: "42 Telecom AB",
24017: "Götalandsnätet AB",
24019: "Mundio Mobile (Sweden) Limited",
24020: "Sierra Wireless Messaging AB",
24021: "Trafikverket ICT",
24024: "Net4Mobility HB",
24027: "GlobeTouch AB",
24038: "Voxbone mobile",
24063: "Fink Telecom Services",
22801: "Swisscom AG",
22802: "Sunrise UPC",
22803: "Salt Mobile SA",
22806: "SBB AG",
22808: "Sunrise Communications AG",
22851: "relario AG",
22853: "Sunrise UPC GmbH",
22854: "Lycamobile AG",
22858: "Beeone Communications SA",
22862: "Telecom26 AG",
22863: "Fink Telecom Services",
22864: "Nth AG",
28601: "Turkcell Iletisim Hizmetleri A.S.",
28602: "Vodafone Turkey",
28603: "Türk Telekom",
25501: "PRJSC VF Ukraine",
25502: "PRJSC Kyivstar",
25503: "PRJSC Kyivstar",
25504: "Intertelecom LLC",
25506: "lifecell LLC",
25507: "Trimob LLC",
25521: "PRJSC Telesystems of Ukraine",
23400: "BT Group",
23401: "Mundio Mobile Limited",
23402: "Telefónica Europe",
23408: "BT OnePhone (UK) Ltd",
23410: "Telefónica Europe",
23411: "Telefónica Europe",
23412: "Network Rail Infrastructure Ltd",
23413: "Network Rail Infrastructure Ltd",
23414: "Link Mobility UK Ltd",
23415: "Vodafone",
23416: "TalkTalk Communications Limited",
23418: "Wireless Logic Limited",
23419: "Teleware plc",
23420: "Hutchison 3G UK Ltd",
23424: "Stour Marine Limited",
23425: "Truphone",
23426: "Lycamobile UK Limited",
23427: "Tata Communications Move UK Ltd",
23428: "Marathon Telecom Limited",
23430: "EE",
23433: "EE",
23434: "EE",
23451: "UK Broadband Limited",
23453: "Tango Networks UK Ltd",
23454: "The Carphone Warehouse Limited",
23472: "Hanhaa Limited",
23476: "BT Group",
23478: "Airwave Solutions Ltd",
23488: "Telet Research (N.I.) Limited",
23588: "Telet Research (N.I.) Limited",
365010: "Digicel",
365840: "Cable & Wireless",
344030: "Antigua Public Utilities Authority",
344050: "Antigua Wireless Ventures Limited",
344920: "Cable & Wireless Caribbean Cellular (Antigua) Limited",
36301: "Servicio di Telecomunicacion di Aruba",
36302: "Digicel Aruba",
36439: "The Bahamas Telecommunications Company Ltd (BaTelCo)",
36449: "Cable Bahamas Ltd",
342600: "LIME (formerly known as Cable & Wireless)",
342750: "Digicel (Barbados) Limited",
31059: "None",
338050: "Digicel (Turks & Caicos) Limited",
35000: "Bermuda Digital Communications Ltd.",
348170: "Cable & Wireless",
348570: "Caribbean Cellular Telephone",
348770: "Digicel (BVI) Limited",
302130: "Xplore Inc.",
302131: "Xplore Inc.",
302220: "Telus Mobility",
302270: "Bragg Communications",
302300: "Ecotel inc.",
302310: "Ecotel inc.",
302320: "Rogers Communications",
302340: "Execulink",
302370: "Fido Solutions (Rogers Wireless)",
302380: "Keewaytinook Okimakanak Mobile",
302420: "A.B.C. Allen Business Communications Ltd.",
302480: "SSi Connexions",
302490: "Shaw Communications",
302500: "Videotron",
302510: "Videotron",
302520: "Videotron",
302530: "Keewaytinook Okimakanak Mobile",
302590: "Quadro Communications Co-op",
302610: "Bell Mobility",
302620: "ICE Wireless",
302650: "Thunder Bay Telephone",
302660: "Bell MTS",
302680: "SaskTel Mobility",
302690: "Bell Mobility",
302710: "None",
302720: "Rogers Communications",
302760: "Telus Mobility",
302770: "TNW Wireless Inc.",
302780: "SaskTel Mobility",
302790: "NetSet Communications",
302880: "Shared Telus, Bell, and SaskTel",
302940: "Wightman Telecom",
33805: "Digicel",
346001: "WestTel Ltd.",
346140: "Cable & Wireless (Cayman Islands) Limited",
36801: "Empresa de Telecomunicaciones de Cuba, SA",
366020: "Digicel Group Limited",
366110: "Cable & Wireless",
37001: "Altice Group",
37002: "Compañía Dominicana de Teléfonos",
37003: "Altice Group",
37004: "Trilogy Dominicana, S.A.",
37005: "WIND Telecom, S.A",
34001: "Orange Caraïbe Mobiles",
34002: "Outremer Telecom",
34003: "UTS Caraïbe",
34008: "Dauphin Telecom",
34020: "DIGICEL Antilles Française Guyane",
352030: "Digicel Grenada Ltd.",
352110: "Cable & Wireless Grenada Ltd.",
310032: "IT&E Overseas, Inc",
310140: "Teleguam Holdings, LLC",
310370: "NTT DoCoMo Pacific",
310400: "IT&E Overseas, Inc",
310480: "IT&E Overseas, Inc",
311120: "IT&E Overseas, Inc",
311250: "IT&E Overseas, Inc",
37202: "Unigestion Holding S.A.",
37203: "NATCOM S.A.",
338110: "Cable & Wireless Communications",
338180: "Cable & Wireless Communications",
334020: "América Móvil",
334030: "Telefónica",
334050: "AT&T Mexico",
334090: "AT&T Mexico",
334130: "ALESTRA SERVICIOS MÓVILES, S.A. DE C.V.",
334140: "Altán Redes S.A.P.I. de C.V.",
334150: "Ultravisión, S.A. de C.V.",
334180: "FREEDOMPOP MÉXICO, S.A. DE C.V.",
334190: "VIASAT TECNOLOGÍA, S.A. DE C.V.",
354860: "Cable & Wireless",
36251: "Telcell N.V.",
36254: "East Caribbean Cellular",
36260: "Liberty Latin America",
36268: "Curaçao Telecom N.V.",
36269: "Curaçao Telecom N.V.",
36276: "Antiliano Por N.V.",
36278: "Telefonia Bonairiano N.V.",
36291: "Liberty Latin America",
36294: "Bòbò Frus N.V.",
310110: "PTI Pacifica Inc.",
310260: "T-Mobile US",
313790: "Liberty Cablevision of Puerto Rico LLC",
330000: "PR Wireless",
330110: "América Móvil",
330120: "PR Wireless",
356050: "Wireless Ventures (St Kitts-Nevis) Limited",
356070: "UTS",
356110: "Cable & Wireless St. Kitts & Nevis Ltd",
358110: "Cable & Wireless",
30801: "St. Pierre-et-Miquelon Télécom",
30802: "GLOBALTEL",
360050: "Digicel (St. Vincent and the Grenadines) Limited",
360110: "Cable & Wireless (St. Vincent & the Grenadines) Ltd",
37412: "TSTT",
374130: "Digicel (Trinidad & Tobago) Limited",
376350: "Cable & Wireless West Indies Ltd (Turks & Caicos)",
310004: "Verizon Wireless",
310006: "Verizon Wireless",
310012: "Verizon Wireless",
310020: "Union Telephone Company",
310030: "AT&T Mobility",
310034: "Airpeak",
310050: "Alaska Communications",
310053: "T-Mobile US",
310054: "Alltel US",
310066: "U.S. Cellular",
310070: "AT&T Mobility",
310080: "AT&T Mobility",
310090: "AT&T Mobility",
310100: "New Mexico RSA 4 East LP",
310120: "T-Mobile US",
310130: "Carolina West Wireless",
310150: "AT&T Mobility",
310160: "T-Mobile US",
310170: "AT&T Mobility",
310180: "West Central Wireless",
310190: "Alaska Communications",
310320: "Smith Bagley, Inc.",
310340: "Limitless Mobile, LLC",
310360: "Cellular Network Partnership",
310390: "TX-11 Acquisition, LLC",
310410: "AT&T Mobility",
310430: "GCI Communications Corp.",
310440: "Numerex",
310450: "Viaero Wireless",
310460: "NewCore Wireless LLC",
310490: "T-Mobile",
310500: "Public Service Cellular Inc.",
310540: "Hilliary Communications",
310570: "Broadpoint, LLC",
310580: "Inland Cellular Telephone Company",
310600: "NewCell Inc.",
310640: "Numerex",
310650: "Jasper Technologies",
310680: "AT&T Mobility",
310690: "Limitless Mobile, LLC",
310710: "Arctic Slope Telephone Association Cooperative",
310740: "Viaero Wireless",
310840: "Telecom North America Mobile, Inc.",
310850: "Aeris Communications, Inc.",
310860: "TX RSA 15B2, LP",
310880: "Advantage Cellular Systems, Inc.",
310900: "Cable & Communications Corporation",
310920: "James Valley Wireless, LLC",
310930: "Copper Valley Wireless",
310950: "AT&T Mobility",
310960: "UBET Wireless",
310970: "Globalstar",
310990: "Evolve Cellular Inc.",
311000: "Mid-Tex Cellular Ltd.",
311020: "Missouri RSA 5 Partnership",
311030: "Americell PA 3 Partnership",
311040: "Commnet Wireless",
311050: "Thumb Cellular LP",
311060: "Space Data Corporation",
311070: "AT&T Mobility",
311080: "Pine Telephone Company",
311090: "AT&T Mobility",
311100: "Nex-Tech Wireless",
311140: "Cross Telephone Company",
311150: "Wilkes Cellular",
311170: "Tampnet",
311210: "Telnyx LLC",
311220: "U.S. Cellular",
311230: "Cellular South Inc.",
311240: "Cordova Wireless",
311320: "Commnet Wireless",
311330: "Bug Tussel Wireless LLC",
311340: "Illinois Valley Cellular",
311350: "Sagebrush Cellular, Inc.",
311370: "General Communication Inc.",
311380: "New Dimension Wireless Ltd.",
311410: "Iowa RSA No. 2 LP",
311420: "Northwest Missouri Cellular LP",
311450: "Panhandle Telecommunication Systems Inc.",
311470: "Vitelcom Cellular Inc.",
311480: "Verizon Wireless",
311490: "T-Mobile US",
311530: "NewCore Wireless LLC",
311550: "Commnet Wireless LLC",
311560: "OTZ Communications, Inc.",
311580: "U.S. Cellular",
311600: "Limitless Mobile, LLC",
311640: "Standing Rock Telecommunications",
311650: "United Wireless",
311660: "Metro by T-Mobile",
311670: "Pine Belt Cellular Inc.",
311690: "TeleBEEPER of New Mexico",
311740: "Telalaska Cellular",
311780: "American Samoa Telecommunications",
311800: "Verizon Wireless",
311810: "Verizon Wireless",
311830: "Thumb Cellular LP",
311840: "Nsight",
311850: "Nsight",
311860: "Uintah Basin Electronic Telecommunications",
311882: "T-Mobile US",
311900: "GigSky",
311950: "Enhanced Telecommmunications Corp.",
311970: "Big River Broadband, LLC",
311990: "VTel Wireless",
312020: "Infrastructure Networks, LLC",
312030: "Cross Wireless",
312040: "Custer Telephone Co-op (CTCI)",
312080: "South Georgia Regional Information Technology Authority",
312120: "East Kentucky Network, LLC",
312130: "East Kentucky Network, LLC",
312150: "Northwest Missouri Cellular LP",
312160: "RSA1 Limited Partnership",
312170: "Iowa RSA No. 2 LP",
312180: "Limitless Mobile LLC",
312210: "Aspenta International, Inc.",
312220: "Chariton Valley Communications Corporation, Inc.",
312250: "T-Mobile US",
312270: "Cellular Network Partnership",
312280: "Cellular Network Partnership",
312300: "Telecom North America Mobile, Inc.",
312310: "Clear Stream Communications, LLC",
312320: "RTC Communications LLC",
312330: "Nemont Communications, Inc.",
312350: "Triangle Communication System Inc.",
312370: "Commnet Wireless",
312380: "Copper Valley Wireless",
312390: "FTC Communications LLC",
312400: "Mid-Rivers Telephone Cooperative",
312420: "Nex-Tech Wireless",
312430: "Silver Star Communications",
312460: "Ketchikan Public Utilities (KPU)",
312470: "Carolina West Wireless",
312530: "T-Mobile US",
312590: "Northern Michigan University",
312620: "GlobeTouch Inc.",
312670: "AT&T Mobility",
312690: "TGS, LLC",
312700: "Wireless Partners, LLC",
312710: "Great North Woods Wireless LLC",
312720: "Southern Communications Services",
312780: "Redzone Wireless",
312810: "Bristol Bay Telephone Cooperative",
312830: "Kings County Office of Education",
312870: "GigSky Mobile, LLC",
312900: "Flat West Wireless, LLC",
312940: "Webformix",
312950: "Custer Telephone Co-op (CTCI)",
313000: "Tennessee Wireless",
313020: "Cambridge Telephone Company Inc.",
313040: "Nucla-Naturita Telephone Company",
313060: "Country Wireless",
313080: "Speedwavz LLP",
313090: "Vivint Wireless, Inc.",
313100: "AT&T FirstNet",
313200: "Mercury Network Corporation",
313260: "Expeto Wireless Inc.",
313300: "Cambio WiFi of Delmarva, LLC",
313340: "Dish Wireless",
313460: "Mobi, Inc.",
313510: "Puerto Rico Telephone Company",
313520: "Florida Broadband, Inc.",
313550: "Mile High Networks LLC",
313560: "Transit Wireless LLC",
313690: "Shenandoah Cable Television, LLC",
313760: "Hologram, Inc.",
313810: "Watch Communications",
313850: "Softcom Internet Communications, Inc",
313860: "AMG Technology Investment Group",
313870: "ElektraFi LLC",
313890: "Tulare County Office of Education",
313930: "Standing Rock Telecom",
41201: "Afghan Wireless Communication Company",
41220: "Telecom Development Company Afghanistan Ltd.",
41240: "MTN Group Afghanistan",
41250: "Etisalat Afghanistan",
41255: "WASEL Afghanistan",
41280: "Afghan Telecom",
41288: "Afghan Telecom",
40001: "None",
40002: "None",
40003: "CATEL",
40004: "Azerfon",
40006: "Nakhtel LLC",
42601: "Bahrain Telecommunications Company",
42602: "Zain Bahrain",
42604: "Stc Bahrain",
42605: "Bahrain Telecommunications Company",
47001: "Grameenphone Ltd.",
47002: "Axiata Bangladesh Ltd.",
47003: "Banglalink Digital Communications Ltd.",
47004: "Teletalk Bangladesh Limited",
47007: "Bharti Airtel Bangladesh Ltd.",
47010: "Banglalion Communications Ltd.",
40211: "Bhutan Telecom Limited",
40277: "Tashi InfoComm Limited",
45601: "CamGSM / The Royal Group",
45602: "Smart Axiata Co. Ltd",
45605: "Smart Axiata Co. Ltd",
45606: "Smart Axiata Co. Ltd",
45608: "Viettel",
45609: "Viettel",
45611: "SEATEL Cambodia",
45618: "The Royal Group",
46000: "中国移动",
46001: "中国联通",
46003: "中国电信",
46009: "中国联通",
46011: "中国电信",
46015: "中国广电",
46020: "中国铁通",
45400: "CSL Limited",
45401: "CITIC Telecom 1616",
45402: "CSL Limited",
45403: "Hutchison Telecom",
45406: "SmarTone Mobile Communications Limited",
45407: "China Unicom (Hong Kong) Limited",
45408: "Truphone Limited",
45411: "China-Hong Kong Telecom",
45412: "China Mobile Hong Kong Company Limited",
45413: "China Mobile Hong Kong Company Limited",
45416: "PCCW",
45419: "PCCW-HKT",
45420: "PCCW-HKT",
45422: "263 Mobile Communications (HongKong) Limited",
45424: "Multibyte Info Technology Ltd",
45429: "PCCW-HKT",
45431: "China Telecom Global Limited",
45432: "Hong Kong Broadband Network Ltd",
45435: "Webbing Hong Kong Ltd",
40401: "Haryana",
40402: "Punjab",
40403: "Himachal Pradesh",
40405: "Gujarat",
40407: "Andhra Pradesh and Telangana",
40409: "Assam",
40410: "Delhi & NCR",
40411: "Delhi & NCR",
40414: "Punjab",
40415: "Uttar Pradesh (East)",
40416: "North East",
40418: "Himachal Pradesh",
40420: "Mumbai",
40422: "Maharashtra & Goa",
40430: "Kolkata",
40431: "Kolkata",
40434: "Haryana",
40436: "Bihar & Jharkhand",
40438: "Assam",
40440: "Chennai",
40443: "Tamil Nadu",
40445: "Karnataka",
40446: "Kerala",
40449: "Andhra Pradesh and Telangana",
40450: "North East",
40451: "Himachal Pradesh",
40452: "Odisha",
40453: "Punjab",
40454: "Uttar Pradesh (West)",
40455: "Uttar Pradesh (East)",
40456: "Uttar Pradesh (West)",
40457: "Gujarat",
40458: "Madhya Pradesh & Chhattisgarh",
40459: "Rajasthan",
40460: "Rajasthan",
40462: "Jammu & Kashmir",
40464: "Chennai",
40466: "Maharashtra & Goa",
40467: "Madhya Pradesh & Chhattisgarh",
40468: "Delhi & NCR",
40469: "Mumbai",
40470: "Rajasthan",
40471: "Karnataka (Bangalore)",
40472: "Kerala",
40473: "Andhra Pradesh and Telangana",
40474: "West Bengal",
40475: "Bihar",
40476: "Odisha",
40477: "North East",
40478: "Madhya Pradesh & Chattishgarh",
40479: "Andaman Nicobar",
40480: "Tamil Nadu",
40481: "Kolkata",
40482: "Himachal Pradesh",
40483: "Kolkata",
40485: "West Bengal",
40486: "Karnataka",
40490: "Maharashtra",
40492: "Mumbai",
40493: "Madhya Pradesh",
40494: "Tamil Nadu",
40495: "Kerala",
40496: "Haryana",
40497: "Uttar Pradesh (West)",
40498: "Gujarat",
40503: "Bihar",
40504: "Chennai",
40505: "Delhi & NCR",
40506: "Gujarat",
40507: "Haryana",
40508: "Himachal Pradesh",
40509: "Jammu & Kashmir",
40510: "Karnataka",
40511: "Kerala",
40512: "Kolkata",
40513: "Maharashtra & Goa",
40514: "Madhya Pradesh",
40515: "Mumbai",
40517: "Odisha",
40518: "Punjab",
40519: "Rajasthan",
40520: "Tamil Nadu",
40521: "Uttar Pradesh (East)",
40522: "Uttar Pradesh (West)",
40523: "West Bengal",
40551: "West Bengal",
40552: "Bihar & Jharkhand",
40553: "Odisha",
40554: "Uttar Pradesh (East)",
40555: "Jammu & Kashmir",
40556: "Assam",
40567: "West Bengal",
40570: "Bihar & Jharkhand",
405750: "Jammu & Kashmir",
405751: "Assam",
405753: "Odisha",
405755: "North East",
405840: "West Bengal",
405854: "Andhra Pradesh",
405855: "Assam",
405856: "Bihar",
405857: "Gujarat",
405858: "Haryana",
405859: "Himachal Pradesh",
405860: "Jammu & Kashmir",
405861: "Karnataka",
405862: "Kerala",
405863: "Madhya Pradesh",
405864: "Maharashtra",
405865: "North East",
405866: "Odisha",
405867: "Punjab",
405868: "Rajasthan",
405869: "Tamil Nadu (incl. Chennai)",
405870: "Uttar Pradesh (West)",
405871: "Uttar Pradesh (East)",
405872: "Delhi",
405873: "Kolkata",
405874: "Mumbai",
405908: "Andhra Pradesh and Telangana",
43201: "Kish Cell Pars",
43202: "Negin Ertebatat Ava",
43203: "Parsian Hamrah Lotus",
43206: "Ertebatat-e Arian Tel Co.",
43207: "Hooshmand Amin Mobile",
43208: "Shatel Group",
43210: "Samantel Mobile",
43211: "Mobile Communications Company of Iran (MCI)",
43212: "Dadeh Dostar asr Novin PJSC",
43214: "Kish Free Zone Organization",
43220: "Social Security Investment Co.",
43221: "Social Security Investment Co.",
43232: "Telecommunication Company of Iran (TCI)",
43235: "MTN Irancell Telecommunications Services Company",
43240: "Ertebatat Mobinnet",
43244: "Ertebatat Mobinnet",
43245: "Farabord Dadeh Haye Iranian Co.",
43250: "Shatel Group",
43270: "Telecommunication Company of Iran (TCI)",
43271: "ERTEBATAT KOOHE NOOR",
43290: "IRAPHONE GHESHM of Iran",
43293: "Farzanegan Pars",
43299: "TCI of Iran and Rightel",
41800: "Asia Cell Telecommunications Company",
41805: "Asia Cell Telecommunications Company",
41808: "None",
41820: "Zain Iraq",
41830: "Zain Iraq",
41840: "Telecom Ltd",
41845: "Mobitel Co. Ltd.",
41862: "Itisaluna Wireless CO.",
41892: "Omnnea Wireless",
42501: "Partner Communications Company Ltd.",
42502: "Cellcom Israel Ltd.",
42503: "Pelephone Communications Ltd.",
42505: "Palestine Cellular Communications, Ltd.",
42506: "Ooredoo Palestine",
42507: "Hot Mobile Ltd.",
42508: "Golan Telecom Ltd.",
42509: "Marathon 018 Xphone Ltd.",
42510: "Partner Communications Company Ltd.",
42512: "Widely Mobile",
42516: "Rami Levy Communications Ltd.",
42518: "Cellact Communications Ltd.",
42519: "019 Communication Services Ltd. / TELZAR",
42524: "Partner Communications Company Ltd.",
42525: "Israel Ministry of Defense",
42526: "LB Annatel Ltd.",
44000: "SoftBank Corp.",
44001: "KDDI Corporation",
44003: "Internet Initiative Japan Inc.",
44005: "Wireless City Planning Inc.",
44009: "Marubeni Network Solutions Inc.",
44010: "NTT DoCoMo, Inc.",
44011: "Rakuten Mobile Network, Inc.",
44020: "SoftBank Corp.",
44021: "SoftBank Corp.",
44050: "KDDI Corporation",
44051: "KDDI Corporation",
44052: "KDDI Corporation",
44053: "KDDI Corporation",
44100: "Wireless City Planning Inc.",
44101: "SoftBank Corp.",
441200: "Soracom Inc.",
441205: "Katch Network Inc.",
41601: "Jordan Mobile Telephone Services",
41603: "Umniah Mobile Company",
41677:
"Petra Jordanian Mobile Telecommunications Company (MobileCom)",
40101: "KaR-Tel LLP",
40102: "Kcell JSC",
40107: "Altel",
40108: "None",
40177: "MTS",
46705: "Cheo Technology Jv Company",
46706: "Korea Posts and Telecommunications Corporation",
45001: "Globalstar Asia Pacific",
45002: "KT",
45004: "KT",
45005: "SK Telecom",
45006: "LG Telecom",
45008: "KT",
45011: "Korea Cable Telecom",
45012: "SK Telecom",
41902: "Zain Kuwait",
41903: "National Mobile Telecommunications",
41904: "Saudi Telecom Company",
43701: "Sky Mobile LLC",
43705: "Alfa Telecom CJSC",
43709: "NurTelecom LLC",
43710: "Saima Telecom",
45701: "Lao Telecom",
45702: "Enterprise of Telecommunications Lao",
45703: "Star Telecom Co., Ltd",
45707: "Best Telecom Co., Ltd",
45708: "TPLUS Digital Sole Co., Ltd",
41501: "MIC 1",
41503: "MIC 2",
45500: "Smartone Comunicações Móveis, S.A.",
45501: "Companhia de Telecomunicações de Macau, S.A.R.L.",
45504: "Companhia de Telecomunicações de Macau, S.A.R.L.",
45505: "Hutchison Telephone (Macau), Limitada",
45506: "Smartone Comunicações Móveis, S.A.",
45507: "China Telecom (Macau) Limitada",
47201: "Dhivehi Raajjeyge Gulhun",
47202: "Ooredoo Maldives",
42888: "Unitel LLC",
42891: "Skytel LLC",
42898: "G-Mobile LLC",
42899: "Mobicom Corporation",
41401: "Myanmar Posts and Telecommunications",
41403: "Myanmar Economic Corporation",
41405: "Ooredoo Myanmar",
41406: "Telenor Myanmar",
41409: "Myanmar National Tele & Communication Co., Ltd",
41420: "Amara Communication Co., Ltd",
41421: "Amara Communication Co., Ltd",
42901: "Nepal Telecom (NDCL)",
42902: "Ncell Pvt. Ltd.",
42903: "United Telecom Limited",
42904: "Smart Telecom Pvt. Ltd. (STPL)",
42202: "Oman Telecommunications Company",
42203: "Omani Qatari Telecommunications Company SAOC",
42206: "Oman Future Telecommunications Company SAOC",
41001: "Mobilink-PMCL",
41002: "PTCL",
41003: "Pakistan Telecommunication Mobile Ltd",
41004: "China Mobile",
41005: "SCO Mobile Ltd",
41006: "Telenor Pakistan",
41007: "WaridTel",
41008: "SCO Mobile Ltd",
42701: "Ooredoo",
42702: "Vodafone Qatar",
42705: "Ministry of Interior",
42706: "Ministry of Interior",
42001: "Saudi Telecom Company",
42003: "Etihad Etisalat Company",
42004: "Zain Saudi Arabia",
42005: "Virgin Mobile Saudi Arabia",
42006: "Lebara Mobile",
42021: "Saudi Railways GSM",
41301: "Mobitel (Pvt) Ltd",
41302: "Dialog Axiata PLC",
41304: "Lanka Bell Ltd",
41305: "Bharti Airtel Lanka (Pvt) Ltd",
41308: "Hutchison Telecommunications Lanka (Pvt) Ltd",
41311: "Dialog Broadband Networks (Pvt) Ltd",
41312: "Sri Lanka Telecom PLC",
41701: "Syriatel Mobile Telecom",
41702: "MTN Syria",
46601: "Far EasTone Telecommunications Co Ltd",
46605: "Asia Pacific Telecom",
46609: "Vmax Telecom",
46610: "Global Mobile Corp.",
46612: "Ambit Microsystems",
46689: "Taiwan Star Telecom",
46692: "Chunghwa Telecom",
46697: "Taiwan Mobile Co. Ltd",
43601: "JV Somoncom",
43602: "Indigo Tajikistan",
43603: "TT Mobile",
43604: "Babilon-Mobile",
43605: "Tacom",
43610: "Babilon-T",
43802: "Altyn Asyr",
43803: "AŞTU",
42402: "Emirates Telecom Corp",
42403: "Emirates Integrated Telecommunications Company",
43403: "Uzbektelekom",
43404: "Unitel LLC",
43405: "Coscom",
43406: "RUBICON WIRELESS COMMUNICATION",
43407: "Universal Mobile Systems (UMS)",
43408: "Uzbektelekom",
43409: "OOO «Super iMAX»",
45201: "Vietnam Mobile Telecom Services Company",
45202: "Vietnam Telecom Services Company",
45204: "Viettel Telecom",
45205: "Hanoi Telecom",
45207: "GTEL Mobile JSC",
45208: "Indochina Telecom",
45209: "MOBICAST JSC",
42101: "SabaFon",
42102: "Yemen Oman United Telecom",
42103: "Yemen Mobile",
42104: "HiTS-UNITEL",
42110: "PTC/Yemen-Telecom",
42111: "Yemen Mobile",
54411: "Bluesky",
50501: "Telstra Corporation Limited",
50502: "Singtel Optus Pty Ltd",
50503: "Vodafone Hutchison Australia Pty Ltd",
50504: "Department of Defence",
50510: "Norfolk Telecom",
50513: "Railcorp, Transport for NSW",
50514: "TPG Telecom",
50516: "Victorian Rail Track",
50517: "Optus",
50519: "Lycamobile Pty Ltd",
50523: "Challenge Networks Pty Ltd",
50538: "Truphone Pty Ltd",
50550: "Pivotel Group Pty Ltd",
50552: "OptiTel Australia",
50562: "National Broadband Network Co.",
50568: "National Broadband Network Co.",
50571: "Telstra Corporation Limited",
50572: "Telstra Corporation Limited",
50588: "Pivotel Group Pty Ltd",
50590: "Singtel Optus Proprietary Ltd",
52802: "Progresif Cellular Sdn Bhd",
52811: "Data Stream Technology Sdn Bhd",
54801: "Telecom Cook Islands",
51401: "PT Telekomunikasi Indonesia International",
51402: "Timor Telecom",
51403: "Viettel Timor-Leste",
54201: "Vodafone Fiji",
54202: "Digicel Fiji",
54203: "Telecom Fiji Ltd",
54705: "VITI",
54715: "Pacific Mobile Telecom",
54720: "Onati S.A.S.",
51000: "PT Pasifik Satelit Nusantara",
51001: "PT Indosat Tbk",
51009: "PT Smartfren Telecom",
51010: "PT Telekomunikasi Selular",
51011: "PT XL Axiata Tbk",
51021: "PT Indosat Tbk",
51028: "PT Mobile-8 Telecom",
51089: "PT Hutchison 3 Indonesia",
54501: "Amalgamated Telecom Holdings Kiribati Limited",
54509: "Amalgamated Telecom Holdings Kiribati Limited",
50210: "Celcom, DiGi, Maxis, Tune Talk, U Mobile, Unifi, XOX, Yes",
50211: "Telekom Malaysia Bhd",
50212: "Maxis Communications Berhad",
50213: "Celcom Axiata Berhad",
502150: "Tune Talk Sdn Bhd",
502152: "YTL Communications Sdn Bhd",
502153: "Webe Digital Sdn Bhd",
502156: "Altel Communications Sdn Bhd",
502157: "Telekomunikasi Indonesia International (M) Sdn Bhd",
50216: "DiGi Telecommunications",
50217: "Maxis Communications Berhad",
50218: "U Mobile Sdn Bhd",
50219: "Celcom Axiata Berhad",
55101:
"Marshall Islands National Telecommunications Authority (MINTA)",
55001: "FSMTC",
53602: "Digicel (Nauru) Corporation",
54601: "OPT New Caledonia",
53001: "Vodafone New Zealand",
53005: "Spark New Zealand",
53024: "2degrees",
55501: "Telecom Niue",
55201: "Palau National Communications Corp.",
55202: "Palau Equipment Company Inc.",
55299: "Palau Mobile Communications Inc.",
53701: "Bemobile Limited",
53702: "Telikom PNG Ltd.",
53703: "Digicel PNG",
51502: "Globe Telecom",
51503: "Smart Communications",
51505: "Digital Telecommunications Philippines",
51524: "ABS-CBN Convergence with Globe Telecom",
51566: "Dito Telecommunity Corp.",
51588: "Next Mobile Inc.",
54901: "Digicel Pacific Ltd.",
54927: "Vodafone Samoa Ltd.",
52501: "Singapore Telecom",
52503: "M1 Limited",
52505: "StarHub Mobile",
52509: "Liberty Wireless Pte Ltd",
52510: "SIMBA Telecom Pte Ltd",
52512: "GRID Communications Pte Ltd.",
54001: "Our Telekom",
54002: "BMobile (SI) Ltd",
52000: "National Telecom Public Company Limited",
52001: "Advanced Info Service",
52002: "National Telecom Public Company Limited",
52003: "Advanced Wireless Network Company Ltd.",
52004: "True Move H Universal Communication Company Ltd.",
52005: "DTAC TriNet Company Ltd.",
52009: "Royal Thai Police",
52015: "National Telecom Public Company Limited",
52017: "National Telecom Public Company Limited",
52018: "Total Access Communications Public Company Ltd.",
52047: "National Telecom Public Company Limited",
52099: "True Corporation",
55401: "Teletok",
53901: "Tonga Communications Corporation",
53943: "Shoreline Communication",
53988: "Digicel (Tonga) Limited",
55301: "Tuvalu Telecom",
54100: "ACeS International (AIL)",
54101: "Telecom Vanuatu Ltd",
54105: "Digicel Vanuatu Ltd",
54107: "WanTok Vanuatu Ltd",
54301:
"Service des Postes et Télécommunications des Îles Wallis et Futuna (SPT)",
60301: "Algérie Télécom",
60302: "Optimum Telecom Algérie Spa",
60303: "Wataniya Telecom Algérie",
60307: "Algérie Télécom",
60309: "Algérie Télécom",
63102: "UNITEL S.a.r.l.",
63104: "MOVICEL Telecommunications S.A.",
63105: "Africell",
61601: "Benin Telecoms Mobile",
61602: "Telecel Benin",
61603: "Spacetel Benin",
61604: "Bell Benin Communications",
65201: "Mascom Wireless (Pty) Limited",
65202: "Orange (Botswana) Pty Limited",
65204: "Botswana Telecommunications Corporation",
61301: "Onatel",
61302: "Orange Burkina Faso",
61303: "Telecel Faso SA",
64201: "Econet Wireless Burundi PLC",
64203: "Onatel",
64208: "Viettel Burundi",
64282: "Econet Wireless Burundi PLC",
62401: "Mobile Telephone Network Cameroon Ltd",
62402: "Orange Cameroun S.A.",
62403: "Camtel",
62404: "Viettel Cameroun",
62501: "CVMóvel, S.A.",
62502: "UNITEL T+ TELECOMUNICACÕES, S.A.",
62301: "Atlantique Telecom Centrafrique SA",
62302: "Telecel Centrafrique",
62303: "Orange RCA",
62304: "Azur RCA",
62201: "Bharti Airtel SA",
62202: "SotelTchad",
62203: "Millicom",
62207: "SotelTchad",
65401: "Comores Telecom",
65402: "Telecom Malagasy (Telma)",
62901: "Celtel Congo",
62907: "Warid Telecom",
62910: "MTN CONGO S.A",
63001: "Vodacom Congo RDC sprl",
63002: "Airtel sprl",
63005: "Supercell SPRL",
63086: "Orange RDC sarl",
63089: "Orange RDC sarl",
63090: "Africell RDC sprl",
63801: "Djibouti Telecom SA",
60201: "Orange Egypt",
60202: "Vodafone Egypt",
60203: "Etisalat Egypt",
60204: "Telecom Egypt",
62701: "GETESA",
62703: "Green Com S.A.",
65701: "Eritrea Telecommunications Services Corporation",
65302: "Eswatini Mobile Limited",
65310: "MTN Eswatini Limited",
63601: "Ethio Telecom",
64700: "Orange La Réunion",
64701: "BJT Partners",
64702: "Telco OI",
64703: "Telco OI",
64710: "Société Réunionnaise du Radiotéléphone",
62801: "Gabon Telecom S.A.",
62802: "Gabon Telecom S.A.",
62803: "Airtel Gabon S.A.",
60701: "Gamcel",
60702: "Africell",
60703: "Comium",
60704: "QCell Gambia",
60706: "NETPAGE",
62001: "MTN Group",
62002: "Vodafone Group",
62003: "Millicom Ghana",
62004: "Kasapa / Hutchison Telecom",
62006: "Airtel",
62007: "Globacom Group",
62010: "Blu Telecommunications",
62014: "BusyInternet",
62015: "Lebara",
62016: "Telesol",
61101: "Orange S.A.",
61102: "Sotelgui Lagui",
61104: "Areeba Guinea",
61105: "Cellcom",
63201: "Guinétel S.A.",
63202: "Spacetel Guiné-Bissau S.A.",
63203: "None",
63207: "Guinétel S.A.",
61202: "Atlantique Cellulaire",
61203: "Orange",
61204: "Comium Ivory Coast Inc",
61205: "Loteny Telecom",
61206: "Oricel",
61207: "Aircomm",
61218: "YooMee",
63902: "Safaricom Limited",
63903: "Bharti Airtel",
63907: "Telkom Kenya",
63910: "Jamii Telecommunications Limited",
65101: "Vodacom Lesotho (Pty) Ltd",
65102: "Econet Ezi-cel",
61801: "Lonestar Communications Corporation",
61804: "Novafone Inc.",
61807: "Orange Liberia",
61820: "Liberia Telecommunications Corporation",
60600: "Libyana",
60601: "Al-Madar Al-Jadeed",
60602: "Al-Jeel Al-Jadeed",
60603: "Libya Telecom & Technology (LTT)",
60606: "Hatef Libya",
64601: "Bharti Airtel",
64602: "Orange Madagascar S.A.",
64604: "Telma Mobile S.A.",
64605: "Gulfsat Madagascar S.A.",
65001: "Telecom Network Malawi",
65002: "Access Communications Ltd",
65003: "Malawi Telecommunications Limited",
65010: "Airtel Malawi Limited",
61001: "Malitel SA",
61002: "Orange Mali SA",
61003: "Alpha Telecommunication Mali S.A.",
60901: "Mattel",
60902: "Chinguitel",
60910: "Mauritel Mobiles",
61701: "Cellplus Mobile Communications Ltd.",
61702: "Mahanagar Telephone Mauritius Limited (MTML)",
61703: "Mahanagar Telephone Mauritius Limited (MTML)",
61710: "Emtel Ltd.",
60400: "Médi Télécom",
60401: "Ittissalat Al-Maghrib (Maroc Telecom)",
60402: "Wana Corporate",
60405: "Wana Corporate",
64301: "Mocambique Celular S.A.",
64303: "Movitel, SA",
64304: "Vodacom Mozambique, S.A.",
64901: "MTC Namibia",
64902: "Telecom Namibia",
64903: "Telecom Namibia",
64904: "Paratus Telecommunications (Pty)",
64906: "MTN Namibia",
61401: "La Société Sahélienne de Télécommunications (SahelCom)",
61402: "Bharti Airtel Limited",
61403: "Atlantique Telecom (subsidiary of Etisalat)",
61404: "Orange Niger",
62120: "Bharti Airtel Limited",
62122: "InterC Network Ltd.",
62124: "Spectranet",
62126: "Swift",
62127: "Smile Communications Nigeria",
62130: "MTN Nigeria Communications Limited",
62140: "Nigerian Mobile Telecommunications Limited",
62150: "Globacom Ltd",
62160: "Emerging Markets Telecommunication Services Ltd.",
63510: "MTN Rwandacell SARL",
63513: "Airtel RWANDA",
63517: "Olleh Rwanda Networks",
65801: "Sure South Atlantic Ltd.",
62601: "Companhia Santomense de Telecomunicações",
62602: "Unitel São Tomé and Príncipe",
60801: "Sonatel",
60802: "Saga Africa Holdings Limited",
60803: "Expresso Telecom",
63301: "Cable & Wireless Seychelles",
63310: "Telecom Seychelles Ltd",
61901: "Orange SL Limited",
61903: "Lintel Sierra Leone Limited",
61905: "Lintel Sierra Leone Limited",
61906: "Sierra Leone Telephony",
61909: "InterGroup Telecom SL",
63701: "Telesom",
63704: "Somafone FZLLC",
63710: "NationLink Telecom",
63720: "SOMNET",
63750: "Hormuud Telecom Somalia Inc",
63730: "Golis Telecom Somalia",
63757: "UNITEL S.a.r.l.",
63760: "Nationlink Telecom",
63767: "HTG Group Somalia",
63771: "Somtel",
63782: "Telcom Somalia",
65501: "Vodacom",
65502: "Telkom SA SOC Ltd",
65506: "Sentech (Pty) Ltd",
65507: "Cell C (Pty) Ltd",
65510: "MTN Group",
65514: "Neotel Pty Ltd",
65519: "Wireless Business Solutions (Pty) Ltd",
65530: "Bokamoso Consortium",
65531: "Karabo Telecoms (Pty) Ltd.",
65532: "Ilizwi Telecommunications",
65533: "Thinta Thinta Telecommunications Pty Ltd",
65546: "SMS Cellular Services (Pty) Ltd",
65576: "Comsol Networks (Pty) Ltd",
65902: "MTN South Sudan",
65903: "Gemtel",
65906: "Zain South Sudan",
65907: "Sudani",
63401: "Zain Group - Sudan",
63402: "MTN Sudan",
63405: "Canar Telecom",
63407: "Sudatel Group",
63409: "NEC",
64002: "MIC Tanzania Limited",
64003: "Zanzibar Telecom Ltd",
64004: "Vodacom Tanzania Limited",
64005: "Bharti Airtel",
64006: "WIA Company Limited",
64007: "Tanzania Telecommunication Company LTD (TTCL)",
64009: "Viettel Tanzania Limited",
64011: "Smile Telecoms Holdings Ltd.",
61501: "Togo Telecom",
61503: "Moov Togo",
60501: "Orange Tunisie",
60502: "Tunisie Telecom",
60503: "Ooredoo Tunisiana",
64101: "Bharti Airtel",
64104: "Tangerine Uganda Limited",
64110: "MTN Uganda",
64111: "Uganda Telecom Ltd.",
64114: "Africell Uganda",
64122: "Bharti Airtel",
64133: "Smile Communications Uganda Limited",
64144: "K2 Telecom Ltd",
64501: "Bharti Airtel",
64502: "MTN Group",
64503: "Zambia Telecommunications Company Ltd",
64801: "Net*One Cellular (Pvt) Ltd",
64803: "Telecel Zimbabwe (PVT) Ltd",
64804: "Econet Wireless",
722010: "Telefónica Móviles Argentina S.A.",
722034: "Telecom Personal S.A.",
722040: "TE.SA.M Argentina S.A.",
722070: "Telefónica Móviles Argentina S.A.",
722310: "AMX Argentina S.A.",
722320: "AMX Argentina S.A.",
722330: "AMX Argentina S.A.",
722341: "Telecom Personal S.A.",
70267: "Belize Telemedia Limited (BTL)",
70269: "Speednet Communications Limited",
70299: "Speednet Communications Limited",
73601: "Nuevatel PCS De Bolivia SA",
73602: "Entel SA",
73603: "Telefónica Celular De Bolivia S.A",
72402: "Telecom Italia Mobile",
72403: "Telecom Italia Mobile",
72404: "Telecom Italia Mobile",
72405: "Claro",
72406: "Telefônica Brasil S.A.",
72410: "Telefônica Brasil S.A.",
72411: "Telefônica Brasil S.A.",
72415: "Sercomtel Celular",
72417: "Correios Celula",
72418: "Datora (Vodafone)",
72421: "Ligue Telecom",
72423: "Telefônica Brasil S.A.",
72428: "None",
72429: "Unifique Telecomunicações S/A",
72432: "Algar Telecom S.A.",
72433: "Algar Telecom S.A.",
72434: "Algar Telecom S.A.",
72438: "Claro",
72439: "NII Holdings, Inc.",
72454: "PORTO SEGURO TELECOMUNICAÇÔES",
72499: "None",
73001: "Entel Telefonía Móvil S.A.",
73002: "Telefónica Móvil de Chile",
73003: "Claro Chile S.A.",
73004: "Novator Partners",
73006: "Blue Two Chile S.A.",
73008: "VTR S.A.",
73009: "Novator Partners",
73010: "Entel Telefonía Móvil S.A.",
73012: "Telestar Móvil S.A.",
73013: "Tribe Mobile Chile SPA",
73019: "Sociedad Falabella Móvil SPA",
73099: "WILL Telefonía",
732001: "Colombia Telecomunicaciones S.A. ESP",
732020: "Une EPM Telecomunicaciones S.A. E.S.P.",
732099: "Empresas Municipales de Cali",
732101: "Comunicacion Celular S.A. (Comcel)",
732103: "Colombia Móvil S.A. ESP",
732111: "Colombia Móvil S.A. ESP",
732123: "Colombia Telecomunicaciones S.A. ESP",
732130: "Avantel S.A.S",
732154: "Virgin Mobile Colombia S.A.S.",
732176: "DirecTV Colombia Ltda",
732187: "Empresa de Telecomunicaciones de Bogotá S.A. ESP",
732240: "Logistica Flash Colombia SAS",
732360: "Partners Telecom Colombia SAS",
71201: "Instituto Costarricense de Electricidad",
71202: "Instituto Costarricense de Electricidad",
71203: "Claro CR Telecomunicaciones (Aló)",
71204: "Liberty Latin America",
74000: "Otecel S.A.",
74001: "CONECEL S.A.",
74002: "Corporación Nacional de Telecomunicaciones (CNT EP)",
74003: "Otecel S.A.",
70601: "CTE Telecom Personal, S.A. de C.V.",
70602: "Digicel, S.A. de C.V.",
70603: "Telemovil El Salvador S.A.",
70604: "Telefónica Móviles El Salvador",
70605: "INTELFON, S.A. de C.V.",
750001: "Sure South Atlantic Ltd.",
70401: "Telecomunicaciones de Guatemala, S.A.",
70402: "Millicom / Local partners",
70403: "Telecomunicaciones de Guatemala, S.A.",
7040: "INTELFON Guatemala",
73800: "E-Networks Inc.",
73801: "U-Mobile (Cellular) Inc.",
738002: "Guyana Telephone & Telegraph Co.",
738003: "Quark Communications Inc.",
708001: "Servicios de Comunicaciones de Honduras S.A. de C.V.",
708002: "Celtel",
708030: "Empresa Hondureña de Telecomunicaciones",
71021:
"Empresa Nicaragüense de Telecomunicaciones, S.A. (ENITEL) (América Móvil)",
710300: "Telefonía Celular de Nicaragua, S.A.",
71073: "Servicios de Comunicaciones S.A.",
71401: "Cable & Wireless Panama S.A.",
71402: "Grupo de Comunicaciones Digitales, S.A.",
714020: "Grupo de Comunicaciones Digitales, S.A.",
71403: "América Móvil",
71404: "Digicel Group",
74401: "Hola Paraguay S.A.",
74402: "AMX Paraguay S.A.",
74404: "Telefónica Celular Del Paraguay S.A. (Telecel)",
74405: "Núcleo S.A. (TIM)",
74406: "Copaco S.A.",
71606: "Telefónica del Perú S.A.A.",
71607: "Entel Perú S.A.",
71610: "América Móvil Perú",
71615: "Viettel Peru S.A.C.",
71617: "Entel Perú S.A.",
74602: "Telecommunications Company Suriname (Telesur)",
74603: "Digicel Group Limited",
74801: "Administración Nacional de Telecomunicaciones",
74807: "Telefónica Móviles Uruguay",
74810: "AM Wireless Uruguay S.A.",
73402: "Corporacion Digitel C.A.",
73404: "Telefónica Móviles Venezuela",
73406: "Telecomunicaciones Movilnet",
101: "Test network",
1001: "Test network",
99999: "Internal use",
999999: "Internal use",
90103: "None",
90105: "Thuraya RMSS Network",
90106: "Thuraya Satellite Telecommunications Company",
90111: "None",
90112: "Telenor Maritime AS",
90114: "AeroMobile AS",
90115: "OnAir Switzerland Sarl",
90116: "Cisco Systems, Inc.",
90118: "AT&T Mobility",
90119: "Monaco Telecom",
90121: "Wins Limited",
90126: "Telecom Italia Mobile",
90127: "Monaco Telecom",
90128: "GDSP (Vodafone's Global Data Service Platform)",
90131: "Orange S.A.",
90135: "Globecomm Network Services",
90136: "Azerfon",
90137: "TraNR5Gtel",
90138: "Multiregional TransitTelecom (MTT)",
90139: "MTX Connect Ltd",
90140: "Deutsche Telekom AG",
90141: "One Network B.V.",
90143: "EMnify GmbH",
90146: "Telecom26 AG",
90153: "Inmarsat Ltd.",
90162: "Twilio Inc.",
90166: "Limitless Mobile LLC",
90167: "1NCE GmbH",
90175: "Podsystem Ltd.",
90189: "DIDWW Ireland Limited",
90190: "Truphone Limited",
90201: "MulteFire Alliance",
99501: "Sure (Diego Garcia) Ltd",
},
nr5g_cells: [],
lte_cells: [],
nr5g_cells_parsed: [],
lte_cells_parsed: [],
atcmd: "",
tableRows: [],
nr5g_neighbourCells: [],
lte_neighbourCells: [],
nr5g_neighbourCellsParsed: [],
lte_neighbourCellsParsed: [],
neighbourCellsTableRows: [],
cellScanMode: "Unspecified",
neighbourCellsScanMode: "Unspecified",
isLoading: false,
isCellScanning: false,
resultDoneCell: false,
resultDoneNeighbourCell: false,
init() {
this.generateNeighbourCellsTableRow();
this.clearTableRowsBodyCellScan();
},
startCellScan() {
// Make all arrays empty before starting a new scan
this.nr5g_cells = [];
this.lte_cells = [];
this.nr5g_cells_parsed = [];
this.lte_cells_parsed = [];
this.tableRows = [];
this.atcmd = "AT+QSCAN=3,1";
// Send the AT command to the device
this.isLoading = true;
this.isCellScanning = true;
fetch(
"/cgi-bin/get_atcommand?" +
new URLSearchParams({
atcmd: this.atcmd,
})
)
.then((res) => {
return res.text();
})
.then((data) => {
const rawdata = data;
console.log("Rawdata: ", rawdata);
const lines = rawdata.split("\n");
console.log("Lines: ", lines);
// Get the length of the lines array and remove the first element.
const linesLength = lines.length;
lines.splice(0, 1);
// Get the new length of the lines array and remove the last 3 elements.
const newLinesLength = lines.length;
lines.splice(newLinesLength - 3, 3);
console.log("New Lines: ", lines);
// Loop through all of the lines. If the line starts with NR5G then add it to the nr5g_cells array. If it starts with LTE then add it to the lte_cells array.
for (let i = 0; i < lines.length; i++) {
if (
lines[i] !== "OK" &&
lines[i] !== "" &&
lines[i] !== "\r"
) {
if (lines[i].match(/NR5G/g)) {
this.nr5g_cells.push(lines[i]);
} else if (lines[i].match(/LTE/g)) {
this.lte_cells.push(lines[i]);
}
}
}
})
.then(() => {
this.parseNr5gCells();
})
.then(() => {
this.parseLTECells();
})
.then(() => {
this.generateTableRow();
this.isLoading = false;
this.isCellScanning = false;
this.resultDoneCell = true;
});
},
parseNr5gCells() {
// Parse the NR5G cells
for (let i = 0; i < this.nr5g_cells.length; i++) {
let mcc, mnc, freq, pci, rsrp, band, provider;
const lines = this.nr5g_cells[i].split(",");
mcc = this.nr5g_cells[i].split(":")[1].split(",")[1];
mnc = this.nr5g_cells[i].split(":")[1].split(",")[2];
freq = this.nr5g_cells[i].split(":")[1].split(",")[3];
pci = this.nr5g_cells[i].split(":")[1].split(",")[4];
rsrp = this.nr5g_cells[i].split(":")[1].split(",")[5];
band = this.nr5g_cells[i].split(":")[1].split(",")[12];
provider = this.convertMCCMNCtoNetworkName(mcc, mnc);
/// Append the value to lte_cells_parsed with this layout:
// mcc mnc, band, freq, pci, rsrp
this.nr5g_cells_parsed.push(
`${provider}, ${band}, ${freq}, ${pci}, ${rsrp}`
);
}
},
parseLTECells() {
for (let i = 0; i < this.lte_cells.length; i++) {
let mcc, mnc, freq, pci, rsrp, band, provider;
const lines = this.lte_cells[i].split(",");
mcc = this.lte_cells[i].split(":")[1].split(",")[1];
mnc = this.lte_cells[i].split(":")[1].split(",")[2];
freq = this.lte_cells[i].split(":")[1].split(",")[3];
pci = this.lte_cells[i].split(":")[1].split(",")[4];
rsrp = this.lte_cells[i].split(":")[1].split(",")[5];
band = this.lte_cells[i].split(":")[1].split(",")[12];
provider = this.convertMCCMNCtoNetworkName(mcc, mnc);
// Append the value to lte_cells_parsed with this layout:
// mcc mnc, band, freq, pci, rsrp
this.lte_cells_parsed.push(
`${provider}, ${band}, ${freq}, ${pci}, ${rsrp}`
);
}
},
generateTableRow() {
this.convertMCCMNCtoNetworkName();
const tableBody = document.getElementById("cellScanTableBody");
tableBody.innerHTML = ""; // Clear the table body before generating new rows
this.tableRows = []; // Reset the array before generating new rows
if (this.cellScanMode === "Full Scan") {
// Generate rows for NR5G cells
for (let i = 0; i < this.nr5g_cells_parsed.length; i++) {
const nr5Glines = this.nr5g_cells_parsed[i].split(",");
const signalSvg = this.signalIconSVG(nr5Glines[4]);
this.tableRows.push(`
<tr>
<th scope="row">NR5G</th>
<td>${nr5Glines[0]}</td>
<td>${nr5Glines[1]}</td>
<td>${nr5Glines[2]}</td>
<td>${nr5Glines[3]}</td>
<td>${nr5Glines[4]}</td>
<td>${signalSvg}</td>
</tr>
`);
}
// Generate rows for LTE cells
for (let i = 0; i < this.lte_cells_parsed.length; i++) {
const LTElines = this.lte_cells_parsed[i].split(",");
const signalSvg = this.signalIconSVG(LTElines[4]);
this.tableRows.push(`
<tr>
<th scope="row">LTE</th>
<td>${LTElines[0]}</td>
<td>${LTElines[1]}</td>
<td>${LTElines[2]}</td>
<td>${LTElines[3]}</td>
<td>${LTElines[4]}</td>
<td>${signalSvg}</td>
</tr>
`);
}
} else if (this.cellScanMode === "NR5G Only") {
// Generate rows for NR5G cells
for (let i = 0; i < this.nr5g_cells_parsed.length; i++) {
const nr5Glines = this.nr5g_cells_parsed[i].split(",");
const signalSvg = this.signalIconSVG(nr5Glines[4]);
this.tableRows.push(`
<tr>
<th scope="row">NR5G</th>
<td>${nr5Glines[0]}</td>
<td>${nr5Glines[1]}</td>
<td>${nr5Glines[2]}</td>
<td>${nr5Glines[3]}</td>
<td>${nr5Glines[4]}</td>
<td>${signalSvg}</td>
</tr>
`);
}
} else if (this.cellScanMode === "LTE Only") {
// Generate rows for LTE cells
for (let i = 0; i < this.lte_cells_parsed.length; i++) {
const LTElines = this.lte_cells_parsed[i].split(",");
const signalSvg = this.signalIconSVG(LTElines[4]);
this.tableRows.push(`
<tr>
<th scope="row">LTE</th>
<td>${LTElines[0]}</td>
<td>${LTElines[1]}</td>
<td>${LTElines[2]}</td>
<td>${LTElines[3]}</td>
<td>${LTElines[4]}</td>
<td>${signalSvg}</td>
</tr>
`);
}
}
// Append the rows to the table body
for (let i = 0; i < this.tableRows.length; i++) {
tableBody.innerHTML += this.tableRows[i];
}
},
convertMCCMNCtoNetworkName(mcc, mnc) {
const mccmnc = mcc + mnc;
return this.networkNames[mccmnc] || `${mcc} ${mnc}`;
},
getNeighbourcellLTEandNR5G() {
// this.clearTableRowsBodyNeighbourCells();
// Reset the array before generating new rows
this.lte_neighbourCells = [];
this.nr5g_neighbourCells = [];
this.lte_neighbourCellsParsed = [];
this.nr5g_neighbourCellsParsed = [];
this.neighbourCellsTableRows = [];
this.atcmd =
'AT+QENG="neighbourcell";+QNWCFG="nr5g_meas_info",1;+QNWCFG="nr5g_meas_info"';
this.isLoading = true;
fetch(
"/cgi-bin/get_atcommand?" +
new URLSearchParams({
atcmd: this.atcmd,
})
)
.then((res) => {
return res.text();
})
.then((data) => {
const rawdata = data;
console.log(rawdata);
let lines = rawdata.split("\n");
console.log("Lines: ", lines);
// Get the length of the lines array and remove the first element.
const linesLength = lines.length;
lines.splice(0, 1);
// Get the new length of the lines array and remove the last 3 elements.
const newLinesLength = lines.length;
lines.splice(newLinesLength - 3, 3);
// Remove an index with "" from the array.
for (let i = 0; i < lines.length; i++) {
if (lines[i] === "" || lines[i] === "\r") {
lines.splice(i, 1);
}
}
console.log("Modified: ", lines);
// Loop through all of the lines. If the line match with LTE then add it to the lte_neighbourCells array. Otherwise, add it to the nr5g_neighbourCells array.
for (let i = 0; i < lines.length; i++) {
if (lines[i].match(/LTE/g)) {
this.lte_neighbourCells.push(lines[i]);
} else {
this.nr5g_neighbourCells.push(lines[i]);
}
}
})
.then(() => {
this.lteNeighbourCellsParse();
})
.then(() => {
this.nr5gNeighbourCellsParse();
})
.then(() => {
this.generateNeighbourCellsTableRow();
this.isLoading = false;
this.resultDoneNeighbourCell = true;
});
},
lteNeighbourCellsParse() {
for (let i = 0; i < this.lte_neighbourCells.length; i++) {
let freq, pci, rsrp;
const lines = this.lte_neighbourCells[i].split(",");
freq = this.lte_neighbourCells[i].split(":")[1].split(",")[2];
pci = this.lte_neighbourCells[i].split(":")[1].split(",")[3];
rsrp = this.lte_neighbourCells[i].split(":")[1].split(",")[5];
// // Append the value to lte_neighbourCellsParsed with this layout:
// //freq, pci, rsrp
this.lte_neighbourCellsParsed.push(`${freq}, ${pci}, ${rsrp}`);
}
},
nr5gNeighbourCellsParse() {
for (let i = 0; i < this.nr5g_neighbourCells.length; i++) {
let freq, pci, rsrp;
const lines = this.nr5g_neighbourCells[i].split(",");
freq = this.nr5g_neighbourCells[i].split(":")[1].split(",")[2];
pci = this.nr5g_neighbourCells[i].split(":")[1].split(",")[3];
rsrp = this.nr5g_neighbourCells[i].split(":")[1].split(",")[4];
// // Append the value to lte_neighbourCellsParsed with this layout:
// //freq, pci, rsrp
this.nr5g_neighbourCellsParsed.push(`${freq}, ${pci}, ${rsrp}`);
}
},
generateNeighbourCellsTableRow() {
console.log(this.neighbourCellsScanMode);
this.neighbourCellsTableRows = []; // Reset the array before generating new rows
const tableBody = document.getElementById("neighbourCellTableBody");
tableBody.innerHTML = "";
if (this.neighbourCellsScanMode === "LTE and NR5G") {
// Generate rows for LTE neighbour cells
for (let i = 0; i < this.lte_neighbourCellsParsed.length; i++) {
const LTElines = this.lte_neighbourCellsParsed[i].split(",");
// If rsrp is -55 and above then use this svg
const signalSvg = this.signalIconSVG(LTElines[2]);
this.neighbourCellsTableRows.push(`
<tr>
<th scope="row">LTE</th>
<td>${LTElines[0]}</td>
<td>${LTElines[1]}</td>
<td>${LTElines[2]}</td>
<td>${signalSvg}</td>
</tr>
`);
}
// Generate rows for NR5G neighbour cells
for (let i = 0; i < this.nr5g_neighbourCellsParsed.length; i++) {
const nr5Glines = this.nr5g_neighbourCellsParsed[i].split(",");
const signalSvg = this.signalIconSVG(nr5Glines[2]);
this.neighbourCellsTableRows.push(`
<tr>
<th scope="row">NR5G</th>
<td>${nr5Glines[0]}</td>
<td>${nr5Glines[1]}</td>
<td>${nr5Glines[2]}</td>
<td>${signalSvg}</td>
</tr>
`);
}
} else if (this.neighbourCellsScanMode === "LTE") {
// Generate rows for LTE neighbour cells
for (let i = 0; i < this.lte_neighbourCellsParsed.length; i++) {
const LTElines = this.lte_neighbourCellsParsed[i].split(",");
const signalSvg = this.signalIconSVG(LTElines[2]);
this.neighbourCellsTableRows.push(`
<tr>
<th scope="row">LTE</th>
<td>${LTElines[0]}</td>
<td>${LTElines[1]}</td>
<td>${LTElines[2]}</td>
<td>${signalSvg}</td>
</tr>
`);
}
} else if (this.neighbourCellsScanMode === "NR5G") {
// Generate rows for NR5G neighbour cells
for (let i = 0; i < this.nr5g_neighbourCellsParsed.length; i++) {
const nr5Glines = this.nr5g_neighbourCellsParsed[i].split(",");
const signalSvg = this.signalIconSVG(nr5Glines[2]);
this.neighbourCellsTableRows.push(`
<tr>
<th scope="row">NR5G</th>
<td>${nr5Glines[0]}</td>
<td>${nr5Glines[1]}</td>
<td>${nr5Glines[2]}</td>
<td>${signalSvg}</td>
</tr>
`);
}
}
if (this.neighbourCellsTableRows.length === 0) {
this.neighbourCellsTableRows.push(`
<tr>
<th scope="row"></th>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
`);
}
// Append the rows to the table body
for (let i = 0; i < this.neighbourCellsTableRows.length; i++) {
tableBody.innerHTML += this.neighbourCellsTableRows[i];
}
},
signalIconSVG(rsrp) {
// If rsrp is -55 and above then use this svg
if (parseInt(rsrp) >= -55) {
return `<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-signal-high"><path d="M2 20h.01"/><path d="M7 20v-4"/><path d="M12 20v-8"/><path d="M17 20V8"/></svg>`;
} else if (parseInt(rsrp) >= -85) {
return `<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-signal-medium"><path d="M2 20h.01"/><path d="M7 20v-4"/><path d="M12 20v-8"/></svg>`;
} else if (parseInt(rsrp) >= -95) {
return `<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-signal-low"><path d="M2 20h.01"/><path d="M7 20v-4"/></svg>`;
} else {
return `<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-signal-zero"><path d="M2 20h.01"/></svg>`;
}
return signalSvg;
},
clearTableRowsBodyCellScan() {
// Make all arrays empty
this.lte_cells = [];
this.nr5g_cells = [];
this.lte_cells_parsed = [];
this.nr5g_cells_parsed = [];
this.tableRows = [];
this.resultDoneCell = false;
const tableBody = document.getElementById("cellScanTableBody");
tableBody.innerHTML = "";
this.tableRows.push(`
<tr>
<th scope="row"></th>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
`);
// Append the rows to the table body
for (let i = 0; i < this.tableRows.length; i++) {
tableBody.innerHTML += this.tableRows[i];
}
},
clearTableRowsBodyNeighbourCells() {
// Make all arrays empty
this.lte_neighbourCells = [];
this.nr5g_neighbourCells = [];
this.lte_neighbourCellsParsed = [];
this.nr5g_neighbourCellsParsed = [];
this.neighbourCellsTableRows = [];
this.resultDoneNeighbourCell = false;
const tableBody = document.getElementById("neighbourCellTableBody");
tableBody.innerHTML = "";
this.neighbourCellsTableRows.push(`
<tr>
<th scope="row"></th>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
`);
// Append the rows to the table body
for (let i = 0; i < this.neighbourCellsTableRows.length; i++) {
tableBody.innerHTML += this.neighbourCellsTableRows[i];
}
},
};
}
const ctx = document.getElementById("myChart");
new Chart(ctx, {
type: "line",
data: {
labels: [
"0m",
"1m",
"2m",
"3m",
"4m",
"5m",
"6m",
"7m",
"8m",
"9m",
"10m",
"11m",
"12m",
"13m",
"14m",
"15m",
],
datasets: [
{
label: "LTE",
data: [0, 10, 5, 2, 20, 30, 45, 50, 60, 70, 80],
borderColor: "rgb(255, 99, 132)",
backgroundColor: "rgba(255, 99, 132, 0.5)",
borderWidth: 1,
},
{
label: "NR5G",
data: [0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50],
borderColor: "rgb(54, 162, 235)",
backgroundColor: "rgba(54, 162, 235, 0.5)",
borderWidth: 1,
},
],
options: {
responsive: true,
plugins: {
legend: {
position: "top",
},
title: {
display: true,
text: "Chart.js Line Chart",
},
},
},
},
});
</script>
</body>
</html>