242 lines
		
	
	
		
			7.7 KiB
		
	
	
	
		
			INI
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			242 lines
		
	
	
		
			7.7 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.
 | |
| # OpenBridge passes all traffic on TS1, so there is only 1 TGID ACL.
 | |
| # 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
 | |
| 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
 |