Difference between revisions of "Voter.conf"

From AllStarLink Wiki
Jump to navigation Jump to search
Line 50: Line 50:
 
<pre>
 
<pre>
 
[general]
 
[general]
port = 667 ;
+
;bindaddr = 10.10.10.1 ; specify a particular IP address to bind to (not generally used, defaults to bind to all interfaces)
buflen = 220 ; specifies the receiver buffer length in milliseconds.
+
port = 667 ; specifies the UDP port to use for incoming connections
 +
buflen = 480 ; specifies the receive buffer length in milliseconds.
 
; This parameter should be set to the maximum expected network latency,
 
; This parameter should be set to the maximum expected network latency,
 
; plus a little padding (100 milliseconds of padding is a good amount).
 
; plus a little padding (100 milliseconds of padding is a good amount).
; The default is 500 milliseconds, the minimum is 120 milliseconds.
+
; The default is 480 milliseconds, the minimum is 320 milliseconds.
 
; Buffer length may be specified on a per-stanza and per-client basis, see below.
 
; Buffer length may be specified on a per-stanza and per-client basis, see below.
 
  
 
password = secret_password ; password common to all clients (Main Menu Item 6 - Host Password, on RTCM/VOTER)
 
password = secret_password ; password common to all clients (Main Menu Item 6 - Host Password, on RTCM/VOTER)
 
utos = y ; Turn on IP TOS for Ubiquiti (ToS is enable by default on the RTCM/VOTER) from the host TO the clients
 
utos = y ; Turn on IP TOS for Ubiquiti (ToS is enable by default on the RTCM/VOTER) from the host TO the clients
 +
 +
;sanity = 0 ; disable sanity checking of clients (debug use only) defaults to 1 if not specifically set to 0
 +
;puckit = 1 ; KLUDGE to try and fix random Garmin LVC-18 pucks that may or may not be 1 second off (defaults to 0 if not specified or set to 1)
  
 
[1999] ; define the 1999 instance stanza
 
[1999] ; define the 1999 instance stanza
Main = secret,transmit ; master,transmit,adpcm,nulaw,nodeemp,buflen=value,gpsid[=value]
+
Main = secret,transmit ; master,transmit,adpcm,nulaw,nodeemp,hostdeemp,noplfilter,buflen=value,gpsid[=value],prio=value
 +
;
 
; master - this client is the Master Timing source (the RTCM client that is on the same LAN as the Asterisk server.)
 
; master - this client is the Master Timing source (the RTCM client that is on the same LAN as the Asterisk server.)
 
; There can only be 1 Master Timing source  per ENTIRE Asterisk server.
 
; There can only be 1 Master Timing source  per ENTIRE Asterisk server.
Line 68: Line 72:
 
; secret - password unique to this client
 
; secret - password unique to this client
 
; transmit - this client is intended to have transmit audio sent to it and will have a transmitter connected to it.
 
; transmit - this client is intended to have transmit audio sent to it and will have a transmitter connected to it.
; adpcm - this client is to be sent audio in ADPCM format, rather than Mulaw.
+
; adpcm - this client is to be sent audio in 8000 samples/sec, 4-bit, IMA ADPCM format, rather than default G.711 Mulaw (aka ulaw).
 
; nulaw - this client is to be sent audio in 4000 samples/second Mulaw (Nulaw, as we call it), rather than the standard 8000 samples/second.
 
; nulaw - this client is to be sent audio in 4000 samples/second Mulaw (Nulaw, as we call it), rather than the standard 8000 samples/second.
; nodeemp - this client is not to perform de-emphasis of the receiver audio  (This is only to be used with non-voting clients.)
+
; nodeemp - this client is not to perform de-emphasis of the receiver audio  (This is only to be used with non-voting clients). Switches
; buflen=value - buffer length for this client only.
+
; the hardware de-emphasis filter OUT on the client
 +
; hostdeemp - this client is to force the use of the host's DSP FIR Integrator providing de-emphasis at 8000 samples/sec.
 +
; noplfilter - this client is to not to perform hardware pl filtering of the audio. Switches the hardware PL filter OUT on the client.
 +
; buflen=value - receive buffer length override for this client only.
 
; gpsid[=value] - This specifies a gps identity to associate with the specified client (as referred in the /etc/asterisk/gps.conf file).
 
; gpsid[=value] - This specifies a gps identity to associate with the specified client (as referred in the /etc/asterisk/gps.conf file).
 +
; prio=value - define a specific priority for this client when voting. Lower numbers are higher priority. Default is 0 if nothing specified.
  
plfilter = y ; DSP high pass filter
+
plfilter = y ; use DSP IIR 6 pole High pass filter, 300 Hz corner with 0.5 db ripple (note clients filter PL by default already)
 
txctcss = 100.0 ; Transmit CTCSS frequency
 
txctcss = 100.0 ; Transmit CTCSS frequency
txctcsslevel = 20 ; Transmit CTCSS level (default of 62 if txctcss is supplied, but txctcsslevel is not set)
+
txctcsslevel = 62 ; Transmit CTCSS level (default of 62 if txctcss is supplied, but txctcsslevel is not set)
 
txtoctype = phase ; Transmit tone control type: none,phase,notone
 
txtoctype = phase ; Transmit tone control type: none,phase,notone
 
; none - CTCSS tone encoding with no hang time (default)
 
; none - CTCSS tone encoding with no hang time (default)
 
; phase - encode CTCSS and reverse phase (AKA "reverse burst") before unkeying TX
 
; phase - encode CTCSS and reverse phase (AKA "reverse burst") before unkeying TX
 
; notone - encode CTCSS and stop sending tone before unkeying TX (AKA "chicken burst")
 
; notone - encode CTCSS and stop sending tone before unkeying TX (AKA "chicken burst")
 +
 +
;gtxgain = 3.0 ; adjust the audio gain to all transmitters (in db voltage gain)
 +
;hostdeemp = 1 ; force the use of the DSP FIR Integrator providing de-emphasis at 8000 samples/sec. Used with Duplex Mode 3 setting in RTCM/VOTER
 +
 
thresholds = 255,110=5 ;
 
thresholds = 255,110=5 ;
; linger=6 ;
+
; linger=6 ; linger default is 6 if no other value specified
; streams = 67.215.233.178:1667 ;
+
; streams = 67.215.233.178:1667 ; location to send voter data stream for this instance (used only with votemond Java program, which is deprecated)
  
  
Line 92: Line 104:
  
 
; streams = 67.215.233.178:1667
 
; streams = 67.215.233.178:1667
 +
 +
; isprimary = y ; used in redundant server applications only. must be set on the primary server only
 +
; primary = 10.20.20.1:667,mypaswd ; used in redundant server applications only. must be ONLY set on the secondary server to point to the primary
 
</pre>
 
</pre>
  
  
 
 
 
<pre>
 
[general]
 
port = 667
 
buflen = 180                ; 120 min value that works at all
 
password = secret            ; RTCM menu 6 (Host password)
 
 
[1234]
 
NORTH = secret1,transmit                ; secret1 set in RTCM menu 5 (Client password)
 
SOUTH = secret2,master,transmit
 
WEST = secret3,nodeemp                  ; bypass deemphasis filter in RTCM 
 
EAST = secret4,transmit,noplfilter      ; bypass CTCSS filter in RTCM
 
; streams = 67.215.233.178:1667
 
; plfilter = y                            ; DSP high pass filter
 
; txctcss = 107.2                        ; This and next needed for app_rpt generated tone
 
; txctcsslevel = 20                      ; Transmit CTCSS level. Set to zero for off
 
; txtoctype = notone                      ; chicken burst
 
thresholds = 255,110=5
 
linger=10
 
</pre>
 
  
 
[[Category:Node Configuration]]
 
[[Category:Node Configuration]]

Revision as of 19:34, 2 February 2022

Introduction

This file sets up the chan_voter channel driver to interface with app_rpt.


Remember, in rpt.conf, you will need a directive to use the chan_voter channel driver:

rxchannel = Voter/1999


The 1999 should match the corresponding instance stanza defined in voter.conf that holds all the definitions for your clients.


The VOTER/RTCM may be used in any of 3 modes:

  • non-voting client mode
  • voting mode
  • voting and simulcast mode


See the VOTER page for additional information.


voter.conf

The voter.conf file is generally going to be located with the rest of the Asterisk configuration files, in /etc/asterisk.


There must be a [general] stanza that contains directives that are common to all the chan_voter instances. Some directives may be allowed in the [general] stanza and/or be defined on a per-client basis with the client definition directive.


In addition, there must be at least one instance stanza defined. An instance is a group of clients that are all related to each other. In a typical voting repeater scenario, the instance would typically be the node number, and all the clients would be the transmitter client and all the voting receiver clients associated with that repeater.


It is a valid configuration to only have one client defined in an instance. You might have this if you are just using the VOTER/RTCM as a RoIP adapter to connect a remotely located repeater back to a host over Ethernet.


You may have more than one client defined as a transmitter, as in the case of a simulcast system. Any client with a transmitter directive defined will be sent transmit audio packets associated to that instance.


Each client directive has a number of optional attributes associated with it that may, or may not, be required depending on your system configuration.


There are also configuration directives that apply to an entire instance (and all the defined clients within it).


The voter.conf file is structured as shown below (as in all other Asterisk configuration files, lines preceded with a semi-colon ";" are treated as a comment):

[general]
;bindaddr = 10.10.10.1		; specify a particular IP address to bind to (not generally used, defaults to bind to all interfaces)
port = 667			; specifies the UDP port to use for incoming connections
buflen = 480			; specifies the receive buffer length in milliseconds.
				; This parameter should be set to the maximum expected network latency,
				; plus a little padding (100 milliseconds of padding is a good amount).
				; The default is 480 milliseconds, the minimum is 320 milliseconds.
				; Buffer length may be specified on a per-stanza and per-client basis, see below.

password = secret_password	; password common to all clients (Main Menu Item 6 - Host Password, on RTCM/VOTER)
utos = y			; Turn on IP TOS for Ubiquiti (ToS is enable by default on the RTCM/VOTER) from the host TO the clients

;sanity = 0			; disable sanity checking of clients (debug use only) defaults to 1 if not specifically set to 0
;puckit = 1			; KLUDGE to try and fix random Garmin LVC-18 pucks that may or may not be 1 second off (defaults to 0 if not specified or set to 1)

[1999]				; define the 1999 instance stanza
Main = secret,transmit		; master,transmit,adpcm,nulaw,nodeemp,hostdeemp,noplfilter,buflen=value,gpsid[=value],prio=value
				; 
				; master - this client is the Master Timing source (the RTCM client that is on the same LAN as the Asterisk server.)
				; There can only be 1 Master Timing source  per ENTIRE Asterisk server.
				; 
				; secret - password unique to this client
				; transmit - this client is intended to have transmit audio sent to it and will have a transmitter connected to it.
				; adpcm - this client is to be sent audio in 8000 samples/sec, 4-bit, IMA ADPCM format, rather than default G.711 Mulaw (aka ulaw).
				; nulaw - this client is to be sent audio in 4000 samples/second Mulaw (Nulaw, as we call it), rather than the standard 8000 samples/second.
				; nodeemp - this client is not to perform de-emphasis of the receiver audio  (This is only to be used with non-voting clients). Switches 
				; the hardware de-emphasis filter OUT on the client
				; hostdeemp - this client is to force the use of the host's DSP FIR Integrator providing de-emphasis at 8000 samples/sec.
				; noplfilter - this client is to not to perform hardware pl filtering of the audio. Switches the hardware PL filter OUT on the client.
				; buflen=value - receive buffer length override for this client only.
				; gpsid[=value] - This specifies a gps identity to associate with the specified client (as referred in the /etc/asterisk/gps.conf file).
				; prio=value - define a specific priority for this client when voting. Lower numbers are higher priority. Default is 0 if nothing specified.

plfilter = y			; use DSP IIR 6 pole High pass filter, 300 Hz corner with 0.5 db ripple (note clients filter PL by default already)
txctcss = 100.0			; Transmit CTCSS frequency
txctcsslevel = 62		; Transmit CTCSS level (default of 62 if txctcss is supplied, but txctcsslevel is not set)
txtoctype = phase		; Transmit tone control type: none,phase,notone
				; none - CTCSS tone encoding with no hang time (default)
				; phase - encode CTCSS and reverse phase (AKA "reverse burst") before unkeying TX
				; notone - encode CTCSS and stop sending tone before unkeying TX (AKA "chicken burst")

;gtxgain = 3.0			; adjust the audio gain to all transmitters (in db voltage gain)
;hostdeemp = 1			; force the use of the DSP FIR Integrator providing de-emphasis at 8000 samples/sec. Used with Duplex Mode 3 setting in RTCM/VOTER

thresholds = 255,110=5		;
; linger=6			; linger default is 6 if no other value specified
; streams = 67.215.233.178:1667 ; location to send voter data stream for this instance (used only with votemond Java program, which is deprecated)


; NORTH = password_1,transmit
; SOUTH = Password_2,master,transmit
; EAST = password_3,nodeemp                   ; bypass filter in RTCM
; WEST = Password_4,transmit,noplfilter       ; bypass filter in RTCM

; streams = 67.215.233.178:1667

; isprimary = y			; used in redundant server applications only. must be set on the primary server only
; primary = 10.20.20.1:667,mypaswd	; used in redundant server applications only. must be ONLY set on the secondary server to point to the primary