DMR roaming: automatic switching between repeaters

Category: CodeplugDifficulty: ★★★~10 minutes

You're driving down the highway, holding a conversation through a city repeater — and twenty kilometres later the signal fades. On analogue you'd have to turn the dial by hand, hunting for the next repeater. In DMR the radio can do this itself: the roaming feature tracks the signal level and, when the current repeater "drops out", automatically jumps to another one that carries the same talkgroup. The conversation continues with almost no pause. Sounds like magic, but for most newcomers this magic is set up wrong — and then the radio either never jumps at all, or jumps for no reason. Let's work out how to do it right.

One caveat right away: not every radio has roaming. It's an "advanced" feature, and in its full form it's found mainly on AnyTone (D878/D578 and relatives). Budget units (Baofeng, simple TYT) usually don't have it — there you get ordinary scanning at most. So the examples below follow AnyTone's logic.

What roaming is in DMR and why you need it

Roaming solves one task: keeping you connected in the same talkgroup as you move between the coverage zones of different repeaters. Picture a network of several repeaters along a route, all of them linking your TG (statically or dynamically). While you stay put, a single channel is enough. But the moment you drive out of the cell, you need the next repeater.

The key phrase is the same talkgroup. Roaming is pointless if the new repeater doesn't carry your group. That's why it's tightly tied to how your static and dynamic talkgroups are arranged: for a jump to make sense, the target TG must be linked on every repeater in the roaming list.

Roaming Zone and the roaming channel list

In AnyTone terminology, roaming is built from two entities:

  1. Roaming Channel — essentially an ordinary digital channel (frequencies, Color Code, time slot), but flagged as a roaming participant. You create one such channel for each repeater you want to roam between.
  2. Roaming Zone — a list of these roaming channels, grouped on the principle "my TG lives here". For example, the roaming zone "M-7 Highway: general-call TG" includes all the repeaters along the route that carry this group.

When roaming is on, the radio works not with a single channel but with a zone: the current "home" channel plus jump candidates from the same roaming zone. In effect it's a layer on top of an ordinary codeplug — it's worth mastering the basic configuration logic first via the article on what a codeplug is, and channel grouping via the material on zones in a codeplug.

Why not every radio has roamingRoaming requires the radio to measure the signal in the background and quickly retune to a different frequency/CC without losing the context of the conversation. That complicates the firmware and adds load. Makers of budget units don't go for it — instead of roaming they offer ordinary scanning, which is not at all the same thing (see below).

How roaming differs from scanning

Newcomers often confuse these two features, and that's a mistake — they do different jobs.

Crudely: scanning is "give me any traffic", roaming is "give me my traffic from anywhere". They can be used together, but they're configured separately and you must not mix up their parameters.

Setting up roaming step by step (AnyTone logic)

  1. Create digital channels for all the repeaters you need. For each one — correct RX/TX frequencies, the right Color Code, time slot and the contact of the needed TG. This is ordinary codeplug work.
  2. Flag these channels as Roaming Channels (in the CPS the channel has a corresponding flag / roaming membership).
  3. Create a Roaming Zone and add to it all the channels carrying one and the same talkgroup.
  4. Assign the roaming zone to the "home" channel or enable roaming globally — depends on the model.
  5. Set the trigger parameters: signal threshold and timers (more on this below).
  6. Activate roaming on the radio (usually a separate menu item or an assignable button) and test it on the move or by simulating signal loss.

Before uploading, make sure all roaming channels really have one TG written into the RX/contact — that's the most common cause of "silent" roaming.

Thresholds and timers: fine-tuning

Roaming behaviour is governed by several parameters. The names differ between firmwares, but the meaning is the same:

These values are tuned empirically to the specific network and terrain. There's no universal "correct" threshold — start with the factory ones and adjust based on your trips.

Pitfalls: what breaks roaming most often

If something goes wrong, start diagnostics by checking the basic channel configuration — the typical mistakes are collected in the material about the codeplug and in the general terminology: the meanings of terms like RSSI, Color Code and time slot are in the DMR glossary.

Applicability in amateur networks and via hotspots

Roaming comes into its own where there are several repeaters with overlapping coverage and a common talkgroup. How realistic that is in Russia depends on the region: in some places there are enough repeaters, in others only a handful. For an overview of the situation, see the article DMR repeaters in Russia. If there are no repeaters along your route, roaming simply has nothing to feed on.

With hotspots the situation is special. A single simplex hotspot covers literally one room or yard, and roaming between several personal hotspots is almost never needed in practice — you're either in your home hotspot's coverage or you're not. The logic of "one TG across several entry points", however, works at the network level: in a private network like DMRhub your talkgroup is available both through a RadioStar hotspot, and through the phone app, and (where available) through a repeater. This doesn't replace the radio's physical roaming, but the intent — "stay in your group from anywhere" — is realized on the server side: the voice is mixed through the server-side AMBE vocoder, and delivery to the right group doesn't depend on which point you came in from.

Roaming isn't about the internetRoaming works at the radio level between real repeaters over the air. It's not the same as "switching servers" or linking TGs over the internet. If you have a single hotspot and an internet network, what you most likely need is not radio roaming but a properly linked talkgroup.

One talkgroup — everywhere you are

In DMRhub your group is available through a hotspot, the app and repeaters at the same time, with private calls by DMR ID. Get an ID, set up a RadioStar hotspot and stay on the air from anywhere.

Conclusion

DMR roaming is a powerful tool for those who really do move between the coverage zones of several repeaters sharing a common talkgroup. Its essence is simple: the radio finds the best node for your group by itself. But setup demands care — correct roaming channels, a single TG across the whole roaming zone, sensible threshold and timer, and an understanding that roaming is not scanning and not internet linking. If there are no repeaters along your route and you work through a single hotspot in a private network, the effect you want — "staying in your group" — comes from a properly linked talkgroup, not from radio roaming. Assess your real scenario — and don't configure a feature for its own sake.