Roanoke Meshcore Regions¶
Terminology¶
- A region is a setting in Meshcore used to identify repeaters in a geographic area, such as ‘all repeaters in Virginia’, or ‘all repeaters in Roanoke’.
- The null region is the default region (displayed as *) that is used by default in all repeaters. You can also think of this as ‘no region is set’.
- A scoped message or scoped packet means it has a region applied to it.
- An unscoped message or unscoped packet means it has no region applied to it, and it will fall under the null region (*).
- Airtime on the mesh network is how much time is spent actively, preparing to, or recovering from sending data, as required by the protocol to avoid collisions. Airtime is a limited resource and using regions should help preserve airtime for the mesh as a whole.
Region planning is (mostly) complete¶
Regions need to be coordinated to work properly, so volunteers from mesh networks across the southeast US have worked together to develop a plan for using regions in a way that will keep our mesh networks compatible.
The scope-ops working group was hosted in TheCommsChannel discord. 'xJCross | Putnam' has written several summary documents describing the plans. He has given permission to share the documents if anyone is interested.
It was decided early on that the working group would only create exact plans for the larger regions, and that any smaller regions (inside the state level) would need to be decided locally.
This document will try to summarize that plan.
Regions Do Not Block Incoming Messages¶
Adding regions to repeaters, or channels, does not block you from receiving any messages. This is a common misconception.
Do not add regions to channels until most or all the repeaters in your area have regions installed. Remember, when you send a message using a region, only repeaters with that exact region installed will repeat your message.
The Roanoke area is currently testing regions on some channels, feel free to give it a try.
How Regions Work¶
All repeaters start with the default null region enabled. This allows repeaters to pass unscoped traffic as far and wide as the mesh reaches. As the mesh grows, it begins to outsize the available LORA bandwidth, and messages begin being lost due to the lack of available airtime on the mesh.
Regions allow people to send messages locally, activating only the repeaters in that region's geographic area. Using a region in this way saves airtime on the larger mesh. You could think of this as a 'regional mesh', or 'sub mesh', since it only utilizes part of the larger mesh.
People must voluntarily use regions when sending messages, but before they can use regions, we must configure regions in our repeaters.
Most of the planned regions are larger than our Roanoke mesh, which means the neighboring mesh networks are counting on us to add these regions to our repeaters.
Local stays Local, Reach when you Need It¶
Using regions for local traffic saves airtime on the larger mesh, which helps keep the larger mesh available for long-distance traffic. Use a local region for local channels, and use a larger region or no region for non-local channels.
The latest version of the meshcore app has an option to show what region, if any, was used to send a message.
Up-Sizing the Region for the Channel¶
One conclusion from the regions research was that it is important for small regions to stay small. The small regions are where wardriving and automated traffic will be assigned. This is heavy traffic use that doesn't need to travel far for any reason. These small regions should not be applied to mountain-top repeaters because they have way too much range.
But it is also important to include everyone that may want to be part of the channel conversation. Since repeaters are not installed on regional borders, it is best to up-size the region assigned to each channel.
For example:
- The #cavespringva channel should use the us-va-sw region.
- The #roanokeva channel should use us-va-sw region.
- The #va channel should use us-southeast region.
Notice that in each example, the region is larger than the channel. This allows more repeaters to forward messages for that channel, AND it helps ensure people who are further out from that area can join in that channel if they want to.
Channel region assignments will be available on the RoanokeMesh website. This is the easiest way to join a channel because everything is added for you automatically, including the region. Just visit the website from your phone, and click the 'Click to add' link by each channel.
Wardriving¶
Setting a region on wardriving is an easy win for regions. By default, meshmapper sends pings to the entire mesh, wasting a lot of airtime.
The meshmapper admin can set a region in the admin portal, and everyone who wardrives in that area will use that region to keep their pings local.
Wardriving in Roanoke should use the smallest region available: us-va-roa
Adding Regions to Repeaters¶
The regions for the Roanoke area are available on RoanokeMesh.org, click on Repeater Coordination, and Regions.
https://roanokemesh.org/meshcore-repeaters/#regions
The easiest way to add regions to a repeater is using the 'Command Line' tab in the repeater configuration.
https://roanokemesh.org/meshcore-repeaters/#installing-regions
Region Test Messages¶
Region test messages are sent at 8AM and 8PM to the #cavebot channel. Join the channel, and if you receive the test messages, then regions are installed in the local repeaters and beginning to work in the Roanoke Area. If you don't yet receive the test messages, then we need to keep working to get regions installed on more of the repeaters in the Roanoke area.
If You have Questions¶
You don't need to completely understand regions to use them in repeaters, but if you have questions feel free to ask in Email or Discord.