DMRGateway: multiple DMR networks on one hotspot
Sooner or later most hotspot owners run into the same limitation: one hotspot, one network. Flash it for BrandMeister and you live in BrandMeister; want to jump to TGIF or to a private network and you have to dive into the settings and switch over. But what you really want is something different: a single hotspot that holds both a large public network and your own closed one at the same time, routing each talkgroup exactly where it belongs. That is precisely the job DMRGateway is built for — a layer that knows how to split traffic across several DMR networks at once. Let's look at how it works, why you need it and where its rough edges are.
The problem: one hotspot usually holds one network
The classic pairing of MMDVMHost + a single network works simply: the hotspot connects to one server, and all talkgroups and private calls go there. It is reliable and easy to understand, but inflexible. If you are active in several communities at once — say you chat on a public network but also keep a private group for colleagues — then constantly reflashing the firmware or reworking the config turns into a chore. For more on how these worlds differ, see the separate write-up: BrandMeister or your own network.
What you want is for the hotspot itself to understand: send this talkgroup to the public network, that one to the private one, and on this particular number place a direct private call inside your own group. No reflashing, no manual switching. Technically this is exactly what "multiple networks on one hotspot" means, and it is implemented through a talkgroup router.
What DMRGateway is
DMRGateway is a separate program from the toolkit of Jonathan Naylor (G4KLX), the same author who wrote MMDVMHost. It sits between the hotspot and the networks as an intermediary. From the point of view of MMDVMHost, the hotspot is still connected "to a single network" — but that "network" is actually DMRGateway, which locally accepts all the DMR traffic and decides for itself which of the real networks to forward it to.
On the DMRGateway side you describe several connections: to BrandMeister, to TGIF, to your own master server, to an XLX reflector and so on. Each connection is a full login to the corresponding network with its own parameters (server address, password, options). And then comes the interesting part — the rules by which talkgroups are distributed across those connections.
How it works: rewrite rules and TG prefixes
The heart of DMRGateway is its rewrite rules. Their job is to look at the talkgroup number and time slot of an incoming call and decide which network to send it to, substituting the number itself if needed. The logic is bidirectional: the rules apply both to what you transmit (TX) and to what arrives at you (RX).
To split identical or overlapping numbers between different networks, people usually use prefixes. The idea is simple: you agree that talkgroups from a certain range of numbers belong to one network, and those from another range to another. For example, you might decide that everything in the 9990xx range goes to one network as a local echo test, talkgroups of the form 8xxxx go to TGIF, and "clean" short numbers go to BrandMeister. By keying a talkgroup with the right prefix on your radio, you are effectively choosing the destination network.
The rule types you'll encounter most often:
- Direct mapping of a single TG — a specific number always goes to a specific network on a specific slot.
- A range of numbers — a whole block of talkgroups (for example, all three-digit ones) is routed to one network, sometimes with a number offset.
- Number substitution (rewrite) — on the radio you key a convenient short number, while the "real" one that the server expects goes out to the network. This lets you hide awkward numbering.
- Private calls — rules for individual (private call) calls, so they reach the right network instead of disappearing into nowhere.
An important detail: the rules also split traffic by time slot. On a duplex hotspot you can deliberately assign TS1 to one network and TS2 to another. On a simplex hotspot there is only one slot, so all the splitting falls entirely on talkgroup numbers and prefixes. If you are still getting to grips with what slots and duplex mean, take a look at the article on the duplex hotspot.
Where you actually configure this
You configure DMRGateway by hand through a text file, DMRGateway.ini, which holds a section for each network and blocks of rules. This is flexible but demands care. Fortunately, most users don't write these rules from scratch: the Pi-Star distribution provides a mode of operation through DMRGateway and a set of ready-made presets for popular networks. Essentially you tick the networks you want, and Pi-Star assembles a correct config under the hood. If you have not set up a hotspot yet, start with the basics: Pi-Star from scratch and MMDVM hotspot: hardware and assembly.
Even when using presets, it helps to understand what is going on inside: when a talkgroup "goes to the wrong place" or a private call doesn't arrive, the cause is almost always the rewrite rules — overlapping ranges, the wrong slot, a prefix conflict.
Upsides
- One hotspot, many networks at once. No need to reflash the firmware or keep a stack of separate devices.
- Flexible numbering. You can key convenient short numbers on the radio, while the "correct" ones go out to the network.
- Slot separation. On duplex, networks are physically split across TS1/TS2 and don't interfere with each other.
- Compatibility. It runs on top of standard MMDVMHost and needs no special "hardware" beyond an ordinary hotspot.
Setup complexity
This is honestly the "engineering" route. It's easy to get tangled up in DMRGateway: rules apply in a particular order, ranges can overlap, and one careless rewrite means a talkgroup goes to the wrong network or gets duplicated across two at once. Debugging is done through the logs, and without understanding the rewrite logic it turns into guesswork. The more networks you connect, the higher the chance of number conflicts. So it makes sense to grow the setup gradually: first one network, then add a second, test it, and only then a third.
Alternatives to DMRGateway
A talkgroup router is not the only way to live in several networks. There are simpler options, even if less elegant.
- Separate hotspots. The most straightforward route: one hotspot, one network. No rewrite rules, no number conflicts. The downsides are cost, extra devices and RF quirks if they are close together. For how to keep them from interfering with each other, there's a write-up: multiple hotspots and ESSID.
- Duplex with slot separation. If you have a duplex hotspot, you can assign TS1 to one network and TS2 to another — even without complex routing. It's a compromise: you get exactly two networks, but the setup is noticeably simpler.
- Manual switching. The most budget-friendly option — just change the active network in Pi-Star when you need to. Suits those who rarely switch between communities.
Where the DMRhub private network fits in
DMRhub is a private DMR network with its own talkgroups and private calls. From the hotspot's point of view it is no different in principle from any other destination network: it has its own master server, its own group numbers and its own private-call logic. Which means the task of "keeping DMRhub alongside a public network on one hotspot" is exactly the case DMRGateway was invented for.
Technically it looks like this: in the talkgroup router you describe a connection to the public network and a connection to your own private one, and with rules you split the group numbers so that public TGs go to the public network and your private ones go to DMRhub. For more on why it's worth keeping your own closed network at all, there's a detailed piece here: why a private network. It's important to understand: setting up such a combination is work on the hotspot configuration on the owner's side, not some ready-made "network switch." DMRGateway is a general community tool, and the technique described applies to any combination of networks.
Start your own DMRhub network
DMRhub is a private DMR network with its own talkgroups and private calls between operators. Get a DMR ID and connect your hotspot to keep your own closed group right next to the familiar public networks.
Bottom line
DMRGateway is a powerful but demanding tool. It turns a single hotspot into a crossroads where talkgroups, by the rules, scatter off to different networks — public and private. The price of that flexibility is attention to detail: rewrite rules, prefixes, slots and application order are easy to tangle up. If you need "everything at once" on a single device, this is your path — but grow the configuration gradually and keep checking the logs. If you'd rather keep it simple, separate hotspots or slot separation on duplex solve the same task with less risk. And keeping a private network like DMRhub alongside the public ones is a classic example of exactly what this mechanism exists for.
Sources
- DMRGateway, source code and configuration documentation — github.com/g4klx/DMRGateway
- MMDVMHost, the G4KLX toolkit for hotspots — github.com/g4klx/MMDVMHost
- Pi-Star, the distribution for hotspots and the mode of operation through DMRGateway — pi-star.eu
- Pi-Star documentation on setting up multiple DMR networks — the community wiki and forum at pi-star.eu