A region is a name for an area: a country like ca, a province or state like on, or a local mesh like wny. Repeaters use region names to decide which traffic to carry. Companions can use them to say how far a message should travel; that's called scoping.
In short:
- Repeater owners: add your regions now. Nothing changes for anyone today: your repeater keeps carrying everything it did before.
- Companion users: keep sending unscoped (the default) until most of the repeaters around you have regions. Scope your messages after that.
Scoped and unscoped messages
Channel messages, adverts, and a direct message to someone your companion has no route to yet are all sent as a flood: every repeater that hears it repeats it. A flood is one of two kinds:
- Unscoped (the default): no region. Every repeater floods it, as far as the hop limit allows.
- Scoped to a region, say
wny: only repeaters that knowwnyflood it.
Regions only affect floods. A direct message sent along a route your companion has already learned goes hop by hop along that route, with or without regions.
What a repeater does
| A message that's… | Repeater with no regions | Repeater with wny |
Repeater with other regions, not wny |
|---|---|---|---|
| Unscoped | Repeats | Repeats | Repeats |
Scoped to wny |
Drops | Repeats | Drops |
The top row is why adding regions is safe: a repeater with regions still repeats every unscoped message exactly as it did before. Adding regions only lets it carry scoped messages too.
The bottom row is why companions should wait. A repeater with no regions drops every scoped message, whatever region it's scoped to.
Why companions should wait
A scoped message only gets as far as an unbroken chain of repeaters that know its region. It stops at the first repeater that doesn't. When only a few repeaters in an area have regions, a scoped message usually dies one or two hops out, and the person who sent it can't tell why. Unscoped messages don't have that problem, so they're the right choice until most repeaters have regions.
Once most repeaters do, scoping keeps local chatter local. For example, Western New York's mesh is linked to Toronto's, so an unscoped message from Buffalo also floods across Toronto, using up airtime there. Nearly every repeater in Western New York has its regions, so their local channels are scoped to wny. A wny message reaches all of Western New York and then stops at the first Toronto repeater, because Toronto's repeaters don't carry wny.
It works the other way too, but only once Toronto's repeaters have regions. Until then, a message scoped to a Toronto region would be dropped by most of the repeaters it needs.
Region names
A region name works like a hashtag channel: the name is the key, so everyone has to spell it the same way.
- Case matters.
wnyandWNYare two different regions. Stick to lowercase. - A leading
#is optional.#wnyandwnyare the same region. - Use the names your community publishes. If Canada's plan calls Ontario
on, thenontariois a different region that no one else carries.
A repeater only carries the names it has. Say Ontario is on and Toronto is to. A repeater with just on still drops a message scoped to to, even though Toronto is in Ontario. Regions can be arranged as parents and children, but that doesn't change what gets repeated. If a repeater should carry both, it needs both names.
Setting up your repeater
Easiest: let MeshTender do it
If your organization publishes its regions on MeshTender, register your repeater. MeshTender works out which regions apply where your repeater stands, then sends the commands for you:
- A new repeater: setting it up over USB applies them as part of the setup.
- One that's already deployed: open its Configure tab, connect over USB or through a KISS modem over the air (after granting MeshTender admin), and run your organization's configuration.
Otherwise: follow your organization's list
If your organization isn't on MeshTender yet, use the list of regions it publishes for your area. Add each one in the repeater console, in the companion app or over USB:
region put <region>
region put <another-region>
region save
region
region put adds a region that allows flooding. region save keeps your regions across reboots, and the bare region lists them so you can check.
Keep repeating unscoped messages. Don't run region denyf *, even after your area has adopted regions. It stops your repeater from repeating unscoped messages, and a new companion sends unscoped until its owner changes that. Someone who just got on the mesh, and hasn't heard of regions yet, would find that nobody can hear them.
Leave these settings alone until most repeaters around you have regions:
region defaultmakes your repeater's own adverts scoped, so repeaters without regions won't pass them on.- Regions added with
region loaddon't allow flooding unless you mark them withF. Preferregion put.
Scoping on a companion
A companion sends unscoped until you set a scope. The MeshCore companion app can scope what you send to a region, either per channel or as a default for everything. Leave it unscoped until most of the repeaters your messages pass through have regions.
When your area is ready, scope the channels that are only meant to be local. Western New York scopes #wny, #test and #wardriving to wny, and leaves other channels unscoped. Pick the smallest region that still reaches everyone the channel is for.