DMRGateway: несколько DMR-сетей на одном хотспоте
Большинство владельцев хотспотов рано или поздно сталкиваются с одним и тем же ограничением: один хотспот — одна сеть. Прошился под BrandMeister — сидишь в BrandMeister; захотел в TGIF или в частную сеть — лезь в настройки и переключайся. А хочется иначе: чтобы один и тот же хотспот одновременно держал и большую публичную сеть, и свою закрытую, и раздавал нужные talkgroup туда, куда им положено. Именно эту задачу решает DMRGateway — прослойка, которая умеет разводить трафик по нескольким DMR-сетям сразу. Разберём, как она устроена, зачем нужна и где её сложности.
Проблема: один хотспот обычно держит одну сеть
Классическая связка MMDVMHost + одна сеть работает просто: хотспот подключается к одному серверу, все talkgroup и приватные вызовы идут туда. Это надёжно и понятно, но негибко. Если вы активны в нескольких сообществах одновременно — например, общаетесь в публичной сети, но при этом держите свою частную группу для коллег, — то постоянное переключение прошивки или конфигурации превращается в рутину. О том, чем отличаются эти миры, есть отдельный разбор: BrandMeister или своя сеть.
Хочется, чтобы хотспот сам понимал: вот этот talkgroup отправь в публичную сеть, вот этот — в частную, а вот по такому номеру дай прямой приватный вызов внутри своей группы. Без перепрошивок, без ручного переключения. Технически это и называется «несколько сетей на одном хотспоте», и реализуется оно через маршрутизатор talkgroup'ов.
Что такое DMRGateway
DMRGateway — это отдельная программа из набора инструментов Джонатана Найдера (G4KLX), того же автора, что написал MMDVMHost. Она встаёт между хотспотом и сетями как посредник. С точки зрения MMDVMHost хотспот по-прежнему подключён «к одной сети» — но эта «сеть» на самом деле и есть DMRGateway, который локально принимает весь DMR-трафик и сам решает, в какую из настоящих сетей его переслать.
На стороне DMRGateway вы описываете несколько подключений: к BrandMeister, к TGIF, к своему мастер-серверу, к XLX-рефлектору и так далее. Каждое подключение — это полноценный логин в соответствующую сеть со своими параметрами (адрес сервера, пароль, опции). А дальше начинается самое интересное — правила, по которым talkgroup'ы раскладываются по этим подключениям.
Как это работает: rewrite-правила и префиксы TG
Сердце DMRGateway — это rewrite-правила (правила переписывания). Их задача — посмотреть на номер talkgroup и тайм-слот входящего вызова и решить, в какую сеть его отправить, при необходимости подменив сам номер. Логика двусторонняя: правила применяются и к тому, что вы передаёте (TX), и к тому, что приходит вам (RX).
Чтобы развести одинаковые или пересекающиеся номера между разными сетями, обычно используют префиксы. Идея простая: вы договариваетесь, что talkgroup'ы с определённого диапазона номеров принадлежат одной сети, а с другого — другой. Например, можно условиться, что всё в диапазоне 9990xx уходит в одну сеть как локальный эхо-тест, talkgroup'ы вида 8xxxx — в TGIF, а «чистые» короткие номера — в BrandMeister. Набрав на рации talkgroup с нужным префиксом, вы фактически выбираете сеть назначения.
Типы правил, которые встречаются чаще всего:
- Прямое сопоставление одного TG — конкретный номер всегда уходит в конкретную сеть на конкретном слоте.
- Диапазон номеров — целый блок talkgroup'ов (например, все трёхзначные) маршрутизируется в одну сеть, иногда со сдвигом номера.
- Подмена номера (rewrite) — на рации вы набираете удобный короткий номер, а в сеть уходит «настоящий», который ожидает сервер. Это позволяет спрятать неудобную нумерацию.
- Приватные вызовы — правила для индивидуальных (private call) вызовов, чтобы они попадали в нужную сеть, а не растворялись.
Важная деталь: правила разводят трафик и по тайм-слотам. В дуплексном хотспоте можно осознанно отдать TS1 под одну сеть, а TS2 — под другую. В симплексном слот один, поэтому всё разведение ложится исключительно на номера talkgroup'ов и префиксы. Если вы только разбираетесь с тем, что такое слоты и дуплекс, загляните в материал про дуплексный хотспот.
Где это настраивается на практике
Руками DMRGateway конфигурируют через текстовый файл DMRGateway.ini, где описаны секции для каждой сети и блоки правил. Это гибко, но требует аккуратности. К счастью, большинство пользователей не пишут эти правила с нуля: дистрибутив Pi-Star предоставляет режим работы через DMRGateway и набор готовых пресетов для популярных сетей. По сути вы галочками включаете нужные сети, а Pi-Star собирает корректный конфиг под капотом. Если вы ещё не настраивали хотспот, начните с базы: Pi-Star с нуля и MMDVM-хотспот: железо и сборка.
Даже при использовании пресетов полезно понимать, что происходит внутри: когда talkgroup «не туда уходит» или приватный вызов не доходит, причина почти всегда именно в правилах переписывания — пересекающиеся диапазоны, неверный слот, конфликт префиксов.
Плюсы
- Один хотспот — много сетей одновременно. Не нужно переключать прошивку или держать стопку отдельных устройств.
- Гибкая нумерация. Можно набирать на рации удобные короткие номера, а в сети уходят «правильные».
- Разделение по слотам. На дуплексе сети физически разносятся по TS1/TS2 и не мешают друг другу.
- Совместимость. Работает поверх стандартного MMDVMHost, не требует особого «железа» сверх обычного хотспота.
Сложность настройки
Это честно «инженерный» путь. В DMRGateway легко запутаться: правила применяются в определённом порядке, диапазоны могут перекрываться, один неаккуратный rewrite — и talkgroup уходит не в ту сеть или дублируется в двух сразу. Отладка идёт по логам, и без понимания логики переписывания она превращается в гадание. Чем больше сетей вы подключаете, тем выше шанс конфликтов номеров. Поэтому подход разумно наращивать постепенно: сначала одна сеть, потом добавить вторую, проверить, и только затем третью.
Альтернативы DMRGateway
Маршрутизатор talkgroup'ов — не единственный способ жить в нескольких сетях. Есть варианты проще, хоть и менее элегантные.
- Отдельные хотспоты. Самый прямолинейный путь: один хотспот — одна сеть. Никаких rewrite-правил, никаких конфликтов номеров. Минусы — стоимость, лишние устройства и эфирные нюансы, если они рядом. Про то, как не мешать им друг другу, есть разбор: несколько хотспотов и ESSID.
- Дуплекс с разделением по слотам. Если у вас дуплексный хотспот, можно отдать TS1 под одну сеть, а TS2 под другую — даже без сложной маршрутизации. Это компромисс: сетей получается ровно две, зато настройка заметно проще.
- Ручное переключение. Самый бюджетный вариант — просто менять активную сеть в Pi-Star, когда нужно. Подходит тем, кто редко переключается между сообществами.
Где здесь частная сеть DMRhub
DMRhub — это частная DMR-сеть со своими talkgroup и приватными вызовами. С точки зрения хотспота она ничем принципиально не отличается от любой другой сети назначения: у неё есть свой мастер-сервер, свои номера групп и своя логика приватных вызовов. А значит, задача «держать DMRhub рядом с публичной сетью на одном хотспоте» — это ровно тот случай, под который и придуман DMRGateway.
Технически это выглядит так: в маршрутизаторе talkgroup'ов вы описываете подключение к публичной сети и подключение к своей частной, а правилами разводите номера групп так, чтобы публичные TG уходили в публичную сеть, а ваши приватные — в DMRhub. О том, почему вообще стоит держать свою закрытую сеть, подробно написано здесь: почему частная сеть. Важно понимать: настройка такой связки — это работа с конфигурацией хотспота на стороне владельца, а не какой-то готовый «переключатель сетей». DMRGateway — общий инструмент сообщества, и описанная техника применима к любой комбинации сетей.
Заведите свою сеть DMRhub
DMRhub — это частная DMR-сеть со своими talkgroup и приватными вызовами между операторами. Получите DMR ID и подключите хотспот, чтобы держать свою закрытую группу рядом с привычными публичными сетями.
Итог
DMRGateway — это мощный, но требовательный инструмент. Он превращает один хотспот в перекрёсток, где talkgroup'ы по правилам разъезжаются в разные сети — публичные и частные. За гибкость приходится платить вниманием к деталям: rewrite-правила, префиксы, слоты и порядок применения легко запутать. Если вам нужно «всё и сразу» на одном устройстве — это ваш путь, но наращивайте конфигурацию постепенно и сверяйтесь с логами. Если же хочется проще — отдельные хотспоты или разделение по слотам на дуплексе решают ту же задачу с меньшим риском. А держать частную сеть вроде DMRhub рядом с публичными — классический пример того, ради чего этот механизм и существует.
Источники
- DMRGateway, исходный код и документация по конфигурации — github.com/g4klx/DMRGateway
- MMDVMHost, набор инструментов G4KLX для хотспотов — github.com/g4klx/MMDVMHost
- Pi-Star, дистрибутив для хотспотов и режим работы через DMRGateway — pi-star.eu
- Документация Pi-Star по настройке нескольких DMR-сетей — wiki и форум сообщества pi-star.eu