Provided by: svxlink-server_19.09.1-3_amd64 bug

NAME

       svxlink.conf - Configuration file for the SvxLink server

DESCRIPTION

       svxlink  is  a general purpose voice service system for ham radio use. This man-page describe the SvxLink
       server configuration file format.

       SvxLink look for configuration files in a number of  places.  First  it  try  to  find  a  user  specific
       configuration    file.    SvxLink    will   look   for   a   user   specific   configuration   file   in:
       $HOME/.svxlink/svxlink.conf.  If no user specific configuration file can be found, SvxLink will look  for
       the  system wide configuration file /etc/svxlink/svxlink.conf.  The --config command line option may also
       be used to specify an arbitrary configuration file.

FILE FORMAT

       The configuration file is in the famous INI-file format. A generic example of how such a file might  look
       like is shown below.

         [SECTION1]
         VALUE1=1
         VALUE2="TWO "
         VAULE3="Multi "
                "line"

         [SECTION2]
         VALUE1=2

       This  is  a  simple  format  that  contain  name=value pairs that belong to a section. In written text, a
       specific configuration variable can be referred to as  SECTION1/VALUE2  meaning  "configuration  variable
       VALUE2 in section SECTION1".

       The  same  variable name can exist in two different sections. For example VALUE1 in section SECTION1 have
       the value 1 and VALUE1 in section SECTION2 have the value 2. Values containing spaces at the beginning or
       end  of  the  line must be surrounded by citation characters (see SECTION1/VALUE2). Likewise with a multi
       line value (see SECTION1/VALUE3).

CONFIGURATION VARIABLES

       Here is the description of all  configuration  variables  that  SvxLink  understands.  The  configuration
       variables are described section for section.

   GLOBAL
       The GLOBAL section contains application global configuration data.

       MODULE_PATH
              Specify  where  the  SvxLink  modules  can be found. If MODULE_PATH is not specified, the standard
              search paths for library files will be used. If that also fails a hard-coded default will be used.
              What  that  default  is  depend  on  the  architecture  but  typically  on  a  x86_64 system it is
              /usr/lib64/svxlink.  Leaving this variable unset should work in most cases.

       LOGICS Specify a comma separated list of logic cores that should be created. The logic core is the  thing
              that ties the transceiver and the voice services (modules) together. It contains the rules for how
              the radio interface  should  be  handled.  The  specified  name  of  a  logic  core  must  have  a
              corresponding  section  specified in the config file. This is where the behavior of the logic core
              is specified.

       CFG_DIR
              Specify the path to a directory that contain additional configuration files.  If a  relative  path
              is  specified, the path will be relative to the directory where the main configuration file is at.
              All files in the specified directory will be read as additional configuration. Filenames  starting
              with a dot (hidden files) or not ending in .conf are ignored.

       TIMESTAMP_FORMAT
              This  variable  specifies the format of the time-stamp that is written in front of each row in the
              log file. The format string is in the same format as specified in the strftime(3) manual page. The
              default is "%c" which is described as: "the preferred date and time representation for the current
              locale". The environment variables LC_TIME, LC_ALL and LANG will affect how this time format  will
              look.  For  example, setting LC_TIME="sv_SE.UTF8" will give you Swedish time-stamp representation.
              Other examples of format specifiers are:

              •   %d - The day of the month as a decimal number (range 01 to 31)

              •   %b - The abbreviated month name according to the current locale

              •   %Y - The year as a decimal number including the century

              •   %H - The hour as a decimal number using a 24-hour clock (range 00 to 23)

              •   %M - The minute as a decimal number (range 00 to 59)

              •   %S - The second as a decimal number (range 00 to 60)

              •   %f - Fractional seconds in millisecond resolution (000-999)

              The last one (%f) is a SvxLink specific formatting specifier.

              Example: TIMESTAMP_FORMAT="%d %b %Y %H:%M:%S.%f" would give a time-stamp looking  something  like:
              "29 Nov 2005 22:31:59.875".

       CARD_SAMPLE_RATE
              This  configuration  variable  determines  the  sampling rate used for audio input/output. SvxLink
              always work with a sampling rate of 16kHz internally but there still are some benefits from  using
              a higher sampling rate. On some sound cards the filters look pretty bad at 16kHz and the amplitude
              response will not be uniform which among other things can cause problems  for  the  software  DTMF
              decoder.

              Some  sound  cards  also  sound  very  bad  at  16kHz  due to insufficient anti-alias filtering or
              resampling effects. These, often cheaper, sound cards sound OK at 48kHz.

              The downside of choosing a higher sampling rate is that it puts a little bit more load on the  CPU
              so  if you have a very slow machine (<300MHz), it might not have the computational power to handle
              it.

              Supported sampling rates are: 16000 and 48000.

       CARD_CHANNELS
              Use this configuration variable to specify how many channels to use when opening a sound card. For
              normal sound cards the only practical values to use are 1 for mono and 2 for stereo. The latter is
              the default.

              When using the sound card in stereo mode it is  possible  to  use  the  left  and  right  channels
              independently  to  drive  two  transceivers. When using the sound card in mono mode, both left and
              right channels transmit/receive the same audio.

       LOCATION_INFO
              Enter the section name that contains information required for  transferring  positioning  data  to
              location  servers. Setting this item makes the system visible on the EchoLink link status page and
              the APRS network.

       LINKS  Enter here a comma separated list of section names that contains the configuration information for
              linking logics together (see Logic Linking).

   Common Logic configuration variables
       A  logic  core  is what define how SvxLink should behave on the RF channel. The SvxLink server can handle
       more than one logic core and so can  be  connected  to  more  than  one  transceiver.  The  configuration
       variables  below  are  common  to all logic types. Configuration variables that are specific to a certain
       logic core type are described below in a section of its own.

       TYPE   The type of logic core this is. The documentation for the specific logic core type you want to use
              describe what to write here.

       RX     Specify  the configuration section name of the receiver to use. All configuration for the receiver
              is done in the specified configuration section.

       TX     Specify the configuration section name of the  transmitter  to  use.  All  configuration  for  the
              transmitter is done in the specified configuration section.

       MODULES
              Specify  a  comma  separated  list  of  configuration sections for the modules to load. This tells
              SvxLink which modules to actually load on startup.

       CALLSIGN
              Specify the callsign that should be announced on the radio interface.

       SHORT_VOICE_ID_ENABLE
              A basic toggle to enable the voice ID announcement during the short ID announcements.   Set  value
              to "1" to enable the voice option, and "0" to disable.

       SHORT_CW_ID_ENABLE
              A  basic  toggle to enable the CW ID announcement during the short ID announcements.  Set value to
              "1" to enable the CW option, and "0" to disable.

       SHORT_ANNOUNCE_ENABLE
              A basic toggle to enable the custom announcement during the short ID announcements.  Set value  to
              "1" to enable the announcement option, and "0" to disable.

       SHORT_ANNOUNCE_FILE
              The full path to a file to use for custom announcements broadcasted during a routine short ID.

       LONG_VOICE_ID_ENABLE
              A basic toggle to enable the voice ID announcement during the long ID announcements.  Set value to
              "1" to enable the voice option, and "0" to disable.

       LONG_CW_ID_ENABLE
              A basic toggle to enable the CW ID announcement during the long ID announcements.   Set  value  to
              "1" to enable the CW option, and "0" to disable.

       LONG_ANNOUNCE_ENABLE
              A  basic  toggle to enable the custom announcement during the long ID announcements.  Set value to
              "1" to enable the announcement option, and "0" to disable.

       LONG_ANNOUNCE_FILE
              The full path to a file to use for custom announcements broadcasted during a routine short ID.

       CW_AMP Specify  the  amplitude  of  the  CW  that  should  be  used  during  any  cw  traffic,  typically
              announcements. The amplitude is specified in dB. Default: -6.

       CW_PITCH
              Specify the pitch (frequency in Hz) of the CW that should be used during any CW traffic, typically
              announcements. Default: 800.

       CW_CPM Specify the Characters Per Minute of the CW that should be used during any CW  traffic,  typically
              announcements. If both CW_WPM and CW_CPM is set, CW_CPM will be used. Default: 100.

       CW_WPM Specify  the  Words  Per  Minute  of  the  CW that should be used during any CW traffic, typically
              announcements. If both CW_WPM and CW_CPM is set, CW_CPM will be used. Default: 20.

       PHONETIC_SPELLING
              Specify if the spelling of callsign and other words should be announced  on  the  radio  interface
              using  phonetic  or non-phonetic spelling.  "1" to use phonetic sounds (legacy default), or "0" to
              use non-phonetic sounds.  Note that this option may not be available for all language packs.

       TIME_FORMAT
              Specify  what format the time should be announced as, valid options are "12"/"24".  NOTE: may  not
              work for all language packs

       SHORT_IDENT_INTERVAL
              The number of minutes between short identifications. The purpose of the short identification is to
              just announce that the station is on the air. Typically just the callsign is  transmitted.  For  a
              repeater  a good value is ten minutes and for a simplex node one time every 60 minutes is probably
              enough. The LONG_IDENT_INTERVAL must be  an  even  multiple  of  the  SHORT_IDENT_INTERVAL  so  if
              LONG_IDENT_INTERVAL  is  60  then the legal values for SHORT_IDENT_INTERVAL are: 1, 2, 3, 4, 5, 6,
              10, 12, 15, 20, 30, 60.  If unset or set to 0, disable short identifications.

       LONG_IDENT_INTERVAL
              The number of minutes between long identifications. The purpose of the long identification  is  to
              transmit  some more information about the station status (new voice mails etc). The time of day is
              also transmitted. A good value  here  is  60  minutes.   If  unset  or  set  to  0,  disable  long
              identifications.

       IDENT_ONLY_AFTER_TX
              This  feature controls when identification is done.  By default, identification is done every time
              the SHORT_IDENT_INTERVAL expires. If this feature is enabled, identification will be done only  if
              there  has  been a recent transmission. This feature is good for nodes using an RF link to provide
              echolink to a repeater. Often, in this situation, it is not desirable for  the  link  to  identify
              unless  legally necessary. Note that SHORT_IDENT_INTERVAL still have to be set for this feature to
              work. That config variable will then be interpreted as  the  minimum  number  of  seconds  between
              identifications. The LONG_IDENT_INTERVAL will not be affected by this parameter.

       EXEC_CMD_ON_SQL_CLOSE
              Specify  a  time,  in  milliseconds,  after  squelch close after which entered DTMF digits will be
              executed as a command without the need to send the # character.  To disable this  feature,  either
              comment out the configuration row or set it to a value less or equal to zero.

       EVENT_HANDLER
              Point  out  the  TCL  event handler script to use. The TCL event handler script is responsible for
              playing  the  correct  audio   clips   when   an   event   occur.    The   default   location   is
              /usr/share/svxlink/events.tcl.

       DEFAULT_LANG
              Set the default language to use for announcements. It should be set to an ISO code (e.g. sv_SE for
              Swedish). If not set, it defaults to en_US which is US English.

       RGR_SOUND_DELAY
              The number of milliseconds to wait after the squelch has  been  closed  before  a  roger  beep  is
              played. The beep can be disabled by specifying a value of -1 or commenting out this line. Often it
              is best to use the SQL_HANGTIME receiver configuration variable to  specify  a  delay  instead  of
              specifying a delay here. This configuration variable should then be set to 0.

       REPORT_CTCSS
              If  set,  will report the specified CTCSS frequency upon manual identification (* pressed).  It is
              possible to specify fractions using "." as decimal comma. Disable this feature by  commenting  out
              (#) this configuration variable.

       TX_CTCSS
              This configuration variable controls if a CTCSS tone should be transmitted.  Use a comma separated
              list (no spaces!) to specify when to transmit  a  CTCSS  tone.  These  are  the  possible  values:
              SQL_OPEN,  LOGIC, MODULE, ANNOUNCEMENT or ALWAYS.  Commenting out this configuration variable will
              disable  CTCSS  transmit.   The  tone  frequency  and  level  is  configured  in  the  transmitter
              configuration section.

              •   SQL_OPEN will transmit CTCSS tone when the squelch is open. This is only useful on a repeater.
                  On a simplex node it doesn't make much sense.

              •   LOGIC will transmit CTCSS tone when there is incoming traffic from another logic core.

              •   MODULE will transmit CTCSS tone when there is incoming traffic from a module.

              •   ANNOUNCEMENT will transmit CTCSS tone when an announcement  is  being  played.  Repeater  idle
                  sounds and roger beeps will not have tone sent with them though.

              •   ALWAYS will always transmit a CTCSS tone as soon as the transmitter is turned on.

       MACROS Point  out  a  section  that  contains  the macros that should be used by this logic core. See the
              section description for macros below for more information.

       FX_GAIN_NORMAL
              The gain (dB) to use for audio effects and announcements when there is  no  other  traffic.   This
              gain is normally set to 0dB which means no gain or attenuation.

       FX_GAIN_LOW
              The  gain  (dB) to use for audio effects and announcements when there is other traffic.  This gain
              is normally set to something like -12dB so that announcements and  audio  effects  are  attenuated
              when there is other traffic present.

       QSO_RECORDER
              The  QSO  recorder  is  used  to  write  all  received audio to files on disk. The format for this
              configuration variable is <command>:<config section>. The specified command is used to activate or
              deactivate the QSO recorder. If the command for example is set to 8, 81 will activate the recorder
              and 80 will deactivate it.  The command may also be left out. It will  then  not  be  possible  to
              control  the  QSO  recorder  using  DTMF  commands. Even if the command is left out the colon must
              always be specified.  The config section point out a section in the configuration file that  holds
              configuration  for  the  QSO  recorder.  Have a look at the QSO Recorder Section documentation for
              more information.

              Example: QSO_RECORDER=8:QsoRecorder

       SEL5_MACRO_RANGE
              Define two comma separated values here to map the Sel5 tone call to your macro area. E.g.  if  you
              have  defined:  SEL5_MACRO_RANGE=03400,03499  then  all incoming Sel5 tone sequences from 03400 to
              03499 are mapped to the macros section (refer to Macros Section, next  chapter).  Other  sequences
              but  the  one  defined under OPEN_ON_SEL5 are ignored so it can be used to call other stations via
              the repeater without a repeater reaction.

       ONLINE_CMD
              Define a DTMF command that is used to switch the node between online and offline mode. When in the
              off-state, the transmitter will not be turned on by any event. If a module is active when the node
              is brought offline, it will be deactivated and no module activation will  be  allowed  in  offline
              mode. No other commands than the online command will be accepted in the offline state.

              If the command for example is set to 998877 then 9988771 will set the node online and 9988770 will
              set it offline. If a module is active or if the ACTIVATE_MODULE_ON_LONG_CMD is used,  the  command
              must be prefixed with a star to work as expected. The star means "force core command".

       STATE_PTY
              Using  this  configuration variable it is possible to specify a path to a UNIX 98 PTY that SvxLink
              state events is published to. The published events is in  a  simple  text  format  using  a  space
              separated list of values. SvxLink will create a softlink to the actual slave PTY. For that reason,
              SvxLink must have write permissions in  the  directory  where  the  softlink  should  be  created.
              Monitoring  the  PTY  output  is as simple as doing a cat /path/to/pty after starting SvxLink. See
              STATE PTY FORMAT for more information on the format of the state messages.

              Example: STATE_PTY=/tmp/state_pty

       DTMF_CTRL_PTY
              Using this configuration variable it is possible to specify a path to a UNIX 98 PTY that allows  a
              dtmf control of each single SvxLink logic. SvxLink will create a softlink to the actual slave PTY.
              For that reason, SvxLink must have write permissions in the directory where the softlink should be
              created.  Sending  commands  to  the  PTY  is as simple as doing a echo '*1#' > /path/to/pty after
              starting SvxLink. The device works bidirectional, received dtmf characters (from  Rf)  are  output
              via this interface.

              Example: DTMF_CTRL_PTY=/dev/shm/dtmf_ctrl

   Simplex Logic Section
       The Simplex Logic section contains configuration data for a simplex logic core.  The name of the section,
       which in the example configuration file is SimplexLogic, must have  a  corresponding  list  item  in  the
       GLOBAL/LOGICS  config variable for this logic core to be activated. The name "SimplexLogic" is not magic.
       It could be called what ever you like but it must  match  the  namespace  name  in  the  SimplexLogic.tcl
       script. The configuration variables below are those that are specific for a simplex logic core.

       TYPE   The type for a simplex logic core is always Simplex.

       MUTE_RX_ON_TX
              Set  to  1  to  mute the receiver when the transmitter is transmitting (default) or set it to 0 to
              make the RX active during transmissions.  One might want to set this to 0 if the link is operating
              on  a split frequency.  Then the link can accept commands even when it's transmitting.  The normal
              setting is 1, to mute the RX when transmitting.

       MUTE_TX_ON_RX
              Set to 1 to mute the transmitter when the squelch is open (default) or set it to 0 to make the  TX
              active  during  squelch open.  One might want to set this to 0 if the link is operating on a split
              frequency or if it's connected to some full duplex device.  The normal setting is 1, to  mute  the
              TX when the squelch is open.

       RGR_SOUND_ALWAYS
              Set to 1 to always send roger sound after squelch close, even when no module is active.

   Repeater Logic Section
       A Repeater Logic section contains configuration data for a repeater logic core.  The name of the section,
       which in the example configuration file is RepeaterLogic, must have a  corresponding  list  item  in  the
       GLOBAL/LOGICS config variable for this logic core to be activated. The name "RepeaterLogic" is not magic.
       It could be called what ever you like but it must match  the  namespace  name  in  the  RepeaterLogic.tcl
       script. The configuration variables below are those that are specific for a repeater logic core.

       TYPE   The type for a repeater logic core is always Repeater.

       NO_REPEAT
              Set  this  to  1 if you do NOT want SvxLink to play back the incoming audio. This can be used when
              the received audio is directly coupled by hardware wiring to the  transmitter.  What  you  win  by
              doing  this  is  that  there is zero delay on the repeated audio. When the audio is routed through
              SvxLink there is always an amount of delay. What you loose by doing this is the  audio  processing
              done  by  SvxLink  (e.g.  filtering, DTMF muting, squelch tail elimination) and the ability to use
              remote receivers.

       IDLE_TIMEOUT
              The number of seconds the repeater should have been idle before turning the transmitter off.

       OPEN_ON_1750
              Use this configuration variable if it should be possible to open the repeater with a  1750Hz  tone
              burst. Specify the number of milliseconds the tone must be asserted before the repeater is opened.
              Make sure that the time specified is long enough for the squelch to have time to  open.  Otherwise
              the  repeater  will  open  "too soon" and you will hear an ugly 1750Hz beep as the first thing.  A
              value of 0 will disable 1750 Hz repeater opening.

       OPEN_ON_CTCSS
              Use this configuration variable if it should be possible to open the repeater with  a  CTCSS  tone
              (PL).  The  syntax of the value is tone_fq:min_length. The tone frequency is specified in whole Hz
              and the minimum tone length is specified in milliseconds. For examples if a 136.5 Hz tone must  be
              asserted for two seconds for the repeater to open, the value 136:2000 should be specified.

       OPEN_ON_DTMF
              Use  this  configuration variable if it should be possible to open the repeater with a DTMF digit.
              Only one digit can be specified. DTMF digits pressed when the repeater is down will be ignored.

       OPEN_ON_SEL5
              Use this configuration variable if you want to open your repeater by using a selective  tone  call
              that  is often used in commercial radio networks.  Example: OPEN_ON_SEL5=03345 opens your repeater
              only if that sequence has been received. You can use sequence lengths from 4 to 25.

       CLOSE_ON_SEL5
              Use this configuration variable if you want to close your repeater by using a selective tone  call
              that  is  often  used  in  commercial  radio  networks.   Example: CLOSE_ON_SEL5=03345 closes your
              repeater if that sequence has been received. You can use sequence lengths from 4 to 25.

       OPEN_ON_SQL
              Use this configuration variable if it should be possible to open the repeater just by keeping  the
              squelch  open for a while. The value to set is the minimum number of milliseconds the squelch must
              be open for the repeater to open.

       OPEN_ON_SQL_AFTER_RPT_CLOSE
              Activate the repeater on just a squelch opening if there have been  no  more  than  the  specified
              number of seconds since the repeater closed.

       OPEN_SQL_FLANK
              Determines  if OPEN_ON_SQL and OPEN_ON_CTCSS should activate the repeater when the squelch open or
              close. If set to OPEN, the repeater will activate and start retransmitting audio  immediately.  No
              identification  will  be  sent.  If set to CLOSE, the repeater will not activate until the squelch
              close. An identification will be sent in this case.

       IDLE_SOUND_INTERVAL
              When the repeater is idle, a sound is played. Specify the interval in milliseconds between playing
              the idle sound. An interval of 0 disables the idle sound.

       SQL_FLAP_SUP_MIN_TIME
              Flapping  squelch  suppression  is used to close the repeater down if there is interference on the
              frequency that open the squelch by short bursts.  This configuration variable is used  to  specify
              the  minimum  time,  in  milliseconds,  that  a  transmission must last to be classified as a real
              transmission. A good value is in between 500-2000ms.

       SQL_FLAP_SUP_MAX_COUNT
              Flapping squelch suppression is used to close the repeater down if there is  interference  on  the
              frequency  that  open the squelch by short bursts.  This configuration variable is used to specify
              the maximum number of consecutive short squelch openings  allowed  before  shutting  the  repeater
              down. A good value is in between 5-10.

       ACTIVATE_MODULE_ON_LONG_CMD
              This  configuration  variable  activate  a  feature that might help users not aware of the SvxLink
              command structure. The idea is to activate the specified module when a  long  enough  command  has
              been  received. The typical example is an EchoLink user that is used to just typing in the node ID
              and then the connection should be established  right  away.  Using  this  configuration  variable,
              specify  a  minimum  length  and  a module name. If no module is active and at least the specified
              number of digits has been entered, the given module is activated and the command is sent to it. To
              be really useful this feature should be used in cooperation with EXEC_CMD_ON_SQL_CLOSE.

              For example, if this configuration variable is set to "4:EchoLink" and the user types in 9999, the
              EchoLink module is first activated and then the command 9999 is sent to it, which will connect  to
              the ECHOTEST server.

       IDENT_NAG_TIMEOUT
              Tell  repeater  users  that  are not identifying to identify themselves.  The number of seconds to
              wait for an identification, after the repeater has been activated, is set using this configuration
              variable.   A  valid identification is considered to be a transmission longer than the time set by
              the IDENT_NAG_MIN_TIME configuration variable. We don't know if it's really an identification  but
              it's the best we can do.  Setting it to 0 or commenting it out disables the feature.

       IDENT_NAG_MIN_TIME
              This  is  the  minimum time, in milliseconds, that a transmission must last to be considered as an
              identification. This is used as described in the IDENT_NAG_TIMEOUT configuration variable.

   ReflectorLogic
       The ReflectorLogic is used to connect to an SvxReflector server. The  SvxReflector  will  distribute  all
       audio  to  all  connected nodes. To actually send audio to the reflector from a logic core, set up a link
       between the two logics using LogicLinking. More than one logic core can be connected.

       TYPE   The type for a reflector logic core is always Reflector.

       HOST   The hostname or IP address of the reflector server.

       PORT   The TCP/UDP port number used by the server. The client do not  need  to  open  any  ports  in  the
              firewall. Default: 5300.

       CALLSIGN
              The  callsign  of  this  node. The callsign also serves as the username when authenticating to the
              SvxReflector server.

       AUTH_KEY
              The authentication key, or password, used when authenticating to the SvxReflector server.

       JITTER_BUFFER_DELAY
              A jitter buffer is used to prevent gaps in the audio when the network connection do not provide  a
              steady  flow  of  data.  Set  this  configuration variable to the number of milliseconds to buffer
              before starting to process the audio. Default: 0.

       It is also possible to set audio codec parameters using the same configuration  variables  as  documented
       for  networked  receivers  and  transmitters.  For  example, to lighten the encoder CPU load for the Opus
       encoder, set OPUS_ENC_COMPLEXITY to something lower than 9.

   QSO Recorder Section
       The QSO recorder is used to record all received audio to files on disk. All audio from receivers, modules
       and logic links are recorded. Announcements are not recorded.

       REC_DIR
              Use  this  configuration  variable  to specify in which directory to write the audio files. A good
              place is /var/spool/svxlink/qso_recorder.

       MIN_TIME
              If the duration of the recorded content for a file is less then MIN_TIME  milliseconds,  the  file
              will be deleted when the file is closed. Default: 0 (empty files will be deleted).

       MAX_TIME
              Setting  this  configuration variable will set an upper limit for the file size of a recording. No
              more than MAX_TIME seconds of content will be recorded to a single file.  When  the  maximum  time
              have been reached, the file is closed and another file is created. Note that it is not the maximum
              time that the recording has been active that we are setting  a  limit  for  but  rather  how  much
              content  that  have  been  recorded  to  the  file. If nothing is recorded, the file can stay open
              indefinitely. Default: 0 (no limit)

       SOFT_TIME
              To not get abrupt breaks in recordings it is possible to set a soft break time.   Let's  say  that
              MAX_TIME  is set to 3600 seconds (one hour). If we set SOFT_TIME to 300 seconds (five minutes) the
              QSO recorder try to close the file on a squelch close somewhere between 55 and 60 minutes. In this
              way we may avoid getting transmissions split up between files. Default: 0 (no limit)

       MAX_DIRSIZE
              Specify  the maximum total size in megabytes of the files in the recording directory. If the limit
              is exceeded, the oldest files are deleted. The directory size is checked upon file  close  so  the
              size  may  grow  temporarily past the limit with at most the size of one recorded file. Only files
              which have a filename starting with "qsorec_"  will  be  considered  for  deletion.  If  using  an
              ENCODING_CMD,  make  sure that the "qsorec_" prefix is not removed from the target filename unless
              you really want the MAX_DIRSIZE feature to skip them.  Default: 0 (no limit)

       DEFAULT_ACTIVE
              If this configuration variable is set to 1, the QSO recorder will be  activated  by  default  when
              SvxLink start. Default: 0 (default inactive)

       TIMEOUT
              If  a  timeout  is  specified,  the  activation state of the QSO recorder will return to the value
              specified in the DEFAULT_ACTIVE configuration variable  when  the  node  has  been  idle  for  the
              specified  number  of  seconds. When DEFAULT_ACTIVE is unset or 0, if the QSO recorder is manually
              activated it will be automatically deactivated after the specified amount of time  of  inactivity.
              When  DEFAULT_ACTIVE  is  set  to  1,  if  the  QSO  recorder  is  manually deactivated it will be
              automatically activated after the specified amount of time of inactivity.  Default: 0 (no timeout)

       QSO_TIMEOUT
              Set this configuration variable if you want to close the currently opened file and open a new  one
              after  each  QSO.  The number of seconds the node should be idle before closing the file should be
              specified. Default: 0 (no QSO timeout)

       ENCODER_CMD
              Specify a command to be executed after a new wav file have been written to  disk.  This  makes  it
              possible  to use an external encoder utility to encode the wav file to another format. Even though
              this configuration variable was added to run an external encoder  it  could  do  more  complicated
              things  with  the  file  if  needed. A couple of examples would be to transfer the file to another
              computer or to send a notification e-mail. If the command line get too complicated  it  may  be  a
              good idea to write a script instead.

              The  encoder  command will be run under a shell so normal shell operators like redirects and pipes
              may be used. The shell specified in the SHELL environment variable will be used and  if  not  set,
              /bin/sh will be used. The "-c" command line option will be added so the complete command will look
              something like: $SHELL -c "$ENCODER_CMD". A number of %-codes can  be  included  in  the  command.
              They have the following meaning:

              •   %f - The full filename with full path

              •   %d - The directory part (what REC_DIR is set to)

              •   %b - The basename, that is, the filename without path and extension

              •   %n - The filename without path but with extension

              The encoder will be started in the background and it will not be stopped even if SvxLink exits. It
              will run in the background until it's done. As long as SvxLink is running  it  is  monitoring  the
              encoding processes. If a process run for longer than one hour it will be killed.

              Note  that SvxLink will never remove the original recording so that have to be done in the encoder
              command. Here are a couple of examples:

               ENCODER_CMD=/usr/bin/oggenc -Q \"%f\" && rm \"%f\"
               ENCODER_CMD=/usr/bin/lame --quiet \"%f\" \"%d/%b.mp3\" && rm \"%f\"
               ENCODER_CMD=/usr/bin/speexenc \"%f\" \"%d/%b.spx\" 2>/dev/null && rm \"%f\"
               ENCODER_CMD=/usr/bin/opusenc \"%f\" \"%d/%b.opus\" 2>/dev/null && rm \"%f\"

   Macros Section
       A macros section is used to declare macros that can be used by a logic core. The logic  core  points  out
       the  macros section to use by using the MACROS configuration variable. The name of the MACROS section can
       be chosen arbitrarily as  long  as  it  match  the  MACROS  configuration  variable  in  the  logic  core
       configuration   section.   There   could   for   example   exist   both  a  [RepeaterLogicMacros]  and  a
       [SimplexLogicMacros] section.

       A macro is a kind of shortcut that can be used to decrease the amount of key presses that have to be done
       to  connect to common EchoLink stations for example.  On the radio side, macros are activated by pressing
       "D" "macro number" "#". A macros section can look something like the example below. Note that the  module
       name is case sensitive.

         [Macros]
         1=EchoLink:9999#
         2=EchoLink:1234567#
         9=Parrot:0123456789#

       For  example,  pressing DTMF sequence "D1#" will activate the EchoLink module and connect to the EchoTest
       conference node.

   Logic Linking
       A logic linking configuration section is used to specify information for  a  link  between  two  or  more
       SvxLink logic cores. Such a link can for example be used to connect a local repeater to a remote repeater
       using a separate link  transceiver.   The  link  is  activated/deactivated  using  DTMF  commands  and/or
       automatically  depending on your configuration.  When the link is active, all audio received by one logic
       will be transmitted by the other logic(s).

       The name of the logic linking section can be chosen freely. In the example configuration file, there is a
       section  [LinkToR4].  To  use a logic linking section in a logic core it must be pointed out by the LINKS
       configuration variable in the GLOBAL section.  Example: GLOBAL/LINKS=LinkToR4

       CONNECT_LOGICS
              A comma separated list of logic specifications for the logic cores to connect together. Each logic
              specification has three parts separated by colons: <logic name>:<command>:<announcement name>. The
              "logic name" is the name of the logic to include in the link. To manually activate  or  deactivate
              the  link  from  the just specified logic, "command" is used. The "announcement name" is used when
              announcing  link  related  activities  like  activation  or  deactivation.   Both  "command"   and
              "announcement  name" may be left empty if no manual control is wanted.  An example config line may
              look like this:

              RepeaterLogic_2m:99:SK3GW,RepeaterLogic_70cm:94:SK3GK

              It will include two logics in the link, RepeaterLogic_2m and RepeaterLogic_70cm. From the 2m side,
              the  link  will  be  activated  when  the user send command 991 and deactivated when the user send
              command 990. Upon activation, an announcement like "activating link to SK3GW" will be played back.
              From  the 70cm side the command will be 941 and 940 respectively. The announcement when activating
              the link from the 70cm side will be something like "activating link to SK3GK".

       DEFAULT_ACTIVE
              The link will be connected automatically during startup of SvxLink if this configuration  variable
              is  set  to  1.  Also,  if  a  link  is  manually  disconnected by a user it will be automatically
              reconnected after some  time  of  inactivity.  The  time  is  specified  by  setting  the  TIMEOUT
              configuration  variable.  If  the  TIMEOUT  variable is not set, no automatic reactivation will be
              done.

       TIMEOUT
              The number of seconds after which the link will be automatically deactivated if there have been no
              activity.  If  1  have been specified for DEFAULT_ACTIVE, this configuration variable will specify
              after how many seconds the link will be reactivated after being manually deactivated.

       AUTOACTIVATE_ON_SQL
              Enter a comma separated list of logics, which should automatically activate the link if  there  is
              activity  (e.g.  squelch open) in it. One possible application for this is for example to make the
              connection of a microphone/speaker combination (without DTMF encoder) for brief announcements  but
              without having to constantly listen in.  Example: AUTOACTIVATE_ON_SQL=MicSpkrLogic

   Local Receiver Section
       A local receiver section is used to specify the configuration for a receiver connected to the sound card.
       In the default configuration file there is a Local configuration section called Rx1.   The  section  name
       could  be anything. It should match the RX configuration variable in the logic core where the receiver is
       to be used. The available configuration variables are described below.

       TYPE   Always "Local" for a local receiver.

       RX_ID  A single char uniquely identifying this receiver. The RX identity can for example be used  in  the
              TCL  event  scripts  to  get different rogers sounds for different receivers when using a receiver
              voter.

       AUDIO_DEV
              Specify the audio device to  use.  Normally  alsa:plughw:0.  Have  a  look  at  the  AUDIO  DEVICE
              SPECIFICATIONS chapter for more information.

       AUDIO_CHANNEL
              Specify  the  audio  channel  to  use.  SvxLink can use the left/right stereo channels as two mono
              channels. Legal values are 0 or 1.

       AUDIO_DEV_KEEP_OPEN
              The normal behaviour for SvxLink is to open an audio device when needed and close it when it  does
              not  have  to  be  open  anymore.  This may cause problems in some applications or with some sound
              hardware. Set this variable to 1 to force SvxLink to keep the audio device open  from  application
              start to exit.

       SQL_DET
              Specify  the  type  of  squelch  detector  to use. Possible values are: VOX, CTCSS, SERIAL, EVDEV,
              SIGLEV, PTY, GPIO or HIDRAW.

              The VOX squelch detector determines if there is a signal present by calculating a  mean  value  of
              the  sound  samples.  The  VOX  squelch  detector  behavior  is adjusted with VOX_FILTER_DEPTH and
              VOX_THRESH. VOX is actually a bit of a misnomer since it's a  "Voice  Operated  Squelch"  and  VOX
              actually  means  "Voice  Operated Transmitter". However, the term VOX is widely understood by hams
              all over the world so we'll stick with it.

              The CTCSS squelch detector checks for the presence of a tone with  the  specified  frequency.  The
              tone  frequency  is  specified  using  the CTCSS_FQ config variable.  The thresholds are specified
              using the CTCSS_OPEN_THRESH and CTCSS_CLOSE_THRESH config variables. Other config  variables  that
              effect the CTCSS squelch is: CTCSS_MODE, CTCSS_SNR_OFFSET, CTCSS_BPF_LOW, CTCSS_BPF_HIGH.

              The  SERIAL  squelch  detector  use  a pin in a serial port to detect if the squelch is open. This
              squelch detector can be used if the receiver have an  external  hardware  indicator  of  when  the
              squelch is open. Specify which serial port/pin to use with SERIAL_PORT and SERIAL_PIN.

              The  EVDEV squelch detector read squelch events from a /dev/input/eventX device.  An example where
              this could be useful is if you have a USB audio device with some buttons  on  it.  Some  of  these
              devices  generate  key press events, much like a keyboard. Specify which /dev/input device node to
              use using the EVDEV_DEVNAME config variable. Set which events  that  should  open  and  close  the
              squelch using the EVDEV_OPEN and EVDEV_CLOSE config variables.

              The  GPIO  squelch  detector  read  a pin on the GPIO Port. Depending on the level of the pin, the
              squelch is switched. A HIGH (3.3V) at the pin set the squelch to open and a LOW (GND)  level  will
              set  the  squelch to closed.  Specify which squelch pin to use with the GPIO_SQL_PIN configuration
              variable.  On some devices, like the Orange Pi, you also need to set the  GPIO_PATH  configuration
              variable.

              The  SIGLEV  squelch detector use signal level measurements to determine if the squelch is open or
              not. Which signal  level  detector  to  use  is  determined  by  the  setting  of  the  SIGLEV_DET
              configuration  variable.  The  open  and close thresholds are set using the SIGLEV_OPEN_THRESH and
              SIGLEV_CLOSE_THRESH configuration variables.  If using the NOISE signal level  detector  note  the
              following.  The  detector  is not perfect (it's affected by speech) so you will also want to setup
              SQL_HANGTIME to prevent it from closing in the middle of a transmission. A value between 100-300ms
              is  probably  what  you  need. If using this squelch type in cooperation with a voter, you'll also
              probably need to setup SQL_DELAY to get correct signal level measurements. A value of  about  40ms
              seem  to  be  OK.   Also,  when  using  the  NOISE  signal  level detector the input audio must be
              unsquelched since silence will be interpreted as a high signal strength.

              The PTY squelch expects a very simple protocol over a pseudo-tty device,  created  by  SvxLink  at
              runtime.  An 'O' over this pty device indicate an open squelch, a 'Z' is a closed squelch.  Define
              the slave pty using PTY_PATH (e.g.  PTY_PATH=/tmp/sql) and SvxLink  will  create  a  link  to  the
              specified  path  from  it's  pseudotty  slave device (/dev/pts/X). This can be used by a script to
              interface  custom  devices,  modems  or  other  hardware  to  SvxLink.  Look   for   nhrcx.pl   or
              trx_pty_ctrl.py  for  an  example.   It is possible to specify the same PTY for multiple functions
              (e.g. DTMF, ptt etc) in both TX and RX configurations. This may be good if  there  is  one  script
              handling all functions.

              The  HIDRAW  squelch supports human interface devices (HID), USB devices like CM108 soundcard e.g.
              used in the URI Echolink adapter made by DMK.

       SQL_START_DELAY
              The squelch start delay is of most use when using VOX squelch. For  example,  if  the  transceiver
              makes a noise when the transmitter is turned off, that might trigger the VOX and cause an infinite
              loop of squelch open/close transmitter on/off.   Specify  the  number  of  milliseconds  that  the
              squelch should be "deaf" after the transmitter has been turned off.

       SQL_DELAY
              Specify  a delay in milliseconds that a squelch open indication will be delayed.  This odd feature
              can be of use when using a fast squelch detector in combination with the signal level detector.  A
              squelch  delay will allow the signal level detector to do its work before an indication of squelch
              open is sent to the logic core. A delay might be needed when  using  the  voter  to  choose  among
              multiple receivers. A normal value could be somewhere in between 20-100ms.

       SQL_HANGTIME
              How  long, in milliseconds, the squelch will stay open after the detector has indicated that it is
              closed. This configuration variable will affect all squelch detector types.

       SQL_EXTENDED_HANGTIME
              At low signal strengths it can be beneficial to use a longer squelch hangtime so that it  is  less
              likely  for the squelch to close. This configuration variable is unset by default. A value of 1000
              milliseconds may be a good value to start out  with.  To  enable  the  extended  squelch  hangtime
              feature, set up the SQL_EXTENDED_HANGTIME_THRESH variable.

       SQL_EXTENDED_HANGTIME_THRESH
              At  low  signal strengths it can be beneficial to use a longer squelch hangtime so that it is less
              likely for the squelch to close. This configuration variable is unset by default. When  set  to  a
              signal  level  it  will  activate  the extended squelch hangtime feature. When the signal strength
              during a transmission fall below the set threshold, the extended hangtime will be used. Start  out
              with  a  value  between  10  to 15. The SQL_EXTENDED_HANGTIME variable is used to set how long the
              extended squelch hangtime should be. Make sure that you have calibrated the signal level  detector
              before turning this feature on. Otherwise it will not work as expected.

       SQL_TIMEOUT
              Use  this  configuration  variable  to set an upper limit, in seconds, for how long the squelch is
              allowed to be open. If the timeout value is exceeded the squelch  is  forced  to  closed.  If  the
              squelch  close  for real, everything is back to normal. When it opens the next time a squelch open
              will be signaled.  For example, use this feature to make sure that a faulty receiver cannot  block
              the system indefinitely.

       VOX_FILTER_DEPTH
              The  number  of  milliseconds to create the mean value over. A small value will make the vox react
              quicker (<200) and larger values will make it a little bit more sluggish. A small value  is  often
              better.

       VOX_THRESH
              The  threshold  that  the  mean  value of the samples must exceed for the squelch to be considered
              open. It's hard to say what is a good value. Something around 1000 is probably a good  value.  Set
              it as low as possible without getting the vox to false trigger.

       CTCSS_MODE
              This  configuration  variable  set  the  CTCSS detection method used. These are the ones to choose
              from:

              •   0 (Default) Will choose the detection mode that is the default in the software. At the  moment
                  this is the "Estimated SNR" mode.

              •   1  (Neighbor  bins) This detection mode will use three narrow frequency bands (~8Hz) to do the
                  detection. One band is centered around the tone to be detected and then  there  are  one  band
                  above  and  one  below the tone. These bands are used to estimate the noise floor. This is the
                  detector that have been used in SvxLink for a long time. It is however rather  slow  with  its
                  detection time of about 450ms.  There is no good reason to use this detector anymore but it is
                  kept in case the new detector does not work for some hardware setup.

              •   2 (Estimated SNR) This is a newer detector implementation which have  some  improvements.  The
                  most  notable  difference  is that it is faster. The mean detection time will be around 200ms.
                  This is the default detection mode if not specified.  This detector will use a larger passband
                  to  estimate the noise floor which make it more stable. The default config use the whole CTCSS
                  passband but this  can  be  customized  using  the  CTCSS_BPF_LOW  and  CTCSS_BPF_HIGH  config
                  variables.

              •   3 (Estimated SNR+Phase) This detector is a bit experimental. It is even faster and more narrow
                  than the other detection modes. The mean detection time will be  something  like  150ms.   The
                  detection  bandwidth  is very narrow and very sharp so that no adjacent tones will trigger the
                  detector. The price to pay for these improvements is that is it a bit less sensitive.

       CTCSS_FQ
              If CTCSS (PL,subtone) squelch is used (SQL_DET is set to CTCSS), this  config  variable  sets  the
              frequency  of  the tone to use. The tone frequency ranges from 67.0 to 254.1 Hz. There actually is
              nothing that will stop you from setting the frequency to something outside this range but there is
              no guarantee that it will work.

       CTCSS_OPEN_THRESH
              If  CTCSS  (PL,  subtone) squelch is used (SQL_DET is set to CTCSS), this config variable sets the
              required tone level to indicate squelch open. The value is some kind of estimated signal to  noise
              dB value. If using CTCSS mode 2 or 3 it is helpful to set up the CTCSS_SNR_OFFSET config variable.
              This will make the SNR estimation pretty good. Default threshold is 15dB.

       CTCSS_CLOSE_THRESH
              If CTCSS (PL, subtone) squelch is used (SQL_DET is set to CTCSS), this config  variable  sets  the
              required tone level to indicate squelch close. The value is some kind of estimated signal to noise
              dB value. If using CTCSS mode 2 or 3 it is helpful to set up the CTCSS_SNR_OFFSET config variable.
              This will make the SNR estimation pretty good. Default threshold is 9dB.

       CTCSS_SNR_OFFSET
              This config variable is used when CTCSS_MODE is set to 0, 2 or 3. It will adjust the estimated SNR
              value so that it becomes very close to a real SNR value. This value will have to  be  adjusted  if
              CTCSS_FQ,  CTCSS_MODE,  CTCSS_BPF_LOW  or CTCSS_BPF_HIGH changes.  Use the siglevdetcal utility to
              find out what to set this config variable to.  There is no requirement to set this config variable
              up.  The  downside  is  that  you will then need to experiment more with the CTCSS_OPEN_THRESH and
              CTCSS_CLOSE_THRESH config variables to find the correct squelch level.

       CTCSS_BPF_LOW
              When CTCSS_MODE is set to 0, 2 or 3, this config variable will set the low  cutoff  frequency  for
              the  passband filter. It normally should not have to be adjusted but could improve the detector if
              some interference falls within the passband (e.g. mains hum). Note however that  the  more  narrow
              you  make  the  passband,  the  less  stable  the  detector will be. You may need to compensate by
              increasing the open/close thresholds or by setting up SQL_DELAY and SQL_HANGTIME. Default is 60Hz.

       CTCSS_BPF_HIGH
              When CTCSS_MODE is set to 0, 2 or 3, this config variable will set the high cutoff  frequency  for
              the  passband filter. It normally should not have to be adjusted but could improve the detector if
              some interference falls within the passband. Note however  that  the  more  narrow  you  make  the
              passband,  the  less  stable  the  detector  will be. You may need to compensate by increasing the
              open/close thresholds or by setting up SQL_DELAY and SQL_HANGTIME. Default is 270Hz.

       SERIAL_PORT
              If SQL_DET is set to SERIAL, this config variable determines which serial port should be used  for
              hardware  squelch  input  (COS - Carrier Operated Squelch).  Note: If the same serial port is used
              for the PTT, make sure you specify exactly the same device name. Otherwise the RX and TX will  not
              be able to share the port.  Example: SQL_PORT=/dev/ttyS0

       SERIAL_PIN
              If  SQL_DET  is  set  to SERIAL, this config variable determines which pin in the serial port that
              should be used for hardware squelch input (COS - Carrier Operated Squelch). It is possible to  use
              the  DCD,  CTS,  DSR  or  RI  pin.  If  inverted operation is desired, prefix the pin name with an
              exclamation mark (!).

              Example: SQL_PIN=!CTS

       SERIAL_SET_PINS
              Set the specified serial port pins to a static state.  This  can  be  good  if  using  a  pin  for
              reference voltage or if a pin have to be in a certain state to not interfere with the operation of
              some equipment. There are two pins that are possible to use, RTS and  DTR.  If  prefixed  with  an
              exclamation mark (!), the pin will be cleared and if not it will be set.

              Example: SERIAL_SET_PINS=RTS!DTR will set RTS and clear DTR.

       EVDEV_DEVNAME
              Specify  which  /dev/input  device  node to use for the EVDEV squelch detector.  To find out which
              device node and event codes to use, install the evtest utility. Find a candidate device node under
              /dev/input/  or  /dev/input/by-id/ and try the evtest utility on it. Press some keys on the device
              you want to read events from. If you're in luck, events will be printed on the screen.

       EVDEV_OPEN
              Use the evtest utility, as described above, to find out type, code and value  for  the  event  you
              want  to  use  to open the squelch. For example if type is 1, code is 163 and value is 1, set this
              config variable to 1,163,1.

       EVDEV_CLOSE
              Use the evtest utility, as described above, to find out type, code and value  for  the  event  you
              want  to  use to close the squelch. For example if type is 1, code is 163 and value is 0, set this
              config variable to 1,163,0. If you set the same type,code,value combination  for  both  EVDEV_OPEN
              and EVDEV_CLOSE, that event will toggle the squelch.

       GPIO_PATH
              Use  this  configuration  variable  to  set  the  path  to the sys control devices for GPIO.  This
              normally  is  /sys/class/gpio  but  on  some  hardware,  like  the  Orange   Pi,   the   path   is
              /sys/class/gpio_sw.

       GPIO_SQL_PIN
              If  SQL_DET is set to GPIO this configuration variable is used to choose which GPIO pin to use for
              squelch input. The most common name is gpio<number>,  like  gpio4.  Some  GPIO  drivers  use  more
              complex  names,  like  gpio33_pe11.  If inverted operation is desired, prefix the pin name with an
              exclamation mark (!).

              Example: GPIO_SQL_PIN=!gpio4

       SIGLEV_DET
              Choose which type of signal level detector to use. The available  choices  are:  "NONE",  "NOISE",
              "TONE", "AFSK" or "SIM". Depending on other configuration there may be more choices available. For
              example, if a Ddr receiver is used there will also be a DDR signal level detector available.   The
              signal  level  detector  is  only needed when using multiple receivers in a voter configuration or
              when using the SIGLEV squelch type.

              Type NONE disable the signal level detector. This may be used  if  no  signal  level  detector  is
              needed.

              Type NOISE use a bandpass filter in the range of 5 - 5.5kHz (CARD_SAMPLE_RATE >= 16000) or a high-
              pass filter at 3.5kHz (CARD_SAMPLE_RATE = 8000) to estimate the amount of  noise  present  on  the
              signal.  If  the  passband  contain  a  small amount of energy, a strong signal is assumed. If the
              passband contain more energy, a weaker signal is assumed.  The noise detector must  be  calibrated
              for  the  receiver and audio levels you use. This is done using the SIGLEV_SLOPE and SIGLEV_OFFSET
              configuration variables. See  chapter  CALIBRATING  THE  SIGNAL  LEVEL  DETECTOR  below  for  more
              information.

              Type  TONE  is  not  really  a  signal level detector but rather a transport mechanism for getting
              signal level measurements from a remote receiver site, linked in via RF, to the main SvxLink site.
              It is using ten tones, one for each signal level step, in the high audio frequency spectrum (5.5 -
              6.4kHz, 100Hz step) to indicate one of ten signal levels.   Only  the  receiving  part  have  been
              implemented  in SvxLink at the moment. On the remote receiver side an Atmel AVR ATmega8 is used to
              map the signal level voltage to tone frequencies.  Use the TONE_SIGLEV_MAP configuration  variable
              to map each tone to a corresponding signal level value in between 0 - 100.

              Type  AFSK  is  like  the  TONE  detector  really  a  transport mechanism. Signal level values are
              transmitted using Audio Frequency Shift Keying, AFSK, over the  receiver  uplink  channel  from  a
              remote  receiver  site. AFSK reception must have been enebled by setting OB_AFSK_ENABLE=1 and also
              optionally IB_AFSK_ENABLE=1.

              Type SIM is a simulated signal level detector that can be used to debug problems  in  the  SvxLink
              software.   Use   the   SIGLEV_MIN,   SIGLEV_MAX,   SIGLEV_DEFAULT,   SIGLEV_TOGGLE_INTERVAL   and
              SIGLEV_RAND_INTERVAL configuration variables to configure the simulator.

       HID_DEVICE
              This parameter defines the device your hidraw adapter is connected to. This port is created by the
              linux/hidraw driver.  e.g. HID_DEVICE=/dev/hidraw3

       HID_SQL_PIN
              Define  the  pin your hardware squelch (from RX) is connected to. Valid values are VOL_UP, VOL_DN,
              MUTE_PLAY or MUTE_REC.

              Example: HID_SQL_PIN=VOL_UP

       SIGLEV_SLOPE
              The slope (or gain) of the signal  level  detector.  See  chapter  CALIBRATING  THE  SIGNAL  LEVEL
              DETECTOR below for more information.

       SIGLEV_OFFSET
              The  offset  of the signal level detector. See chapter CALIBRATING THE SIGNAL LEVEL DETECTOR below
              for more information.

       SIGLEV_BOGUS_THRESH
              This configuration variable set an upper threshold for the estimated signal level when  using  the
              noise signal level detector.  If the estimation goes over the given threshold, a signal level of 0
              will be reported. This can be used as a workaround when using  a  receiver  with  squelched  audio
              output.  When the squelch is closed, the receiver audio is silent. The signal level estimator will
              interpret this as a very  strong  signal.  Setting  up  the  bogus  signal  level  threshold  will
              counteract this behavior but a better solution is to use unsquelched audio if possible.

              By default this feature is disabled. If enabling it, start with a value somewhere around 120.

       TONE_SIGLEV_MAP
              This  configuration  variable is used to map tones to signal level values when SIGLEV_DET=TONE. It
              is a comma separated list of ten values in the 0 - 100 range. The first value map  to  the  5500Hz
              tone, the second to the 5600Hz tone and so on. The last value map to the 6400Hz tone.  What levels
              the tones should be mapped to depends on the tone sender implementation. The default tone  map  is
              10,20,30...,100.

              The  Atmel AVR processor used by the author have a reverse mapping so that the first tone (5500Hz)
              indicate the highest signal strength and  the  last  tone  (6400Hz)  indicate  the  lowest  signal
              strength.  It is also not linear since it's more important to have fine measurement granularity in
              the  lower  signal   strength   range.   This   is   how   the   mapping   look   for   the   AVR:
              100,84,60,50,37,32,28,23,19,8.

       SIGLEV_OPEN_THRESH
              This  is  the  squelch  open threshold for the SIGLEV squelch detector.  If using the NOISE signal
              level detector, make sure to first calibrate the signal level detector using the SIGLEV_SLOPE  and
              SIGLEV_OFFSET  configuration variables. The signal level detector should normally be calibrated so
              that full signal strength is 100 and no signal is 0. Depending on your background  noise  level  a
              good value for this configuration variable is between 5 and 20.

       SIGLEV_CLOSE_THRESH
              This  is  the  squelch close threshold for the SIGLEV squelch detector.  If using the NOISE signal
              level detector, make sure to first calibrate the signal level detector using the SIGLEV_SLOPE  and
              SIGLEV_OFFSET  configuration variables. The signal level detector should normally be calibrated so
              that full signal strength is 100 and no signal is 0. Depending on your background  noise  level  a
              good value for this configuration variable is between 1 and 10.

       SIGLEV_MIN
              The minimum signal level used by SIM signal level detector.

       SIGLEV_MAX
              The maximum signal level used by SIM signal level detector.

       SIGLEV_DEFAULT
              The default signal level set on startup by the SIM signal level detector.

       SIGLEV_TOGGLE_INTERVAL
              The  interval,  in milliseconds, that the SIM signal level detector will use to toggle between the
              maximum and the minimum signal levels.

       SIGLEV_RAND_INTERVAL
              The interval, in milliseconds, that the SIM signal level detector will use between  randomizing  a
              new  signal level value. At each interval, the simulator will randomly either increase or decrease
              the signal level with one step.

       DEEMPHASIS
              Apply a deemphasis filter on received audio. The deemphasis  filter  is  used  when  taking  audio
              directly  from  the detector in the receiver, like when using a 9k6 packet radio connector. If not
              using a deemphasis filter the high frequencies will  be  amplified  resulting  in  a  very  bright
              (tinny) sound.

       SQL_TAIL_ELIM
              Squelch  tail elimination is used to remove noise from the end of a received transmission. This is
              of most use when using CTCSS or SIGLEV squelch with unsquelched input audio. A normal value  is  a
              couple  of  hundred  milliseconds.   Note  that  the  audio  will be delayed by the same amount of
              milliseconds. This does not matter much for a simplex link but for a repeater the delay  might  be
              annoying since you risk hearing the end of your own transmission.

       PREAMP The  incoming  signal  will be amplified by the specified number of dB. This can be used as a last
              measure if the input audio level can't be set high enough on the analogue side.  A  value  of  6dB
              will  double the signal level. Note that this is a digital amplification. Hence it will reduce the
              dynamic range of the signal so usage should be avoided if possible. It's always better to  correct
              the audio level before sampling it.

       PEAK_METER
              This  is  a  help  to  adjust  the  incoming audio level. If enabled it will output a message when
              distortion occurs. To adjust the audio level, first open the  squelch.  Then  increase  the  audio
              level  until warning messages are printed.  Decrease the audio level until no warning messages are
              printed. After the adjustment  has  been  done,  the  peak  meter  can  be  disabled.  0=disabled,
              1=enabled.

       DTMF_DEC_TYPE
              Specify  the  DTMF  decoder type. Set it to INTERNAL to use the internal software DTMF decoder. To
              use the S54S interface featuring a hardware DTMF decoder, set it to S54S.  To control  it  over  a
              pseudo  tty  device  set  it to PTY.  Setting it to PTY will install the PTY dtmf decoder. SvxLink
              creates a symlink linked to a slave pty device on  runtime.  The  name  has  to  be  defined  with
              DTMF_PTY.  If AFSK reception is enabled using OB_AFSK_ENABLE/IB_AFSK_ENABLE, remotely decoded DTMF
              digits may be received by setting this configuration variable to AFSK.  NONE or commenting it  out
              will disable DTMF detection.

       DTMF_MUTING
              Mute  the  audio  during the time when a DTMF digit is being received. Note that the audio will be
              delayed 75ms to give the DTMF detector time to do its work.   This  does  not  matter  much  on  a
              simplex  link  but on a repeater it could be annoying since you will hear the last 75 milliseconds
              of your own transmission.  To counteract  the  added  delay  one  can  set  up  the  SQL_TAIL_ELIM
              configuration  variable to at least 75 milliseconds.  Legal values for DTMF_MUTING are 0=disabled,
              1=enabled.

       DTMF_HANGTIME
              This configuration variable can be used if the DTMF decoder is too quick to indicate  digit  idle.
              That  does  not matter at high signal strengths but for weaker signals and mobile flutter it's not
              good at all. Each DTMF digit will be detected multiple times.  Using this configuration  variable,
              the  time  (ms)  a tone must be missing to be indicated as off can be extended. Setting this value
              too high will cause the decoder to be a bit sluggish and it might consider two digits as one.  The
              hang  time  only  affect  consecutive  digits  of  the same value (e.g. 1 1).  If a detected digit
              differs from the previously detected digit (e.g 1 2), the hang time is  immediately  canceled  and
              the detected digit is considered as a new one. A good default value is 50-100ms.

       DTMF_SERIAL
              When using an external hardware DTMF decoder this config variable is used to specify a serial port
              (e.g. /dev/ttyS0).

       DTMF_PTY
              When using the PTY DTMF "decoder" this configuration variable will set the path to the  PTY  slave
              softlink  that  the  external interface script use to communicate to SvxLink. Over this softlink a
              very simple communication protocol is used to notify SvxLink about received DTMF digits: 0-9, A-F,
              *,  #.  "E"  is  the  same as "*" and "F" is the same as "#". Sending a digit tell SvxLink when it
              starts. To tell SvxLink that the digit has ended, send a space character.

              The PTY DTMF "decoder" can be used by an external script to interface custom  devices,  modems  or
              other hardware to SvxLink. Look for nhrcx.pl or trx_pty_ctrl.py for an example.

              It  is  possible to specify the same PTY for multiple functions (e.g. squelch, ptt etc) in both TX
              and RX configurations. This may be good if there is one script handling all functions.

              Example: /tmp/rx1_dtmf.

       DTMF_MAX_FWD_TWIST
              DTMF use two tones to encode digits 0-9, A-F. These two tones  should  normally  have  the  sample
              amplitude. The difference in amplitude is called twist. Forward twist is when the higher frequency
              tone is lower in amplitude than the lower frequency tone. According to the standards, 8dB  forward
              twist  should  be allowed.  Some transmitters do not correctly modulate the DTMF tones to get zero
              twist.  The most common situation is  that  the  forward  twist  is  too  large.  Increasing  this
              configuration  variable  above  8dB  might allow DTMF from these transmitters to be detected. When
              doing this, the DTMF detector will be more sensitive to noise and might cause more false triggers.

       DTMF_MAX_REV_TWIST
              DTMF use two tones to encode digits 0-9, A-F. These two tones  should  normally  have  the  sample
              amplitude.  The difference in amplitude is called twist. Reverse twist is when the lower frequency
              tone is lower in amplitude than the higher frequency tone. According to the standards, 4dB reverse
              twist should be allowed but SvxLink will allow 6dB by default.  The most common reason for getting
              reverse twist is a bad de-emphasis filter or that none at all is  used,  like  when  taking  audio
              directly  from  the  FM discriminator. Have a look at the DEEMPHASIS configuration variable before
              starting to modify this configuration variable.

       DTMF_DEBUG
              Set to 1 to continuously print software DTMF decoder decision parameters. This should only be used
              for  a  short  while  to  pinpoint  problems with the DTMF decoding since it will print one row of
              analysis parameters 100 times per second. The following parameters are printed.

              •   pwr - The power in the audio signal. Must be over about -50dB.

              •   q - Quality. Should be close to 1.00 for a good detection.  If the signal is  strong  but  the
                  value  is  low anyway, the signal probably is distorted for some reason. The input audio level
                  may be too high for example.

              •   twist - The amplitude difference between the two tones.  Should be around 0dB, which means the
                  tones  should  ideally  be  of  the same strength. By default, values between -6dB to +8dB are
                  accepted but the thresholds can be set using  the  DTMF_MAX_FWD_TWIST  and  DTMF_MAX_REV_TWIST
                  configuration variables.

              •   rowq - Quality of the row (low group) tone. Should be close to one.

              •   colq - Quality of the column (high group) tone. Should be close to one.

              •   digit - The digit mapped to the two detected tones.

              •   row3rd  -  The row tone relation to its third overtone.  Should be close to zero. If it's not,
                  the signal is probably distorted.

              •   col3rd - The column tone relation to its third overtone.  Should be close  to  zero.  If  it's
                  not, the signal is probably distorted.

              •   im - The relation of the two tones to their intermodulation product.  Should be close to zero.
                  If it's not, the signal is probably distorted.

       1750_MUTING
              Mute the audio during a call tone of 1750Hz is received. Note that the audio will be delayed  75ms
              to give the tone detector time to do its work.  This does not matter much on a simplex link but on
              a repeater it could be annoying since  you  will  hear  the  last  75  milliseconds  of  your  own
              transmission.   To  counteract  the  added  delay  one  can set up the SQL_TAIL_ELIM configuration
              variable to at least 75 milliseconds.  Legal values for 1750_MUTING are 0=disabled, 1=enabled.

       SEL5_TYPE
              Define here your selective tone call system. You have the choice of the  following  types:  ZVEI1,
              ZVEI2,  ZVEI3,  PZVEI,  PDZVEI, DZVEI, CCITT, EEA, CCIR1, CCIR2, NATEL, EURO, VDEW, AUTO-A, MODAT,
              PCCIR and EIA. Only one system can be used at the same time. Please take into  consideration  that
              some  Sel5  standards  are using the same or similar tones so it may have some unwanted effects if
              you define ZVEI1 for SvxLink and a (e.g.) ZVEI3 sequence is received.

       SEL5_DEC_TYPE
              At the moment only SEL5_DEC_TYPE=INTERNAL is valid. Maybe we have support for some  external  tone
              detectors  later.  To  disable  SEL5 tone decoding, specify NONE or just comment the configuration
              variable out.

       RAW_AUDIO_UDP_DEST
              Setting this configuration variable makes it possible to stream  the  raw  audio  from  the  sound
              device  to  an  UDP  socket. The sample format is the one used internally in SvxLink, that is each
              sample is represented by a 32 bit float.  The sample rate is the same as the one  chosen  for  the
              audio device.  The destination is specified as ip-address:port.

              Example: RAW_AUDIO_UDP_DEST=127.0.0.1:10000

       OB_AFSK_ENABLE
              Set  to  1  to  enable  reception of metadata like signal level measurements, DTMF digits and tone
              detections via out-of-band (OB) AFSK. The out-of-band AFSK is transmitted above the voice band  so
              that  it  is  possible  to  transmit AFSK bursts at the same time as someone is speaking. The AFSK
              bursts are filtered out before the audio is handed on to the next stage  so  normal  users  should
              never  hear  the  AFSK bursts. The AFSK feature is typically used on a remote receiver uplink. The
              protocol used is SvxLink specific. Data is transmitted in 300Bd with a shift of 170Hz and a center
              frequency of 5500Hz. The RemoteTrx application have the capability to transmit this protocol.

       OB_AFSK_VOICE_GAIN
              To  be able to send both voice and AFSK at the same time it may be necessary to lower the level of
              the voice audio as to not overdrive the transmitter. This is compensated in the link  receiver  by
              amplifying  the voice audio back to its original level. This configuration variable should thus be
              set to the negated value of the same configuration variable in  the  transmitter  section  of  the
              transmitting  RemoteTrx.  If it's set to -6dB in the transmitter configuration it should be set to
              6dB here.

       IB_AFSK_ENABLE
              Set to 1 to enable reception of an initial signal level measurement via in-band (IB) AFSK. This is
              used  in  cooperation  with  the  out-of-band  AFSK  feature  to  quickly  transfer a signal level
              measurement to get the squelch opened. The in-band AFSK is transmitted in the voice band  and  can
              thus use the higher baudrate of 1200Bd. Since it's only transmitted when the squelch is closed the
              end user will not hear the AFSK burst. The AFSK feature is typically used  on  a  remote  receiver
              uplink.  The  protocol  used  is  SvxLink  specific. Data is transmitted in 1200Bd with a shift of
              1000Hz and a center frequency of  1700Hz.   The  RemoteTrx  application  have  the  capability  to
              transmit this protocol.

       CTRL_PTY
              Set  this configuration variable to the path of a PTY to use for controlling a receivers frequency
              and modulation. This can be used to interface a receiver to SvxLink using  a  translation  script,
              like   trx_pty_ctrl.py.   To   set   the   receive  frequency,  SvxLink  will  send  the  sequence
              "f<frequency>;". The frequency will be in Hz, e.g. f145550000; will be sent to set the receiver to
              145.550MHz.

              To set the modulation the command is "m<modulation>;". Look at the documentation of the MODULATION
              configuration variable to see which modulations that are available. To set "normal" 25kHz  channel
              spaced FM the command would be mFM;.

              It  is  possible to specify the same PTY for multiple functions (e.g. squelch, ptt etc) in both TX
              and RX configurations. This may be good if there is one script handling all functions.

   Ddr Receiver Section
       A special kind of local receiver is the Digital Drop Receiver (DDR).  It  will  use  either  the  rtl_tcp
       utility  or  a  direct USB connection to interface to a RTL2832U based DVB-T USB dongle and use that as a
       wide-band receiver. These USB dongles can be bought cheaply from  an  Internet  shop  (~$10).  The  radio
       performance may not be great but better than one might think. Usage as a cheap local coverage receiver or
       as a link receiver may work very well.

       One big advantage of using a wide-band receiver is that it is possible to monitor more  than  one  narrow
       band  channel  at  a  time. The only limit is the CPU power and the bandwidth of the wide-band tuner. You
       probably need a Pentium4 or better to fulfill the CPU demands.

       Getting the DVB-T dongle running is out of scope for this document but what you absolutely need to do  is
       to  find  out  the  frequency error on your specific dongle. When you have figured out what the frequency
       error is, set up the FQ_CORR configuration variable in the wide-band receiver configuration section.

       The rtl_tcp utility is in a package named similar to something like rtl-sdr.  When you have  the  rtl-sdr
       stuff  installed, just start rtl_tcp. No command line arguments are needed. Then configure a Ddr receiver
       in SvxLink. All configuration variables that are  available  for  an  ordinary  local  receiver  is  also
       available  for a Ddr receiver, except the audio device related ones which are just ignored. The following
       configuration variables are available in addition to the ordinary ones.

       FQ     The narrow-band channel frequency to tune to.

       MODULATION
              The modulation used on the channel. Legal values are: "FM" (two-way radio  frequency  modulation),
              "NBFM"  (two-way  radio  narrow  frequency  modulation),  "WBFM"  (broadcast  wide-band  frequency
              modulation), "AM"  (two-way  radio  amplitude  modulation),  "NBAM"  (two-way  radio  narrow  band
              amplitude modulation), "USB" (Upper Sideband), "LSB" (Lower Sideband), "CW" (Continuous Wave, e.g.
              Morse), "WBCW" (CW wide).

       WBRX   The configuration section for the wide-band receiver to  connect  this  DDR  to.   See  "wide-band
              Receiver Section" below.

       SIGLEV_DET
              For  a  Ddr there also is a special signal level detector available, DDR, that will measure the RF
              power before demodulation. This is much more reliable than estimating the signal power through the
              audio  which  is  normally  done  in  SvxLink.   The  drawback is that the Ddr signal level is not
              completely comparable to the ordinary SvxLink signal level measurements since  it  have  a  larger
              dynamic range. Set SIGLEV_DET=DDR to activate the Ddr signal level detector.

   Wide-band Receiver Section
       A  wide-band  receiver section is used to configure access to a wide-band receiver which can be used by a
       Digital Drop Receiver (DDR), described above, to handle multiple  narrow-band  channels  using  the  same
       hardware.  The  only hardware supported at the moment is RTL2832U based DVB-T USB dongles. SvxLink access
       the dongle directly via USB or through the rtl_tcp utility, which make the  dongle  available  on  a  TCP
       network port. The following configuration variables are available:

       TYPE   The  type  of  wide-band  receiver  used.  The  only  supported  values right now are "RtlTcp" and
              "RtlUsb".

       DEV_MATCH
              When using RtlUsb, this configuration variable is used to select the dongle to use  if  there  are
              multiple  dongles  connected  to the computer. When looking for dongles, SvxLink will try to match
              the string given in this configuration variable in different ways. First, if it's a digit, a match
              against  the  device index is tried. The device index is just a number, zero and up, that is given
              to a dongle when it's inserted.

              If the device index does not match, a match against the beginning, end or the whole serial  number
              will be tried.

              Default: 0 (first device found)

       HOST   The name of the host that the rtl_tcp utility is running on (Default: localhost).

       PORT   The TCP port that rtl_tcp is listening on (Default: 1234).

       SAMPLE_RATE
              The sample rate used by the dongle. Legal values are 960000 and 2400000 (Default: 960000).

       FQ_CORR
              This  is probably the most important configuration variable. Most dongles are far off in frequency
              so they need to be  calibrated.  Calibrating  the  dongle  can  be  done  in  multiple  ways.  The
              recommended  way  is  to  use  the  devcal  utility  that  is  distributed along with SvxLink. The
              calibration procedure is described in the devcal (1) manual page.

              The end result should be a correction value for how far off the dongle is in frequency counted  in
              parts  per  million (PPM). That is, how many Hz per MHz is the tuner off by. Typical values are in
              the range -100 to 100.

       CENTER_FQ
              The frequency, in Hz, that the wide-band tuner should be placed at.  This  configuration  variable
              should normally be left unset since SvxLink will try to place the wide-band tuner to cover all set
              up Ddr frequencies. SvxLink will also try to avoid placing a Ddr on the center  frequency  of  the
              wide-band  spectrum  since there is usually some noise there. Only use this configuration variable
              if you need to override the automatic placement for some reason.

       XVRTR_OFFSET
              If a transverter is used, this configuration variable can be set to the frequency offset that  the
              transverter  introduce.  The frequency set here will be added to the center frequency of the wide-
              band receiver.

       GAIN   If unset, automatic gain is used. Do not use automatic gain control if using the DDR signal  level
              detector.  That  may mess up the measurements. Finding a good gain setting may be hard. Too little
              and you will not hear the signals you want to hear. Too much and the tuner  will  be  driven  into
              distortion.  One  way  to decide the maximum usable gain is to use the PEAK_METER explained below.
              When there are no distortion warning messages printed or just a single one now and then  you  have
              found  the  max  gain.  You  should  probably  back at least one step down from this value. If the
              signals you want to receive are very strong, set the gain as low as possible.

              What gain values that are available is tuner dependent. SvxLink  will  print  the  available  gain
              values  when  it  establishes  the connection to the tuner. Typical values are in the range -10 to
              50dB.

       PEAK_METER
              If PEAK_METER is set to 1, a warning  will  be  printed  every  time  the  tuner  is  driven  into
              distortion.  If  it happens too often the gain should be lowered.  At most, one warning per second
              will be printed.

   LocalSim Receiver Section
       A simulated local receiver can be used to debug problems in the SvxLink software.  The  only  thing  that
       this  very  simple  simulator  does  is  to  play a tone. The generated tone can be controlled using some
       configuration variables.

       SIM_WAVEFORM
              Set the waveform to use; SIN=sine wave, SQUARE=square wave.

       SIM_TONE_FQ
              Set the frequency of the tone in Hz.

       SIM_TONE_PWR
              Set the tone power in dB. 0dB corresponds to the power in a full-scale sine wave.

   Voter Section
       Receiver type "Voter" is a "receiver" that combines multiple receivers and selects one of  them  to  take
       audio  from  when the squelch opens. Which receiver to use is selected directly after squelch open. It is
       possible to set up a voting delay which will make the voter wait a while before choosing which RX to use.
       This  will  give all receivers some time to report their signal strengths.  After the initial choice have
       been made a periodic check is done to see if any of the other receivers receive a  stronger  signal.   In
       the default configuration file there is a voter section called Voter.

       TYPE   Always "Voter" for a voter.

       RECEIVERS
              Specify  a  comma  separated list of receivers that the voter should use.  Optionally the receiver
              name may be followed by a colon and a squelch delay value. This can be used to adjust  the  voting
              delay  for receivers that always are slower to open for some reason. The delay value given will be
              subtracted from the voting delay if the receiver is the first one to open.

              The usage of the delay value is best illustrated  with  an  example.   Let's  say  we  have  three
              receivers  where  two  of the receivers take at most 100ms to report signal level and one receiver
              requires 300ms. We then need to set the VOTING_DELAY to something like 350ms so as to be sure that
              all  receivers  get  a  chance to report their signal level measurement. If only the slow receiver
              opens there will be a total delay of 300+350=650ms. This is unnecessarily long since the other two
              receivers  should  have  reported their signal strength way earlier. It's thus safe to shorten the
              voting delay for the slow receiver, so we do this: RECEIVERS=FastRx1,FastRx2,SlowRx:200. The total
              squelch  open delay will now be 100+350=450ms for the fast receivers and 300+350-200=450ms for the
              slow receiver. That is, all receivers are now equally fast.

              Example: RECEIVERS=Rx1,Rx2:200,Rx3

       VOTING_DELAY
              Specify the delay in milliseconds that the voter will wait after the first squelch open  detection
              until  the  decision  of which receiver to use is made. This time must be set sufficiently high to
              allow all receivers to calculate and report the signal level. Incoming audio and DTMF digits  will
              be  buffered  for  all  receivers during the delay time so nothing will be lost, but of course the
              audio will be delayed the specified amount of time. This is most noticeable when using a  repeater
              logic.  Use  the  BUFFER_LENGTH  configuration  variable to adjust the buffer length.  The default
              voting delay is 0.

       BUFFER_LENGTH
              Use this configuration variable to  adjust  the  length  of  the  voting  delay  buffer.   If  not
              specified,  the  buffer  length  will be the same as the voting delay. When using the voter with a
              repeater logic, try to keep this variable at 0 to reduce the latency. Only increase it if you feel
              audio is lost in the beginning of transmissions.

       REVOTE_INTERVAL
              This  is  the interval time in milliseconds with which the voter will check if another receiver is
              receiving a stronger signal. If that is the case, a receiver switch will be initiated.  Default is
              1000 milliseconds.

       HYSTERESIS
              The  hysteresis setting will prevent the voter from switching back and forth between two receivers
              that are equal in signal strength. For a switch to occur, the other receivers signal strength must
              exceed  the  current  receivers  signal  strength  by  the percent specified in this configuration
              variable. So if the hysteresis is set to 50% and the  received  signal  strength  on  the  current
              receiver  is  40,  a  signal  strength  of 40*1.5=60 is required on another receiver to initiate a
              switch. At squelch open, if the received signal strength plus hysteresis is larger than  100,  the
              voting delay will be skipped.  The default hysteresis is 50 percent.

       RX_SWITCH_DELAY
              When  a  receiver  switch  is  initiated  by  the  voter,  it will wait the number of milliseconds
              specified in this configuration variable before actually performing the switch.  The  switch  will
              only occur if the other receivers signal strength is still higher.  Default is 500 milliseconds.

       SQL_CLOSE_REVOTE_DELAY
              The  voter  will wait the number of milliseconds specified in this config variable after a squelch
              close before voting in another receiver. There are two reasons for using this delay. The first  is
              to  prevent the voter from going into idle state immediately when the squelch close for a fluttery
              signal. If it goes to idle, the procedure  with  voting  delay  may  cause  longer  dropouts  than
              necessary.  The second reason to use this config variable is if different receivers have different
              hang times (explicitly or implicitly). If both a slow and fast  receiver  is  receiving  the  same
              signal  and  the  faster is currently chosen, when the PTT is released the slower receiver will be
              voted before closing.  This will cause a double squelch tail and double roger  beep.   Default  is
              500 milliseconds.

       COMMAND_PTY
              Specify  the  path  to  a  PTY  that  can  be used to control the voter from the operating system.
              Available commands:

              •   ENABLE rx_name - Enable the given receiver

              •   DISABLE rx_name - Disable the given receiver

              Commands can be issued using a simple echo command from the shell.  Example:  echo  "DISABLE  Rx1"
              >/dev/shm/voter_ctrl

   Networked Receiver Section
       A  networked  receiver  section  is  used to specify the configuration for a receiver connected through a
       TCP/IP network. In the default configuration file there is a  networked  receiver  configuration  section
       called  NetRx.   The section name could be anything. It should match the RX configuration variable in the
       logic core where the receiver is to be used. The available configuration variables are  described  below.
       How to use a networked receiver is further described in the remotetrx(1) manual page.

       TYPE   Always "Net" for a networked receiver.

       HOST   The hostname or IP address of the remote receiver host.

       TCP_PORT
              The TCP port that RemoteTrx listen on. The default is 5210.

       LOG_DISCONNECTS_ONCE
              Set this configuration variable to 1 to suppress logging of multiple disconnect messages in a row,
              like when there is no RemoteTrx running on the other side.  Thus, failed reconnect  attempts  will
              not be logged at all. This may be of use if a RemoteTrx is missing for a long time or if it's only
              used from time to time. The default is 0 which means that all reconnect attempts will be logged.

       AUTH_KEY
              This is the authentication key (password) to use to connect to the RemoteTrx server. The same  key
              have  to  be  specified  in  the RemoteTrx configuration.  If no key is specified in the RemoteTrx
              config, the login will be unauthenticated. A good authentication key should be 20 characters long.
              If the same RemoteTrx is used for both RX and TX, the same key must be specified in the RX as well
              as in the TX configuration section.  The key will never be transmitted over the network.  A  HMAC-
              SHA1 challenge-response procedure will be used for authentication.

       CODEC  The  audio  codec to use when transferring audio from this remote receiver.  Available codecs are:
              RAW (512kbps), S16 (256kbps), GSM (13.2kbps), SPEEX (8-25kbps), OPUS  (8-64kbps).  These  are  raw
              bit-rate values. There will be some overhead added to this so the real bit-rates on the wire are a
              little bit higher. The OPUS codec is the most modern one and it also have the best quality  for  a
              given bit-rate.

       SPEEX_ENC_FRAMES_PER_PACKET
              Speex   encoder  setting.  Each  Speex  frame  contains  20ms  audio.  If  using  a  low  bit-rate
              configuration, the network overhead will be quite noticeable if sending  each  frame  in  its  own
              packet.  One  way  to  lower  the  overhead is to send multiple frames in each network packet. The
              drawback with doing this is that you get more delay. If setting this option to  something  like  4
              (default), the delay will be about 4x20=80ms.

       SPEEX_ENC_QUALITY
              Speex encoder setting. Specify the encoder quality using a number between 0-10.  Lower values give
              poorer quality and lower bit-rates.

       SPEEX_ENC_BITRATE
              Speex encoder setting. Specify the bit-rate to use. Speex will snap to the nearest lower  possible
              bit-rate.  Possible  values range from 2150 to 24600 bps.  You should probably not specify quality
              at the same time as bit-rate. Not sure though...

       SPEEX_ENC_COMPLEXITY
              Speex encoder setting. The complexity setting (0-10) tells the encoder how much CPU time it should
              spend  on  doing  a  good job. The difference in SNR between the lowest and highest value is about
              2dB. Set it as high as possible without overloading the CPU on the encoding  computer  (check  CPU
              usage using command "top").

       SPEEX_ENC_VBR
              Speex  encoder  setting.  Enable  (1)  or  disable (0) variable bit-rate encoding. If enabled, the
              encoder will try to keep a constant quality by increasing the bit-rate when needed.

       SPEEX_ENC_VBR_QUALITY
              Speex encoder setting. The quality (0-10) to use in variable bit-rate mode.

       SPEEX_ENC_ABR
              Speex encoder setting. The average bit-rate encoding  will  try  to  keep  a  target  bit-rate  by
              continuously  adjusting  the  quality. This configuration variable specify the target bit-rate and
              enable ABR. It also need to have VBR enabled so don't force it to off.

       SPEEX_DEC_ENHANCER
              Speex decoder setting. Enable  (1)  or  disable  (0)  the  perceptual  enhancer  in  the  decoder.
              Perceptual  enhancement  is  a  part  of the decoder which, when turned on, attempts to reduce the
              perception of the noise/distortion produced by  the  encoding/decoding  process.  In  most  cases,
              perceptual  enhancement  brings  the sound further from the original objectively (e.g. considering
              only SNR), but in the end it still sounds better (subjective improvement).

       OPUS_ENC_FRAME_SIZE
              Opus encoder setting. Specify how large, in milliseconds, each audio packet  should  be.  Default:
              20ms.

       OPUS_ENC_COMPLEXITY
              Opus  encoder setting. The complexity setting (0-10) tells the encoder how much CPU time it should
              spend on doing a good job. Set it as high as possible without overloading the CPU on the  encoding
              computer (check CPU usage using command "top"). Default: 10.

       OPUS_ENC_BITRATE
              Opus  encoder  setting.  This  is the bit-rate that the encoder will encode for.  Rates from about
              8000 to 64000 bits per second are meaningful but the codec can handle from  like  2500  to  512000
              bps. Default: 20000bps.

       OPUS_ENC_VBR
              Opus  encoder  setting.  Enable  (1)  or  disable  (0) variable bit-rate encoding. If enabled, the
              encoder will try to keep a constant quality by increasing the bit-rate when needed and decrease it
              when  the quality can be assured with a lower bit-rate. The target average bit-rate is the one set
              by OPUS_ENC_BITRATE.  Default: 1.

   Local Transmitter Section
       A local transmitter section is used to specify the configuration for a local transmitter. In the  default
       configuration  file  there is a configuration section called Tx1.  The section name could be anything. It
       should match the TX configuration variable in the logic core where the transmitter is  to  be  used.  The
       available configuration variables are described below.

       TYPE   Always "Local" for a local transmitter.

       AUDIO_DEV
              Specify  the  audio  device  to  use.  Normally  alsa:plughw:0.  Have  a  look at the AUDIO DEVICE
              SPECIFICATIONS chapter for more information.

       AUDIO_CHANNEL
              Specify the audio channel to use. SvxLink can use the  left/right  stereo  channels  as  two  mono
              channels. Legal values are 0 or 1.

       AUDIO_DEV_KEEP_OPEN
              The  normal behaviour for SvxLink is to open an audio device when needed and close it when it does
              not have to be open anymore. This may cause problems in  some  applications  or  with  some  sound
              hardware.  Set  this variable to 1 to force SvxLink to keep the audio device open from application
              start to exit.

       PTT_TYPE
              Use this configuration variable to specify which type of hardware  to  use  to  control  the  PTT.
              Specify  "SerialPin" for using a pin in the serial port, "GPIO" to use a pin in a GPIO port, "PTY"
              if you want to use an external interface script via a pseudo tty  port  or  "Hidraw"  to  use  the
              linux/hidraw driver to support hidraw devices like CM108 sound card, e.g. URI device from DMK.

              Set  PTT_TYPE  to  "Dummy"  or  "NONE"  to  not use any PTT hardware at all. It is an error to not
              specify PTT_TYPE.

              Use PTT_PIN to specify the pin to use for "SerialPin" or "GPIO".

       PTT_PORT
              Specify the serial port that the PTT is connected to. E.g. /dev/ttyS0 for COM1.

       PTT_PIN
              If PTT_TYPE is set to "SerialPin", specify the pin(s) in the serial port that the PTT is connected
              to. It is possible to specify one or two serial port pins.  Some interface boards require that you
              specify two pins since one pin does not provide enough drive power to the circuit. A "!" in  front
              of  the  pin  name  indicates  inverted  operation.  Some  of the possible values are RTS, DTRRTS,
              !DTR!RTS or even DTR!RTS.

              If GPIO was specified in PTT_TYPE, set the PTT_PIN config variable to the pin name of the GPIO-pin
              to  use. The most common name is gpio<number>, like gpio3.  Some GPIO drivers use more complex pin
              names like gpio33_pe11.  Have a look at the USING GPIO section for information on how  to  set  up
              the  operating system.  Normally, the pin will be active high but if the pin name is prefixed with
              an exclamation mark it will be active low instead. For some hardware platforms  you  may  need  to
              also set the GPIO_PATH configuration variable.

       GPIO_PATH
              Use  this  configuration  variable  to  set  the  path  to the sys control devices for GPIO.  This
              normally  is  /sys/class/gpio  but  on  some  hardware,  like  the  Orange   Pi,   the   path   is
              /sys/class/gpio_sw.

       PTT_PTY
              If  PTT_TYPE  is  set  to  "PTY"  this  configuration variable will set the path for the PTY slave
              softlink that is used by the external script to communicate to SvxLink.

              SvxLink sends a 'T' to start transmitting and a 'R' to turn the transmitter off.  This can be used
              by  an external script to interface custom devices, modems or other hardware to SvxLink.  Look for
              nhrcx.pl to see an example.

              It is possible to specify the same PTY for multiple functions (e.g. squelch, DTMF etc) in both  TX
              and RX configurations. This may be good if there is one script handling all functions.

       HID_DEVICE
              Define the device node where your hidraw device is accessible at.

              Example: HID_DEVICE=/dev/hidraw3

       HID_PTT_PIN
              Define the pin your ptt control is connected to. Valid parameters are are GPIO1,GPIO2,GPIO3,GPIO4.
              Note that some sound cards like SSS1621 may not support  GPIO3  and  GPIO4!  You  can  invert  the
              behavior with a "!" in front of the name. Only one value is supported.

       SERIAL_SET_PINS
              Set  the  specified  serial  port  pins  to  a  static  state. This can be good if using a pin for
              reference voltage or if a pin have to be in a certain state to not interfere with the operation of
              some  equipment.  There  are  two  pins that are possible to use, RTS and DTR. If prefixed with an
              exclamation mark (!), the pin will be cleared and if  not  it  will  be  set.  This  configuration
              variable can only be used when PTT_TYPE is set to "SerialPin".

              Example: SERIAL_SET_PINS=RTS!DTR will set RTS and clear DTR.

       PTT_HANGTIME
              Use  this  configuration variable to set a PTT hangtime. This can be good to have on a transmitter
              in combination with using a tone squelch. When the transmitter is ordered  to  stop  transmitting,
              the  tone  is  immediately  turned  off, causing the squelch to close on the other side. Since the
              transmitter keeps transmitting for a while, no squelch tail will be heard.

              Another use is on a remote receiver link transmitter where you don't want the transmitter to  turn
              on  and  off  between  transmissions  or  if the squelch close and open quickly due to for example
              mobile flutter.

       TIMEOUT
              This is a feature that will prevent the transmitter from getting stuck transmitting.  Specify  the
              number  of  seconds  before  the transmitter is turned off. Note that this is a low level security
              mechanism that is meant to only kick in if there is a software bug in SvxLink. Just  so  that  the
              transmitter will not transmit indefinitely. It is not meant to be used to keep people from talking
              too long.

       TX_DELAY
              The number of milliseconds (0-1000) to wait after the transmitter has been turned on  until  audio
              is  starting  to  be  transmitted.  This  can be used to compensate for slow TX reaction or remote
              stations with slow reacting squelches.

       CTCSS_FQ
              The frequency in Hz of the CTCSS tone to transmit. It is possible to specify fractions  using  "."
              as  decimal  comma (e.g. 136.5). For the tone to be transmitted the CTCSS_LEVEL variable must also
              be setup and also the TX_CTCSS variable in the logic core configuration section.

       CTCSS_LEVEL
              The level in percent (0-100) of the CTCSS tone to transmit. What level to set is hard to say.  The
              FM  modulation swing of the tone should be in between 500-800 Hz. That is a bit hard to measure if
              you don't have the right equipment. A normal FM station have a maximum swing of  5kHz  so  if  you
              manage  to calibrate everything so that you get maximum swing when the sound card audio is at peak
              level, the tone level should be in between 10-16%. However, most  often  the  audio  settings  are
              configured  a  bit higher than max since the audio seldom reaches maximum level. Then the level of
              the CTCSS tone should be reduced. The default in the configuration file is 9%. For the tone to  be
              transmitted  the  CTCSS_FQ variable must also be setup and also the TX_CTCSS variable in the logic
              core configuration section.

       PREEMPHASIS
              Enable this feature if you are modulating the FM modulator directly, like  through  a  9k6  packet
              radio  input.  If  no  preemphasis  filter  is  applied to the audio, it will sound very dark when
              received. If you modulate the transmitter through the microphone input  the  radio  will  apply  a
              preemphasis filter so this feature should be disabled. 0=disabled, 1=enabled.

       DTMF_TONE_LENGTH
              The  duration,  in  milliseconds,  of  DTMF  digits transmitted on this transmitter.  100ms is the
              default.

       DTMF_TONE_SPACING
              The spacing, in milliseconds, between DTMF digits transmitted on this  transmitter.  50ms  is  the
              default.

       DTMF_DIGIT_PWR
              The power, in dB, of DTMF digits transmitted on this transmitter. Zero dB will give the same power
              in the generated signal as there is in a maximum amplitude (full scale) sine wave.  -15dB  is  the
              default.

       TONE_SIGLEV_MAP
              It  is  possible  to  transmit  one  of ten tones along with the normal transmission to indicate a
              signal strength value to the receiver. This is of most use when using a  local  transmitter  as  a
              link  transmitter  in  a  RemoteTrx.  It  is  not implemented, and probably not useful, in SvxLink
              Server. Another requirement is that SvxLink has  been  compiled  in  16kHz  mode.  Otherwise  this
              feature is disabled.

              The  TONE_SIGLEV_MAP  configuration  variable is used to map tones to signal level values. It is a
              comma separated list of exactly ten values in the 0 - 100 range. The first value map to the 5500Hz
              tone, the second to the 5600Hz tone and so on. The last value map to the 6400Hz tone.  What levels
              the tones should be mapped to depends on the tone receiver implementation. Typically, if  using  a
              SvxLink  application as a receiver, the TONE_SIGLEV_MAP should be the same in the RX configuration
              for that node.

       TONE_SIGLEV_LEVEL
              It is possible to transmit one of ten tones along with  the  normal  transmission  to  indicate  a
              signal  strength  value  to  the receiver. This is of most use when using a local transmitter as a
              link transmitter in a RemoteTrx. It is not  implemented,  and  probably  not  useful,  in  SvxLink
              Server.  Another  requirement  is  that  SvxLink  has  been compiled in 16kHz mode. Otherwise this
              feature is disabled.

              The TONE_SIGLEV_LEVEL configuration variable is used to set the tone level.  It is a value in  the
              1-100  range which indicate the output level in percent of the maximum possible level. The default
              is 10.

       MASTER_GAIN
              This configuration variable can be  used  to  fine  tune  or  increase  the  audio  gain  for  all
              transmitted  sound  if it's not possible to do using the normal sound card hardware gain controls.
              The gain should be given in dB and can be both positive and negative.

       OB_AFSK_ENABLE
              Set to 1 to enable transmission of metadata like signal level measurements, DTMF digits  and  tone
              detections  via out-of-band (OB) AFSK. The out-of-band AFSK is transmitted above the voice band so
              that it is possible to transmit AFSK bursts at the same time as  someone  is  speaking.  The  AFSK
              bursts  are  filtered  out  before the audio is handed on to the next stage so normal users should
              never hear the AFSK bursts. The AFSK feature is typically used on a remote  receiver  uplink.  The
              protocol used is SvxLink specific. Data is transmitted in 300Bd with a shift of 170Hz and a center
              frequency of 5500Hz. The RemoteTrx application have the capability to transmit this protocol.

       OB_AFSK_VOICE_GAIN
              To be able to send both voice and AFSK at the same time it may be necessary to lower the level  of
              the  voice  audio as to not overdrive the transmitter. This is compensated in the link receiver by
              amplifying the voice audio back to its original level. This configuration variable should thus  be
              set  to  the  negated  value  of  the  same  configuration variable in the receiver section of the
              receiving node. If it's set to 6dB in the receiver configuration it should be set to -6dB here.

       OB_AFSK_LEVEL
              The out-of-band AFSK modulation level in dBFS (dB full scale). Default is -6dB.

       OB_AFSK_TX_DELAY
              The number of  milliseconds  to  send  AFSK  flag  bytes  before  sending  the  actual  data  when
              transmitting an out-of-band packet.

       IB_AFSK_ENABLE
              Set to 1 to enable transmission of an initial signal level measurement via in-band (IB) AFSK. This
              is used in cooperation with the out-of-band AFSK  feature  to  quickly  transfer  a  signal  level
              measurement  to  get the squelch opened. The in-band AFSK is transmitted in the voice band and can
              thus use the higher baudrate of 1200Bd. Since it's only transmitted when the squelch is closed the
              end  user  will  not  hear the AFSK burst. The AFSK feature is typically used on a remote receiver
              uplink. The protocol used is SvxLink specific. Data is transmitted  in  1200Bd  with  a  shift  of
              1000Hz  and  a  center  frequency  of  1700Hz.   The  RemoteTrx application have the capability to
              transmit this protocol.

       IB_AFSK_LEVEL
              The in-band AFSK modulation level in dBFS (dB full scale). Default is -6dB.

       IB_AFSK_TX_DELAY
              The number of  milliseconds  to  send  AFSK  flag  bytes  before  sending  the  actual  data  when
              transmitting an in-band packet.

       CTRL_PTY
              Set  this  configuration  variable  to  the  path  of  a PTY to use for controlling a transmitters
              frequency and modulation. This can  be  used  to  interface  a  transmitter  to  SvxLink  using  a
              translation  script,  like  trx_pty_ctrl.py.  To set the transmit frequency, SvxLink will send the
              sequence "F<frequency>;". The frequency will be in Hz, e.g. F145550000; will be sent  to  set  the
              receiver to 145.550MHz.

              To set the modulation the command is "M<modulation>;". Look at the documentation of the MODULATION
              configuration variable to see which modulations are  available.  To  set  "normal"  25kHz  channel
              spaced FM the command would be MFM;.

              It  is  possible to specify the same PTY for multiple functions (e.g. squelch, ptt etc) in both TX
              and RX configurations. This may be good if there is one script handling all functions.

   Networked Transmitter Section
       A networked transmitter section is used to specify the configuration for a transmitter connected  through
       a  TCP/IP  network.  In  the  default  configuration  file there is a networked transceiver configuration
       section called NetTx.  The section name could be anything. It should match the TX configuration  variable
       in  the  logic  core  where  the  transmitter  is  to  be used. The available configuration variables are
       described below. How to use a networked transmitter is further described in the remotetrx(1) manual page.

       TYPE   Always "Net" for a networked transmitter.

       HOST   The hostname or IP address of the remote transmitter host.

       TCP_PORT
              The TCP port that RemoteTrx listen on. The default is 5210.

       LOG_DISCONNECTS_ONCE
              Set this configuration variable to 1 to suppress logging of multiple disconnect messages in a row,
              like  when  there is no RemoteTrx running on the other side.  Thus, failed reconnect attempts will
              not be logged at all. This may be of use if a RemoteTrx is missing for a long time or if it's only
              used from time to time. The default is 0 which means that all reconnect attempts will be logged.

       AUTH_KEY
              This  is the authentication key (password) to use to connect to the RemoteTrx server. The same key
              have to be specified in the RemoteTrx configuration.  If no key  is  specified  in  the  RemoteTrx
              config, the login will be unauthenticated. A good authentication key should be 20 characters long.
              If the same RemoteTrx is used for both RX and TX, the same key must be specified in the RX as well
              as  in  the TX configuration section.  The key will never be transmitted over the network. A HMAC-
              SHA1 challenge-response procedure will be used for authentication.

       CODEC  The audio codec to use when transferring audio to this remote transmitter.  Available codecs  are:
              RAW  (512kbps),  S16  (256kbps),  GSM (13.2kbps), SPEEX (8-25kbps), OPUS (8-64kbps). These are raw
              bit-rate values. There will be some overhead added to this so the real bit-rates on the wire are a
              little  bit  higher. The OPUS codec is the most modern one and it also have the best quality for a
              given bit-rate. There also is a NULL codec that will just throw away samples which can be used  in
              special situations when the audio is sent through another audio path.

       SPEEX_ENC_FRAMES_PER_PACKET
              Speex   encoder  setting.  Each  Speex  frame  contains  20ms  audio.  If  using  a  low  bit-rate
              configuration, the network overhead will be quite noticeable if sending  each  frame  in  its  own
              packet.  One  way  to  lower  the  overhead is to send multiple frames in each network packet. The
              drawback with doing this is that you get more delay. If setting this option to  something  like  4
              (default), the delay will be about 4x20=80ms.

       SPEEX_ENC_QUALITY
              Speex encoder setting. Specify the encoder quality using a number between 0-10.  Lower values give
              poorer quality and lower bit-rates.

       SPEEX_ENC_BITRATE
              Speex encoder setting. Specify the bit-rate to use. Speex will snap to the nearest lower  possible
              bit-rate.  Possible  values range from 2150 to 24600 bps.  You should probably not specify quality
              at the same time as bit-rate. Not sure though...

       SPEEX_ENC_COMPLEXITY
              Speex encoder setting. The complexity setting (0-10) tells the encoder how much CPU time it should
              spend  on  doing  a  good job. The difference in SNR between the lowest and highest value is about
              2dB. Set it as high as possible without overloading the CPU on the encoding  computer  (check  CPU
              usage using command "top").

       SPEEX_ENC_VBR
              Speex  encoder  setting.  Enable  (1)  or  disable (0) variable bit-rate encoding. If enabled, the
              encoder will try to keep a constant quality by increasing the bit-rate when needed.

       SPEEX_ENC_VBR_QUALITY
              Speex encoder setting. The quality (0-10) to use in variable bit-rate mode.

       SPEEX_ENC_ABR
              Speex encoder setting. The average bit-rate encoding  will  try  to  keep  a  target  bit-rate  by
              continuously  adjusting  the  quality. This configuration variable specify the target bit-rate and
              enable ABR. It also need to have VBR enabled so don't force it to off.

       SPEEX_DEC_ENHANCER
              Speex decoder setting. Enable  (1)  or  disable  (0)  the  perceptual  enhancer  in  the  decoder.
              Perceptual  enhancement  is  a  part  of the decoder which, when turned on, attempts to reduce the
              perception of the noise/distortion produced by  the  encoding/decoding  process.  In  most  cases,
              perceptual  enhancement  brings  the sound further from the original objectively (e.g. considering
              only SNR), but in the end it still sounds better (subjective improvement).

       OPUS_ENC_FRAME_SIZE
              Opus encoder setting. Specify how large, in milliseconds, each audio packet  should  be.  Default:
              20ms.

       OPUS_ENC_COMPLEXITY
              Opus  encoder setting. The complexity setting (0-10) tells the encoder how much CPU time it should
              spend on doing a good job. Set it as high as possible without overloading the CPU on the  encoding
              computer (check CPU usage using command "top"). Default: 10.

       OPUS_ENC_BITRATE
              Opus  encoder  setting.  This  is the bit-rate that the encoder will encode for.  Rates from about
              8000 to 64000 bits per second are meaningful but the codec can handle from  like  2500  to  512000
              bps. Default: 20000bps.

       OPUS_ENC_VBR
              Opus  encoder  setting.  Enable  (1)  or  disable  (0) variable bit-rate encoding. If enabled, the
              encoder will try to keep a constant quality by increasing the bit-rate when needed and decrease it
              when  the quality can be assured with a lower bit-rate. The target average bit-rate is the one set
              by OPUS_ENC_BITRATE.  Default: 1.

   Multi Transmitter Section
       A multi transmitter section is used if one wants to transmit on multiple transmitters simultaneously. The
       name of the section can be anything. Just point it out from another transmitter specification like the TX
       variable in a Logic core configuration.

       TYPE   Always "Multi" for a multi transmitter section.

       TRANSMITTERS
              A comma separated list of transmitters.

   Module Section
       A module section contain the configuration for a specific module.  It  have  some  general  configuration
       variables  and  some  module  specific  configuration  variables. The general configuration variables are
       listed below.

       NAME   The name of the module. This name must match the namespace used in the TCL event handling  script.
              If not set, NAME will be set to the section name.

       PLUGIN_NAME
              The  base  name  of the plugin. For example if this configuration variable is set to Foo, the core
              will look for a plugin called ModuleFoo.so. If not set, PLUGIN_NAME will be set to the same  value
              as NAME.

       ID     Specify  the  module  identification number. This is the number used to access the module from the
              radio interface.

       TIMEOUT
              Specify the timeout time, in seconds, after which a module will be  automatically  deactivated  if
              there has been no activity.

       Module  specific configuration variables are described in the man page for that module. The documentation
       for the Parrot module can for example be found in the ModuleParrot.conf(5) manual page.

   LocationInfo
       STATUS_SERVER_LIST
              Enter a space separated list of EchoLink status servers that should be used to  send  node  status
              beacons.  Your  node information can be found on http://www.echolink.org/links.jsp.  The format is
              host:port. Host - hostname or IP address, port - UDP port.  Don't change the  default  unless  you
              know  what you are doing. If you don't want to update the EchoLink status server, comment out this
              configuration variable.

              Example:
              STATUS_SERVER_LIST=aprs.echolink.org:5199

       APRS_SERVER_LIST
              This configuration variable specifies connection parameters  for  connecting  to  an  APRS  server
              network  using  the  TCP  protocol.  In this case, the positioning information is forwarded to the
              worldwide APRS network. Have a look at http://aprs.fi/.

              To  choose  a  suitable  APRS  server  from  the  so  called  tier  2  network,  have  a  look  at
              http://www.aprs2.net/.  Either  choose  a  specific  server  or one of the regional addresses. The
              regional addresses bundle all APRS servers within a region so that  a  random  tier  2  server  is
              chosen  within  the  region.  There  are  five  regions  defined:  noam.aprs2.net - North America,
              euro.aprs2.net - Europe, asia.aprs2.net  -  Asia,  soam.aprs2.net  -  South  America  and  Africa,
              aunz.aprs2.net  -  Australia  and  New Zealand.  The format is a space separated list of host:port
              entries. Host - hostname or IP address, port - TCP port.

              Example:
              APRS_SERVER_LIST=euro.aprs2.net:14580

       LON_POSITION
              The longitude of the station position, entered as "degrees.arcminutes.arcseconds"

              Example:
              LON_POSITION=09.02.20E

       LAT_POSITION
              The latitude of the station position, entered as "degrees.arcminutes.arcseconds"

              Example:
              LAT_POSITION=51.02.22N

       CALLSIGN
              Enter your callsign for the APRS network with a prefix that indicates the type  of  station,  (ER-
              for repeaters, EL- for links).

              Examples:
              CALLSIGN=EL-DL1ABC    # callsign for a link
              CALLSIGN=ER-DB0ABC    # callsign for a repeater

       FREQUENCY
              The  tx-frequency of the link/repeater in MHz. For repeaters, information about the RX/TX shift in
              the COMMENT configuration variable may be useful.

              Example:
              FREQUENCY=430.050     # tx-frequency is 430.050 MHz

       TX_POWER
              The power of your transmitter in watts.

              Example:
              TX_POWER=10           # tx output is 10 watts

       ANTENNA_GAIN
              The gain of your antenna in dBd.

              Example:
              ANTENNA_GAIN=5        # antenna gain is 5 dBd

       ANTENNA_HEIGHT
              The height of the link-/repeater antenna in meters or feet above the terrain, not sealevel.

              Example:
              ANTENNA_HEIGHT=10m    # 10 meters above the ground
              ANTENNA_HEIGHT=90     # 90 feet

       ANTENNA_DIR
              Main beam direction of the antenna in degrees. If an omni direction antenna is used, specify -1 as
              the direction.

              Example:
              ANTENNA_DIR=-1        # an omni directional antenna is used
              ANTENNA_DIR=128       # main beam direction is 128 degrees

       PATH   The  PATH  variable  controls  the  way of forwarding your beacon inside the APRS network if it is
              gated by a local APRS digipeater.  In  some  cases  it  has  to  be  changed  according  to  local
              requirements. Please contact your local APRS sysop for further information. Changes should be made
              only according to the NEWn-N paradigm. Leave this variable untouched if  you  are  unsure  of  its
              setting.  No spaces or control characters are allowed. PATH has no influence on the propagation on
              non-RF networks.

              Examples:
              PATH=WIDE1-1
              PATH=WIDE1-1,WIDE2-2

       BEACON_INTERVAL
              The interval, in minutes, with which beacons will be sent to the APRS network.  A good value is 10
              minutes.  If  your  beacon  is  gated  via RF, please increase the interval a bit to keep the APRS
              traffic on RF produced by the APRS RF gate as low as possible. Intervals shorter than  10  minutes
              will be changed to 10.

              Example:
              BEACON_INTERVAL=30    # APRS-beacons will be sent every 30 minutes.

       TONE   The  CTCSS  sub-audible  tone  that is to be used for operation over your link or repeater. If you
              don't use tone control set it to 0.

              Examples:
              TONE=136      # we are using a CTCSS-tone of 136.5 Hz
              TONE=0        # we don't use CTCSS sub-audible or call tones
              TONE=1750     # the link/repeater use a tone burst of 1750 Hz

       STATISTICS_INTERVAL
              Defines the interval in minutes in that an aprs statistic is sent into the  aprs  network.  Range:
              5-60, default is 10 minutes

       COMMENT
              Specify  a  short  comment  here,  maybe  a  link  to  your  website  or information that could be
              interesting for others. The length should not exceed 255  characters  and  may  not  have  control
              characters  like  "Carriage Return" (\r) or "Line Feed" (\n) inside. Make your comment as short as
              you can to give users with a small display (TH-D7) the chance to display the full comment text.

              Example:
              COMMENT=[svx] Running SvxLink by SM0SVX

       PTY_PATH
              Specify a path to a communications PTY that can be used by external applications  to  inject  APRS
              packets into the APRS-IS network.

AUDIO DEVICE SPECIFICATIONS

       The  AUDIO_DEV  configuration  variables specify which audio device to use for a receiver or transmitter.
       SvxLink support a number of different audio input and output devices. The  format  of  the  configuration
       variable  is  "type:dev_spec".  There are three different types of audio devices supported, "alsa", "oss"
       and "udp".

       The "alsa" type will use the specified Alsa device. Example: "alsa:plughw:0". Describing  the  format  of
       Alsa device names is outside the scope for this document.

       The  "oss"  type  will  use the specified OSS audio device. Example "oss:/dev/dsp".  OSS is the old sound
       system used by Linux. Alsa should be used when possible.

       The "udp" type is not really an audio device but instead will read and write audio from/to a UDP  socket.
       This  can be used to interface SvxLink to all sorts of audio sources/sinks capable of streaming raw audio
       through UDP. One example usage is to interface SvxLink with GNU Radio.   Example:  "udp:127.0.0.1:10000".
       Note  however  that  the  only  supported  format  is raw 16 bit signed samples, two interleved channels.
       Sampling frequency can be chosen using the CARD_SAMPLE_RATE config variable as usual.

USING GPIO

       GPIO (General Purpose IO) is used to access hardware pins that are  made  available  for  example  on  an
       embedded  system.  Before  starting  to  use a pin in SvxLink some setup need to be done in the operating
       system. With the standard distribution of SvxLink there is a pair of scripts that help  with  setting  up
       and  taking  down  the  GPIO  pins.  The  scripts  are  named  svxlink_gpio_up and svxlink_gpio_down. The
       configuration file, which can be  found  among  the  other  SvxLink  configuration  files  (typically  in
       /etc/svxlink), is called gpio.conf.

CALIBRATING THE SIGNAL LEVEL DETECTOR

       The  signal  level  detector  is used when using multiple receivers or when using the SIGLEV squelch. The
       signal level is used by a voter to choose the receiver with the highest signal strength.  The  choice  is
       made  directly after squelch open. For the voter to make a correct choice, the signal level detector must
       be calibrated on each receiver.

       To use the noise signal  level  detector,  first  set  SIGLEV_DET=NOISE.   There  are  two  configuration
       variables  that  is  used  to calibrate the detector.  They are SIGLEV_SLOPE and SIGLEV_OFFSET in a local
       receiver section. The slope is the gain of the detector and the offset is used to adjust the detector  so
       that  when  there  is  no input signal, the detector will return 0. The goal is to adjust the detector so
       that when no signal is received, a value of 0 is produced and when full signal strength  is  received,  a
       value of 100 is produced. It will never be exakt but that does not matter.

       The  calibration  is  normally  done by using the siglevdetcal(1) application. To be able to do a correct
       calibration, it must be possible to open the squelch so that only noise is received.  The  antenna  cable
       should  be  disconnected  or  a  dummy  load  should  be used.  WARNING: Before starting the siglevdetcal
       application, pull the PTT cable since the PTT might get triggered during the calibration procedure.

       The siglevdetcal utility will also measure the CTCSS tone SNR offset so that the CTCSS_SNR_OFFSET  config
       variable can be set up to a proper value.

       If the siglevdetcal application cannot be used for some reason, the manual procedure below might be used.
       This procedure will only work for a receiver  with  unsquelched  audio.   Note:  To  calibrate  a  remote
       receiver it must be connected to the SvxLink server.  Otherwise the squelch will not open.

              1   Connect  a  dummy  load  or disconnect the antenna from the transceiver. If you disconnect the
                  antenna, make sure to also disconnect the PTT.

              2   Set SIGLEV_SLOPE=1 and SIGLEV_OFFSET=0 and restart SvxLink.

              3   Open the squelch so that there is only noise coming into SvxLink.

              4   Use a second transceiver to make a short, unmodulated transmission. Release the PTT  when  the
                  "Squelch OPEN" message is printed. Repeat this for about five times.

              5   Calculate  the  mean diff (open level - close level) and the mean lower (squelch close) value.
                  Make sure to use at least four significant digits in your calculations.

              6   SIGLEV_SLOPE = 100 / (mean diff)

              7   SIGLEV_OFFSET = - (mean lower) * SIGLEV_SLOPE

              8   After changing SIGLEV_SLOPE and SIGLEV_OFFSET, restart SvxLink  and  check  to  see  that  the
                  squelch open value is now around 100 and the squelch close value is around 0.

STATE PTY FORMAT

       The format of the output from the state PTY is:

           <timestamp> <context>:<event name> <event data>

       where the different parts mean:

           timestamp = <seconds since 1 jan 1970>.<milliseconds>
           context = Name of context
           event_name = Name of event
           event data = Event specific data

       The following specific events exist.

       Voter:sql_state
              Report the state of all squelches for all receivers. The format of the event specific data is:

                  <rx name><state><siglev> [<rx_name><state><siglev> ...]

              where the different parts mean:

                  rx_name = Configuration file section name for receiver
                  state = _ (sql closed), : (sql open), * (sql open and rx selected)
                  siglev = The measured signal level

FILES

       /etc/svxlink/svxlink.conf (or deprecated /etc/svxlink.conf)
              The system wide configuration file.

       ~/.svxlink/svxlink.conf
              Per user configuration file.

       /etc/svxlink/svxlink.d/*
              Additional configuration files. Typically one configuration file per module.

AUTHOR

       Tobias Blomberg (SM0SVX) <sm0svx at users dot sourceforge dot net>

SEE ALSO

       svxlink(1), remotetrx(1), siglevdetcal(1), devcal(1)