# 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/dmrlink/ # NETWORK REPORTING CONFIGURATION # Enabling "REPORT_NETWORKS" will cause a reporting action for # IPSC each time the periodic reporting loop runs, that period is # specifiec by "REPORT_INTERVAL" in seconds. Possible values # for "REPORT_NETWORKS" are: # PICKLE - a Python pickle file of the network's data structure # (JSON DOES NOT WORK RNIGHT NOW) JSON - a JSON file of the network's data structure # (REDIS DOES NOT WORK RIGHT NOW) REDIS - send JSON format data structure to a local|remote # redis server # 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 # # PRINT is the odd man out because 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_INTERVAL - Seconds between reports # REPORT_PATH - Absolute path save data (pickle and json) # [REPORTS] REPORT_NETWORKS: REPORT_INTERVAL: 60 REPORT_PATH: 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. LOG_HANDERLS may be any of the # following, please, no spaces in the list if you use several: # 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: /var/log/dmrlink/dmrlink.log LOG_HANDLERS: file LOG_LEVEL: WARNING LOG_NAME: DMRlink # 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 communiate 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 gatway/proxy from private and/or VPN networks to the real world. # PORT: This is the UDP source port for DMRLink to use for this # IPSC 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 craetes extra network traffic. # CON_APP: Third Party Console App - exactly what DMRlink is, should # be set to True. # 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 DMRlinkn is the master) # # ...Repeat the block for each IPSC network to join. # [IPSC1] ENABLED: True RADIO_ID: 12345 IP: 4.3.2.1 PORT: 50000 ALIVE_TIMER: 5 MAX_MISSED: 20 PEER_OPER: True IPSC_MODE: DIGITAL TS1_LINK: True TS2_LINK: True CSBK_CALL: False RCM: True CON_APP: True 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