spacetab

AltegroNET operator dashboard

Project completed, 2016–2022

The system a wireless internet provider ran its clients' connections on: a register of SIM cards and devices, blocking cards at the mobile carrier, signal monitoring on a map, client balances and agent payouts. Plus Wi-Fi identification by phone call for public networks.

Client and task

AltegroNET connects companies to the internet over mobile networks: the client gets a connection device with an M2M SIM card, and the provider is responsible for keeping the channel up. Cards come from different carriers, tariffs are daily, and clients are brought in by agents and partners.

They needed one system for all of it: which card sits in which device and belongs to which client, turning a card on or blocking it at the carrier, seeing where the signal dropped or a site went silent, charging subscription fees and agent rewards. Clients get their own dashboard with their cards and balance. Later came a task for public Wi-Fi networks: by law, users have to be identified by their phone number.

What we built

Devices of all clients on Yandex Maps, markers coloured by channel state

Connections on a map

Every device on Yandex Maps, the marker colour shows the channel state: normal, parameters off, no data for over 10 minutes, monitoring off, card blocked. A filter by client, search by device number or IP, and the current signal parameters in the marker's card.

The engineer on duty sees problem sites across the country on one screen.

SIM card register with carrier status toggles and an expanded row

SIM card register

Device, IP, phone number, client and carrier status; a toggle in the row blocks or enables the card at the carrier. The expandable row shows the carrier, branch, ICCID, APN, public IP, tariff and package. Search by any parameter and a filter by client.

Cards are switched off and on from the list, without logging into the carrier's portal.

Connection card: numbers, tariff, contract, carrier status and the refresh button

Connection card

Everything about a SIM on one screen: numbers, IP, APN, tunnel, tariff, package, contract, M2M account, linked device, agent reward. The carrier status and the date of the last activation; the “Refresh status” button asks the carrier right away instead of waiting for the scheduled check.

The answer to a client's “why is it down” is in one card.

Device card with two SIM cards and links to Observium and the equipment

Device card

The site's description and coordinates, all SIM cards of the device with their statuses. From the card: the device page in Observium and the equipment's web interface via its internal or public IP.

Router settings and traffic graphs are one click away.

Device settings with network parameters and the monitoring switch

Signal parameters and monitoring

Devices report network parameters: band, cell, LAC, RSSI, Ec/Io, RSRP, RSRQ, SINR, carrier, SIM slot, uptime. On first start the reference values and speed, ping, jitter and loss measurements are recorded; when the signal drifts from the reference beyond a threshold, the site turns orange, and when it stays silent for over 10 minutes, red. Older models are polled by the dashboard itself every five minutes.

A degraded channel shows up before the client calls.

Clients list with roles, card counts and blocking toggles

Clients and roles

Subscribers, agents and partners in one list: role, number of cards, a blocking toggle, an invitation by email. Each role sees its own: an agent sees their clients' cards, a subscriber only their own.

Access comes with a role, not a separate setting per person.

Client card with balance, credit, contracts, agent and Observium access

Balance, contracts and reports

Every night the dashboard charges the daily fee for each card's tariff; a client's balance adds up from charges, top-ups and a credit limit. The card holds contracts, the agent and Observium access. Excel reports: full, by device, by client, agent payouts, by partner, by IP.

Subscription fees and agent rewards are calculated without manual spreadsheets.

Subscriber view: own SIM cards and the balance in the header

Subscriber dashboard

A client logs in with their own account and sees only their SIM cards, devices and their sites on the map; the balance is in the header on every screen.

Clients check their channels and account balance themselves.

Hotspot page: the number to call with a booking timerHotspot after the call: login and generated password

Wi-Fi identification by phone call

The hotspot page on a MikroTik router gives the user a number for two minutes. They call, the call is dropped free of charge, the service gets their number via Voximplant and creates a login (the phone number) and a four-digit password in RADIUS. The password can be changed, and later the user signs in from the “Sign in” tab.

The public network meets the identification requirement, and the user gets a login and password right after the call.

1 / 9
  • Working with carriers without a single point of failure

    Blocking, enabling and card statuses go through a separate library with gateways: the MegaFon API and the Altway fallback, a browser robot that logs into the carrier's web portal and passes the captcha via a recognition service when the API is down. Statuses are checked three times a day, and every block and failure triggers an email.

    Cards stay manageable even when the carrier's API is unavailable.

How it works

The dashboard is Laravel and PostgreSQL with full-text search over cards, devices and clients; a scheduler checks card statuses, charges fees and flags devices that went silent. Device polling runs in microservices in Kotlin (ping) and Crystal (reading modem parameters) that publish results to Redis. Wi-Fi identification is a separate Laravel API, a Vue hotspot page inside MikroTik and accounts in RADIUS.

Timeline and scale

  1. March 2016 work starts: a library for carriers' M2M APIs.
  2. August 2016 the dashboard on Laravel.
  3. December 2016 Observium sign-in right from the dashboard.
  4. September 2017 Wi-Fi identification: the API and the hotspot page.
  5. October 2017 deployment with Ansible and Docker.
  6. November 2017 clients with roles, daily tariffs and balances, M2M accounts.
  7. January 2018 device polling microservices.
  8. June 2018 a fallback path to MegaFon cards through the web portal.
  9. March–April 2019 LTE monitoring: RSRP, RSRQ, SINR, uptime.
  10. May 2022 the last commit.

Scale: 13 repositories and about 1,300 commits over six years, 1,039 of them in the dashboard.

What the client got

  • Connections in one place

    Card, device, client, tariff and carrier status are linked and searchable.

  • Card control without carriers' portals

    Blocking and enabling with a toggle in the list, with a fallback path for API outages.

  • Monitoring instead of client calls

    Signal drift and silent sites show on the map by colour.

  • Money adds up by itself

    Daily charges, client balances and reports on agent and partner payouts.

  • Wi-Fi that meets the law

    Identification by phone call, free for the user.

Technologies

Intégrations

Status

Project completed. We worked on it in 2016–2022. The screenshots are taken from the dashboard rebuilt from its source code with made-up data.

Vous avez un projet similaire ?

Parlez-nous-en : nous répondons dans un délai d’un jour ouvré et proposons par où commencer.

Telegram: @spacetab_bot · E-mail: bip@spacetab.io