fdbfbf2362
unit calls should be working on HBP and OBP systems. Also adds the ability to send TS data in OBP for unit calls to preserve timeslot routing for unit calls.
245 lines
7.8 KiB
INI
Executable File
245 lines
7.8 KiB
INI
Executable File
# PROGRAM-WIDE PARAMETERS GO HERE
|
|
# PATH - working path for files, leave it alone unless you NEED to change it
|
|
# PING_TIME - the interval that peers will ping the master, and re-try registraion
|
|
# - how often the Master maintenance loop runs
|
|
# MAX_MISSED - how many pings are missed before we give up and re-register
|
|
# - number of times the master maintenance loop runs before de-registering a peer
|
|
#
|
|
# ACLs:
|
|
#
|
|
# Access Control Lists are a very powerful tool for administering your system.
|
|
# But they consume packet processing time. Disable them if you are not using them.
|
|
# But be aware that, as of now, the configuration stanzas still need the ACL
|
|
# sections configured even if you're not using them.
|
|
#
|
|
# REGISTRATION ACLS ARE ALWAYS USED, ONLY SUBSCRIBER AND TGID MAY BE DISABLED!!!
|
|
#
|
|
# The 'action' May be PERMIT|DENY
|
|
# Each entry may be a single radio id, or a hypenated range (e.g. 1-2999)
|
|
# Format:
|
|
# ACL = 'action:id|start-end|,id|start-end,....'
|
|
# --for example--
|
|
# SUB_ACL: DENY:1,1000-2000,4500-60000,17
|
|
#
|
|
# ACL Types:
|
|
# REG_ACL: peer radio IDs for registration (only used on HBP master systems)
|
|
# SUB_ACL: subscriber IDs for end-users
|
|
# TGID_TS1_ACL: destination talkgroup IDs on Timeslot 1
|
|
# TGID_TS2_ACL: destination talkgroup IDs on Timeslot 2
|
|
#
|
|
# ACLs may be repeated for individual systems if needed for granularity
|
|
# Global ACLs will be processed BEFORE the system level ACLs
|
|
# Packets will be matched against all ACLs, GLOBAL first. If a packet 'passes'
|
|
# All elements, processing continues. Packets are discarded at the first
|
|
# negative match, or 'reject' from an ACL element.
|
|
#
|
|
# If you do not wish to use ACLs, set them to 'PERMIT:ALL'
|
|
# TGID_TS1_ACL in the global stanza is used for OPENBRIDGE systems, since all
|
|
# traffic is passed as TS 1 between OpenBridges
|
|
[GLOBAL]
|
|
PATH: ./
|
|
PING_TIME: 5
|
|
MAX_MISSED: 3
|
|
USE_ACL: True
|
|
REG_ACL: PERMIT:ALL
|
|
SUB_ACL: DENY:1
|
|
TGID_TS1_ACL: PERMIT:ALL
|
|
TGID_TS2_ACL: PERMIT:ALL
|
|
|
|
|
|
# NOT YET WORKING: NETWORK REPORTING CONFIGURATION
|
|
# Enabling "REPORT" will configure a socket-based reporting
|
|
# system that will send the configuration and other items
|
|
# to a another process (local or remote) that may process
|
|
# the information for some useful purpose, like a web dashboard.
|
|
#
|
|
# REPORT - True to enable, False to disable
|
|
# REPORT_INTERVAL - Seconds between reports
|
|
# REPORT_PORT - TCP port to listen on if "REPORT_NETWORKS" = NETWORK
|
|
# REPORT_CLIENTS - comma separated list of IPs you will allow clients
|
|
# to connect on. Entering a * will allow all.
|
|
#
|
|
# ****FOR NOW MUST BE TRUE - USE THE LOOPBACK IF YOU DON'T USE THIS!!!****
|
|
[REPORTS]
|
|
REPORT: True
|
|
REPORT_INTERVAL: 60
|
|
REPORT_PORT: 4321
|
|
REPORT_CLIENTS: 127.0.0.1
|
|
|
|
|
|
# SYSTEM LOGGER CONFIGURAITON
|
|
# This allows the logger to be configured without chaning the individual
|
|
# python logger stuff. LOG_FILE should be a complete path/filename for *your*
|
|
# system -- use /dev/null for non-file handlers.
|
|
# LOG_HANDLERS may be any of the following, please, no spaces in the
|
|
# list if you use several:
|
|
# null
|
|
# console
|
|
# console-timed
|
|
# file
|
|
# file-timed
|
|
# syslog
|
|
# LOG_LEVEL may be any of the standard syslog logging levels, though
|
|
# as of now, DEBUG, INFO, WARNING and CRITICAL are the only ones
|
|
# used.
|
|
#
|
|
[LOGGER]
|
|
LOG_FILE: /tmp/hblink.log
|
|
LOG_HANDLERS: console-timed
|
|
LOG_LEVEL: DEBUG
|
|
LOG_NAME: HBlink
|
|
|
|
# DOWNLOAD AND IMPORT SUBSCRIBER, PEER and TGID ALIASES
|
|
# Ok, not the TGID, there's no master list I know of to download
|
|
# This is intended as a facility for other applcations built on top of
|
|
# HBlink to use, and will NOT be used in HBlink directly.
|
|
# STALE_DAYS is the number of days since the last download before we
|
|
# download again. Don't be an ass and change this to less than a few days.
|
|
[ALIASES]
|
|
TRY_DOWNLOAD: True
|
|
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/static/users.json
|
|
STALE_DAYS: 7
|
|
|
|
# OPENBRIDGE INSTANCES - DUPLICATE SECTION FOR MULTIPLE CONNECTIONS
|
|
# OpenBridge is a protocol originall created by DMR+ for connection between an
|
|
# IPSC2 server and Brandmeister. It has been implemented here at the suggestion
|
|
# of the Brandmeister team as a way to legitimately connect HBlink to the
|
|
# Brandemiester network.
|
|
# It is recommended to name the system the ID of the Brandmeister server that
|
|
# it connects to, but is not necessary. TARGET_IP and TARGET_PORT are of the
|
|
# Brandmeister or IPSC2 server you are connecting to. PASSPHRASE is the password
|
|
# that must be agreed upon between you and the operator of the server you are
|
|
# connecting to. NETWORK_ID is a number in the format of a DMR Radio ID that
|
|
# will be sent to the other server to identify this connection.
|
|
# other parameters follow the other system types.
|
|
#
|
|
# ACLs:
|
|
# OpenBridge does not 'register', so registration ACL is meaningless.
|
|
# Proper OpenBridge passes all traffic on TS1.
|
|
# HBlink can extend OPB to use both slots for unit calls only.
|
|
# Setting "BOTH_SLOTS" True ONLY affects unit traffic!
|
|
# Otherwise ACLs work as described in the global stanza
|
|
[OBP-1]
|
|
MODE: OPENBRIDGE
|
|
ENABLED: True
|
|
IP:
|
|
PORT: 62035
|
|
NETWORK_ID: 3129100
|
|
PASSPHRASE: password
|
|
TARGET_IP: 1.2.3.4
|
|
TARGET_PORT: 62035
|
|
BOTH_SLOTS: True
|
|
USE_ACL: True
|
|
SUB_ACL: DENY:1
|
|
TGID_ACL: PERMIT:ALL
|
|
|
|
# MASTER INSTANCES - DUPLICATE SECTION FOR MULTIPLE MASTERS
|
|
# HomeBrew Protocol Master instances go here.
|
|
# IP may be left blank if there's one interface on your system.
|
|
# Port should be the port you want this master to listen on. It must be unique
|
|
# and unused by anything else.
|
|
# Repeat - if True, the master repeats traffic to peers, False, it does nothing.
|
|
#
|
|
# MAX_PEERS -- maximun number of peers that may be connect to this master
|
|
# at any given time. This is very handy if you're allowing hotspots to
|
|
# connect, or using a limited computer like a Raspberry Pi.
|
|
#
|
|
# ACLs:
|
|
# See comments in the GLOBAL stanza
|
|
[MASTER-1]
|
|
MODE: MASTER
|
|
ENABLED: True
|
|
REPEAT: True
|
|
MAX_PEERS: 10
|
|
EXPORT_AMBE: False
|
|
IP:
|
|
PORT: 54000
|
|
PASSPHRASE: s3cr37w0rd
|
|
GROUP_HANGTIME: 5
|
|
USE_ACL: True
|
|
REG_ACL: DENY:1
|
|
SUB_ACL: DENY:1
|
|
TGID_TS1_ACL: PERMIT:ALL
|
|
TGID_TS2_ACL: PERMIT:ALL
|
|
|
|
# PEER INSTANCES - DUPLICATE SECTION FOR MULTIPLE PEERS
|
|
# There are a LOT of errors in the HB Protocol specifications on this one!
|
|
# MOST of these items are just strings and will be properly dealt with by the program
|
|
# The TX & RX Frequencies are 9-digit numbers, and are the frequency in Hz.
|
|
# Latitude is an 8-digit unsigned floating point number.
|
|
# Longitude is a 9-digit signed floating point number.
|
|
# Height is in meters
|
|
# Setting Loose to True relaxes the validation on packets received from the master.
|
|
# This will allow HBlink to connect to a non-compliant system such as XLXD, DMR+ etc.
|
|
#
|
|
# ACLs:
|
|
# See comments in the GLOBAL stanza
|
|
[REPEATER-1]
|
|
MODE: PEER
|
|
ENABLED: True
|
|
LOOSE: False
|
|
EXPORT_AMBE: False
|
|
IP:
|
|
PORT: 54001
|
|
MASTER_IP: 172.16.1.1
|
|
MASTER_PORT: 54000
|
|
PASSPHRASE: homebrew
|
|
CALLSIGN: W1ABC
|
|
RADIO_ID: 312000
|
|
RX_FREQ: 449000000
|
|
TX_FREQ: 444000000
|
|
TX_POWER: 25
|
|
COLORCODE: 1
|
|
SLOTS: 1
|
|
LATITUDE: 38.0000
|
|
LONGITUDE: -095.0000
|
|
HEIGHT: 75
|
|
LOCATION: Anywhere, USA
|
|
DESCRIPTION: This is a cool repeater
|
|
URL: www.w1abc.org
|
|
SOFTWARE_ID: 20170620
|
|
PACKAGE_ID: MMDVM_HBlink
|
|
GROUP_HANGTIME: 5
|
|
OPTIONS:
|
|
USE_ACL: True
|
|
SUB_ACL: DENY:1
|
|
TGID_TS1_ACL: PERMIT:ALL
|
|
TGID_TS2_ACL: PERMIT:ALL
|
|
|
|
[XLX-1]
|
|
MODE: XLXPEER
|
|
ENABLED: True
|
|
LOOSE: True
|
|
EXPORT_AMBE: False
|
|
IP:
|
|
PORT: 54002
|
|
MASTER_IP: 172.16.1.1
|
|
MASTER_PORT: 62030
|
|
PASSPHRASE: passw0rd
|
|
CALLSIGN: W1ABC
|
|
RADIO_ID: 312000
|
|
RX_FREQ: 449000000
|
|
TX_FREQ: 444000000
|
|
TX_POWER: 25
|
|
COLORCODE: 1
|
|
SLOTS: 1
|
|
LATITUDE: 38.0000
|
|
LONGITUDE: -095.0000
|
|
HEIGHT: 75
|
|
LOCATION: Anywhere, USA
|
|
DESCRIPTION: This is a cool repeater
|
|
URL: www.w1abc.org
|
|
SOFTWARE_ID: 20170620
|
|
PACKAGE_ID: MMDVM_HBlink
|
|
GROUP_HANGTIME: 5
|
|
XLXMODULE: 4004
|
|
USE_ACL: True
|
|
SUB_ACL: DENY:1
|
|
TGID_TS1_ACL: PERMIT:ALL
|
|
TGID_TS2_ACL: PERMIT:ALL
|