Provided by: svxlink-server_19.09.2-1.1build3_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)

Linux                                             JANUARI 2018                                   SVXLINK.CONF(5)