Papuga w HBlink3

Moduł eCHO z serwera HBLink2, przepisany na HBlink3. Udostępniona wersja jest w fazie BETA – działa – można ją zainstalować i używać.
Poco nam ta usługa? Usługa dla lokalnych użytkowników, którzy chcą sprawdzić jak (czy) ich słychać na lokalnym serwerze HBlink.

Instalacja!

Pobieramy moduł playback.py z github’a:

cd /opt/HBlink3
wget https://raw.githubusercontent.com/n0mjs710/hblink3/master/playback.py
chmod +x palyback.py

Tworzymy plik konfiguracyjny dla serwera echa na bazie np.: hblink.cfg lub wkleić poniższą wersje w plik nowy plik /opt/HBlink3/playback.cfg

[GLOBAL]
PATH: ./
PING_TIME: 10
MAX_MISSED: 5
USE_ACL: True
REG_ACL: PERMIT:ALL
SUB_ACL: DENY:1
TGID_TS1_ACL: PERMIT:ALL
TGID_TS2_ACL: PERMIT:9999

[REPORTS]
REPORT: False
REPORT_INTERVAL: 60
REPORT_PORT: 4322
REPORT_CLIENTS: 127.0.0.1

[LOGGER]
LOG_FILE: /var/log/hblink/parrot.log
LOG_HANDLERS: file-timed
LOG_LEVEL: INFO
LOG_NAME: Parrot

[ALIASES]
TRY_DOWNLOAD: False
PATH: ./
PEER_FILE: peer_ids.json
SUBSCRIBER_FILE: subscriber_ids.json
TGID_FILE: talkgroup_ids.json
PEER_URL: https://www.radioid.net/static/rptrs.json
SUBSCRIBER_URL: https://www.radioid.net/api/dmr/user/?country=Poland
STALE_DAYS: 7

[ECHO]
MODE: MASTER
ENABLED: True
REPEAT: True
MAX_PEERS: 10
EXPORT_AMBE: False
IP: 
PORT: 54100   #jeśli jest wolny
PASSPHRASE: password
GROUP_HANGTIME: 5
USE_ACL: True
REG_ACL: PERMIT:9999
SUB_ACL: DENY:1
TGID_TS1_ACL: DENY:ALL
TGID_TS2_ACL: PERMIT:9999

aby uruchomić serwer w autostarcie należy
użyć pliku /lib/systemd/system/parrot.service z zawartością:

[Unit]
Description=HB bridge all Service

After=network-online.target syslog.target
Wants=network-online.target

[Service]
StandardOutput=null
WorkingDirectory=/opt/HBlink3
RestartSec=3
ExecStart=/usr/bin/python3 /opt/HBlink3/playback.py -c /opt/HBlink3/playback.cfg
Restart=on-abort

[Install]
WantedBy=multi-user.target

Utworzyć katalog dla logów jeśli nie ma /var/log/hblink

mkdir /var/log/hblink

Serwer uruchamiamy komendą:

systemctl enable parrot.service %% systemctl start parrot.service
aby sprawdzić status usługi
systemctl status parrot.service

Jeśli status usługi 'parrtot’ jest OK możemy dodać do konfiguracji /opt/HBlink3/hblink.cfg połączenie do serwera ECHO:

[ECHO]
MODE: PEER
ENABLED: True
LOOSE: False
EXPORT_AMBE: False
IP: 
PORT: 54098
MASTER_IP: 127.0.0.1
MASTER_PORT: 54100     #jeśli jest wolny
PASSPHRASE: password
CALLSIGN: ECHO
RADIO_ID: 9999
RX_FREQ: 000
TX_FREQ: 000
TX_POWER: 5
COLORCODE: 1
SLOTS: 2
LATITUDE: 53.00000
LONGITUDE: -8.00000
HEIGHT: 0
LOCATION: Serwer Echo: TG 9999
DESCRIPTION: Papuga
URL: 
SOFTWARE_ID: DMRGateway-20190620
PACKAGE_ID: MMDVM_HBlink
GROUP_HANGTIME: 5
OPTIONS:
USE_ACL: False
SUB_ACL: DENY:1
TGID_TS1_ACL: PERMIT:ALL
TGID_TS2_ACL: PERMIT:ALL

oraz w regułach /opt/HBlink3/rules.py musimy ustawić odpowiednie wpisy do wszystkich naszych MASTERów

'ECHO': [
 {'SYSTEM': 'MASTER-H','TS':2,'TGID':9999,'ACTIVE':True,'TIMEOUT':1,'TO_TYPE': 'NONE','ON':[],'OFF':[],'RESET':[]},
 {'SYSTEM': 'MASTER-RPT','TS':2,'TGID':9999,'ACTIVE':True,'TIMEOUT':1,'TO_TYPE':'NONE','ON':[],'OFF':[],'RESET':[]},
 {'SYSTEM': 'PARROT','TS':2,'TGID':9999,'ACTIVE':True,'TIMEOUT':1,'TO_TYPE':'NONE','ON':[],'OFF':[] 'RESET':[]},
        ],

Powyższe reguły są regułami domyślnymi jeżeli masz inne, musisz je ustawić zgodnie ze swoim wzorem.

teraz musimy zrestartować server hblink:

systemctl restart hblink

Używając TG 9999 na TS2 sprawdzić działanie echo serwera.

Warto zaglądać na git hub autora: https://github.com/n0mjs710/hblink3 
oraz monitorować grupę dyskusyjną DVSwitch

Text po części zapożyczony ze strony sq2ong