193 lines
6.7 KiB
INI
193 lines
6.7 KiB
INI
# DMRLink SAMPLE CONFIGURATION FILE
|
|
#
|
|
# Rename to dmrlink.cfg and add your information
|
|
#
|
|
# minor tweaks to match install for use by DMRGateway
|
|
# N4IRS
|
|
#
|
|
#
|
|
|
|
# GLOBAL CONFIGURATION ITEMS
|
|
#
|
|
[GLOBAL]
|
|
PATH: /opt/IPSC_Bridge/
|
|
|
|
|
|
# NETWORK REPORTING CONFIGURATION
|
|
# Enabling "REPORT_NETWORKS" will cause a reporting action for
|
|
# IPSC each time the periodic reporting loop runs, that period is
|
|
# specified by "REPORT_INTERVAL" in seconds. Possible values
|
|
# for "REPORT_NETWORKS" are:
|
|
#
|
|
# PRINT - a pretty print (STDOUT) of the data structure
|
|
# "PRINT_PEERS_INC_MODE" - Boolean to include mode bits
|
|
# "PRINT_PEERS_INC_FLAGS" - Boolean to include flag bits
|
|
#
|
|
# NETWORK - This is the right way to do it. Opens a TCP socket
|
|
# listener. The protocol is still in its infancy, but the
|
|
# idea is that dmrlink will talk to another application
|
|
# to send event and status updates. Of course, the big
|
|
# goal here is a web dashboard that doesn't live on the
|
|
# dmrlink machine itself.
|
|
#
|
|
# PRINT should only be used for debugging; it sends prettily formatted
|
|
# stuff to STDOUT. The others send the internal data structure of the
|
|
# IPSC instance and let some program on the other end sort it out.
|
|
#
|
|
# REPORT_RCM - If True, and REPORT_NETWORKS = 'NETWORK', will send RCM
|
|
# Packets to connected reporting clients. This also requires
|
|
# individual IPSC systems to have RCM and CON_APP both set 'True'
|
|
#
|
|
# 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.
|
|
#
|
|
[REPORTS]
|
|
REPORT_NETWORKS:
|
|
REPORT_RCM:
|
|
REPORT_INTERVAL: 60
|
|
REPORT_PORT: 4321
|
|
REPORT_CLIENTS: 127.0.0.1, 192.168.1.1
|
|
PRINT_PEERS_INC_MODE: 0
|
|
PRINT_PEERS_INC_FLAGS: 0
|
|
|
|
|
|
# SYSTEM LOGGER CONFIGURAITON
|
|
# This allows the logger to be configured without chaning the individual
|
|
# python logger stuff in dmrlink.py. LOG_FILE should be a complete
|
|
# path/filename for *your* system -- use /dev/null for non-file handlers.
|
|
# LOG_HANDERLS 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/dmrlink.log
|
|
LOG_HANDLERS: console-timed,file-timed
|
|
LOG_LEVEL: INFO
|
|
LOG_NAME: DMRlink
|
|
|
|
|
|
# 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
|
|
# DMRlink to use, and will NOT be used in DMRlink 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: False
|
|
LOCAL_FILE: 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/static/users.json
|
|
STALE_DAYS: 7
|
|
|
|
|
|
# CONFIGURATION FOR IPSC NETWORKS
|
|
# Please read these closely - catastrophic results could result by setting
|
|
# certain flags for things DMRlink cannot do.
|
|
#
|
|
# [NAME] The name you want to use to identify the IPSC instance (use
|
|
# something better than "IPSC1"...)
|
|
# ENABLED: Should we communicate with this network? Handy if you need to
|
|
# shut one down but don't want to lose the config
|
|
# RADIO_ID: This is the radio ID that DMRLink should use to communicate
|
|
# IP: This is the local IPv4 address to listen on. It may be left
|
|
# blank if you do not need or wish to specify. It is mostly
|
|
# useful when DMRlink uses multiple interfaces to serve as an
|
|
# application gateway/proxy from private and/or VPN networks
|
|
# to the real world.
|
|
# PORT: This is the UDP source port for DMRLink to use for this
|
|
# PSC network, must be unique!!!
|
|
# ALIVE_TIMER: Seconds between keep-alive transmissions
|
|
# MAX_MISSED: How many missed keep-alives before we remove a peer
|
|
# PEER_OPER: This signals the master and peers whether or not we are
|
|
# operational. True is the only thing that makes sense.
|
|
# IPSC_MODE: May be 'DIGITAL', 'ANALOG', or 'NONE'. Digital is really the
|
|
# only thing that makes sense.
|
|
# TSx_LINK: Is this time slot linked?
|
|
# CSBK_CALL: Should be False, we cannot process these, but may be useful
|
|
# for debugging.
|
|
# RCM: Repeater Call Monitoring - don't unable unless you plan to
|
|
# actually use it, this creates extra network traffic.
|
|
# CON_APP: Third Party Console App - exactly what DMRlink is, should
|
|
# be set to True, and must be if you intend to process RCM
|
|
# packets (like with network-based reporting)
|
|
# XNL_CALL: Can cause problems if not set to False, DMRlink does not
|
|
# process XCMP/XNL calls.
|
|
# XNL_MASTER: Obviously, should also be False, see XNL_CALL.
|
|
# DATA_CALL: Process data calls. True if you want to process data calls
|
|
# VOICE_CALL: Process voice calls. True if you want to process voice calls
|
|
# MASTER_PEER: True if DMRlink will be the master, False if we're a peer
|
|
# AUTH_ENABLED: Do we use authenticated IPSC?
|
|
# AUTH_KEY: The Authentication key (up to 40 hex characters)
|
|
# MASTER_IP: IP address of the IPSC master (ignored if DMRlink is the master)
|
|
# MASTER_PORT: UDP port of the IPSC master (ignored if DMRlink is the master)
|
|
# GROUP_HANGTIME: Group hangtime, per DMR configuration
|
|
#
|
|
# ...Repeat the block for each IPSC network to join.
|
|
#
|
|
|
|
[SAMPLE_PEER]
|
|
ENABLED: False
|
|
RADIO_ID: 12345
|
|
IP:
|
|
PORT: 50000
|
|
ALIVE_TIMER: 5
|
|
MAX_MISSED: 20
|
|
PEER_OPER: True
|
|
IPSC_MODE: DIGITAL
|
|
TS1_LINK: True
|
|
TS2_LINK: True
|
|
CSBK_CALL: False
|
|
RCM: False
|
|
CON_APP: False
|
|
XNL_CALL: False
|
|
XNL_MASTER: False
|
|
DATA_CALL: True
|
|
VOICE_CALL: True
|
|
MASTER_PEER: False
|
|
AUTH_ENABLED: True
|
|
AUTH_KEY: 1A2B3C
|
|
MASTER_IP: 1.2.3.4
|
|
MASTER_PORT: 50000
|
|
GROUP_HANGTIME: 5
|
|
|
|
|
|
[IPSC_Bridge]
|
|
ENABLED: True
|
|
RADIO_ID: {{IPSC_RADIO_ID}}
|
|
IP:
|
|
PORT: 55000
|
|
ALIVE_TIMER: 6
|
|
MAX_MISSED: 20
|
|
PEER_OPER: True
|
|
IPSC_MODE: DIGITAL
|
|
TS1_LINK: {{IPSC_TS1}}
|
|
TS2_LINK: {{IPSC_TS2}}
|
|
CSBK_CALL: False
|
|
RCM: False
|
|
CON_APP: False
|
|
XNL_CALL: False
|
|
XNL_MASTER: False
|
|
DATA_CALL: True
|
|
VOICE_CALL: True
|
|
MASTER_PEER: {{IPSC_MASTER_PEER}}
|
|
AUTH_ENABLED: False
|
|
AUTH_KEY: {{IPSC_AUTH_KEY}}
|
|
# Below not used for a Master
|
|
MASTER_IP: {{IPSC_MASTER_IP}}
|
|
MASTER_PORT: {{IPSC_MASTER_PORT}}
|
|
GROUP_HANGTIME: 5
|