| 
									
										
										
										
											2018-12-27 14:31:08 -06:00
										 |  |  | # 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: ./ | 
					
						
							| 
									
										
										
										
											2019-03-02 13:25:37 -06:00
										 |  |  | PEER_FILE: peer_ids.json | 
					
						
							|  |  |  | SUBSCRIBER_FILE: subscriber_ids.json | 
					
						
							|  |  |  | TGID_FILE: talkgroup_ids.json | 
					
						
							| 
									
										
										
										
											2019-05-09 09:31:21 -05:00
										 |  |  | PEER_URL: https://www.radioid.net/static/rptrs.json | 
					
						
							|  |  |  | SUBSCRIBER_URL: https://www.radioid.net/static/users.json | 
					
						
							| 
									
										
										
										
											2018-12-27 14:31:08 -06:00
										 |  |  | 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. | 
					
						
							| 
									
										
										
										
											2020-10-24 21:14:06 -04:00
										 |  |  | # 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! | 
					
						
							| 
									
										
										
										
											2018-12-27 14:31:08 -06:00
										 |  |  | # Otherwise ACLs work as described in the global stanza | 
					
						
							|  |  |  | [OBP-1] | 
					
						
							|  |  |  | MODE: OPENBRIDGE | 
					
						
							| 
									
										
										
										
											2021-01-07 15:10:34 -08:00
										 |  |  | ENABLED: False | 
					
						
							| 
									
										
										
										
											2018-12-27 14:31:08 -06:00
										 |  |  | IP: | 
					
						
							|  |  |  | PORT: 62035 | 
					
						
							|  |  |  | NETWORK_ID: 3129100 | 
					
						
							|  |  |  | PASSPHRASE: password | 
					
						
							|  |  |  | TARGET_IP: 1.2.3.4 | 
					
						
							|  |  |  | TARGET_PORT: 62035 | 
					
						
							| 
									
										
										
										
											2020-10-24 21:14:06 -04:00
										 |  |  | BOTH_SLOTS: True | 
					
						
							| 
									
										
										
										
											2018-12-27 14:31:08 -06:00
										 |  |  | 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 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-01-07 15:10:34 -08:00
										 |  |  | [D-APRS] | 
					
						
							|  |  |  | MODE: MASTER | 
					
						
							|  |  |  | ENABLED: True | 
					
						
							|  |  |  | REPEAT: True | 
					
						
							|  |  |  | MAX_PEERS: 2 | 
					
						
							|  |  |  | EXPORT_AMBE: False | 
					
						
							|  |  |  | IP: | 
					
						
							|  |  |  | PORT: 54070 | 
					
						
							|  |  |  | PASSPHRASE: passw0rd | 
					
						
							|  |  |  | GROUP_HANGTIME: 5 | 
					
						
							|  |  |  | USE_ACL: True | 
					
						
							|  |  |  | REG_ACL: DENY:1 | 
					
						
							|  |  |  | SUB_ACL: DENY:1 | 
					
						
							|  |  |  | TGID_TS1_ACL: PERMIT:ALL | 
					
						
							|  |  |  | TGID_TS2_ACL: PERMIT:ALL | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-12-27 14:31:08 -06:00
										 |  |  | # 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 | 
					
						
							| 
									
										
										
										
											2021-01-07 15:10:34 -08:00
										 |  |  | ENABLED: False | 
					
						
							| 
									
										
										
										
											2018-12-27 14:31:08 -06:00
										 |  |  | 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 | 
					
						
							| 
									
										
										
										
											2020-10-24 20:53:48 -04:00
										 |  |  | TGID_TS2_ACL: PERMIT:ALL | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-01-07 15:10:34 -08:00
										 |  |  | [ECHO] | 
					
						
							|  |  |  | MODE: PEER | 
					
						
							|  |  |  | ENABLED: True | 
					
						
							|  |  |  | LOOSE: False | 
					
						
							|  |  |  | EXPORT_AMBE: False | 
					
						
							|  |  |  | IP:  | 
					
						
							|  |  |  | PORT: 54073 | 
					
						
							|  |  |  | MASTER_IP: localhost | 
					
						
							|  |  |  | MASTER_PORT: 54072 | 
					
						
							|  |  |  | passphrase: passw0rd | 
					
						
							|  |  |  | CALLSIGN: ECHO | 
					
						
							|  |  |  | RADIO_ID: 9999 | 
					
						
							|  |  |  | RX_FREQ: 000000000 | 
					
						
							|  |  |  | TX_FREQ: 000000000 | 
					
						
							|  |  |  | TX_POWER: 0 | 
					
						
							|  |  |  | COLORCODE: 1 | 
					
						
							|  |  |  | SLOTS: 1 | 
					
						
							|  |  |  | LATITUDE: 00.0000 | 
					
						
							|  |  |  | LONGITUDE: 000.0000 | 
					
						
							|  |  |  | HEIGHT: 0 | 
					
						
							|  |  |  | LOCATION: This Server | 
					
						
							|  |  |  | DESCRIPTION: Echo Server | 
					
						
							|  |  |  | URL: www.github.com/kf7eel/hblink3 | 
					
						
							|  |  |  | 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 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-10-24 20:53:48 -04:00
										 |  |  | [XLX-1] | 
					
						
							|  |  |  | MODE: XLXPEER | 
					
						
							| 
									
										
										
										
											2021-01-07 15:10:34 -08:00
										 |  |  | ENABLED: False | 
					
						
							| 
									
										
										
										
											2020-10-24 20:53:48 -04:00
										 |  |  | 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 |