Line 42: |
Line 42: |
| **Specifies/Queries priority value for voter client | | **Specifies/Queries priority value for voter client |
| *** *CLI> <code>voter prio 1999</code> ''will query node 1999. Not overridden = the value from voter.conf is being used'' | | *** *CLI> <code>voter prio 1999</code> ''will query node 1999. Not overridden = the value from voter.conf is being used'' |
− | *** *CLI> <code>voter prio 1999 North</code> '';will query node 1999 site North'' | + | *** *CLI> <code>voter prio 1999 North</code> ''will query node 1999 site North'' |
− | *** *CLI> <code>voter prio 1999 North 10</code> '';Highest priority will always vote (value 0 - 100)'' | + | *** *CLI> <code>voter prio 1999 North 10</code> ''Highest priority will always vote (value 0 - 100)'' |
− | *** *CLI> <code>voter prio 1999 North -1</code> '';will stop node 1999 site North from voting. Shuts off receiver.'' | + | *** *CLI> <code>voter prio 1999 North -1</code> ''will stop node 1999 site North from voting. Shuts off receiver.'' |
− | *** *CLI> <code>voter prio 1999 North -2</code> '';Also can use off or disable. Returns site to normal. ie "prio: 0 (not overridden)"'' | + | *** *CLI> <code>voter prio 1999 North -2</code> ''Returns site to normal. ie "prio: 0 (not overridden)". Can also use off or disable in place of -2."'' |
| | | |
| *voter record instance_id [record filename] | | *voter record instance_id [record filename] |
Line 61: |
Line 61: |
| *voter txlockout [instance] <client_list> | | *voter txlockout [instance] <client_list> |
| **Set Tx Lockout for voter instance clients | | **Set Tx Lockout for voter instance clients |
| + | *** *CLI> <code>voter txlockout 1999</code> ''will show a list of locked-out and able to transmit sites'' |
| + | *** *CLI> <code>voter txlockout 1999 +North</code> ''will add lock-out the North site. Transmit disabled.'' |
| + | *** *CLI> <code>voter txlockout 1999 -North</code> ''will remove lock-out of the North site. Transmit enabled.'' |
| | | |
| *voter ping [client] <# pings, 0 to abort> | | *voter ping [client] <# pings, 0 to abort> |
Line 203: |
Line 206: |
| | | |
| Also, if non-GPS-based operation is all that is needed, just the use of redundancy within the clients is sufficient, and does not require any use of the server redundancy features. | | Also, if non-GPS-based operation is all that is needed, just the use of redundancy within the clients is sufficient, and does not require any use of the server redundancy features. |
| + | |
| + | =Voter Recording and Playback= |
| + | chan_voter has the ability to record VOTER streams by the channel driver live on the air (using the 'voter record' command in Asterisk). This also records time-stamped data and the voted receiver at that particular time along with RSSI readings. This can then be played back using the VoterPal GUI JAVA applet. |
| + | |
| + | ==How to setup playback== |
| + | # Download the [https://allstarlink.org/voterpal/VoterPal.jar VoterPal application]. |
| + | # Download the [https://allstarlink.org/voterpal/lib/appframework-1.0.3.jar appframework-1.0.3.jar] and [https://allstarlink.org/voterpal/lib/swing-worker-1.1.jar swing-worker-1.1.jar] files. Place these in a folder called lib in the same directory as the VoterPal application |
| + | # Run VoterPal.jar. You may come across issues with running Java such as security permissions. Most of these can be allowed. |
| + | # Once running, you will see the applications GUI. File > Open to select your voter data files. A bunch of test files have been made already to test [https://allstarlink.org/voterpal/datafiles/ here] |
| + | [[File:Voterpal.png|left|thumb|549x549px]] |
| + | |
| + | '''Reset''' |
| + | |
| + | Resets the file back to start |
| + | |
| + | '''Play''' |
| + | |
| + | Plays the recorded file |
| + | |
| + | '''Stop''' |
| + | |
| + | Stops the current playing file in it's current position |
| + | |
| + | '''CTCSS Filter Enable''' |
| + | |
| + | Removes CTCSS hum from any recorded audio stream |
| + | |
| + | '''File Play Position''' |
| + | |
| + | Drag this slider to skip |
| + | |
| + | '''Activity''' |
| + | |
| + | This will show time-stamped information including RSSI of the selected VOTER client within the recorded data stream |
| + | |
| + | '''Voter Clients''' |
| + | |
| + | This will show the real time voted client. This is also dependent of the Mode setting |
| + | |
| + | '''Mode''' |
| + | |
| + | Various modes can be selected in VoterPal |
| + | |
| + | 0 - Normal Voting Mode |
| + | |
| + | 1 - Randomly pick which client of all that are receiving at the max RSSI value to use |
| + | |
| + | > 1 - Cycle thru all the clients that are receiving at the max RSSI value with a cycle time of (test mode - 1) frames. In other words, if you set it to 2, it will change every single frame. If you set it to 11, it will change every 10 frames. This is a serious torture test. |
| + | |
| + | < 0 - Any value less than zero will force select the Voter Client (i.e. -1 is the first client, -2 is the 2nd client) |
| + | |
| + | ==Node Configuration== |
| + | As mentioned above the Asterisk CLI is as follows - |
| + | * voter record instance_id [record filename] - Enables/Specifies (or disables) recording file for chan/voter |
| + | Where |
| + | |
| + | - instance_id = voter number instance |
| + | |
| + | - record filename is the filename of the recording to be stored |
| + | |
| + | A script can be made and placed in cron.hourly which will run every hour. Every time the above command is run in Asterisk, it creates a new file. An example of such a script is below |
| + | #!/bin/sh asterisk -r -x "voter record instance_id /tmp/voter-record"`date +%F-%H-%M` >> /var/log/voterrecordlog |
| + | the /tmp/ directory can be substituted for mounted USB HDD. |
| + | |
| + | [[Category:How to]] |
| + | [[Category:Node Configuration]] |