Обзор XLX сервера

февраль 2021
обновлено 2023

Радиолюбитель Люк Энгельманн LX1IQ написал рефлектор для сети D-Star с поддержкой протоколов DCS, DExtra и DPlus. После экспериментов, он и его команда пришли к выводу, что рефлектор должен быть мультимодовым и добавили в него YSF и DMR.

XLX сервер состоит из трёх частей, это xlx-сервер, ambe-демон и web-интерфейс. Сервер полностью написан на C++, а дашборд на PHP. Ниже показана блок-схема сервера:

###

Протоколы D-Star поддерживаются в полном обьёме.
В YSF поддерживается базовый функционал и команды.
У протокола DMR поддержка базовая.

К XLX серверу можно подключить ретранслятор ICOM, по протоколу G3 и ретранслятор Yaesu DR-2X, по протоколу IMRS. Здесь нужно пояснить, что при таком подключении установленный в станции код DG-ID 00 всегда будет локальной группой и в XLX вас не услышат.


Протоколы D-Star

D-Star (в отличии от других цифровых режимов) имеет несколько протоколов для создания радиолюбительских сетей, которые отличаются друг от друга.

Чтобы разобраться в этом "зоопарке" - смотрите на таблицу:

рефлектор протокол описание
REF DPLUS Первая рефлекторная сеть D-Star, самая старая из тех что делали радиолюбители. Протокол устарел!
DCS DCS Исходники закрыты. Сделан как конкурент REF. Модуль А всегда общедоступный. Протокол устарел!
XRF DPLUS
DCS
D-Extra
Открытые исходники. Простая установка и функционал c поддержкой всех трёх D-Star протоколов. Есть простенький дашборд. Работает на микрокомпьютерах. Транскодирование не предусмотрено, только D-Star, только хардкор!
XLX DPLUS
DCS
D-Extra
YSF(c4fm)
DMR
Многопротокольный рефлектор с возможностью транскодирования и автономной работы, дающий администратору полный контроль. Имеет 26 модулей (от A До Z). Можно связывать рефлектора между собой интерлинками и создавать одноранговые сети. XLX идёт в ногу со временем, поддерживает G3 от ICOM, а также имеет продвинутый дашборд.

Компания ICOM работает над расширением возможностей D-Star, один из примеров, протоколы G1, G2, G3, которые описывают возможности шлюза и точки доступа, для подключения к ретранслятору или рефлектору. Чем G-протоколы отличаются друг от друга, смотрите на картинке.

Итак:
1. Рефлектора стандарта REF, DCS устарели, их использование не имеет смысла.
2. XRF современный рефлектор, для тех кому нужен только D-Star.
3. XLX современный рефлектор, для тех кому нужна возможность мультипротокольной работы.


AMBE

Для общения пользователей D-Star с обладателями YSF и DMR в одной комнате, XLX серверу нужно два кодека ambe3000, подключенных к usb-портам и работающих в паре. Один только декодирует поток, второй только кодирует, этот же поток. ###

Комбинации без AMBE кодека:
D-Star <---> D-Star
DMR <------> DMR
YSF <------> YSF

Комбинации с AMBE кодеком:
D-Star <---> D-Star
D-Star <---> DMR
D-Star <---> YSF
DMR <------> DMR
YSF <------> YSF
YSF <------> DMR

Одна пара AMBE кодеков обеспечивает работу одного модуля (потока) в единицу времени. Если требуется перекодировать два независимых потока (в двух модулях) - нужно 4 кодека и тд.

Принцип перекодировки, вы видите на картинке:

###

Для качественной перекодировки, нужно именно два кодека, на один цифровой поток.


Одноранговая сеть

Замечательное свойство XLX серверов, в том что они могут быть объединены между собой в единую одноранговую сеть, с возможностью иметь общие модули, на разных серверах.

Это значительно расширяет возможности построения радиолюбительских DV сетей, без центрального сервера. Выход из строя одного XLX сервера в сети, не повлияет на работоспособность остальных серверов.

XLX, XRF и HBLINK соединения, между серверами прописываются в файле xlxd.interlink

###


D-Star пользователи

В вашем hotspot выберите номер XLX-сервера и букву (A-Z) модуля/рефлектора, к которому вы хотите подключиться. ........ ................ .......... ........ .......... ............. ....... .................... ....... .............. ........ ............ ....... .......... ......... ........ ........ ............. ............. ........ ....... ............. ..............


C4FM пользователи

XLX сервер понимает как X-команды, так и DG-ID коды, полученные от YSF-радиостанции! Значит, переходить в другой модуль/рефлектор (в пределах одного xlx-сервера) по эфиру, можно разными способами!

DG-ID:
Если вы подключили свой YSF-hotspot к XLX напрямую, чтобы перемещаться по модулям, нужно установить DG-ID код в радиостанции. Важно заметить, что DG-ID коды не меняются и одинаковы на всех XLX.

Чтобы попасть в нужный XLX модуль, поставьте DG-ID с номером, который этому модулю соответствует:

10=A	15=F	20=K	25=P	30=U	35=Z
11=B	16=G	21=L	26=Q	31=V
12=C	17=H	22=M	27=R	32=W
13=D	18=I	23=N	28=S	33=X
14=E	19=J	24=O	29=T	34=Y

X-команды:
На вашем hotspot включите WiresX_Passthrough. После этого нажмите клавишу X на радиостанции, затем откройте список модулей и выберите нужный, ткнув пальцем в экран. Список доступных модулей на экране радиостанции выглядит так:

MODULE A
MODULE B
MODULE C
MODULE D
.....

DMR пользователи

Если вы подключили свой DMR-hotspot к XLX, вы сразу попадаете в модуль установленный администратором по умолчанию. Передавать нужно в TG6, в любом модуле.

Чтобы перейти в другой модуль/рефлектор, нужно сделать персональный вызов на номер который соответствует модулю. Номера эти зафиксированы и не меняются. XLX сообщит голосом, в какой модуль вы перешли.

64001=A		64007=G		64013=M		64019=S		64025=Y
64002=B		64008=H		64014=N		64020=T		64026=Z
64003=C		64009=I		64015=O		64021=U
64004=D		64010=J		64016=P		64022=V
64005=E		64011=K		64017=Q		64023=W
64006=F		64012=L		64018=R		64024=X

На примере выше, показано как выглядит вызов для смены модуля. Например, персональный вызов на DMR ID 64003, перекинет нас в модуль С и тд.


Администрирование

Управляющий XLX сервером, может менять кол-во модулей, отключить протоколы, поддержку G3 и т.д. Он имеет возможность ограничивать доступ пользователей в тот или иной модуль(комнату). Для этого сделаны белые и чёрные списки.

В файл xlxd.whitelist заносят позывные и префиксы которые будут иметь доступ к серверу и в его модули.

В файле xlxd.blacklist прописаны позывные или списки позывных, которым запрещён доступ к данному серверу. Они не смогут подключиться к модулю и работать с другими радиостанциями.

В качестве необязательного расширения, к xlx-серверу можно подключить mariadb, чтобы поддерживать свою базу данных частот YSF (Yaesu System Fusion) для точек доступа.

Сервер может работать в режимах XLX или XRF.

###

На основе XLX сервера, можно создать мультимодовую точку доступа с тремя радиоканалами, через которую радиостанции разных стандартов (D-Star/DMR/YSF) могут работать между собой.

При этом необязательно использовать интернет сеть, такой сервер будет работать и полностью автономно или в локальной сети. Смотрите картинку выше.


Требования к серверу

Для доступа через интернет, сервер должен иметь "белый" IP адрес и доменное имя вида xlx..... (например xlx001.reflector.net). Дашборд (информация о текущем состоянии xlx) выводится через HTTP-сервер Apache.

XLX сервер можно устанавливать на микрокомпьютеры типа Raspberry_Pi. Хотя, их ресурсы ограничены, но при малом кол-ве соединений, работать будет стабильно. Для нагруженного сервера, требуется более мощный компьютер.

С виртуальными компьютерами в облаке (в мультимодовом режиме), также будут проблемы. Дело в том что кодек ambe3000 должен быть подключен к USB-порту компьютера на котором запущен сервер. Использование же ambe-сервера (запущенного в сети) нежелательно, так как неизбежно приведёт к ухудшению качества декодирования.


Недостатки

В процессе эксплуатации многие радиолюбители отмечают и недостатки XLXd. Например, требовательность к аппаратным ресурсам, использование std::vector в коде не является оптимальным решением, затраты на кодеки, примитивное администрирование.


Ссылки:

Авторский xlxd от LX3JL и LX1IQ
Эволюция G-протоколов ICOM
new-xlxd от n7tae
патч для DG-ID

R7HJ