How a private DMR network works: master, hotspots, app and vocoder
The phrase "DMR network" sounds complicated, but inside it is a handful of clear parts that all do one job: carry voice from one radio to everyone who needs it. Let's break the network down brick by brick using the example of how ours is built — the private DMRhub network. The basic terms (talkgroup, time slot, Color Code) are in the DMR glossary; here we look at the network as a whole.
The master: the heart of the network
The master is the server that all hotspots and repeaters connect to. They speak the Homebrew protocol (HBP) — the same one MMDVMHost understands on any hotspot. A hotspot logs in to the master (request → salt → password hash → config), and from then on sends it DMRD packets with digitized voice.
The master's main task is routing. When a voice stream arrives on talkgroup 6 in the second time slot, the master looks at which of the connected stations is currently "listening" to that group on that slot, and copies the stream only to them. There is no broadcasting to everyone: the TG and slot are the address. More on slots and groups in the DMR basics.
Hotspots: the bridge between RF and the network
A hotspot is a small transceiver (an MMDVM board on a Raspberry Pi or ESP) that picks up your radio over the air and translates it into the network, and the network back into radio. The radio works on UHF as usual, while the hotspot handles the "last mile" to the internet.
The hotspot runs MMDVMHost (the radio side) and an agent that holds the config and keeps in touch with the portal. How to build and connect one is covered in the guides build your own DMR hotspot and how to connect a hotspot to your network.
The app: a radio without a radio
Not everyone has a radio and a hotspot at hand. That's why the network includes a radio app: the phone connects directly to the server, you press PTT — and you talk into the same group as the "hardware" users. Voice from the microphone goes to the server, is encoded and reaches the air. How this works internally is in the article a radio in your smartphone, and an overview of ways to get on the air without hardware is in DMR without a radio.
The server-side vocoder: why it matters
Voice in DMR is compressed with the AMBE+2 codec. Radios and hotspots already carry the compressed stream, but an app or phone needs to turn ordinary audio (PCM) into AMBE and back. This used to require a hardware AMBE dongle. In our case this job is done by a software vocoder on the server — no dongles and no zoo of hardware. It is exactly what makes it possible to add a phone, air recording and voice services. Details are in the article AMBE vocoder on the server.
The portal and the dashboard: where you see it all
On top of everything sits the web portal: registration and DMR ID issuance, the talkgroup list, Last Heard and listening to the air, a map, contacts and codeplug, and configuration of your own hotspots. This is the network's "control panel": an operator manages their devices, an admin manages the network.
How a full call travels
- You press PTT on the radio and talk into talkgroup 6.
- The hotspot picks up the RF signal, MMDVMHost packs the voice into DMRD and sends it to the master.
- The master sees the address (TG6, slot 2) and copies the stream to everyone listening to TG6: other hotspots and apps.
- Their hotspots play the audio out over the air, the apps play it through the phone's speaker.
- If the network has a bridge to another network, the stream goes there too.