Provided by: svxlink-server_14.08.1-2_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. The default is /usr/lib/svxlink

       LOGICS Specify  a  comma  separated  list of logic cores that should be created. The logic
              core is the thing that ties  the  transciever  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 behaviour 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 are ignored.

       TIMESTAMP_FORMAT
              This variable specifies the format of the timestamp 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   timestamp
              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 61)

              •   %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  timestamp  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 8kHz internally but there
              still  are  som benefits from using a higher sampling rate. On some sound cards the
              filters look pretty bad at 8kHz 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  8kHz due to insufficient anti-alias
              filtering or resampling effects. These, often cheeper,  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: 8000, 16000 and 48000.

       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_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. This
              really  only  is of use when using a radio that it is difficult to send DTMF digits
              from, like the Yaesu VX-2 handheld. The down side of enabling this option  is  that
              the  DTMF  detection some times false trigger on voice. This can cause interresting
              situations when all of a sudden a module get activated in the middle of a QSO.

       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 occurr.  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".

   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.

   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 themselvs.  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.

   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.

       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.

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

              The  VOX  squelch detector determines if there is a signal present by calculating a
              mean value of the sound samples. The VOX squelch  detector  behaviour  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.

              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 easy protocol over a pseudo-tty device,  created  by
              SvxLink on runtime.  An 'O' over this pty device indicate an open squelch, a 'Z' is
              a closed squelch.  Define the slave pty in 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 to see an example.

       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 limiti, 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, everthing is back to normal. When
              it opens the next time a squelch open will be signalled.   For  example,  use  this
              feature to make sure that a faulty receiver cannot block the system indefinitly.

       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 squlech 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 (Neighbour 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_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. There are two  choices,  "NOISE"
              or  "TONE". The  signal level detector is only needed when using multiple receivers
              in a voter configuration or when using the SIGLEV squelch type.

              Type NOISE use a bandpass filter in the range of 5 -  5.5kHz  (CARD_SAMPLE_RATE  >=
              16000)  or  a  highpass  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 spektrum (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.

       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.

       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 distorsion 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.  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 symlink a very easy  communication  protocol  is  used  to  tell
              SvxLink 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 to see an example.

              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.  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.

       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.

   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. Example:
              RECEIVERS=Rx1,Rx2,Rx3

       VOTING_DELAY
              Specify the delay in milliseconds that the voter will wait after the first  sqeulch
              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 noticeble 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.

   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.

       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  bitrate values. There will be some
              overhead added to this so the real bitrates 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
              bitrate.

       SPEEX_ENC_FRAMES_PER_PACKET
              Speex encoder setting. Each Speex frame contains 20ms audio. If using a low bitrate
              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 bitrates.

       SPEEX_ENC_BITRATE
              Speex  encoder  setting. Specify the bitrate to use. Speex will snap to the nearest
              lower possible bitrate. Possible values range from 2150 to 24600 bps.   You  should
              probably not specify quality at the same time as bitrate. 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  bitrate  encoding.  If
              enabled,  the encoder will try to keep a constant quality by increasing the bitrate
              when needed.

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

       SPEEX_ENC_ABR
              Speex encoder setting. The average bitrate encoding  will  try  to  keep  a  target
              bitrate  by continuously adjusting the quality. This configuration variable specify
              the target bitrate 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 bitrate 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  bitrate  encoding.  If
              enabled,  the encoder will try to keep a constant quality by increasing the bitrate
              when needed and decrease it when the quality can be assured with a  lower  bitrate.
              The target average bitrate 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.

       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 or "PTY" if you want to use an external interface script via a
              pseudo tty port.

              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.

       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.

       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
              indefinately. 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.

              Note:  The level of the tone affects the level of the rest of the audio in SvxLink.
              This is to avoid distorision when the two audio streams  are  mixed  together.  For
              example, if a tone level of 9% is setup the rest of the audio will be attenuated by
              9%. This is true even if the CTCSS_FQ and TX_CTCSS configuration variables are  not
              set so comment this configuration variable out if CTCSS on TX is not used.

       PREEMPHASIS
              [EXPERIMENTAL] 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 length, 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_TONE_AMP
              The  amplitude,  in  dB, of DTMF digits transmitted on this transmitter. Zero dB is
              the maximum amplitude. -18dB 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.

   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.

       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  bitrate values. There will be some
              overhead added to this so the real bitrates 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
              bitrate. 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 bitrate
              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 bitrates.

       SPEEX_ENC_BITRATE
              Speex encoder setting. Specify the bitrate to use. Speex will snap to  the  nearest
              lower  possible  bitrate. Possible values range from 2150 to 24600 bps.  You should
              probably not specify quality at the same time as bitrate. 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 bitrate encoding. If
              enabled, the encoder will try to keep a constant quality by increasing the  bitrate
              when needed.

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

       SPEEX_ENC_ABR
              Speex  encoder  setting.  The  average  bitrate  encoding will try to keep a target
              bitrate by continuously adjusting the quality. This configuration variable  specify
              the  target bitrate 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 bitrate 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 bitrate encoding. If
              enabled, the encoder will try to keep a constant quality by increasing the  bitrate
              when  needed  and decrease it when the quality can be assured with a lower bitrate.
              The target average bitrate 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
       simulaneously.  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  -  Austrailia  and  New
              Zeeland.   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  subaudible  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 subaudible or call tones
              TONE=1750     # the link/repeater use a tone burst of 1750 Hz

       STATISTICS_INTERVAL
              Defines the interval in minutes in that a 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

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. The example below will set up pin 31 as an output for PTT
       use and pin 30 is used as input for squelch. Make sure that the commands are run  as  user
       root.

         Enable the PTT pin for GPIO:
         echo 31 > /sys/class/gpio/export

         Set the direction to output for the pin:
         echo out > /sys/class/gpio/gpio31/direction

         Make sure that the svxlink user can write to the GPIO pin:
         chown svxlink /sys/class/gpio31/value

         Enable the squelch pin for GPIO:
         echo 30 > /sys/class/gpio/export

         Set the direction to input for the pin:
         echo in > /sys/class/gpio/gpio30/direction

         Make sure that the svxlink user can read from the GPIO pin:
         chown svxlink /sys/class/gpio30/value

       These  steps have to be performed whenever the system is rebooted. Putting the commands in
       a script is recommended.

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  "Squech  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.

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)