SQ9LM

Dragon DMR Server 3.0.1 z SMS-ami, VoIP i XLX

Od 16 sierpnia 2019 r. serwer DMR sieci DRAGON Network działał na Raspberry Pi o nazwie fobos. 21 października 2026 r. go wyłączyłem, a serwer przeniosłem na nowy silnik w Dockerze na NAS-ie. Nazywa się Dragon DMR Server (DDMRS), a 23 października wgrałem wersję 3.0.1.

Prace zacząłem w lutym od kopii danych ze starego serwera i makiet panelu, w marcu przepisałem panel na FastAPI z danymi na żywo. Samo przejście zajęło dwa dni: 21 października wersja 2.0 z nowym silnikiem, SMS-ami i rozmowami z telefonu, 22 października 3.0.0 ze stałymi portami dla hotspotów i nowym panelem. 23 października doszła poprawka SMS-ów w 3.0.1. Kod serwera jest na licencji GNU GPLv3.

Panel i strona publiczna

Wszystko, co dzieje się na serwerze, widać pod https://fobos.dragon-net.pl: kto jest podłączony, mastery, połączenia z innymi sieciami i ostatnio słyszane stacje. Serwer restartuje się sam codziennie o 03:00, odliczanie jest na tej samej stronie.

Strona publiczna Dragon DMR Server: status serwera, podłączone stacje i mastery
Strona publiczna fobos.dragon-net.pl

W panelu przy numerze wersji w pasku bocznym jest ikonka, która otwiera historię zmian. Zapisuję tam krótko, co doszło w każdej wersji.

Okno Historia zmian w panelu Dragon DMR Server
Historia zmian otwiera się z ikonki przy wersji

Administrator widzi w nagłówku panelu, kto w tej chwili nadaje, a po kliknięciu listę ostatnich rozmów i SMS-ów.

Nagłówek panelu admina z nadającą stacją i listą ostatnich rozmów
Nadający na żywo w nagłówku panelu admina

Hotspoty na stałych portach

Aktualizacja 25 października: porty przeniosłem do zakresu 52xx, który domyślnie przepuszcza firewall Pi-Star. Kto wpisał wcześniej 5001, 5002, 5003 albo 5010, zmienia w hotspocie tylko port, hasła zostają te same.

Hotspot łączy się z adresem fobos.dragon-net.pl. Port zależy od tego, jaki masz hotspot:

  • 5201 - hotspot jednoslotowy (simplex). Każdy dostaje własną kopię mastera FREE1 i własne talkgrupy dynamiczne, więc to, co włączysz kluczowaniem, nie przełącza innych.
  • 5202 - hotspot dwuslotowy (duplex), własna kopia mastera FREE2.
  • 5203 - aplikacja DroidStar (na telefonie albo komputerze). Każde połączenie dostaje własną kopię mastera DroidStar.
  • 5210 - dla osób, które mają w sieci własny master. Jeśli chcesz z niego korzystać, odezwij się do mnie.

Złe hasło dostaje odmowę, a po 5 złych hasłach w ciągu minuty serwer przez 10 minut nie odpowiada temu adresowi IP.

Jak podłączyć hotspot do 5201 albo 5202

W Pi-Star (albo WPSD) z DMRGateway dodaj w wolnej sekcji [DMR Network N] sieć DRAGON. ID hotspota zostaje bez zmian.

[DMR Network 3]
Enabled=1
Name=DRAGON
Address=fobos.dragon-net.pl
Port=5201
Password=hasło puli (niżej)
PassAllPC=2
PassAllTG=2

Dla hotspota dwuslotowego wpisz Port=5202 i hasło puli FREE2. PassAllPC=2 kieruje do DRAGON-a rozmowy prywatne i SMS-y ze szczeliny 2. Bez tego DMRGateway może je wysłać do innej sieci, np. do BrandMeistra. PassAllTG=2 przepuszcza do DRAGON-a wszystkie talkgrupy ze szczeliny 2, więc ustaw go tylko wtedy, gdy DRAGON jest jedyną siecią na tej szczelinie.

Hasło do portu 5201 (pula FREE1):

Pokaż hasło do 5201fobosuser$2026

Hasło do portu 5202 (pula FREE2):

Pokaż hasło do 5202fobos2$2026

Jak połączyć się z aplikacji DroidStar (port 5203)

DroidStar to aplikacja, która działa jak hotspot bez radia: łączy się z serwerem przez internet, a mówisz przez mikrofon telefonu albo komputera. Dla niej jest osobna pula DroidStar na porcie 5203.

  1. W ustawieniach aplikacji wpisz swój znak i swoje DMR ID.
  2. Dodaj własny serwer DMR: adres fobos.dragon-net.pl, port 5203 i hasło (niżej).
  3. Wybierz tryb DMR i ten serwer, połącz się i wybierz talkgrupę.

Kto korzystał z DroidStara na starym serwerze fobos, zmienia tylko port z 5224 na 5203, hasło zostaje to samo.

Hasło do portu 5203 (pula DroidStar):

Pokaż hasło do 5203ds$2026

Firewall w Pi-Star przepuszcza na zewnątrz tylko wybrane porty, w tym UDP 5200-5300. Porty serwera są w tym zakresie, więc w hotspocie nie trzeba nic dopisywać. Przy poprzednich portach (5001-5010) hotspot na Pi-Star 4.1.2 nie wysłał do serwera ani jednego pakietu, a w logu DMRGateway było sendto err: 1. Kto dopisał wtedy regułę dla 5001-5010 do /root/ipv4.fw, może ją usunąć.

Rozmowy prywatne (Private Call)

Rozmowa prywatna to połączenie z jednym radiem po jego ID DMR, bez talkgrupy.

  1. W radiu dodaj kontakt typu Private Call z ID DMR odbiorcy i wywołaj go.
  2. Odbiorca musi być za hotspotem albo przemiennikiem podłączonym do DDMRS i coś nadać w ciągu ostatniej godziny. Serwer pamięta przez 60 minut, gdzie ostatnio słyszał każde radio.
  3. W hotspocie z DMRGateway ustaw PassAllPC=2 w sekcji sieci DRAGON.

Rozmowa idzie wtedy tylko do hotspota, przez który odbiorca ostatnio nadawał. Jeśli serwer go w tym czasie nie słyszał, rozsyła rozmowę do wszystkich masterów sieci. Rozmowy prywatne i SMS-y zostają w sieci DRAGON, do BrandMeistra ani do partnerów OpenBridge nie przechodzą.

SMS-y

Między radiami. Zasady są takie same jak przy rozmowie prywatnej:

  1. Oba radia są za hotspotami albo przemiennikami na DDMRS, w hotspotach jest PassAllPC=2.
  2. Odbiorca coś nadał w ciągu ostatniej godziny. Po restarcie serwera (codziennie o 03:00) ta pamięć się zeruje, wtedy wystarczy krótkie kluczowanie na dowolnej talkgrupie.
  3. Wysyłasz SMS na ID DMR odbiorcy.

SMS trafia tylko do hotspota odbiorcy i serwer nie wciska go w środek czyjejś rozmowy. SMS do radia, którego serwer nie słyszał w ostatniej godzinie, przepada.

Na bramkę 999. ID 999 to bramka SMS serwera. SMS wysłany z radia na 999 trafia do skrzynki bramki, którą widzę w panelu.

Z panelu do radia. Jako administrator mogę wysłać z panelu SMS na dowolne ID, do 140 znaków. Do wyboru są formaty Motorola (TMS, domyślny), Hytera i trzy odmiany ETSI. Taki SMS też idzie tylko tam, gdzie serwer słyszał odbiorcę w ostatniej godzinie.

Strona SMS w panelu admina: formularz wysyłki i lista wysłanych SMS-ów
Strona SMS w panelu admina

SMS GSM. Bramka umie też wysłać SMS na telefon komórkowy przez modemy GSM w centrali DN-VoIP (SMS na 999 o treści +48XXXXXXXXX treść). Każdy taki SMS kosztuje, dlatego ta funkcja jest domyślnie wyłączona i działa tylko dla ID DMR z listy dozwolonych.

Format SMS-a w radiu. Radia kodują SMS-y różnie. Anytone w trybie DMR Standard (ETSI) wysyła tekst w UTF-16LE, a nie w UTF-16BE, jak opisuje norma. Od wersji 3.0.1 bramka czyta taki SMS poprawnie, a SMS z panelu w formacie „ETSI (IP, UTF-16LE)” wychodzi w tym samym układzie, w jakim wysyła go radio. Domyślny format panelu to Motorola TMS. Jeśli Twoje radio nie pokazuje SMS-a z panelu, napisz, jaki to model, bo każdy SMS z radia zostawia w logu bramki surowe bajty, z których mogę dopisać kolejny format.

Rozmowy z telefonu (VoIP)

Z telefonu wewnętrznego w sieci DN-VoIP można słuchać talkgrupy i na nią nadawać. Działa to w simpleksie, jak radio:

  1. Wybierz 77019 (TG 19, Tech) albo 77020 (TG 20, Wywoławczy). Po dwóch krótkich pipnięciach słychać talkgrupę.
  2. Wybierz *98# i po pipnięciu mów.
  3. # kończy nadawanie (niższe pipnięcie). Po 60 s nadawanie kończy się samo, usłyszysz trzy krótkie sygnały.

Między nadawaniami słuchasz talkgrupy. Jeśli radio akurat nadaje, po *98# usłyszysz zajętość, a mostek zacznie nadawać, gdy radio skończy (# rezygnuje). Na jednej talkgrupie może być naraz jedna rozmowa z telefonu, drugi dzwoniący od razu usłyszy zajętość.

Na radiach nadawanie z telefonu widać z numerem wewnętrznym jako ID, np. telefon 201 nadaje jako ID 201, a w panelu jako „VoIP 201”. Numer, który przypiszę w panelu do ID radia, nadaje jako to radio i ma znak właściciela. TG 19 i 20 idą też przez OpenBridge do partnera, więc rozmowę z telefonu słychać także u niego.

Funkcje serwera (SMS, SMS GSM, VoIP) i tabela numerów wewnętrznych
Przełączniki funkcji i numery wewnętrzne VoIP (numery i ID zamazane)

Połączenia z XLX

Serwer jest połączony z reflektorami XLX778 (moduły A i C) i XLX134 (moduł A). Każdy moduł to osobne połączenie: serwer loguje się do reflektora i po każdym połączeniu sam wybiera swój moduł. W sieci DRAGON te moduły są pod talkgrupami 7781 (XLX778-A), 7783 (XLX778-C) i 1341 (XLX134-A). Włączasz je kluczowaniem tej talkgrupy, a wyłączasz kluczowaniem TG 400. Na razie są dostępne na kilku masterach sieci, w pulach FREE1 i FREE2 (porty 5201 i 5202) ich nie ma.

Połączenia wychodzące na stronie publicznej: BM-P, XLX134-A, XLX778-A, XLX778-C
Połączenia z BrandMeistrem i trzema modułami XLX na stronie publicznej

OpenBridge i papuga

Partnerzy OpenBridge łączą się teraz na jeden port UDP 5220, a nie każdy na swój. Papuga jest na TG 666 (TS2): nadajesz krótki komunikat, a serwer odtwarza go z powrotem, więc łatwo sprawdzić, jak Cię słychać.

Tagi: DDMRS, DMR, SMS, VoIP, XLX, hotspot

Najnowsze wpisy · Archiwum