-
Notifications
You must be signed in to change notification settings - Fork 4
Configuration Variable Reference
This configuration variable reference lists and describes the configuration variables that are defined in configuration files. There are sections describing Common, Port and VoIP configuration variables, as well as subsections for APRS/AVRS, CTCSS and others.
Lines or text in configuration files prefixed with the semicolon (;) or hasn (#) characters are ignored as comments. Blank lines are also ignored.
Thelinkbox is based on the code from the "thebridge" EchoLink conference server package and uses the same configuration file plus variables that are unique to thelinkbox. In the following mentally replace "conference" with "node". i.e. The ConferenceCall variable is really the callsign of your node.
The variables listed and described here are obtained from source code (configvars.c), and may be found in sample configuration files included with theLinkbox distribution.
These variables are usualy found in the file tlb.conf, or the file specified when starting tlb with the "-f filename" startup option.
Callsign of node. Required.
This variable should be set even when thelinkbox is not going to be used with EchoLink. If the node is to be used on the EchoLink network the callsign MUST be entered in UPPERCASE. The callsign must be either a link "-L", repeater "-R" or conference name "{name}", the EchoLink directory server will not accept a login from thelinkbox using just a "bare" user callsign.
EchoLink password. Required if the node is to be used on the EchoLink network.
Location or info string displayed on station list. Required.
Working directory. This is where thelinkbox creates its files. Required.
Make sure that the specified directory exists and that the user account used to run TLB has read and write privileges in it.
EmailAdr = w1aw@arrl.net
Your email address. Required.
This email address is sent to the EchoLink directory server and is only visible to the EchoLink support group. An email address is required so that EchoLink Support can contact you about validation.
Optional variables may not be necessary for theLinkbox to function. Many are commonly set as shown in the sample configuration files.
Administrator password. Please do not use a "valuable" password here, it is sent in clear text via UDP to the RTP port. i.e. it can be sniffed. You have been warned.
Set this variable to the priority for voice announcements (PCM or text to speech). The announcement source's priority is only used to control the mixing of announcement audio, it is not considered when mixing user audio. In other words audio from a low priority port will not be muted by a high priority announcement. The default value is 2 (high priority).
Set this variable to an alternate application name for theLinkbox for logging purposes. This is useful when running multiple copies of thelinkbox on a single host. (*nix only)
Set this variable to provide "ECHOTEST" feature. Transmissions from connected node will be played back to node so audio settings can be checked. This requires EnableDiskCommands=1.
Set this variable to the number of seconds after last activity before stations are automatically put into the lurk mode.
Banner - shown at the bottom of station list.
Note: The banner is pushed off the bottom of the station list if needed to make room for users callsigns. The ConferenceID is always displayed. Use the screen the way you like, but I'd recommend that the ConferenceID be kept to one line and any other things you would like to display be put in the banner area. Comment out the Banner lines if you don't want a banner.
Note unlike most variables there can be more than one Banner variable in the configuration file, each one simply adds another line.
Banner = Welcome to my node
Banner = Type ".help" for a command list.
Banner = See http://CQiNet.sf.net for more info.
Set this to the minimum number of milliseconds that -L and -R stations must transmit before being recognized. This parameter may help prevent repeater "bouncing" that occurs when multiple repeaters or link stations are logged into a conference room with poor operating parameters. This variable may also be set using the belchfilter command. Default is 0.
Set this variable to the IP address you wish thelinkbox to bind to. If this variable is not set then thelinkbox will listen to all available interfaces, this is normally what you want.
Set this variable to the maximum allowable transmission time. A value of zero disables the timeout.
Set this variable to enable local chating using the tbdchat utility.
Set this variable to enable local scripting using the tbdcmd utility.
Set this variable to specify the codec accepted by the conferencing code. Packets from clients running other codecs are not be relayed to conference members. The default value (GSM) is normally what you want for EchoLink compatibility.
NB: this only effects the conferencing code, thelinkbox is always able to communicate using any of the supported codecs. Currently acceptable values are:
0 - PCMU / uLaw / uncompressed
3 - GSM (only codec supported for by EchoLink clients)
5 - ADPCM
97 - G.726 (non standardized value, used by AllStar and tlb)
Maximum amount of time in milliseconds between RTP audio packets before assuming that a conference member has stopped talking.
Configuration variable to allow commands sent in EchoLink text packets to be controlled separately from UDP audio and text "conferencing". Previously commands were disabled when ConfEnable was set to zero. This is primarily of use with "Transcoding" conferences (reflectors).
Set this variable to zero to disable packet level audio conferencing.
Note: when conferencing is enabled packets are only relayed between users using the same Codec, audio packets are not automatically converted from one format to another.
Conference ID - Text shown at the top of the station list
Maximum amount of time in seconds between RTCP control packets before assuming that a conference member has left the conference.
Set this variable to zero to disable packet level text conferencing.
Set this variable to automatically put stations into the lurk mode after AutoLurkTimeout seconds of inactivity. By default stations are only put into the lurk mode after a timeout if the station specifically requested that mode by entering ".lurk".
Bit map:
1 - Autolurk -R stations
2 - Autolurk -L stations
4 - Autolurk "Normal stations"
8 - Autolurk other conferences
i.e. Set DefaultAutoLurk to the sum of options you wish to enable, for example: 0 = autolurk disabled, 3 = autolurk just -L and -R, 15 = autolurk everyone.
Hostname of primary directory server
The DirServerHost variables should be set to the same values as you use with your EchoLink client. The first server should be the one that's closest to you.
Hostname of directory backup server #1
Hostname of directory backup server #3
Hostname of directory backup server #3
Age of DNS cache in seconds before it is updated. Default is 240.
Set this variable to zero to prevent thelinkbox from opening sockets for EchoLink ports. The LoginInterval variable prevents thelinkbox from logging into the EchoLink directory server, whereas the EchoLinkEnable variable completely disables EchoLink functionality.
If you do not wish thelinkbox users to be able to write to the disk set this variable to zero. This may prevent some features or commands from functioning. Default setting is 1.
The EnableRemoteDTMF variable controls the availability of the DTMF pad in the stock EchoLink client. By default the DTMF pad is available. To make it more difficult for EchoLink users on a PC to send touchtone to your node set EnableRemoteDTMF = 0.
Set this variable to point to a script/program to execute when "interesting" events occur. Commonly used on servers that enable transcoding conferences via link commands in the event script.
Set this variable to enable support for full duplex operation via VoIP links. When full duplex is enabled thelinkbox informs the other end of VoIP links that it is full duplex capable via a private extension added to the SDES RTCP packets. When full duplex is enabled the conferencing code forwards packets received from other full duplex capable stations to other full duplex capable stations even if someone has "taken the floor" and is talking. Any Echolink node may take the conference's "talk token" by beginning a transmission while the conference is idle, but only a full duplex station will be able to begin a new transmission while the station with the "talk token" is transmitting. Default is 0.
Set this variable to the value to be sent as the user's full name. If the variable is not sent then ConferenceCall will be sent instead. Also see UserName variable.
Set this variable to point custom help file that will be displayed when the user enters the '.help' command. This may be used to document custom commands. Please be sure to include help for the built in commands as well.
This variable specifies the number of seconds to wait after the conference becomes free before bulletins queued with the .play4 command and using the -i flag command are played.
This variable specifies how many seconds a user's record remains in memory after he has logged out of the EchoLink system. Default is 86400 (24 hours).
Set this variable to included all hosts thelinkbox knows about in the hosts file. Normally only hosts that are currently logged in on the Echolink directory server are included. Use this feature carefully, the IP address of hosts that are not currently logged in may be inaccurate especially for users with dialup connections. Hosts which are not logged in are marked with "(off line)" after the EchoLink node number in the comment field.1/22/2022
This variable controls how often the log file is rolled over.
0 - logging disabled. (The Unix version will use syslog for logging)
1 - Never: single logfile, filename = tlb.log
2 - Never: new logfile opened everyday, filename = tbdmmddyy.log
3 - Daily: new logfile opened everyday, filename = tlb.log, tlb.bak
4 - Weekly: new logfile opened everyday, filename = mon.log, tues.log, ...
5 - Monthly: new logfile opened every month, filename = tbdmmyy.log
Number of seconds between logins (status updates) to the directory server Set to zero to disable EchoLink functionality. For use with EchoLink, do not use any value other than 360.
This variable controls whether both callsign and IP address are shown in the logs files on connect/disconnect.
Maximum number of simultaneous conference clients. Each client requires approximately 17.5k bps of upstream bandwidth, the default of 8 users is about right for a cable modem or dsl line.
Set this to no more than
n = (Upstream BW/17500) + 1;
or for a T1 line (1.54 mb)
n = (1540000 / 17500) + 1 = 89
Set this to include the maximum number of users in user display after conference ID. (Requires UserCountEnable to also be set) Appends "[number of users/Maximum users]" after conference ID line.
This variable specifies the maximum number of duplicate text messages that may be received from a station before that station is automatically disconnected. Duplicate text messages can be generated when a number of conferences are connected together such that they form a closed loop. There is code in thelinkbox which attempts to suppress this "feedback" but the detection logic is less than perfect. Some versions of thelinkbox are known to be unable to suppress loops of certain topologys. The automatic disconnect logic is intended as a safety measure to ensure that all available bandwidth is not consumed by a text message feedback loop. Although not recommended the automatic disconnection logic can be disabled by setting this variable to zero. Default is 100.
These variables control the pauses between transmission when playing back recordings. Times are specified in seconds.
The original pauses between transmission are unmodified when MaxPlayBackPause is set to a large value and MinPlayBackPause is set to zero.
The purpose of these variables are to allow pauses to either be compressed or expanded for playback purposes. For example setting MinPlayBackPause to 5 (5 seconds) will expand pauses between transmission to 5 seconds to provide breaks to allow half duplex repeater links to be dropped during playback. On the other hand setting a MaxPlayBackPause allows long pauses to be shortened. Also see MaxPlayWithoutPause.
This variable sets a maximum uninterrupted transmission length for file playback. If a recording exceeds this limit a pause of MinPlayBackPause seconds is inserted and then the playback resumes. Time is specified in seconds.
Set this to the minimum number of milliseconds that stations must wait between transmissions. Any transmissions made during this mandatory pause interval will be muted. This parameter may help prevent repeater "bouncing" that occurs when multiple repeaters or link stations are logged into a conference room with poor operating parameters.
It will also ensure that there's a break between transmissions to allow simplex links to leave the conference This variable may also be set using the pausetime command.
Set this variable to create a private conference. A private conference will be listed in the directory server as "Private conference" and will accept connections only from stations which have been added to the access control list.
Set this variable to include the node's QTH in the hosts file.
NB: As of 6/29/2007 including QTH information in the hosts file breaks the EchoIRLP scripts.
Set this variable to a password that to be used by Speak Freely or RTP clients to gain access to the conference. Use the value "-" to accept Speak Freely or RTP connections with no password required. Use the value "!" (exclamation) to accept unauthenticated EchoLink connections.
Set this variable to specify a port or range of ports for RTP clients.
Note: the RTP spec requires this to be an even port, the associated control port will be the next (odd) port.
Set this variable to the IP address you wish thebridge to bind to for RTP conferences. If this variable is not set then thebridge will listen to all available interfaces, this is normally what you want.
User ID for thelinkbox to run under. If thelinkbox is started by the system startup scripts it will probably be running as the superuser. This is not necessary and is very undesirable from a system security standpoint. If RunAsUser is set thelinkbox will change its userid to that user after opening the syslog. If this is not set thelinkbox will attempt to change userid to the user "tlb".
Set this variable to an alternate directory to use for PID files. This might be useful when running thelinkbox without root privileges or multiple instances. (*nix only)
If this variable is nonzero thelinkbox will save the information file (brag sheet) for connecting stations in files named "\<callsign>.info".
Set this to append "<SB>" to conference ID when no one is talking. (Like the iLink conference server)
Set this variable to allow connections from Speak Freely
Set this variable to specify a non-standard input port for RTP and Speak Freely and RTP clients. This may be useful to allow multiple RTP applications to be run on a single host.
Note: the RTP spec requires this to be an even port, the associated control port will be the next (odd) port.
NB: If you set this value you must also set SF_ReplyPort.
Set this variable to specify a non-standard port for RTP responses for Speak Freely and RTP clients.
Set this variable to the IP address you wish thebridge to bind to for Speak Freely conferences. If this variable is not set then thebridge will listen to all available interfaces, this is normally what you want.
If this variable is nonzero the users information file (brag sheet) will be displayed instead of the usual station list the first time the user transmits.
The Qth information (or information set by the Info command) will normally be replaced with "In Conference <call>" or "Connected to <call>" when thelinkbox is connected. Set the ShowStatusInInfo variable to zero to disable that feature.
0 = never override ConferenceQth or .info command settings.
1 = show connection state for conferences only.
2 = show connection state for conferences and stations.
The StartupCmd variable is used to execute commands on thelinkbox startup. This may be useful to set initial conditions. For example if you always want your conference room linked to your club's repeater you might issue a connect command to bring the link up. Unlike most variables there can be more than one StartupCmd variable in the configuration file, each one simply executes another command.
NOTE: Startup commands are executed approximately 1 minute after the first successful login to a directory server. This delay is necessary to ensure that the conference's IP address has had time to propagate to all of the EchoLink directory servers before connect commands are issued. For security EchoLink nodes refuse connections from other nodes unless they are listed in the directory server.
Number of seconds between station list refreshes Set to zero to disable station refreshes. For use with EchoLink, do not use any value less than 310.
Sysop password. The sysop password is a lower level password that is typically used by net control stations. It provides to some, but not all, of the commands available to Administrators. Please do not use a "valuable" password here, as with the administrator password it is sent in clear text via UDP to the RTP port. i.e. it can be sniffed. You have been warned again.
Set this variable TempDir to specify a directory where temporary files are to be created. Currently temporary files are used to update the DNS cache and when tlb is configured to use a text to speech system. If TempDir is not set the WorkingDir will be used for temporary files.
The ToneSpec entries create sounds that can be used for a varity of purposes such as courtesy tones, command acknowledgements, invalid command indication, timeouts, DTMF cover tones, busy tones, dial tones, etc.
Each tone specification includes a numeric identifier that is used to reference the tone specification in commands. Stored tones can be played manually or from scripts by using the .tonegen #<id> command.
Unlike most variables there can be multiple ToneSpec variables in the configuration file.
ToneSpec = id <number [tf1 <freq>] [ef1 <freq>] [tl <level>] [tf2 <freq>] [ tl2 <level>] dur <duration> [rpt <count>]...
ID \<number\> Assign a reference number the tone for future reference.
TF1 \<freq\> Set Tone 1 frequency, 0 = no tone
EF1 \<freq\> Set Tone 1 end frequency for sweeps (starts at TF1)
TL \<level\> Set Tone 1 and 2 level
TF2 \<freq\> Set Tone 2 frequency, 0 = no tone
TL2 \<level\> Set Tone 2 level
DUR \<duration\> duration of tone segment in milliseconds.
RPT \<count\> repeat pattern from the beginning or last rpt count times, -1 means repeat until cancelled.
Each tone segment must have a duration, all other fields are optional.
Tone frequencies are cleared set to zero after each segment is generated. Tone levels are only changed if explicitly modified.
single 900 hertz beep
ToneSpec = id 100 tf1 900 dur 100
3 tone sequence courtesy tone
ToneSpec = id 101 tf1 330 dur 100 : tf1 500 dur 100 : tf1 660 dur 100
Same thing, but twice as fast
ToneSpec = id 102 tf1 330 dur 50 : tf1 500 dur 50 : tf1 660 dur 50
two dual tone sequence courtesy tone
ToneSpec = id 103 tf1 440 tf2 500 dur 200 : tf1 440 tf2 350 dur 200
dial tone that runs for 10 seconds
ToneSpec = id 104 tf1 350 tf2 440 dur 10000
ringback tone that runs for 60 seconds
ToneSpec = id 105 tf1 440 tf2 480 dur 2000 : dur 4000 : rpt 10
busy tone that runs for 10 seconds
ToneSpec = id 106 tf1 480 tf2 620 dur 500 : dur 500 : rpt 10
single dual tone beep
ToneSpec = id 107 tf1 941 tf2 1336 dur 100
One second of 700 hz every 10 seconds
ToneSpec = id 108 tf1 700 dur 1000 : dur 10000 : rpt 10
typical remote interfaced - Beep Boop
ToneSpec = id 109 dur 920 : tf1 1633 dur 60 : dur 60 : tf1 1209 dur 60
typical function complete - boop boop
ToneSpec = id 110 dur 700 : tf1 1209 dur 80 : dur 80 : tf1 1209 dur 80
typical remote monitors link - Boop
ToneSpec = id 111 dur 800 : tf1 697 dur 180
typical remote interfaced, carrier delay off - Beep
ToneSpec = id 112 dur 920 : tf1 1633 dur 60
Nextel PTT Beep courtesy of WD5M
ToneSpec = id 113 dur 100 : rpt 1 : tf1 1800 dur 24 : dur 24 : rpt 2 : tf1 1800 dur 48 : dur 250
Set this to append "[number of users]" to the conference ID line.
Set this to append the user count(s) after the location string in the directory server listing. UserCountEnable and MaxCountEnable above control the format.
Undocumented. From src/conference.c if set the value is appended to ConferenceCall. Also see FullName variable.
This variable specifies the number of seconds to wait after the user connects before the welcome message is played. This provides time for any voice announcements from the EchoLink client to complete.
NOTE: Any activity on the conference before the welcome file starts playing will cancel the welcome message. This prevents the welcome message from playing in the middle of a live conversation.
This variable specifies a welcome file to be played to users when they connect to thelinkbox. The file may be in one of two formats:
tlb's (and tbd's) internal format
8 khz .wav file.
If the specified is in thelinkbox's internal format it will only be played for Echolink clients using the legacy welcome file playback code common with thebridge. Such a file can be created using thelinkbox's .record command or by using the tbdcnv utility (available separately).
If the specified file is a wave file then it can be played for any VoIP client independent of CODEC and protocol. This style of welcome file playback may also be disabled by the DisableWelcome Voip port configuration variable.
Set this variable to create a *nix style host file of EchoLink users. The EchoLink node number is added after the IP address as a comment.
Information about your node for publishing via the EchoLink AVRS or APRS-IS (Automatic Packet Reporting System-Internet Service) systems. Reference:
https://secure.echolink.org/help_ex/sysop.htm
http://www.aprs.org/avrs.html
Heading of the main antenna lobe in degrees. If antenna is an omni enter 0.0, if the antenna is directional and pointed due north enter 360.0.
Antenna gain in DB
Antenna height above average terrain in feet.
Set this varable to send node information to the EchoLink directory server so your node will be listed on the http://www.echolink.org/links.jsp. Your node must be configured to run on the EchoLink network.
Transmitter frequency in Mhz.
Lattiude in decimal degrees, negative values for the southern hemisphere.
Longitude in decimal degrees, negative values west of the prime meridian.
Receiver offset from transmitter in Mhz for repeaters, leave unset for simplex nodes.
Transmitter power in watts.
Continuous tone coded squelch system system frequency required to open receiver's squelch. In Hertz. Leave unset for carrier squelch system
By default the nodes frequency and CTCSS tone are listed in the APRS comment field in packets sent to the APRS-IS system. This variable may be used to override the default.
Set this variable to send node information to APRS-IS (Automatic Packet Reporting System-Internet Service) system.
Set this variable to the number of seconds between updates to APRS-IS.
Set this to set your own APRS object name. By default the object name is "EL-<callsign>", you many want "EL-<nodenumber>", or "IRLP-<station number>". The maximum length of an APRS object name is 9 characters
Set the AprsSymbolTable and AprsSymbolCode variables to select the ARPR symbol for APRS and APRS-IS packets. See http://www.aprs.net/vm/DOS/SYMBOLS.HTM and http://wa8lmf.net/aprs/APRS_symbols.htm for information on now to select APRS symbols.
Undocumented. Update interval for AVRS. Default 600 (10 minutes).
Include configuration files for radio ports. The port configuration can be included in the main configuration file if desired, but it's probably cleaner and less confusing to have one configuration file per port. Use of a full path is recommended to avoid confusion.
include /usr/home/tlb/port0.conf
include /usr/home/tlb/port1.conf
Set the TTS_ExePath variable to use the specified text to speech synthesizer instead of PCM file for announcements. This gives a greater flexibility on what can be said but it doesn't sound as good as PCM files.
The program is expected to accept two arguments:
argument1 = path to text file containing text to convert
argument2 = path to output WAVE file.
The TTS program should generate the audio in a 16 bit 8 Khz WAVE file format. TTS_ExePath can be set to point to a script file that provides a wrapper for the actual TTS program to add any command line options needed by the TTS program.
By default thelinkbox inserts spaces between letters when using a speech synthesizers when saying a callsign to attempt to get speech synthesizers to spell the callsign out letter by letter. Unfortunately some speech synthesizers (Cepstral for example) pronounce single letter abbreviations when they follow a number. For example "K I 4 S W B" results in "K I 4 South W B" and "w d 5 m" results in "w d 5 meters". The CallSignSpelling variable specifies text to insert between callsign characters to force the speech synthesizer to spell the callsign letter by letter. The dash, '-', seem to work well for Cepstral 4.x and "<break />" works well for Cepstral 5.x.
The PhoneticFilePath variable specifies an optional file containing words to be used to spell callsigns phonetically. The file should contain a single word per line starting with the word for 'A' and ending with the word for '9' See the files scripts/phonetic.ham, /scripts/phonetic.us and scripts/phonetic.ansi.
The port.conf.sample file shows all configuration variables for ports for reference. Not all of the variables are meaningfull for all hardware configurations. Usually it's easiest to start with one of the hardware specific samples for the kind of interface you're using.
The voip.conf.sample file shows all configuration variables that apply to Voip pseudo ports for reference.
When a VoIP node connects to thelinkbox tlb first looks for a node specific configuration file .conf and then the generic configuration file voip.conf located in the WorkingDir directory. If either of these files are found they are used to configure the new VoIP node.
The cm108.conf.sample file shows a typical configuration for a CM108 based interface.
The rigblaster.conf.sample file shows a typical configuration for a Rigblaster interface.
The wb2rem.conf.sample file shows a typical configuration for a Echolink based interface.
The iMic.conf.sample file shows a typical configuration for an iMic based interface.
The irlp.conf.sample file shows a typical configuration for a IRLP parallel port based interface
The audio channel to use on the specified audio device.
0 = Mono
1 = right
2 = left
The name of the audio device to use:
Typical values for the first sound card:
FreeBSD /dev/dsp0
Redhat Linux /dev/dsp
If the audio device is an USB audio dongle you may set AudioDevice to "auto" to have thelinkbox figure out the proper device audio device
USB bus address. This is the physical bus address indicating exactly where the USB dongle will be connected. See the documentation for detailed information on how to deterine the correct address.
USB serial number. If the audio dongle has a unique serial number then this entry can be used to locate the correct USB device for the port. This prevents the need from entering usb bus ID and device ID and it allows the dongle to be moved between different ports with out the need to modify the configuration file.
Set this variable to the default audio priority from this port. The default value is 2 (high priority)
0 = low priority, audio muted when higher priority sources are active
1 = medium priority, audio mixed at reduced level when higher priority sources are active
2 = high priority, audio always mixed a full level
Set this variable to send an APRS object in the Ax25 beacon. The APRS object's comment field is set to this ports frequency, offset and CTCSS unless the Ax25BeaconText variable above is set.
Set the Ax25BeaconInterval to the number of seconds between Ax25 beacons. Note: Ax25 beacons are sent just before the transmitter is unkeyed when the time since the last beacon exceeds Ax25BeaconInterval. Ax25 beacons will not be started while the transmitter is sending other traffic. CTCSS is not encoded during the Ax25 beacon to allow users equipped with CTCSS decoders to avoid hearing the beacons.
Set the Ax25BeaconPath variable to the Ax25 destination for Ax25 beacon packets
Set the Ax25BeaconText variable with the text for your beacon.
This variable sets the level of the Ax25 modem tones. 32768 = max
Set this to the number of milliseconds of idle tone sent before data. Provides time for the transmitter to get on the air and the receiver to lock to the signal.
By default Voip connections and disconnections are announced to the ports they are linked to. You may disable these voice announcements by setting the ConnectAnnouncements variable to zero.
The ConnectCmd variable is used to execute commands when an VoIP connection is established. Unlike most configuration variables there can be more than one ConnectCmd variable in the configuration file, each one simply executes another command.
The VoIP port configuration variable ConnectScript sets the path to a script executed when a new VoIP connection is established. The script is executed with two arguments, the callsign of the station that connected and the string "connected".
Parallel port status bit connected to COS
Key Code for the event indicating COS active for RxCosMethod 6. See /usr/include/linux/input.h
For example if you have your COS connected to an input on a USB audio dongle that is normally used to increase the volume you would use a value of 115.
This is indicated by the line:
define KEY_VOLUMEUP 115
in /usr/include/linux/input.h.
The default value for an iMic is 115.
The CosPollRate variable sets the minimum amount of time in milliseconds between polls of the COS input. This may be used to reduce the load on the USB bus when the COS input is connected to a USB device.
The CreatePort variable creates a new port. It should occur once and only once for each port in the system. All of the port variables following this line will apply to this and only this port. Spaces are not allowed in port names.
Parallel port status bit connected to external CTCSS decoder.
Like COS_KeyCode but for CTCSS decode
CTCSS output level for TxCtcssMethod 1: 0 = no output, 32768 = full scale output.
Undocumented. See linkbox/ports.cpp.
Software CTCSS decode threshold. If desired the decoder threshold can be adjusted to just decode a singal with the minimum acceptable amount of CTCSS deviation. Too low of a threshold will result in false decodes, too high of a threshold will prevent successful decode.
id of the ToneSpec for the courtesy tone sound.
Delay in milliseconds from signal loss to courtesy tone. If a new signal is received before the delay expires the courtesy will not be generated.
Map of ports to send the courtesy to when this ports receiver loses signal. For example if this port is the main input of a remote base system you may want the courtesy sent to the remote's main output but you almost certainly do not want the courtesy tones to be sent to 2 meter remote base. Conversely you may want a courtesy tone to be generated on the main output by the 2 meter receiver, but it would be a poor idea for the 2 meter receiver to send a courtesy tone out on 2 meters.
When CtoneResetsTimeout = 0 the transmitter timeout timer is reset when the transmitter unkeys. By setting CtoneResetsTimeout = 1 the timeout timer is reset when the courtesy tone is played. Typically this is used on a repeater to discourage long winded transmissions without requiring user to wait for the hangtime to expire.
Set this to cause the ID to be sent every CWIdInterval if there is activity or not. Normally the ID is sent every CWIdInterval only when there was activity during the last CWIdInterval seconds
CW id text
CW speed in words per minute
Frequency of ID tone in Hertz.
See tonespec. ToneSpec CW tone output level. Default is 5000. Value range 0 to 32768.
This variable specifies the tone level for tonespecs that do not explicitly set a tone level. Default value is 8000.
The name of the parallel device to use:
For FreeBSD = /dev/ppi0
For Linux = /dev/parport0
The name of the serial device to use:
For FreeBSD COM1 = /dev/ttyd0, COM2 = /dev/ttyd1
For RedHat Linux COM1 = /dev/ttyS0, COM2 = /dev/ttyS1
Note: Do not use "tlbcmd .set DevName" as this may lock up or crash the tlb program.
DH_ClockBit and DH_DataBit variables define where a Doug Hall interface is connected on the parallel port or USB Dongles GPIO lines.
On some (all ?) versions of the kernel and some (all ?) versions of the audio subsystem sampling rate conversion between the 8Khz that thelinkbox uses and the 44.1 or 48 Khz sampling rate the CM108 chip actually supports in hardware results in an unacceptable amount of noise/clicking/buzzing being introduced. Hence thelinkbox does it's own sampling rate conversion locally and opens the sound device @ 48Khz. The DisableRateConversion variable disables the internal data rate conversion.
The VoIP DisableWelcome variable disables playback of the WelcomeFile when a VoIP connection is established.
The DisconnectAfterWelcome variable causes VoIP connections to be disconnected automatically after the Welcome message is played.
If the sound board input is connected directly to the discriminator of your receiver set this variable.
Undocumented. Used internally. linkbox/ports.cpp comment says...Added code to AudioInit to set DriverAudioOutDelay to 80 if it is specified in the port configuration file for non-CM108 devices.
DtmfEncodeDuration and DtmfEncodePause provide DTMF encoder tuning. Common for all ports. ITU spec requires that:
a. Tones with a duration less than 23 ms must be rejected.
b. Tones with a duration more than 40 ms must be accepted.
c. An interruption of more than 40 ms must be accepted as a pause.
d. An interruption of less than 10 ms must be tolerated.
So Duration should be between 40 and 40+23 to ensure a decode and preclude a double decode. Default is 60 for both variables.
The Dtmf1stDigits variable defines which DTMF digits start a DTMF command sequence. For command lists that start all command sequences with a common digit there is no point in muting audio for anything other than that digit. By default all digits start a DTMF command sequence.
Filename of file that defines DTMF commands for this RF/VoIP port. note: this is a port variable each port can have different command sets.
Maximum amount of time between DTMF digits in milliseconds. Commands are decoded at the end of a transmission or when there is a pause of more than DTMFCommandTimeout milliseconds between digits.
The DtmfCoverTone variable specifies a tone to play while a audio is muted because a DTMF command sequence is in progress. The tone is cancelled automatically when the command sequence is completed.
The DtmfCTCSSMode variable specifies if CTCSS is required to enter DTMF commands.
0 - CTCSS not required (even if CTCSS is enabled by RxCTCSSMode)
1 - CTCSS required if CTCSS is enabled by RxCTCSSMode
2 - CTCSS always required
The DtmfMethod variable selects the method thelinkbox will use to decode DTMF tones:
0 - none
1 - WB2REM / VA3TO style serial EchoLink interface boards
2 - IRLP parallel port interface
3 - Software based DTMF decoder
4 - Event based DTMF decoding from USB HID device (See DTMF_x_KeyCode)
5 - Asterisk DTMF tunnelling protocol (Voip ports only)
Time in milliseconds between polls of DTMF decoder on WB2REM / VA3TO style serial interface boards for DtmfMethod 1.
The DTMFPrefix variable assigns a prefix that must be entered before DTMF commands are decoded. When the prefix is decoded the DtmfCoverTone will start and command will be accepted until the PrefixTimeout expires.
Undocumented. Default is 1. From linkbox/ports.cpp... if(EnableDtmfCtcssFilter) { pDtmf = DtmfBuf; ApplyCtcssFilter(AudioInPtr,DtmfBuf,Samples,DtmfCtcssFilterTemp); }
Transmitter hang time (carrier delay). Amount of time transmitter PTT is held active after inputs have stopped in milliseconds.
Set this to the number of seconds between IDs.
Undocumented. linkbox/ports.cpp logic seems to say enabling this variable mutes CTCSS for ID.
The InConf variable controls if a particular VoIP connection is connected to the packet level conference or not. By default all VoIP connections RUNNING THE SAME CODEC are conferenced together by the conferencing code when ConfEnable is set to 1. Individual VoIP connections may be removed from the conference by setting its InConf variable to zero.
Initial value to send to the parallel port at startup. This is used to initialize the values of the parallel port bits that aren't mapped to PTT. If this variable is not defined no initial value will be written to the parallel port.
Set this variable to invert the sense of the COS_Bit
Set this variable to invert the sense of the CTCSS_Bit
Set this variable to invert the sense of output on the RTS and DTR pins when TxKeyMethod 3 or 4 is used.
Undocumented. linkbox/ports.cpp code indicates use is associated with IdNoCTCSS.
By default Voip connections and disconnections from IRLP nodes are not announced to the ports they are linked to. You may enable these voice announcements by setting the IRLPAnnouncements variable to one.
NB: IRLP nodes are identified as VoIP connections using the Speak Freely protocol whos callsign starts with the characters "stn", "ref" or "exp".
The LinkVoipIn variable defines if this port is linked to incoming VoIP connections automatically. If LinkVoipIn is set to zero on all ports then inbound VoIP connections will not link to any port automatically allowing the connections to be managed by scripts and commands entered by the VoIP user.
The LinkVoipOut variable defines if this port is linked to outgoing VoIP connections automatically.
Some user's voices sound enough like touchtones to cause false decodes. If MuteDTMF is active such false decodes will cause the user's transmission to be muted for DTMFCommandTimeout unless something is done about it. The Min1stDigitHoldTime and Dtmf1stDigits variables attempt to mitigate such problems. The Min1stDigitHoldTime variable defines the minimum amount of time in millisedconds that a DTMF digit that initiates a DTMF command sequence is held. If the digit (or voice false) is decoded for less than this time a DTMF command sequence is not started and if the audio was muted by MuteDTMF it is unmuted. This minimum only applies to the first digit of a command sequence, the remaining digits may be entered as fast as the decoder will take them.
The minimum amount of time between repeated digits in milliseconds. Users in marginal areas, marginal decoders, incorrect levels or other problems can cause a single DTMF digit held longer than the decoder's decode time to be decoded multiple times. This variable specifies a minimum delay time between identical digits for them to be accepted as distinct entries.
Undocumented. Found in linkbox/configvars.cpp to set bMonitor internal variable.
Set the MuteDTMF variable to stop DTMF transmissions to this port's transmitter. This is typically set for repeater and remote base ports and unset for link ports.
Set NoAudioInLooping to prevent the audio input routine from looping until no more audio is available from the input device. This is a workaround for an apparent driver bug for some audio devices such as the VIA 82C686A/B rev50 sound device used on the "Little Blue" platform. If you have clicking in your transmit audio try setting this variable to 1. If it corrects the problem and you're not using a Via sound board please let me know.
Normally the transmitter will wait for the transmitter hangtime to expire before unkeying following an ID (voice or CW). Set the NoHangtimeOnID variable to unkey the transmitter immediately following an ID.
Some sound board drivers do strange things when we ask for a 8 Khz sampling rate. If we ask for something close we might get something usable. [The ES1371 (AudioPCI i.e. SoudBlaster PCI) ALSA driver when used with the OSS emulation layer and direct access will return 24Khz when we ask for 8000 hz, but if we ask for 7999 Hz we get 7999 Hz. If direct access is not turned on the we get 8000 hz, but clicks in the audio, at least on low spec (400 Mhz Celeron) machines. Asking for 7999 Hz eliminates the clicks !]
The PrefixedTone variable provides an alternate to DtmfCoverTone when a DTMFPrefix is used. The DtmfCoverTone begins running when any DTMF digit is decoded and continues running as long as digits are being entered. The PrefixedTone starts when the DTMFPrefix is decoded, but ends when the first command digit is decoded.
Prefix timeout in milliseconds. This variable defines how long the prefix remains active without entering a command. Once a command has been entered the prefix remains active until a DTMFCommandTimeout occurs.
Parallel port data bit connected to PTT (base 10)
Undocumented. See linkbox/ports.cpp source.
The RadioCtrlMethod variable selects the method thelinkbox will use control the radio associated with this port.
0 - none
1 - Doug Hall protocol via parallel port (also set DH_DataBit, DH_ClockBit)
2 - Doug Hall protocol via USB device GPIO (also set DH_DataBit, DH_ClockBit)
Set this variable to the gain to be used when mixing medium priority sources with high priority sources. 0 -> 100 in precent. The default value is 25.
Set the RepeaterPort variable to 1 if this port is a repeater. When RepeaterPort is set the port's receiver is automatically linked to the port's transmitter on startup. Additionally the .unlink all and .unlink rf commands will not tear down the repeater link. The link can still be broken by a explicit .unlink command.
The RxCosMethod variable selects the method thelinkbox will use to determine if your receiver is receiving a signal:
0 - none
1 - Vox
2 - Parallel port (IRLP interface)
3 - serial port CTS
4 - serial port DSR
5 - serial port DCD
6 - device supporting /dev/input such as USB HID (Linux only)
7 - USB device GPIO (use method 6 for the iMic)
8 - PCF8754 I2C expander on iMic
The RxCtcssMethod variable selects the method thelinkbox will use to determine if a CTCSS tone is present on a received signal.
Note: must use the same hardware interface as RxCosMethod, i.e. if the RxCosMethod is a line on the serial port then RxCtcssMethod must be a different line on the same serial port.
0 - none
1 - Software CTCSS decoder
2 - Parallel port (IRLP interface)
3 - serial port CTS
4 - serial port DSR
5 - serial port DCD
6 - device supporting /dev/input such as USB HID (Linux only)
7 - USB device GPIO (use method 6 for the iMic)
8 - PCF8754 I2C expander on iMic
The RxCTCSSMode variable sets the mode of CTCSS operation.
0 - Carrier squelch only
1 - Carrier and CTCSS
2 - Carrier or CTCSS
3 - CTCSS only
4 - Carrier and NO CTCSS (anti-CTCSS)
Mode 1 requires both CTCSS and carrier detect for the squelch to open, this is the mode typically used for CTCSS access. Mode 2 is sometimes useful when the carrier squelch is tight, in this mode the carrier squelch must open to begin reception, but the presence of CTCSS is enough to hold the squelch open. Mode 3 only requires CTCSS to open the squelch, COS is ignored. This usually provides the most sensitive squelch. Mode 4 (Anti-CTCSS) maybe useful for a carrier squelch repeater with overlapping coverage with a repeater that requires CTCSS. Note: Modes 2 and 3 usually result in an unacceptably long squelch tails when used with transmitters that do not implement reverse burst.
If the sound board input is connected directly to the discriminator of an FM receiver then set the RxDeemphasis variable. Audio sent across VoIP links should be flat, setting this variable applys deemphasis to the received signal to cancel the preemphasis applied by the FM transmitter.
Receiver timeout timer in seconds. Set to zero to disable timeouts.
id of the ToneSpec tone to play on receiver timeout.
Undocumented. From Changelog...Software based CTCSS decoding is now supported. The tone frequency is set by the RxTone port configuration variable. Setting Rxtone to "search" causes thelinkbox to attempt to determine a which tone is in use by monitoring the channel. RxTone may also be set to "any" which will enable all possible tones for testing. Also see RxTone command.
Baud rate used to talk to WB2REM / VA3TO style serial Echo interface boards.
The name of the serial device to use: For FreeBSD COM1 = /dev/ttyd0, COM2 = /dev/ttyd1 For RedHat Linux COM1 = /dev/ttyS0, COM2 = /dev/ttyS1
Note: Do not use "tlbcmd .set SerialDevName" as this may lock up or crash the tlb program.
Normally when using the IRLP parallel port interface (TxKeyMethod and RxCosMethod = 2) thelinkbox holds claim to the parallel port as long as it is running. If you want other programs to be able to access the parallel port while thelinkbox is running then set this variable.
Set the ToneBurstFreq variable to the toneburst frequency for this receiver.
Set the ToneBurstMode variable to require a toneburst to activate this port's transmitter.
0 - tone burst not required
1 - tone burst required to key up repeater initially.
2 - tone burst or CTCSS required to key up repeater initially.
Set the ToneBurstMute variable to mute tonebursts
0 - tone burst mute disabled
1 - mute the toneburst that initially enables the transmitter
2 - mute all tonebursts
Set the ToneBurstTimeout variable to the number of seconds of inactivity (transmitter unkeyed) before requiring a ToneBurst to enable the transmitter again.
id of the ToneSpec to play when ToneBurstTimeout expires.
Software DTMF decoder tuning parameters for DtmfMethod 3.
If your touchtone pad has more twist than allowed by the the Bellcore specification decoded touchtones will be ignored. The Twist and ReverseTwist variables allow you to lower the limits if necessary.
NB: increasing the acceptable twist will probably make the touchtone decoder more succeptable to voice falsing. Change only if your touchtone encode pad does not work with the default values.
Accepted twists, in dB. twist = low tone louder than high tone, reverse twist high tone louder than low tone.
Set the TxCtcssFilter variable to insert an high pass filter in the transmitter's audio path to prevent received CTCSS tones from being repeated. The filter is disabled by default for physical ports and enabled by default for VoIP ports. Note: to avoid excessive rolloff of the lower end of the voice frequency range the filter is designed to filter out tone frequencies of 203.5 and lower, 250 Hz is only attenuated by 6.6 db. This provides an attenuation of .75 db at 300 hz and essentially no attenuation at 500 hz.
If you would like to add an CTCSS tone to the output audio stream you can set the TxCtcssMethod and CTCSSLevel variables.
NB: CTCSS tones are low frequencies that will not be passed correctly by the microphone input of most radios.
0 - Software CTCSS generation disabled
1 - Mix CTCSS tone on audio output
The TxKeyMethod variable selects the method thelinkbox will use to key your transmitter:
NB: On FreeBSD RTS is active when no program is running, so it's probably not a good idea to use RTS for PTT on FreeBSD.
0 - none
1 - WB2REM / VA3TO style serial EchoLink interface boards
2 - Parallel port (IRLP interface)
3 - RTS
4 - DTR
5 - USB Audio dongle GPIO
If the sound board output is connected directly to an FM modulator then set TxPreemphasis variable. If the sound board output is connected to the microphone input of an FM transmitter do not set this variable since the transmitter itself will apply the preemphasis.
Transmitter timeout timer in seconds. Set to zero to disable timeouts
id of the ToneSpec of tone to play on transmitter timeout.
Undocumented. See linkbox/ports.cpp. Also see TxTone command and RxTone variable.
If the sound board input is connected to an audio source that is not gated by COS (it has noise on it when no one is talking) then set UngatedRx variable, optional. An interesting problem occurs when the input audio source is unsquelched, namely you may hear a "squelch tail" at the beginning of transmissions! This is caused by the asynchronous nature of the COS signal in relationship to the audio input buffer. When UngatedRx is set the first audio buffer following the rising edge of COS is tossed to eliminate leading squelch tails.
Name of wave file containing voice ID.
Number of seconds that the channel must have been idle before a Voice ID is played.
The VoipDejitterDelay variable sets the amount of audio that is buffered on VoIP connections before being sent to sound card in milliseconds.
The propagation delay across the Internet from one location to another is not constant even for packets that are sent at almost the same time. It is essential that there be some buffering of audio in VoIP applications to avoid audio dropouts when packets arrive late. No or too little buffering causes dropouts and too much buffering causes unnecessary delays which become intrusive to normal conversations.
The minimum amount of buffering is two packets. The duration of audio contained an a single packet varies with the protocol and compression algorythm. Here are some numbers:
RTP/GSM - 80 milliseconds
RTP/ADPCM - 121.5 milliseconds
SF/ADPCM - 121.5 milliseconds
SF/GSM - 200 milliseconds
Default is 500.
Specifies the number of milliseconds of an input level below the VoxThreshold before the vox unkeys the transmitter
This variable specifies the minimum input level to trip the Vox.
Most of these variables are likley used for development or were not fully implemented.
The Debug variable cat be set to bitmapped values to enable logging of various details from the thelinkbox program. Debug may be enabled or disabled with tlbcmd to capture debug information in the log file. This can quickly expand your log file excessively. This may only be useful to source code developers. The following bitmap values from inc/common.h may be useful Debug settings.
// Bits for DLOG
\#define DLOG_CODEC_TYPE 0x8 // Verbose logging of RTP SF codec problems
\#define DLOG_VOIP_AUDIO 0x10 // Verbose audio queuing in voip.cpp
\#define DLOG_TONEGEN 0x20 // Verbose tonegen parser logging
\#define DLOG_RIG_CTRL 0x40 // Verbose frequency control logging
\#define DLOG_LINKS 0x80 // Verbose node linking logging
\#define DLOG_DTMF 0x100 // Verbose DTMF and command decoding logging
\#define DLOG_EVENTS 0x200 // Verbose event generation logging
\#define DLOG_COS_CTCSS 0x400 // Verbose cos and ctcss detect logging
\#define DLOG_TBURST 0x800 // Verbose tone burst access logging
\#define DLOG_RTP 0x1000 // Verbose RTP sequence number logging
\#define DLOG_RX_CTCSS 0x2000 // Verbose software CTCSS logging
\#define DLOG_PTT 0x4000 // Verbose PTT logging
Undocumented. Used in src/dirclient.c to enable/disable compressed directory updates.
Undocumented. Default is 0. Other than linkbox/configvars.cpp and linkbox/ports.h this variable is not used.
Set this variable to send your transmitter power, antenna height and antenna gain in APRS packets sent via RF.
NB: The Kenwood D7 and D700 radios are confused by these values and they are not very readable to humans since each value is encoded into a single digit
Undocumented. linkbox/ports.cpp comment..."GpioSysClassId should be set (i.e. != -1) for TxKeyMethod 7"
Set HalfDuplexRF if your RF link is half duplex. This is prevent the transmitter from keying while you are talking. Default is 0.
Undocumented. Default is 0. Does not appear to be used other than in linkbox/configvars.cpp and linkbox/ports.h.
Undocumented. Does not appear to be used other than in linkbox/configvars.cpp and linkbox/ports.h.
Undocumented. Does not appear to be used other than in linkbox/configvars.cpp and linkbox/ports.h.
Undocumented. Does not appear to be used other than in linkbox/configvars.cpp and linkbox/ports.h.
Undocumented. Does not appear to be used other than in linkbox/configvars.cpp and linkbox/ports.h.
Undocumented. Does not appear to be used other than in linkbox/configvars.cpp and linkbox/ports.h.
Undocumented. Does not appear to be used other than in linkbox/configvars.cpp and linkbox/ports.h.
Undocumented. Does not appear to be used other than in linkbox/configvars.cpp and linkbox/ports.h.
Undocumented. Does not appear to be used other than in linkbox/configvars.cpp and linkbox/ports.h.
Undocumented. Default is 0. Related to user authentication from iLink directory server.
Undocumented. Does not appear to be used.
Undocumented. Default is 1.
Undocumented. Default is 0. Does not appear to be utilized in source.
Undocumented. Refer to linkbox/ports.cpp source.
The interval between sending SDES packet updates in seconds. Default is 10 seconds.
Undocumented.
Undocumented. Does not seem to be used.