Mishigami GMRS Network is a private, Michigan-only GMRS radio network: Raspberry Pi nodes, each wired to a real GMRS radio, linked together over the internet so licensed members can talk across the state as if they were all on one shared repeater. It's built on AllStarLink 3 (Asterisk + app_rpt) — the same software base as public AllStarLink — but this network is deliberately fully isolated from that public network. Nothing here is ever registered with, or reachable from, AllStarLink at large.
Every node reaches the hub over a private WireGuard tunnel, so members behind ordinary home internet (including carrier-grade NAT) can join without opening a single port on their own router. A self-service web portal handles registration, approval, and the node directory; an admin panel drives per-hub configuration, moderation, and announcements — all described below, with real screenshots of each.
New members request access with their GMRS callsign, and the form auto-fills their name and location straight from the FCC's public GMRS license database as they type — with a live search dropdown, not just an exact-match lookup. Physical nodes get a WireGuard key and an available node number checked in real time; app/IAX2 clients (DVSwitch Mobile, iaxRpt) skip hardware setup entirely and get mobile-app login credentials by email once approved.
Every member node, its live status, and which hub it belongs to — pulled directly from this hub's own WireGuard tunnel state and Asterisk link table, not a public database this network was never registered with. Members can connect or disconnect any node straight from the browser, no radio commands needed.
The network can run more than one independent conference bridge ("hub") at once — useful for splitting traffic by region or purpose — all created, renamed, and torn down from one page, with each hub's member count and current link activity visible at a glance.
Each hub can optionally run a local speech-to-text moderator (Whisper, running entirely on this hub's own hardware — audio never leaves the box) that listens for an admin-defined list of keywords per hub. A first offense plays a synthesized spoken warning directly through the offending node's own radio; repeated offenses within a configurable time window disconnect it automatically. Every match is logged with a transcript snippet and a playable audio clip.
Upload a recording in almost any format (wav, mp3, m4a, wma, mp4, and more) — or generate one instantly from typed text with local text-to-speech — and play it across every node linked to a hub. Fire it manually, on a repeating interval, or schedule exact dates and times (once, daily, weekly, or monthly), with a minimum-gap safeguard so an announcement can never be played too often. Delivery goes straight to each connected node's own radio, so a long announcement always plays in full, on every node, with no per-node setup required.