DMRGateway это просто

апрель 2021

Jonathan Naylor (g4klx) написал много полезного софта, для развития цифровых радиолюбительских сетей. Рассмотрим ещё один полезный модуль DMRGateway, который может работать только как полезное дополнение к MMDVMHost, расширяющее его функционал.


Зачем он нужен?

DMRGateway позволяет подключить DMR радиостанцию одновременно к нескольким сетям. А точнее, к одному XLX серверу и к пяти DMR (DMR+, BrandMeister, TGIF, HBLink). Если в любой подключенной сети начинается разговор, hotspot транслирует его в эфир.

MMDVMHost можно подключить одновременно только к одной сети и работать только в ней.

Большое преимущество DMRGateway, в том что он может менять назначение передаваемых/принимаемых пакетов на лету и таким образом маршрутизировать вызов из радиостанции в нужную сеть и таймслот. Причём, вызовы могут быть как групповыми, так и персональными.

При подключении к XLX комнатам и их смене, DMRGateway будет выдавать голосовые подсказки, чтобы указать текущую комнату. Подсказки доступны на нескольких языках. Эти возможности повышают удобство работы в эфире через hotspot и городской линк(репитер).

Полезно знать, что DMRGateway может работать как на одном компьютере с MMDVMHost, так и на разных. Pi-Star поддерживает работу через DMRGateway, но в несколько урезанном варианте.

На картинке показано как работает DMRGatewaу:

###

Сборка

Соберём исполняемый файл из исходного кода, обычным способом. Смотрите внимательно, чтобы не было ошибок при компиляции! Если ошибки есть, добавляем недостающие библиотеки на которые ссылается компилятор.

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