Делаем шлюз D-STAR - DMR для Украинского ADN сервера
Делаем шлюз D-STAR<--->DMR для Украинского ADN сервера
Для сборки моста (BRIDGE) нам понадобится два сервера, рекомендую виртуальные, под Ubuntu, Debian или два мини компа с Raspbian, Ubuntu или Debian ну, или что у вас есть, на чём сможет крутиться DVSWITCH.
К сожалению я не придумал способа запустить два экземпляра DVSwitch на одном компе, если вы знаете как это реализовать то поделитесь в комментариях.
Я поднял простые два виртуальных сервера с одним процессором и 256мб памяти, выделив 6Gb динамического дискового пространства, установил Ubuntu 16.04 32Bit. Как установить DVSWITCH смотрим тут...
Не буду тут описывать как это всё работает, предоставлю вам разобраться в этом самостоятельно и приведу только блоки из конфигов которые я изменял в процессе настройки моста.
Структурно мост выглядит примерно так:
Конфигурации первой половины моста XLX----USRP:
nano /opt/Analog_Bridge/Analog_Bridge.ini
; General vocoder setup information
decoderFallBack = true ; Allow software AMBE decoding if a hardware decoder is not found
useEmulator = true ; Use the MD380 AMBE emulator for AMBE72 (DMR/YSFN/NXDN)
emulatorAddress = 127.0.0.1:2470 ; IP address and port of the md380 server
[AMBE_AUDIO]
address = 127.0.0.1 ; IP address of xx_Bridge
txPort = 32103 ; Transmit TLV frames to partner on this port
rxPort = 32100 ; Listen for TLV frames from partner on this port
ambeMode = DSTAR ; DMR, DMR_IPSC, DSTAR, NXDN, P25, YSFN, YSFW (encode PCM to this format)
minTxTimeMS = 2500 ; Analog -> Digital Minimum time in MS for hang delay (0-10000)
gatewayDmrId = ВАШ DMR ID ; ID to use when transmitting from Analog_Bridge 7 digit ID
repeaterID = ВАШ DMR ID ПЛЮС 2 ЦЫФРЫ ; ID of source repeater 7 digit ID plus 2 digit SSID
txTg = ВАША ГРУППА В КОТОРОЙ БУДЕТ РАБОТАТЬ МОСТ ; TG to use for all frames sent from Analog_Bridge -> xx_Bridge
txTs = 2 ; Slot to use for frames sent from Analog_Bridge -> xx_Bridge
colorCode = 1 ; Color Code to assign DMR frames
[USRP]
address = IP АДРЕС ВТОРОЙ ПОЛОВИНЫ СЕРВЕРА ; IP address of USRP partner (Allstar/Asterisk or another Analog_Bridge)
txPort = 38001 ; Transmit USRP frames on this port
rxPort = 39001 ; Listen for USRP frames on this port
;-----
;usrpAudio = AUDIO_UNITY ; Digital -> Analog (AUDIO_UNITY, AUDIO_USE_GAIN, AUDIO_USE_AGC)
;usrpGain = 1.10 ; Gain factor when usrpAudio = AUDIO_USE_GAIN (0.0 to 5.0) (1.0 = AUDIO_UNITY)
;usrpAGC = -20,10,100 ; Set the agc threshold (db), slope (db) and decay (ms)
;tlvAudio = AUDIO_UNITY ; Analog -> Digital (AUDIO_UNITY, AUDIO_USE_GAIN, AUDIO_BPF)
;tlvGain = 0.35 ; Gain factor when tlvAudio = AUDIO_USE_GAIN (0.0 to 5.0) (1.0 = AUDIO_UNITY)
;-----
usrpAudio = AUDIO_USE_AGC
usrpGain = 4.0
usrpAGC = -20,10,300
tlvAudio = AUDIO_USE_GAIN
tlvGain = 0.5
Я закомментировал настройки звука по умолчанию и применил свои, тут рекомендую поэкспериментировать с настройками.
nano /opt/MMDVM_Bridge/DVSwitch.ini
[DSTAR]
address = 127.0.0.1 ; Address to send AMBE TLV frames to (export)
txPort = 32100 ; Port to send AMBE TLV frames to (export)
rxPort = 32103 ; Port to listen on (import)
fallbackID = ВАШ DMR ID ; In case we can not find a valid DMR id in the database, export this one
exportTG = ВАША ГРУППА В КОТОРОЙ БУДЕТ РАБОТАТЬ МОСТ ; Which TG to export
slot = 2 ; Export slot
RemotePort = 54321 ; Port to send Gateway commands to
message = %location %description ; Get location and description from MMDVM_Bridge.ini
nano /opt/MMDVM_Bridge/MMDVM_Bridge.ini
[General]
Callsign=ВАШ ПОЗЫВНОЙ
Id=ВАШ DMR ID
Timeout=180
Duplex=0
[D-Star]
Enable=1
Module=B
[D-Star Network]
Enable=1
GatewayAddress=127.0.0.1
GatewayPort=20010
LocalPort=20011
Debug=0
nano /etc/ircddbgateway
repeaterCall1=UT3FT
repeaterBand1=B
repeaterType1=0
repeaterAddress1=127.0.0.1
repeaterPort1=20011
reflector1=XLX168 E
atStartup1=1
reconnect1=1
frequency1=434.00000
offset1=0.0000
rangeKms1=0.000
latitude1=0.000000
longitude1=0.000000
agl1=0.000
description1_1=
description1_2=
repeaterCall1=UT3FT --- Тут ваш позывной
reflector1=XLX168 E --- Это ваш XLX рефлектор и буква модуля в которой будет работать мост)
Конфигурация второй половины моста USRP----ADN DMR:
nano /opt/Analog_Bridge/Analog_Bridge.ini
; General vocoder setup information
decoderFallBack = true ; Allow software AMBE decoding if a hardware decoder is not found
useEmulator = true ; Use the MD380 AMBE emulator for AMBE72 (DMR/YSFN/NXDN)
emulatorAddress = 127.0.0.1:2470 ; IP address and port of the md380 server
[AMBE_AUDIO]
address = 127.0.0.1 ; IP address of xx_Bridge
txPort = 31103 ; Transmit TLV frames to partner on this port
rxPort = 31100 ; Listen for TLV frames from partner on this port
ambeMode = DMR ; DMR, DMR_IPSC, DSTAR, NXDN, P25, YSFN, YSFW (encode PCM to this format)
minTxTimeMS = 2500 ; Analog -> Digital Minimum time in MS for hang delay (0-10000)
gatewayDmrId = ВАШ DMR ID ; ID to use when transmitting from Analog_Bridge 7 digit ID
repeaterID = ВАШ DMR ID ПЛЮС 2 ЦЫФРЫ ; ID of source repeater 7 digit ID plus 2 digit SSID
txTg = ВАША ГРУППА В КОТОРОЙ БУДЕТ РАБОТАТЬ МОСТ ; TG to use for all frames sent from Analog_Bridge -> xx_Bridge
txTs = 2 ; Slot to use for frames sent from Analog_Bridge -> xx_Bridge
colorCode = 1 ; Color Code to assign DMR frames
[USRP]
address = IP АДРЕС ПЕРВОЙ ПОЛОВИНЫ СЕРВЕРА ; IP address of USRP partner (Allstar/Asterisk or another Analog_Bridge)
txPort = 39001 ; Transmit USRP frames on this port
rxPort = 38001 ; Listen for USRP frames on this port
;-----
;usrpAudio = AUDIO_UNITY ; Digital -> Analog (AUDIO_UNITY, AUDIO_USE_GAIN, AUDIO_USE_AGC)
;usrpGain = 1.10 ; Gain factor when usrpAudio = AUDIO_USE_GAIN (0.0 to 5.0) (1.0 = AUDIO_UNITY)
;usrpAGC = -20,10,100 ; Set the agc threshold (db), slope (db) and decay (ms)
;tlvAudio = AUDIO_UNITY ; Analog -> Digital (AUDIO_UNITY, AUDIO_USE_GAIN, AUDIO_BPF)
;tlvGain = 0.35 ; Gain factor when tlvAudio = AUDIO_USE_GAIN (0.0 to 5.0) (1.0 = AUDIO_UNITY)
;-----
usrpAudio = AUDIO_USE_AGC
usrpGain = 4.0
usrpAGC = -20,10,300
tlvAudio = AUDIO_USE_GAIN
tlvGain = 0.5
nano /opt/MMDVM_Bridge/DVSwitch.ini
; Configure the DMR Partner
; Audio format is AMBE 72 bit
[DMR]
address = 127.0.0.1 ; Address to send AMBE TLV frames to (export)
txPort = 31100 ; Port to send AMBE TLV frames to (export)
rxPort = 31103 ; Port to listen on (import)
slot = 2 ; Export slot
exportTG = ВАША ГРУППА В КОТОРОЙ БУДЕТ РАБОТАТЬ МОСТ ; Which TG to export
hangTimerInFrames = 0 ; Use 50 for 3 seconds of hang time (3000 / 60)
talkerAlias = %callsign %location %description ; Get callsign location and description from MMDVM_Bridge.ini
nano /opt/MMDVM_Bridge/MMDVM_Bridge.ini
[General]
Callsign=ВАШ ПОЗЫВНОЙ
Id=ВАШ ID
Timeout=180
Duplex=0
[Info]
RXFrequency=0
TXFrequency=0
Power=0
Latitude=0.0
Longitude=0.0
Height=0
Location=D-STAR GW (XLX168 E)
Description=MMDVM_Bridge
URL=https://groups.io/g/DVSwitch
[DMR]
Enable=1
ColorCode=1
EmbeddedLCOnly=1
DumpTAData=0
[DMR Network]
Enable=1
Address=2551.adn.systems
Port=62031
Jitter=360
Local=62032
Password=passw0rd
# for DMR+ see https://github.com/DVSwitch/MMDVM_Bridge/blob/master/DOC/DMRplus_startup_options.md
# for XLX the syntax is: Options=XLX:4009
Options="TS2=ВАША ГРУППА В КОТОРОЙ БУДЕТ РАБОТАТЬ МОСТ;"
Slot1=0
Slot2=1
Debug=0
На это всё, перезагружаемся проверяем работу. Если что-то не работает, смотрим логи и исправляем ошибки.
Вопросы, замечания в комментах.