Jonathan Naylor (g4klx) написал много полезного софта, для развития цифровых радиолюбительских сетей. Рассмотрим ещё один полезный модуль DMRGateway, который работает как полезное дополнение к MMDVMHost, расширяя его функционал.
При использовании только MMDVMHost, мы имеем возможность сконфигурировать подключение только к одной DMR-сети. Мы можем менять TG, но в пределах одной конкретной сети или сервера.
Модуль MMDVMHost может быть подключен одновременно только к одной сети и работать только в ней. Пример на картинке:
DMRGateway позволяет подключить DMR радиостанцию одновременно к нескольким сетям (XLXdmr, DMR+, BrandMeister, TGIF, FreeDMR, HBLink). Если в любой из подключенных сетей начинается разговор, hotspot транслирует его в эфир.
Чтобы вы могли менять установленные в DMRGateway сети, нужно запрограммировать в радиостанции соответствующие каналы. Например: канал-1 это XLX..., канал-2 = BrandMeister и тд.
Большое преимущество DMRGateway, в том что он может менять назначение передаваемых/принимаемых пакетов на лету и таким образом маршрутизировать вызов из радиостанции в нужную сеть и таймслот. Причём, вызовы могут быть как групповыми, так и персональными.
На картинке показано как работает DMRGatewaу:
При подключении к XLX комнатам и их смене, DMRGateway будет выдавать голосовые подсказки, чтобы указать текущую комнату. Подсказки доступны на нескольких языках. Эти возможности повышают удобство работы в эфире через hotspot и городской линк(репитер).
Полезно знать, что DMRGateway может работать как на одном компьютере с MMDVMHost, так и на разных.
Соберём исполняемый файл из исходного кода, обычным способом. Смотрите внимательно, чтобы не было ошибок при компиляции! Если ошибки есть, добавляем недостающие библиотеки на которые ссылается компилятор.
cd /opt/ git clone https://github.com/g4klx/DMRGateway.git cd DMRGateway make
Сначала настраиваем MMDVMHost. В файле MMDVM.ini включаем DMR и DMR Network (Enable=1) затем проверяем порты:
Type=Gateway Address=127.0.0.1 Port=62031 Local=62032
Теперь переходим в DMRGateway.ini и проверяем эти записи (показан вариант когда оба модуля работают на одном компьютере):
RptAddress=127.0.0.1 RptPort=62032 LocalAddress=127.0.0.1 LocalPort=62031
Обязательно сделайте настройки в других секциях конфигурационного файла DMRGateway.ini и в первую очередь в секции Info, укажите координаты и другую информацию:
[Info] Latitude=0.0 Longitude=0.0 Height=0 Location=Nowhere Description=Multi-Mode Repeater URL=www.google.co.uk
Просмотрите настройки во всех секциях конфига. Возможны вы захотите отключить APRS или изменить расположение лог-файла и тд.
Не используемые подключения, нужно выключить (Enabled=0) в каждой секции. Настраивайте подключение к сетям по отдельности и смотрите сообщение об ошибках, в процессе соединения с сетью и работы в ней. В процессе настройки ставим Daemon=0, а после неё Daemon=1.
Как говорилось ранее, DMRGateway позволяет на лету менять некоторые данные пакетов, рассмотрим команды и их возможности. Важно помнить! В симплексном режиме у вас один таймслот номер 2, его и нужно указывать во всех правилах!
Примеры команд здесь. Правила маршрутизации работают в той секции, в которой вы их прописали. Не нужно применять их все сразу!
TGRewrite
Команда преобразует один идентификатор разговорной группы (TG) в другой и может изменить временной интервал (timeslot). Параметр «from» применяется к кадрам DMR, поступающим на шлюз, а «to» к кадрам выходящим из шлюза (куда они будут направлены). Правила применяются к кадрам DMR, проходящим через шлюз в обоих направлениях (из эфира и из сети).
TGRewrite=fromSlot,fromTG,toSlot,toTG,range
PCRewrite
Делает то же что и TGRewrite, он только для персональных вызовов.
PCRewrite позволяет менять назначение персонального вызова и слот (если это репитер).
Правила применяются к кадрам DMR, проходящим через шлюз в обоих направлениях.
Обычно используется для перенаправления вызова в сеть с другой нумерацией, чтобы избежать конфликтов, а также для отправки информации на GPS-шлюз и тд.
PCRewrite=fromSlot,fromId,toSlot,toId,range
SrcRewrite
Преобразует персональный вызов в групповой вызов. Это правило работает только с кадрами DMR, проходящими от сервера из сети и направляющиеся в эфир. Можно указать диапазон адресов!
SrcRewrite=fromSlot,fromId,toSlot,toTG,range
TypeRewrite
Преобразует групповой вызов в персональный вызов. Это правило работает только с кадрами DMR, проходящими из эфира в сеть.
TypeRewrite=fromSlot,fromId,toSlot,toId
PassAllTG
Пропускает разговорные группы (TG) без применения к ним правил и может использоваться только в одной сети DMR. Правила применяются к кадрам DMR, проходящим через шлюз в обоих направлениях.
PassAllTG=Slot
PassAllPC
Передает любые персональные вызовы без применения к ним правил и может использоваться только в одной сети DMR. Правила применяются к кадрам DMR, проходящим через шлюз в обоих направлениях.
PassAllPC=Slot
1. DMRGateway на github
2. Rewrite Rules
3. Cобираем линк из исходников
Делимся опытом в эфире, на 'круглых столах' и в мессенджере.
R7HJ