1SVXLINK.CONF(5)                  File Formats                  SVXLINK.CONF(5)
2
3
4

NAME

6       svxlink.conf - Configuration file for the SvxLink server
7

DESCRIPTION

9       svxlink  is  a  general purpose voice service system for ham radio use.
10       This man-page describe the SvxLink server configuration file format.
11
12       SvxLink look for configuration files in a number of  places.  First  it
13       try to find a user specific configuration file. SvxLink will look for a
14       user specific configuration file in:  $HOME/.svxlink/svxlink.conf.   If
15       no user specific configuration file can be found, SvxLink will look for
16       the system  wide  configuration  file  /etc/svxlink/svxlink.conf.   The
17       --config  command  line option may also be used to specify an arbitrary
18       configuration file.
19

FILE FORMAT

21       The configuration file is in the  famous  INI-file  format.  A  generic
22       example of how such a file might look like is shown below.
23
24         [SECTION1]
25         VALUE1=1
26         VALUE2="TWO "
27         VAULE3="Multi "
28                "line"
29
30         [SECTION2]
31         VALUE1=2
32
33       This  is a simple format that contain name=value pairs that belong to a
34       section. In written text, a  specific  configuration  variable  can  be
35       referred  to  as SECTION1/VALUE2 meaning "configuration variable VALUE2
36       in section SECTION1".
37
38       The same variable name can exist in two different sections. For example
39       VALUE1  in section SECTION1 have the value 1 and VALUE1 in section SEC‐
40       TION2 have the value 2. Values containing spaces at  the  beginning  or
41       end  of  the  line  must be surrounded by citation characters (see SEC‐
42       TION1/VALUE2). Likewise with a multi line value (see SECTION1/VALUE3).
43

CONFIGURATION VARIABLES

45       Here is the description of all  configuration  variables  that  SvxLink
46       understands. The configuration variables are described section for sec‐
47       tion.
48
49   GLOBAL
50       The GLOBAL section contains application global configuration data.
51
52       MODULE_PATH
53              Specify where the SvxLink modules can be found.  If  MODULE_PATH
54              is  not  specified,  the standard search paths for library files
55              will be used. If that also fails a  hardcoded  default  will  be
56              used.  What that default is depend on the architecture but typi‐
57              cally on a x86_64 system it is /usr/lib64/svxlink.  Leaving this
58              variable unset should work in most cases.
59
60       LOGICS Specify  a  comma  separated  list of logic cores that should be
61              created. The logic core is the thing that ties  the  transceiver
62              and the voice services (modules) together. It contains the rules
63              for how the radio interface should  be  handled.  The  specified
64              name of a logic core must have a corresponding section specified
65              in the config file. This is where the  behaviour  of  the  logic
66              core is specified.
67
68       CFG_DIR
69              Specify the path to a directory that contain additional configu‐
70              ration files.  If a relative path is specified, the path will be
71              relative  to  the directory where the main configuration file is
72              at. All files in the specified directory will be read  as  addi‐
73              tional  configuration.  Filenames  starting  with  a dot (hidden
74              files) or not ending in .conf are ignored.
75
76       TIMESTAMP_FORMAT
77              This variable specifies the format  of  the  timestamp  that  is
78              written  in front of each row in the log file. The format string
79              is in the same format as specified  in  the  strftime(3)  manual
80              page.  The default is "%c" which is described as: "the preferred
81              date and time representation for the current locale". The  envi‐
82              ronment  variables LC_TIME, LC_ALL and LANG will affect how this
83              time format will look. For example, setting LC_TIME="sv_SE.UTF8"
84              will  give  you swedish timestamp representation. Other examples
85              of format specifiers are:
86
87              ·   %d - The day of the month as a decimal number (range  01  to
88                  31)
89
90              ·   %b  -  The  abbreviated  month name according to the current
91                  locale
92
93              ·   %Y - The year as a decimal number including the century
94
95              ·   %H - The hour as a decimal  number  using  a  24-hour  clock
96                  (range 00 to 23)
97
98              ·   %M - The minute as a decimal number (range 00 to 59)
99
100              ·   %S - The second as a decimal number (range 00 to 61)
101
102              ·   %f - Fractional seconds in millisecond resolution (000-999)
103
104              The last one (%f) is a SvxLink specific formatting specifier.
105
106              Example:  TIMESTAMP_FORMAT="%d  %b  %Y %H:%M:%S.%f" would give a
107              timestamp looking something like: "29 Nov 2005 22:31:59.875".
108
109       CARD_SAMPLE_RATE
110              This configuration variable determines the  sampling  rate  used
111              for audio input/output. SvxLink always work with a sampling rate
112              of 16kHz internally but there still are som benefits from  using
113              a  higher  sampling  rate.  On some sound cards the filters look
114              pretty bad at 16kHz and the amplitude response will not be  uni‐
115              form  which  among other things can cause problems for the soft‐
116              ware DTMF decoder.
117
118              Some sound cards also sound very bad at 16kHz  due  to  insuffi‐
119              cient  anti-alias  filtering or resampling effects. These, often
120              cheeper, sound cards sound OK at 48kHz.
121
122              The downside of choosing a higher sampling rate is that it  puts
123              a  little  bit  more  load on the CPU so if you have a very slow
124              machine (<300MHz), it might not have the computational power  to
125              handle it.
126
127              Supported sampling rates are: 16000 and 48000.
128
129       CARD_CHANNELS
130              Use  this configuration variable to specify how many channels to
131              use when opening a sound card. For normal sound cards  the  only
132              practical  values  to  use  are 1 for mono and 2 for stereo. The
133              latter is the default.
134
135              When using the sound card in stereo mode it is possible  to  use
136              the  left  and  right  channels independenly to drive two trans‐
137              ceivers. When using the sound card in mono mode, both  left  and
138              right channels transmit/receive the same audio.
139
140       LOCATION_INFO
141              Enter  the  section  name that contains information required for
142              transferring positioning data to location servers. Setting  this
143              item  makes  the system visible on the EchoLink link status page
144              and the APRS network.
145
146       LINKS  Enter here a comma separated list of section names that contains
147              the  configuration  information for linking logics together (see
148              Logic Linking).
149
150   Common Logic configuration variables
151       A logic core is what define how SvxLink should behave on the  RF  chan‐
152       nel.  The SvxLink server can handle more than one logic core and so can
153       be connected to more than one transceiver. The configuration  variables
154       below  are  common to all logic types. Configuration variables that are
155       specific to a certain logic core type are described below in a  section
156       of its own.
157
158       TYPE   The  type  of logic core this is. The documentation for the spe‐
159              cific logic core type you want to use  describe  what  to  write
160              here.
161
162       RX     Specify  the  configuration section name of the receiver to use.
163              All configuration for the receiver is done in the specified con‐
164              figuration section.
165
166       TX     Specify  the  configuration  section  name of the transmitter to
167              use. All configuration for the transmitter is done in the speci‐
168              fied configuration section.
169
170       MODULES
171              Specify a comma separated list of configuration sections for the
172              modules to load. This tells SvxLink which  modules  to  actually
173              load on startup.
174
175       CALLSIGN
176              Specify  the  callsign  that  should  be  announced on the radio
177              interface.
178
179       SHORT_IDENT_INTERVAL
180              The number of minutes between short identifications. The purpose
181              of the short identification is to just announce that the station
182              is on the air. Typically just the callsign is transmitted. For a
183              repeater  a good value is ten minutes and for a simplex node one
184              time every 60 minutes is probably enough. The  LONG_IDENT_INTER‐
185              VAL  must  be an even multiple of the SHORT_IDENT_INTERVAL so if
186              LONG_IDENT_INTERVAL  is   60   then   the   legal   values   for
187              SHORT_IDENT_INTERVAL  are: 1, 2, 3, 4, 5, 6, 10, 12, 15, 20, 30,
188              60.  If unset or set to 0, disable short identifications.
189
190       LONG_IDENT_INTERVAL
191              The number of minutes between long identifications. The  purpose
192              of  the long identification is to transmit some more information
193              about the station status (new voice mails etc). The time of  day
194              is  also transmitted. A good value here is 60 minutes.  If unset
195              or set to 0, disable long identifications.
196
197       IDENT_ONLY_AFTER_TX
198              This feature controls when identification is done.  By  default,
199              identification  is  done  every  time  the  SHORT_IDENT_INTERVAL
200              expires. If this feature is enabled, identification will be done
201              only  if  there  has been a recent transmission. This feature is
202              good for nodes using  an  RF  link  to  provide  echolink  to  a
203              repeater.  Often, in this situation, it is not desirable for the
204              link  to  identify   unless   legally   necessary.   Note   that
205              SHORT_IDENT_INTERVAL  still  have  to be set for this feature to
206              work. That config variable will then be interpreted as the mini‐
207              mum    number    of   seconds   between   identifications.   The
208              LONG_IDENT_INTERVAL will not be affected by this parameter.
209
210       EXEC_CMD_ON_SQL_CLOSE
211              Specify a time, in milliseconds, after squelch close after which
212              entered  DTMF  digits  will be executed as a command without the
213              need to send the # character.  To disable this  feature,  either
214              comment  out  the configuration row or set it to a value less or
215              equal to zero.
216
217       EVENT_HANDLER
218              Point out the TCL event handler script to  use.  The  TCL  event
219              handler  script  is  responsible  for  playing the correct audio
220              clips  when  an  event  occurr.    The   default   location   is
221              /usr/share/svxlink/events.tcl.
222
223       DEFAULT_LANG
224              Set  the default language to use for announcements. It should be
225              set to an ISO code (e.g. sv_SE for  Swedish).  If  not  set,  it
226              defaults to en_US which is US English.
227
228       RGR_SOUND_DELAY
229              The  number  of  milliseconds to wait after the squelch has been
230              closed before a roger beep is played. The beep can  be  disabled
231              by  specifying  a value of -1 or commenting out this line. Often
232              it is best to use the SQL_HANGTIME receiver configuration  vari‐
233              able to specify a delay instead of specifying a delay here. This
234              configuration variable should then be set to 0.
235
236       REPORT_CTCSS
237              If set, will report the specified CTCSS  frequency  upon  manual
238              identification (* pressed).  It is possible to specify fractions
239              using "." as decimal comma. Disable this feature  by  commenting
240              out (#) this configuration variable.
241
242       TX_CTCSS
243              This  configuration  variable controls if a CTCSS tone should be
244              transmitted.  Use a comma separated list (no spaces!) to specify
245              when  to  transmit  a CTCSS tone. These are the possible values:
246              SQL_OPEN, LOGIC, MODULE, ANNOUNCEMENT or ALWAYS.  Commenting out
247              this  configuration  variable  will disable CTCSS transmit.  The
248              tone frequency and level is configured in the  transmitter  con‐
249              figuration section.
250
251              ·   SQL_OPEN  will transmit CTCSS tone when the squelch is open.
252                  This is only useful on a repeater.  On  a  simplex  node  it
253                  doesn't make much sense.
254
255              ·   LOGIC  will transmit CTCSS tone when there is incoming traf‐
256                  fic from another logic core.
257
258              ·   MODULE will transmit CTCSS tone when there is incoming traf‐
259                  fic from a module.
260
261              ·   ANNOUNCEMENT  will  transmit CTCSS tone when an announcement
262                  is being played. Repeater idle sounds and roger  beeps  will
263                  not have tone sent with them though.
264
265              ·   ALWAYS  will  always  transmit  a  CTCSS tone as soon as the
266                  transmitter is turned on.
267
268       MACROS Point out a section that contains the macros that should be used
269              by this logic core. See the section description for macros below
270              for more information.
271
272       FX_GAIN_NORMAL
273              The gain (dB) to use for audio effects  and  announcements  when
274              there  is  no  other  traffic.  This gain is normally set to 0dB
275              which means no gain or attenuation.
276
277       FX_GAIN_LOW
278              The gain (dB) to use for audio effects  and  announcements  when
279              there  is other traffic.  This gain is normally set to something
280              like -12dB so that announcements and audio effects  are  attenu‐
281              ated when there is other traffic present.
282
283       QSO_RECORDER
284              The QSO recorder is used to write all received audio to files on
285              disk. The  format  for  this  configuration  variable  is  <com‐
286              mand>:<config  section>.  The specified command is used to acti‐
287              vate or deactivate the QSO recorder. If the command for  example
288              is  set  to 8, 81 will activate the recorder and 80 will deacti‐
289              vate it.  The command may also be left out. It will then not  be
290              possible  to  control the QSO recorder using DTMF commands. Even
291              if the command is left out the colon must always  be  specified.
292              The config section point out a section in the configuration file
293              that holds configuration for the QSO recorder.  Have a  look  at
294              the QSO Recorder Section documentation for more information.
295
296              Example: QSO_RECORDER=8:QsoRecorder
297
298       SEL5_MACRO_RANGE
299              Define two comma separated values here to map the Sel5 tone call
300              to   your   macro   area.   E.g.   if    you    have    defined:
301              SEL5_MACRO_RANGE=03400,03499   then   all   incoming  Sel5  tone
302              sequences from 03400 to 03499 are mapped to the  macros  section
303              (refer to Macros Section, next chapter). Other sequences but the
304              one defined under OPEN_ON_SEL5 are ignored so it can be used  to
305              call  other  stations  via the repeater without a repeater reac‐
306              tion.
307
308       ONLINE_CMD
309              Define a DTMF command that is used to switch  the  node  between
310              online  and offline mode. When in the off-state, the transmitter
311              will not be turned on by any event. If a module is  active  when
312              the  node is brought offline, it will be deactivated and no mod‐
313              ule activation will be allowed in offline mode.  No  other  com‐
314              mands  than  the  online command will be accepted in the offline
315              state.
316
317              If the command for example is set to 998877  then  9988771  will
318              set the node online and 9988770 will set it offline. If a module
319              is active or if the  ACTIVATE_MODULE_ON_LONG_CMD  is  used,  the
320              command  must  be  prefixed with a star to work as expected. The
321              star means "force core command".
322
323       STATE_PTY
324              Using this configuration variable it is possible  to  specify  a
325              path to a UNIX 98 PTY that SvxLink state events is published to.
326              The published events is in a simple text format  using  a  space
327              separated  list of values. SvxLink will create a softlink to the
328              actual slave PTY. For that reason, SvxLink must have write  per‐
329              missions  in the directory where the softlink should be created.
330              Monitoring  the  PTY  output  is  as  simple  as  doing  a   cat
331              /path/to/pty  after  starting  SvxLink. See STATE PTY FORMAT for
332              more information on the format of the state messages.
333
334              Example: STATE_PTY=/tmp/state_pty
335
336       DTMF_CTRL_PTY
337              Using this configuration variable it is possible  to  specify  a
338              path  to a UNIX 98 PTY that allows a dtmf control of each single
339              SvxLink logic. SvxLink will create  a  softlink  to  the  actual
340              slave  PTY. For that reason, SvxLink must have write permissions
341              in the directory where the softlink should be  created.  Sending
342              commands  to  the  PTY  is  as  simple  as  doing a echo '*1#' >
343              /path/to/pty after starting SvxLink. The device  works  bidirec‐
344              tional,  received  dtmf characters (from Rf) are output via this
345              interface.
346
347              Example: DTMF_CTRL_PTY=/dev/shm/dtmf_ctrl
348
349   Simplex Logic Section
350       The Simplex Logic section contains configuration  data  for  a  simplex
351       logic  core.   The name of the section, which in the example configura‐
352       tion file is SimplexLogic, must have a corresponding list item  in  the
353       GLOBAL/LOGICS  config variable for this logic core to be activated. The
354       name "SimplexLogic" is not magic. It could be called what ever you like
355       but  it  must  match the namespace name in the SimplexLogic.tcl script.
356       The configuration variables below are those that  are  specific  for  a
357       simplex logic core.
358
359       TYPE   The type for a simplex logic core is always Simplex.
360
361       MUTE_RX_ON_TX
362              Set  to 1 to mute the receiver when the transmitter is transmit‐
363              ting (default) or set it to 0  to  make  the  RX  active  during
364              transmissions.   One  might want to set this to 0 if the link is
365              operating on a split frequency.  Then the link can  accept  com‐
366              mands  even when it's transmitting.  The normal setting is 1, to
367              mute the RX when transmitting.
368
369       MUTE_TX_ON_RX
370              Set to 1 to mute  the  transmitter  when  the  squelch  is  open
371              (default)  or  set  it to 0 to make the TX active during squelch
372              open.  One might want to set this to 0 if the link is  operating
373              on  a  split  frequency or if it's connected to some full duplex
374              device.  The normal setting is  1,  to  mute  the  TX  when  the
375              squelch is open.
376
377   Repeater Logic Section
378       A  Repeater  Logic  section  contains configuration data for a repeater
379       logic core.  The name of the section, which in the  example  configura‐
380       tion  file is RepeaterLogic, must have a corresponding list item in the
381       GLOBAL/LOGICS config variable for this logic core to be activated.  The
382       name  "RepeaterLogic"  is  not magic.  It could be called what ever you
383       like but it must match the  namespace  name  in  the  RepeaterLogic.tcl
384       script.  The  configuration variables below are those that are specific
385       for a repeater logic core.
386
387       TYPE   The type for a repeater logic core is always Repeater.
388
389       NO_REPEAT
390              Set this to 1 if you do NOT want SvxLink to play back the incom‐
391              ing  audio. This can be used when the received audio is directly
392              coupled by hardware wiring to the transmitter. What you  win  by
393              doing  this  is  that there is zero delay on the repeated audio.
394              When the audio is routed through  SvxLink  there  is  always  an
395              amount  of delay. What you loose by doing this is the audio pro‐
396              cessing done by SvxLink (e.g. filtering,  DTMF  muting,  squelch
397              tail elimination) and the ability to use remote receivers.
398
399       IDLE_TIMEOUT
400              The  number of seconds the repeater should have been idle before
401              turning the transmitter off.
402
403       OPEN_ON_1750
404              Use this configuration variable if it should be possible to open
405              the  repeater  with  a  1750Hz tone burst. Specify the number of
406              milliseconds the tone must be asserted before  the  repeater  is
407              opened. Make sure that the time specified is long enough for the
408              squelch to have time to open. Otherwise the repeater  will  open
409              "too  soon"  and  you will hear an ugly 1750Hz beep as the first
410              thing.  A value of 0 will disable 1750 Hz repeater opening.
411
412       OPEN_ON_CTCSS
413              Use this configuration variable if it should be possible to open
414              the  repeater with a CTCSS tone (PL). The syntax of the value is
415              tone_fq:min_length. The tone frequency is specified in whole  Hz
416              and  the  minimum  tone length is specified in milliseconds. For
417              examples if a 136.5 Hz tone must be asserted for two seconds for
418              the repeater to open, the value 136:2000 should be specified.
419
420       OPEN_ON_DTMF
421              Use this configuration variable if it should be possible to open
422              the repeater with a DTMF digit. Only one digit can be specified.
423              DTMF digits pressed when the repeater is down will be ignored.
424
425       OPEN_ON_SEL5
426              Use  this  configuration  variable  if  you  want  to  open your
427              repeater by using a selective tone call that is  often  used  in
428              commercial  radio  networks.   Example: OPEN_ON_SEL5=03345 opens
429              your repeater only if that sequence has been received.  You  can
430              use sequence lengths from 4 to 25.
431
432       CLOSE_ON_SEL5
433              Use  this  configuration  variable  if  you  want  to close your
434              repeater by using a selective tone call that is  often  used  in
435              commercial  radio networks.  Example: CLOSE_ON_SEL5=03345 closes
436              your repeater if that sequence has been received.  You  can  use
437              sequence lengths from 4 to 25.
438
439       OPEN_ON_SQL
440              Use this configuration variable if it should be possible to open
441              the repeater just by keeping the squelch open for a  while.  The
442              value  to  set is the minimum number of milliseconds the squelch
443              must be open for the repeater to open.
444
445       OPEN_ON_SQL_AFTER_RPT_CLOSE
446              Activate the repeater on just a squelch opening  if  there  have
447              been  no  more  than  the  specified number of seconds since the
448              repeater closed.
449
450       OPEN_SQL_FLANK
451              Determines if OPEN_ON_SQL and OPEN_ON_CTCSS should activate  the
452              repeater  when  the  squelch  open or close. If set to OPEN, the
453              repeater will activate and start  retransmitting  audio  immedi‐
454              ately.  No  identification  will  be  sent. If set to CLOSE, the
455              repeater will not activate until the squelch close. An identifi‐
456              cation will be sent in this case.
457
458       IDLE_SOUND_INTERVAL
459              When the repeater is idle, a sound is played. Specify the inter‐
460              val in milliseconds between playing the idle sound. An  interval
461              of 0 disables the idle sound.
462
463       SQL_FLAP_SUP_MIN_TIME
464              Flapping  squelch suppression is used to close the repeater down
465              if there is interference on the frequency that open the  squelch
466              by short bursts.  This configuration variable is used to specify
467              the minimum time, in milliseconds, that a transmission must last
468              to  be  classified  as  a  real transmission. A good value is in
469              between 500-2000ms.
470
471       SQL_FLAP_SUP_MAX_COUNT
472              Flapping squelch suppression is used to close the repeater  down
473              if  there is interference on the frequency that open the squelch
474              by short bursts.  This configuration variable is used to specify
475              the maximum number of consecutive short squelch openings allowed
476              before shutting the repeater down. A good value  is  in  between
477              5-10.
478
479       ACTIVATE_MODULE_ON_LONG_CMD
480              This  configuration  variable activate a feature that might help
481              users not aware of the SvxLink command structure. The idea is to
482              activate  the  specified  module  when a long enough command has
483              been received. The typical example is an EchoLink user  that  is
484              used  to  just  typing  in  the  node ID and then the connection
485              should be established right away. Using this configuration vari‐
486              able,  specify  a minimum length and a module name. If no module
487              is active and at least the specified number of digits  has  been
488              entered,  the  given module is activated and the command is sent
489              to it. To be really useful this feature should be used in  coop‐
490              eration with EXEC_CMD_ON_SQL_CLOSE.
491
492              For   example,   if   this  configuration  variable  is  set  to
493              "4:EchoLink" and the user types in 9999, the EchoLink module  is
494              first  activated  and then the command 9999 is sent to it, which
495              will connect to the ECHOTEST server.
496
497       IDENT_NAG_TIMEOUT
498              Tell repeater users that are not identifying to  identify  them‐
499              selvs.   The  number  of  seconds to wait for an identification,
500              after the repeater has been activated, is set using this config‐
501              uration  variable.  A valid identification is considered to be a
502              transmission longer than the time set by the  IDENT_NAG_MIN_TIME
503              configuration  variable. We don't know if it's really an identi‐
504              fication but it's the best we can do.  Setting it to 0  or  com‐
505              menting it out disables the feature.
506
507       IDENT_NAG_MIN_TIME
508              This  is  the minimum time, in milliseconds, that a transmission
509              must last to be considered as an identification. This is used as
510              described in the IDENT_NAG_TIMEOUT configuration variable.
511
512   ReflectorLogic
513       The  ReflectorLogic  is  used to connect to an SvxReflector server. The
514       SvxReflector will distribute all audio to all connected nodes. To actu‐
515       ally  send  audio  to  the  reflector  from a logic core, set up a link
516       between the two logics using LogicLinking. More than one logic core can
517       be connected.
518
519       TYPE   The type for a reflector logic core is always Reflector.
520
521       HOST   The hostname or IP address of the reflector server.
522
523       PORT   The  TCP/UDP  port  number used by the server. The client do not
524              need to open any ports in the firewall. Default: 5300.
525
526       CALLSIGN
527              The callsign of this node. The callsign also serves as the user‐
528              name when authenticating to the SvxReflector server.
529
530       AUTH_KEY
531              The authentication key, or password, used when authenticating to
532              the SvxReflector server.
533
534       JITTER_BUFFER_DELAY
535              A jitter buffer is used to prevent gaps in the  audio  when  the
536              network  connection  do  not  provide a steady flow of data. Set
537              this configuration variable to the  number  of  milliseconds  to
538              buffer before starting to process the audio. Default: 0.
539
540   QSO Recorder Section
541       The QSO recorder is used to record all received audio to files on disk.
542       All audio  from  receivers,  modules  and  logic  links  are  recorded.
543       Announcements are not recorded.
544
545       REC_DIR
546              Use this configuration variable to specify in which directory to
547              write    the    audio     files.     A     good     place     is
548              /var/spool/svxlink/qso_recorder.
549
550       MIN_TIME
551              If  the duration of the recorded content for a file is less then
552              MIN_TIME milliseconds, the file will be deleted when the file is
553              closed. Default: 0 (empty files will be deleted).
554
555       MAX_TIME
556              Setting  this configuration variable will set an upper limit for
557              the file size of a recording. No more than MAX_TIME  seconds  of
558              content will be recorded to a single file. When the maximum time
559              have been reached, the file is closed and another file  is  cre‐
560              ated.  Note  that  it is not the maximum time that the recording
561              has been active that we are setting a limit for but  rather  how
562              much  content that have been recorded to the file. If nothing is
563              recorded, the file can stay open indefinitely.  Default:  0  (no
564              limit)
565
566       SOFT_TIME
567              To  not  get abrupt breaks in recordings it is possible to set a
568              soft break time.  Let's say that MAX_TIME is set to 3600 seconds
569              (one  hour).  If  we set SOFT_TIME to 300 seconds (five minutes)
570              the QSO recorder try to close the file on a squelch close  some‐
571              where  between  55 and 60 minutes. In this way we may avoid get‐
572              ting transmissions split up between files. Default: 0 (no limit)
573
574       MAX_DIRSIZE
575              Specify the maximum total size in megabytes of the files in  the
576              recording  directory. If the limit is exceeded, the oldest files
577              are deleted. The directory size is checked upon  file  close  so
578              the  size  may  grow temporarily past the limit with at most the
579              size of one recorded file. Only  files  which  have  a  filename
580              starting  with  "qsorec_"  will  be  considered for deletion. If
581              using an ENCODING_CMD, make sure that the  "qsorec_"  prefix  is
582              not  removed from the target filename unless you really want the
583              MAX_DIRSIZE feature to skip them.  Default: 0 (no limit)
584
585       DEFAULT_ACTIVE
586              If this configuration variable is set to  1,  the  QSO  recorder
587              will  be  activated  by  default  when SvxLink start. Default: 0
588              (default inactive)
589
590       TIMEOUT
591              If a timeout is specified,  the  activation  state  of  the  QSO
592              recorder   will   return   to   the   value   specified  in  the
593              DEFAULT_ACTIVE configuration variable when  the  node  has  been
594              idle for the specified number of seconds. When DEFAULT_ACTIVE is
595              unset or 0, if the QSO recorder is manually activated it will be
596              automatically  deactivated after the specified amount of time of
597              inactivity.  When  DEFAULT_ACTIVE  is  set  to  1,  if  the  QSO
598              recorder  is manually deactivated it will be automatically acti‐
599              vated  after  the  specified  amount  of  time  of   inactivity.
600              Default: 0 (no timeout)
601
602       QSO_TIMEOUT
603              Set  this  configuration  variable if you want to close the cur‐
604              rently opened file and open a new one after each QSO. The number
605              of  seconds  the  node  should  be  idle before closing the file
606              should be specified. Default: 0 (no QSO timeout)
607
608       ENCODER_CMD
609              Specify a command to be executed after a new wav file have  been
610              written  to  disk.  This  makes  it  possible to use an external
611              encoder utility to encode the wav file to another  format.  Even
612              though  this configuration variable was added to run an external
613              encoder it could do more complicated things  with  the  file  if
614              needed.  A  couple  of examples would be to transfer the file to
615              another computer or to send a notification e-mail. If  the  com‐
616              mand  line  get too complicated it may be a good idea to write a
617              script instead.
618
619              The encoder command will be run under a shell  so  normal  shell
620              operators like redirects and pipes may be used. The shell speci‐
621              fied in the SHELL environment variable will be used and  if  not
622              set,  /bin/sh will be used. The "-c" command line option will be
623              added so the complete command will look something  like:  $SHELL
624              -c  "$ENCODER_CMD".  A  number of %-codes can be included in the
625              command.  They have the following meaning:
626
627              ·   %f - The full filename with full path
628
629              ·   %d - The directory part (what REC_DIR is set to)
630
631              ·   %b - The basename, that is, the filename  without  path  and
632                  extension
633
634              ·   %n - The filename without path but with extension
635
636              The encoder will be started in the background and it will not be
637              stopped even if SvxLink exits. It will  run  in  the  background
638              until  it's done. As long as SvxLink is running it is monitoring
639              the encoding processes. If a process run  for  longer  than  one
640              hour it will be killed.
641
642              Note  that  SvxLink  will never remove the original recording so
643              that have to be done in the encoder command. Here are  a  couple
644              of examples:
645
646               ENCODER_CMD=/usr/bin/oggenc -Q \"%f\" && rm \"%f\"
647               ENCODER_CMD=/usr/bin/lame  --quiet  \"%f\"  \"%d/%b.mp3\" && rm
648              \"%f\"
649               ENCODER_CMD=/usr/bin/speexenc \"%f\" \"%d/%b.spx\"  2>/dev/null
650              && rm \"%f\"
651               ENCODER_CMD=/usr/bin/opusenc  \"%f\" \"%d/%b.opus\" 2>/dev/null
652              && rm \"%f\"
653
654   Macros Section
655       A macros section is used to declare macros that can be used by a  logic
656       core.  The logic core points out the macros section to use by using the
657       MACROS configuration variable. The name of the MACROS  section  can  be
658       chosen  arbitrarily  as long as it match the MACROS configuration vari‐
659       able in the logic core configuration section. There could  for  example
660       exist both a [RepeaterLogicMacros] and a [SimplexLogicMacros] section.
661
662       A  macro  is a kind of shortcut that can be used to decrease the amount
663       of key presses that have to be done to connect to common EchoLink  sta‐
664       tions for example.  On the radio side, macros are activated by pressing
665       "D" "macro number" "#". A macros section can look  something  like  the
666       example below. Note that the module name is case sensitive.
667
668         [Macros]
669         1=EchoLink:9999#
670         2=EchoLink:1234567#
671         9=Parrot:0123456789#
672
673       For  example,  pressing  DTMF sequence "D1#" will activate the EchoLink
674       module and connect to the EchoTest conference node.
675
676   Logic Linking
677       A logic linking configuration section is used  to  specify  information
678       for a link between two or more SvxLink logic cores. Such a link can for
679       example be used to connect a local repeater to a remote repeater  using
680       a  separate  link transceiver.  The link is activated/deactivated using
681       DTMF commands and/or automatically  depending  on  your  configuration.
682       When the link is active, all audio received by one logic will be trans‐
683       mitted by the other logic(s).
684
685       The name of the logic linking section can  be  chosen  freely.  In  the
686       example  configuration  file,  there  is a section [LinkToR4]. To use a
687       logic linking section in a logic core it must be  pointed  out  by  the
688       LINKS   configuration   variable   in  the  GLOBAL  section.   Example:
689       GLOBAL/LINKS=LinkToR4
690
691       CONNECT_LOGICS
692              A comma separated list of logic  specifications  for  the  logic
693              cores  to  connect  together. Each logic specification has three
694              parts separated by colons: <logic  name>:<command>:<announcement
695              name>.  The  "logic name" is the name of the logic to include in
696              the link. To manually activate or deactivate the link  from  the
697              just specified logic, "command" is used. The "announcement name"
698              is used when announcing link related activities like  activation
699              or  deactivation.  Both "command" and "announcement name" may be
700              left empty if no manual control is wanted.   An  example  config
701              line may look like this:
702
703              RepeaterLogic_2m:99:SK3GW,RepeaterLogic_70cm:94:SK3GK
704
705              It  will  include  two  logics in the link, RepeaterLogic_2m and
706              RepeaterLogic_70cm. From the 2m side, the link will be activated
707              when  the  user  send  command 991 and deactivated when the user
708              send command 990. Upon activation, an announcement  like  "acti‐
709              vating  link  to  SK3GW" will be played back. From the 70cm side
710              the command will be 941 and 940 respectively.  The  announcement
711              when  activating  the  link from the 70cm side will be something
712              like "activating link to SK3GK".
713
714       DEFAULT_ACTIVE
715              The link will  be  connected  automatically  during  startup  of
716              SvxLink  if  this configuration variable is set to 1. Also, if a
717              link is manually disconnected by a user it will be automatically
718              reconnected after some time of inactivity. The time is specified
719              by setting the TIMEOUT configuration variable.  If  the  TIMEOUT
720              variable is not set, no automatic reactivation will be done.
721
722       TIMEOUT
723              The number of seconds after which the link will be automatically
724              deactivated if there have been no activity. If 1 have been spec‐
725              ified for DEFAULT_ACTIVE, this configuration variable will spec‐
726              ify after how many seconds the link will  be  reactivated  after
727              being manually deactivated.
728
729       AUTOACTIVATE_ON_SQL
730              Enter  a  comma separated list of logics, which should automati‐
731              cally activate the link if there is activity (e.g. squelch open)
732              in  it. One possible application for this is for example to make
733              the connection of a microphone/speaker combination (without DTMF
734              encoder)  for  brief  announcements  but  without having to con‐
735              stantly listen in.  Example: AUTOACTIVATE_ON_SQL=MicSpkrLogic
736
737   Local Receiver Section
738       A local receiver section is used to specify  the  configuration  for  a
739       receiver connected to the sound card. In the default configuration file
740       there is a Local configuration section called Rx1.   The  section  name
741       could be anything. It should match the RX configuration variable in the
742       logic core where the receiver is to be used. The  available  configura‐
743       tion variables are described below.
744
745       TYPE   Always "Local" for a local receiver.
746
747       AUDIO_DEV
748              Specify  the audio device to use. Normally alsa:plughw:0. Have a
749              look at the AUDIO DEVICE SPECIFICATIONS chapter for more  infor‐
750              mation.
751
752       AUDIO_CHANNEL
753              Specify the audio channel to use. SvxLink can use the left/right
754              stereo channels as two mono channels. Legal values are 0 or 1.
755
756       SQL_DET
757              Specify the type of squelch detector  to  use.  Possible  values
758              are: VOX, CTCSS, SERIAL, EVDEV, SIGLEV, PTY, GPIO or HIDRAW.
759
760              The VOX squelch detector determines if there is a signal present
761              by calculating a mean  value  of  the  sound  samples.  The  VOX
762              squelch detector behaviour is adjusted with VOX_FILTER_DEPTH and
763              VOX_THRESH. VOX is actually a bit of a  misnomer  since  it's  a
764              "Voice  Operated Squelch" and VOX actually means "Voice Operated
765              Transmitter". However, the term VOX is widely understood by hams
766              all over the world so we'll stick with it.
767
768              The  CTCSS  squelch  detector  checks for the presence of a tone
769              with the specified frequency. The tone  frequency  is  specified
770              using  the  CTCSS_FQ config variable.  The thresholds are speci‐
771              fied using the CTCSS_OPEN_THRESH and  CTCSS_CLOSE_THRESH  config
772              variables.  Other config variables that effect the CTCSS squelch
773              is: CTCSS_MODE, CTCSS_SNR_OFFSET, CTCSS_BPF_LOW, CTCSS_BPF_HIGH.
774
775              The SERIAL squelch detector use a pin in a serial port to detect
776              if the squelch is open. This squelch detector can be used if the
777              receiver have an external hardware indicator of when the squelch
778              is  open.  Specify which serial port/pin to use with SERIAL_PORT
779              and SERIAL_PIN.
780
781              The  EVDEV  squelch  detector  read  squelch   events   from   a
782              /dev/input/eventX device.  An example where this could be useful
783              is if you have a USB audio device with some buttons on it.  Some
784              of  these  devices  generate  key press events, much like a key‐
785              board. Specify which /dev/input device node  to  use  using  the
786              EVDEV_DEVNAME config variable. Set which events that should open
787              and close the squelch using the EVDEV_OPEN and EVDEV_CLOSE  con‐
788              fig variables.
789
790              The GPIO squelch detector read a pin on the GPIO Port. Depending
791              on the level of the pin, the squelch is switched. A HIGH  (3.3V)
792              at  the  pin  set the squelch to open and a LOW (GND) level will
793              set the squelch to closed.  Specify which  squelch  pin  to  use
794              with  the GPIO_SQL_PIN configuration variable.  On some devices,
795              like the Orange Pi, you also need to set the GPIO_PATH  configu‐
796              ration variable.
797
798              The  SIGLEV  squelch  detector  use signal level measurements to
799              determine if the squelch is open  or  not.  Which  signal  level
800              detector  to  use is determined by the setting of the SIGLEV_DET
801              configuration variable. The open and close  thresholds  are  set
802              using  the SIGLEV_OPEN_THRESH and SIGLEV_CLOSE_THRESH configura‐
803              tion variables.  If using the NOISE signal level  detector  note
804              the  following.  The  detector  is not perfect (it's affected by
805              speech) so you will also want to setup SQL_HANGTIME  to  prevent
806              it from closing in the middle of a transmission. A value between
807              100-300ms is probably what you need. If using this squelch  type
808              in  cooperation with a voter, you'll also probably need to setup
809              SQL_DELAY to get correct signal level measurements. A  value  of
810              about  40ms  seem  to  be OK.  Also, when using the NOISE signal
811              level detector the input audio must be unsquelched since silence
812              will be interpreted as a high signal strength.
813
814              The  PTY  squelch expects a very easy protocol over a pseudo-tty
815              device, created by SvxLink on runtime.  An  'O'  over  this  pty
816              device  indicate  an  open  squelch,  a 'Z' is a closed squelch.
817              Define the slave pty in PTY_PATH  (e.g.  PTY_PATH=/tmp/sql)  and
818              SvxLink will create a link to the specified path from it's pseu‐
819              dotty slave device (/dev/pts/X). This can be used by a script to
820              interface  custom  devices, modems or other hardware to SvxLink.
821              Look for nhrcx.pl to see an example.
822
823              The HIDRAW squelch supports human interface devices  (HID),  USB
824              devices  like  CM108  soundcard  e.g.  used  in the URI Echolink
825              adapter made by DMK.
826
827       SQL_START_DELAY
828              The squelch start delay is of most use when using  VOX  squelch.
829              For example, if the transceiver makes a noise when the transmit‐
830              ter is turned off, that might trigger the VOX and cause an infi‐
831              nite loop of squelch open/close transmitter on/off.  Specify the
832              number of milliseconds that the squelch should be  "deaf"  after
833              the transmitter has been turned off.
834
835       SQL_DELAY
836              Specify  a  delay in milliseconds that a squelch open indication
837              will be delayed.  This odd feature can be of use  when  using  a
838              fast  squelch  detector  in  combination  with  the signal level
839              detector. A squelch delay will allow the signal  level  detector
840              to  do  its work before an indication of squelch open is sent to
841              the logic core. A delay might be needed when using the voter  to
842              choose  among  multiple receivers. A normal value could be some‐
843              where in between 20-100ms.
844
845       SQL_HANGTIME
846              How long, in milliseconds, the squelch will stay open after  the
847              detector  has  indicated  that  it is closed. This configuration
848              variable will affect all squelch detector types.
849
850       SQL_EXTENDED_HANGTIME
851              At low signal strengths it can be beneficial  to  use  a  longer
852              squelch  hangtime  so  that it is less likely for the squelch to
853              close. This configuration variable is unset by default. A  value
854              of  1000  milliseconds may be a good value to start out with. To
855              enable  the  extended  squelch  hangtime  feature,  set  up  the
856              SQL_EXTENDED_HANGTIME_THRESH variable.
857
858       SQL_EXTENDED_HANGTIME_THRESH
859              At  low  signal  strengths  it can be beneficial to use a longer
860              squelch hangtime so that it is less likely for  the  squelch  to
861              close. This configuration variable is unset by default. When set
862              to a signal level it will activate the extended squelch hangtime
863              feature.  When  the  signal  strength during a transmission fall
864              below the set threshold, the extended  hangtime  will  be  used.
865              Start  out with a value between 10 to 15. The SQL_EXTENDED_HANG‐
866              TIME variable is used to set how long the extended squelch hang‐
867              time  should  be.  Make sure that you have calibrated the signal
868              level detector before turning this feature on. Otherwise it will
869              not work as expected.
870
871       SQL_TIMEOUT
872              Use  this configuration variable to set an upper limiti, in sec‐
873              onds, for how long the squelch is allowed to  be  open.  If  the
874              timeout  value  is  exceeded the squelch is forced to closed. If
875              the squelch close for real, everything is back to  normal.  When
876              it  opens  the  next time a squelch open will be signalled.  For
877              example, use this feature to make sure that  a  faulty  receiver
878              cannot block the system indefinitly.
879
880       VOX_FILTER_DEPTH
881              The  number  of  milliseconds  to  create the mean value over. A
882              small value will make the vox react quicker  (<200)  and  larger
883              values will make it a little bit more sluggish. A small value is
884              often better.
885
886       VOX_THRESH
887              The threshold that the mean value of the samples must exceed for
888              the  squlech  to  be considered open. It's hard to say what is a
889              good value. Something around 1000 is probably a good value.  Set
890              it as low as possible without getting the vox to false trigger.
891
892       CTCSS_MODE
893              This configuration variable set the CTCSS detection method used.
894              These are the ones to choose from:
895
896              ·   0 (Default) Will choose  the  detection  mode  that  is  the
897                  default  in  the  software. At the moment this is the "Esti‐
898                  mated SNR" mode.
899
900              ·   1 (Neighbour bins) This detection mode will use three narrow
901                  frequency bands (~8Hz) to do the detection. One band is cen‐
902                  tered around the tone to be detected and then there are  one
903                  band  above  and one below the tone. These bands are used to
904                  estimate the noise floor. This is  the  detector  that  have
905                  been  used  in SvxLink for a long time. It is however rather
906                  slow with its detection time of about 450ms.   There  is  no
907                  good  reason  to use this detector anymore but it is kept in
908                  case the new detector does not work for some hardware setup.
909
910              ·   2 (Estimated SNR) This is a  newer  detector  implementation
911                  which have some improvements. The most notable difference is
912                  that it is faster. The mean detection time  will  be  around
913                  200ms.  This is the default detection mode if not specified.
914                  This detector will use a larger  passband  to  estimate  the
915                  noise  floor  which  make it more stable. The default config
916                  use the whole CTCSS passband  but  this  can  be  customized
917                  using the CTCSS_BPF_LOW and CTCSS_BPF_HIGH config variables.
918
919              ·   3 (Estimated SNR+Phase) This detector is a bit experimental.
920                  It is even faster and more narrow than the  other  detection
921                  modes. The mean detection time will be something like 150ms.
922                  The detection bandwidth is very narrow  and  very  sharp  so
923                  that  no adjacent tones will trigger the detector. The price
924                  to pay for these improvements is that is it a bit less  sen‐
925                  sitive.
926
927       CTCSS_FQ
928              If CTCSS (PL,subtone) squelch is used (SQL_DET is set to CTCSS),
929              this config variable sets the frequency of the tone to use.  The
930              tone  frequency  ranges from 67.0 to 254.1 Hz. There actually is
931              nothing that will stop you from setting the frequency  to  some‐
932              thing  outside this range but there is no guarantee that it will
933              work.
934
935       CTCSS_OPEN_THRESH
936              If CTCSS (PL, subtone)  squelch  is  used  (SQL_DET  is  set  to
937              CTCSS),  this  config  variable  sets the required tone level to
938              indicate squelch open. The value is some kind of estimated  sig‐
939              nal  to noise dB value. If using CTCSS mode 2 or 3 it is helpful
940              to set up the CTCSS_SNR_OFFSET config variable. This  will  make
941              the SNR estimation pretty good. Default threshold is 15dB.
942
943       CTCSS_CLOSE_THRESH
944              If  CTCSS  (PL,  subtone)  squelch  is  used  (SQL_DET is set to
945              CTCSS), this config variable sets the  required  tone  level  to
946              indicate squelch close. The value is some kind of estimated sig‐
947              nal to noise dB value. If using CTCSS mode 2 or 3 it is  helpful
948              to  set  up the CTCSS_SNR_OFFSET config variable. This will make
949              the SNR estimation pretty good. Default threshold is 9dB.
950
951       CTCSS_SNR_OFFSET
952              This config variable is used when CTCSS_MODE is set to 0,  2  or
953              3.  It  will  adjust  the estimated SNR value so that it becomes
954              very close to a real SNR value.  This  value  will  have  to  be
955              adjusted    if    CTCSS_FQ,    CTCSS_MODE,    CTCSS_BPF_LOW   or
956              CTCSS_BPF_HIGH changes.  Use the siglevdetcal  utility  to  find
957              out  what  to set this config variable to.  There is no require‐
958              ment to set this config variable up. The downside  is  that  you
959              will then need to experiment more with the CTCSS_OPEN_THRESH and
960              CTCSS_CLOSE_THRESH config variables to find the correct  squelch
961              level.
962
963       CTCSS_BPF_LOW
964              When  CTCSS_MODE  is set to 0, 2 or 3, this config variable will
965              set the low cutoff frequency for the passband  filter.  It  nor‐
966              mally  should  not  have  to  be  adjusted but could improve the
967              detector if some interference falls within  the  passband  (e.g.
968              mains hum). Note however that the more narrow you make the pass‐
969              band, the less stable the detector will be. You may need to com‐
970              pensate by increasing the open/close thresholds or by setting up
971              SQL_DELAY and SQL_HANGTIME. Default is 60Hz.
972
973       CTCSS_BPF_HIGH
974              When CTCSS_MODE is set to 0, 2 or 3, this config  variable  will
975              set  the  high cutoff frequency for the passband filter. It nor‐
976              mally should not have to  be  adjusted  but  could  improve  the
977              detector  if  some  interference falls within the passband. Note
978              however that the more narrow you make  the  passband,  the  less
979              stable  the  detector  will  be.  You  may need to compensate by
980              increasing the open/close thresholds or by setting up  SQL_DELAY
981              and SQL_HANGTIME. Default is 270Hz.
982
983       SERIAL_PORT
984              If  SQL_DET  is  set  to SERIAL, this config variable determines
985              which serial port should be used for hardware squelch input (COS
986              -  Carrier  Operated Squelch).  Note: If the same serial port is
987              used for the PTT, make sure you specify exactly the same  device
988              name.  Otherwise  the  RX  and  TX will not be able to share the
989              port.  Example: SQL_PORT=/dev/ttyS0
990
991       SERIAL_PIN
992              If SQL_DET is set to SERIAL,  this  config  variable  determines
993              which  pin  in  the serial port that should be used for hardware
994              squelch input (COS - Carrier Operated Squelch). It  is  possible
995              to  use  the  DCD,  CTS, DSR or RI pin. If inverted operation is
996              desired, prefix the pin name with an exclamation mark (!).
997
998              Example: SQL_PIN=!CTS
999
1000       SERIAL_SET_PINS
1001              Set the specified serial port pins to a static state.  This  can
1002              be good if using a pin for reference voltage or if a pin have to
1003              be in a certain state to not interfere  with  the  operation  of
1004              some equipment. There are two pins that are possible to use, RTS
1005              and DTR. If prefixed with an exclamation mark (!), the pin  will
1006              be cleared and if not it will be set.
1007
1008              Example: SERIAL_SET_PINS=RTS!DTR will set RTS and clear DTR.
1009
1010       EVDEV_DEVNAME
1011              Specify  which  /dev/input  device  node  to  use  for the EVDEV
1012              squelch detector.  To find out which device node and event codes
1013              to use, install the evtest utility. Find a candidate device node
1014              under /dev/input/ or /dev/input/by-id/ and try the evtest  util‐
1015              ity on it. Press some keys on the device you want to read events
1016              from. If you're in luck, events will be printed on the screen.
1017
1018       EVDEV_OPEN
1019              Use the evtest utility, as described above, to  find  out  type,
1020              code  and  value  for  the  event  you  want  to use to open the
1021              squelch. For example if type is 1, code is 163 and value  is  1,
1022              set this config variable to 1,163,1.
1023
1024       EVDEV_CLOSE
1025              Use  the  evtest  utility, as described above, to find out type,
1026              code and value for the event  you  want  to  use  to  close  the
1027              squelch.  For  example if type is 1, code is 163 and value is 0,
1028              set this config  variable  to  1,163,0.  If  you  set  the  same
1029              type,code,value combination for both EVDEV_OPEN and EVDEV_CLOSE,
1030              that event will toggle the squelch.
1031
1032       GPIO_PATH
1033              Use this configuration variable to set the path to the sys  con‐
1034              trol  devices for GPIO.  This normally is /sys/class/gpio but on
1035              some   hardware,   like   the   Orange   Pi,   the    path    is
1036              /sys/class/gpio_sw.
1037
1038       GPIO_SQL_PIN
1039              If SQL_DET is set to GPIO this configuration variable is used to
1040              choose which GPIO pin to use for squelch input. The most  common
1041              name  is  gpio<number>,  like  gpio4. Some GPIO drivers use more
1042              complex  names,  like  gpio33_pe11.  If  inverted  operation  is
1043              desired, prefix the pin name with an exclamation mark (!).
1044
1045              Example: GPIO_SQL_PIN=!gpio4
1046
1047       SIGLEV_DET
1048              Choose which type of signal level detector to use. The available
1049              choices are: "NONE", "NOISE",  "TONE"  or  "SIM".  Depending  on
1050              other  configuration  there  may  be more choices available. For
1051              example, if a Ddr receiver is used there will also be a DDR sig‐
1052              nal  level  detector  available.   The  signal level detector is
1053              only needed when using multiple receivers in a voter  configura‐
1054              tion or when using the SIGLEV squelch type.
1055
1056              Type NONE disable the signal level detector. This may be used if
1057              no signal level detector is needed.
1058
1059              Type NOISE use a bandpass filter in the  range  of  5  -  5.5kHz
1060              (CARD_SAMPLE_RATE  >=  16000)  or  a  highpass  filter at 3.5kHz
1061              (CARD_SAMPLE_RATE =  8000)  to  estimate  the  amount  of  noise
1062              present on the signal. If the passband contain a small amount of
1063              energy, a strong signal is assumed. If the passband contain more
1064              energy,  a weaker signal is assumed.  The noise detector must be
1065              calibrated for the receiver and audio levels you  use.  This  is
1066              done  using  the  SIGLEV_SLOPE  and  SIGLEV_OFFSET configuration
1067              variables. See chapter CALIBRATING  THE  SIGNAL  LEVEL  DETECTOR
1068              below for more information.
1069
1070              Type  TONE  is  not  really a signal level detector but rather a
1071              transport mechanism for getting signal level measurements from a
1072              remote  receiver  site,  linked  in  via RF, to the main SvxLink
1073              site.  It is using ten tones, one for each signal level step, in
1074              the  high audio frequency spektrum (5.5 - 6.4kHz, 100Hz step) to
1075              indicate one of ten signal levels.  Only the receiving part have
1076              been  implemented  in  SvxLink  at  the  moment.  On  the remote
1077              receiver side an Atmel AVR ATmega8 is used  to  map  the  signal
1078              level voltage to tone frequencies.  Use the TONE_SIGLEV_MAP con‐
1079              figuration variable to map each tone to a  corresponding  signal
1080              level value in between 0 - 100.
1081
1082              Type  SIM  is a simulated signal level detector that can be used
1083              to debug problems in the SvxLink software. Use  the  SIGLEV_MIN,
1084              SIGLEV_MAX,     SIGLEV_DEFAULT,    SIGLEV_TOGGLE_INTERVAL    and
1085              SIGLEV_RAND_INTERVAL configuration variables  to  configure  the
1086              simulator.
1087
1088       HID_DEVICE
1089              This  parameter  defines  the device your hidraw adapter is con‐
1090              nected to. This port is  created  by  the  linux/hidraw  driver.
1091              e.g. HID_DEVICE=/dev/hidraw3
1092
1093       HID_SQL_PIN
1094              Define  the pin your hardware squelch (from RX) is connected to.
1095              Valid values are VOL_UP, VOL_DN, MUTE_PLAY or MUTE_REC.
1096
1097              Example: HID_SQL_PIN=VOL_UP
1098
1099       SIGLEV_SLOPE
1100              The slope (or gain) of the signal level  detector.  See  chapter
1101              CALIBRATING  THE  SIGNAL  LEVEL DETECTOR below for more informa‐
1102              tion.
1103
1104       SIGLEV_OFFSET
1105              The offset of the signal level detector. See chapter CALIBRATING
1106              THE SIGNAL LEVEL DETECTOR below for more information.
1107
1108       SIGLEV_BOGUS_THRESH
1109              This configuration variable set an upper threshold for the esti‐
1110              mated signal level when using the noise signal  level  detector.
1111              If  the estimation goes over the given threshold, a signal level
1112              of 0 will be reported. This can be used  as  a  workaround  when
1113              using  a  receiver with squelched audio output. When the squelch
1114              is closed, the receiver audio is silent. The signal level  esti‐
1115              mator  will  interpret  this as a very strong signal. Setting up
1116              the bogus signal level threshold will counteract  this  behavior
1117              but a better solution is to use unsquelched audio if possible.
1118
1119              By  default this feature is disabled. If enabling it, start with
1120              a value somewhere around 120.
1121
1122       TONE_SIGLEV_MAP
1123              This configuration variable is used to map tones to signal level
1124              values when SIGLEV_DET=TONE. It is a comma separated list of ten
1125              values in the 0 - 100 range. The first value map to  the  5500Hz
1126              tone,  the  second  to the 5600Hz tone and so on. The last value
1127              map to the 6400Hz tone.  What levels the tones should be  mapped
1128              to  depends  on the tone sender implementation. The default tone
1129              map is 10,20,30...,100.
1130
1131              The Atmel AVR processor used by the author have a  reverse  map‐
1132              ping so that the first tone (5500Hz) indicate the highest signal
1133              strength and the last tone (6400Hz) indicate the  lowest  signal
1134              strength.  It  is  also  not linear since it's more important to
1135              have fine measurement granularity in the lower  signal  strength
1136              range.   This   is   how   the   mapping   look   for  the  AVR:
1137              100,84,60,50,37,32,28,23,19,8.
1138
1139       SIGLEV_OPEN_THRESH
1140              This is the squelch open threshold for the SIGLEV squelch detec‐
1141              tor.   If  using  the  NOISE signal level detector, make sure to
1142              first calibrate the signal level detector using the SIGLEV_SLOPE
1143              and  SIGLEV_OFFSET  configuration  variables.  The  signal level
1144              detector should normally  be  calibrated  so  that  full  signal
1145              strength is 100 and no signal is 0. Depending on your background
1146              noise level a good value  for  this  configuration  variable  is
1147              between 5 and 20.
1148
1149       SIGLEV_CLOSE_THRESH
1150              This  is  the  squelch  close  threshold  for the SIGLEV squelch
1151              detector.  If using the NOISE signal level detector,  make  sure
1152              to   first   calibrate  the  signal  level  detector  using  the
1153              SIGLEV_SLOPE and SIGLEV_OFFSET configuration variables. The sig‐
1154              nal  level  detector  should normally be calibrated so that full
1155              signal strength is 100 and no signal is  0.  Depending  on  your
1156              background noise level a good value for this configuration vari‐
1157              able is between 1 and 10.
1158
1159       SIGLEV_MIN
1160              The minimum signal level used by SIM signal level detector.
1161
1162       SIGLEV_MAX
1163              The maximum signal level used by SIM signal level detector.
1164
1165       SIGLEV_DEFAULT
1166              The default signal level set on startup by the SIM signal  level
1167              detector.
1168
1169       SIGLEV_TOGGLE_INTERVAL
1170              The interval, in millisecods, that the SIM signal level detector
1171              will use to toggle between the maximum and  the  minimum  signal
1172              levels.
1173
1174       SIGLEV_RAND_INTERVAL
1175              The  interval, in milliseconds, that the SIM signal level detec‐
1176              tor will use between randomizing a new signal  level  value.  At
1177              each  interval,  the  simulator will randomly either increase or
1178              decrease the signal level with one step.
1179
1180       DEEMPHASIS
1181              Apply a deemphasis filter on received audio. The deemphasis fil‐
1182              ter  is used when taking audio directly from the detector in the
1183              receiver, like when using a 9k6 packet radio connector.  If  not
1184              using a deemphasis filter the high frequencies will be amplified
1185              resulting in a very bright (tinny) sound.
1186
1187       SQL_TAIL_ELIM
1188              Squelch tail elimination is used to remove noise from the end of
1189              a received transmission. This is of most use when using CTCSS or
1190              SIGLEV squelch with unsquelched input audio. A normal value is a
1191              couple  of  hundred  milliseconds.   Note that the audio will be
1192              delayed by the same amount of milliseconds. This does not matter
1193              much  for  a  simplex link but for a repeater the delay might be
1194              annoying since you risk hearing the end of  your  own  transmis‐
1195              sion.
1196
1197       PREAMP The incoming signal will be amplified by the specified number of
1198              dB. This can be used as a last measure if the input audio  level
1199              can't  be  set  high enough on the analogue side. A value of 6dB
1200              will double the signal level. Note that this is a digital ampli‐
1201              fication.  Hence  it will reduce the dynamic range of the signal
1202              so usage should be avoided if possible. It's  always  better  to
1203              correct the audio level before sampling it.
1204
1205       PEAK_METER
1206              This is a help to adjust the incoming audio level. If enabled it
1207              will output a message when  distorsion  occurs.  To  adjust  the
1208              audio  level,  first  open  the squelch. Then increase the audio
1209              level until warning messages are printed.   Decrease  the  audio
1210              level  until  no warning messages are printed. After the adjust‐
1211              ment has been done, the peak meter can be disabled.  0=disabled,
1212              1=enabled.
1213
1214       DTMF_DEC_TYPE
1215              Specify  the  DTMF  decoder  type. Set it to INTERNAL to use the
1216              internal software DTMF decoder. To use the S54S  interface  fea‐
1217              turing  a  hardware DTMF decoder, set it to S54S.  To control it
1218              over a pseudo tty device set it to PTY.  Setting it to PTY  will
1219              install  the  PTY dtmf decoder. SvxLink creates a symlink linked
1220              to a slave pty device on runtime. The name  has  to  be  defined
1221              with  DTMF_PTY.   NONE  or  commenting  it out will disable DTMF
1222              detection.
1223
1224       DTMF_MUTING
1225              Mute the audio during the  time  when  a  DTMF  digit  is  being
1226              received.  Note  that the audio will be delayed 75ms to give the
1227              DTMF detector time to do its work.  This does not matter much on
1228              a  simplex link but on a repeater it could be annoying since you
1229              will hear the last 75 milliseconds of your own transmission.  To
1230              counteract the added delay one can set up the SQL_TAIL_ELIM con‐
1231              figuration variable to at least 75 milliseconds.   Legal  values
1232              for DTMF_MUTING are 0=disabled, 1=enabled.
1233
1234       DTMF_HANGTIME
1235              This  configuration  variable can be used if the DTMF decoder is
1236              too quick to indicate digit idle. That does not matter  at  high
1237              signal  strengths but for weaker signals and mobile flutter it's
1238              not good at all. Each  DTMF  digit  will  be  detected  multiple
1239              times.   Using this configuration variable, the time (ms) a tone
1240              must be missing to be indicated as off can be extended.  Setting
1241              this  value too high will cause the decoder to be a bit sluggish
1242              and it might consider two digits as one.   The  hang  time  only
1243              affect  consecutive  digits  of the same value (e.g. 1 1).  If a
1244              detected digit differs from the previously detected digit (e.g 1
1245              2), the hang time is immediately canceled and the detected digit
1246              is considered as a new one. A good default value is 50-100ms.
1247
1248       DTMF_SERIAL
1249              When using an external hardware DTMF decoder this  config  vari‐
1250              able is used to specify a serial port (e.g. /dev/ttyS0).
1251
1252       DTMF_PTY
1253              When  using  the  PTY DTMF "decoder" this configuration variable
1254              will set the path to the PTY slave softlink  that  the  external
1255              interface  script  use to communicate to SvxLink. Over this sym‐
1256              link a very easy communication protocol is used to tell  SvxLink
1257              received DTMF digits: 0-9, A-F, *, #. "E" is the same as "*" and
1258              "F" is the same as "#". Sending a digit  tell  SvxLink  when  it
1259              starts.  To  tell SvxLink that the digit has ended, send a space
1260              character.
1261
1262              The PTY DTMF "decoder" can be used  by  an  external  script  to
1263              interface  custom  devices, modems or other hardware to SvxLink.
1264              Look for nhrcx.pl to see an example.
1265
1266              Example: /tmp/rx1_dtmf.
1267
1268       DTMF_MAX_FWD_TWIST
1269              DTMF use two tones to encode digits 0-9, A-F.  These  two  tones
1270              should  normally  have  the  sample amplitude. The difference in
1271              amplitude is called twist. Forward twist is when the higher fre‐
1272              quency tone is lower in amplitude than the lower frequency tone.
1273              According to the standards, 8dB forward twist should be allowed.
1274              Some  transmitters  do  not correctly modulate the DTMF tones to
1275              get zero twist.  The most common situation is that  the  forward
1276              twist is too large. Increasing this configuration variable above
1277              8dB might allow DTMF from these  transmitters  to  be  detected.
1278              When  doing  this,  the  DTMF detector will be more sensitive to
1279              noise and might cause more false triggers.
1280
1281       DTMF_MAX_REV_TWIST
1282              DTMF use two tones to encode digits 0-9, A-F.  These  two  tones
1283              should  normally  have  the  sample amplitude. The difference in
1284              amplitude is called twist. Reverse twist is when the lower  fre‐
1285              quency  tone  is  lower  in  amplitude than the higher frequency
1286              tone. According to the standards, 4dB reverse  twist  should  be
1287              allowed  but SvxLink will allow 6dB by default.  The most common
1288              reason for getting reverse twist is a bad de-emphasis filter  or
1289              that  none  at all is used, like when taking audio directly from
1290              the FM discriminator. Have a look at the  DEEMPHASIS  configura‐
1291              tion variable before starting to modify this configuration vari‐
1292              able.
1293
1294       DTMF_DEBUG
1295              Set to 1 to continuously print software  DTMF  decoder  decision
1296              parameters.  This  should only be used for a short while to pin‐
1297              point problems with the DTMF decoding since it  will  print  one
1298              row  of  analysis parameters 100 times per second. The following
1299              parameters are printed.
1300
1301              ·   pwr - The power in the audio  signal.  Must  be  over  about
1302                  -50dB.
1303
1304              ·   q  -  Quality. Should be close to 1.00 for a good detection.
1305                  If the signal is strong but the value  is  low  anyway,  the
1306                  signal  probably  is  distorted  for  some reason. The input
1307                  audio level may be too high for example.
1308
1309              ·   twist - The amplitude  difference  between  the  two  tones.
1310                  Should  be  around 0dB, which means the tones should ideally
1311                  be of the same strength. By default, values between -6dB  to
1312                  +8dB  are  accepted  but the thresholds can be set using the
1313                  DTMF_MAX_FWD_TWIST  and   DTMF_MAX_REV_TWIST   configuration
1314                  variables.
1315
1316              ·   rowq  - Quality of the row (low group) tone. Should be close
1317                  to one.
1318
1319              ·   colq - Quality of the column (high group)  tone.  Should  be
1320                  close to one.
1321
1322              ·   digit - The digit mapped to the two detected tones.
1323
1324              ·   row3rd  -  The  row  tone  relation  to  its third overtone.
1325                  Should be close to zero. If it's not, the signal is probably
1326                  distorted.
1327
1328              ·   col3rd  -  The  column  tone relation to its third overtone.
1329                  Should be close to zero. If it's not, the signal is probably
1330                  distorted.
1331
1332              ·   im  - The relation of the two tones to their intermodulation
1333                  product.  Should be close to zero. If it's not,  the  signal
1334                  is probably distorted.
1335
1336       1750_MUTING
1337              Mute  the  audio  during a call tone of 1750Hz is received. Note
1338              that the audio will be delayed 75ms to give  the  tone  detector
1339              time  to  do  its  work.  This does not matter much on a simplex
1340              link but on a repeater it could be annoying since you will  hear
1341              the  last 75 milliseconds of your own transmission.  To counter‐
1342              act the added delay one can set up the SQL_TAIL_ELIM  configura‐
1343              tion  variable  to  at  least 75 milliseconds.  Legal values for
1344              1750_MUTING are 0=disabled, 1=enabled.
1345
1346       SEL5_TYPE
1347              Define here your selective tone call system. You have the choice
1348              of  the  following  types:  ZVEI1,  ZVEI2, ZVEI3, PZVEI, PDZVEI,
1349              DZVEI, CCITT, EEA, CCIR1,  CCIR2,  NATEL,  EURO,  VDEW,  AUTO-A,
1350              MODAT,  PCCIR  and  EIA. Only one system can be used at the same
1351              time. Please take into consideration that  some  Sel5  standards
1352              are using the same or similar tones so it may have some unwanted
1353              effects if you define ZVEI1  for  SvxLink  and  a  (e.g.)  ZVEI3
1354              sequence is received.
1355
1356       SEL5_DEC_TYPE
1357              At  the  moment  only  SEL5_DEC_TYPE=INTERNAL is valid. Maybe we
1358              have support for some external tone detectors later. To  disable
1359              SEL5  tone decoding, specify NONE or just comment the configura‐
1360              tion variable out.
1361
1362       RAW_AUDIO_UDP_DEST
1363              Setting this configuration variable makes it possible to  stream
1364              the raw audio from the sound device to an UDP socket. The sample
1365              format is the one used internally in SvxLink, that is each  sam‐
1366              ple  is  represented  by a 32 bit float.  The sample rate is the
1367              same as the one chosen for the audio device.  The destination is
1368              specified as ip-address:port.
1369
1370              Example: RAW_AUDIO_UDP_DEST=127.0.0.1:10000
1371
1372   Ddr Receiver Section
1373       A special kind of local receiver is the Digital Drop Receiver (DDR). It
1374       will use either the rtl_tcp utility  or  a  direct  USB  connection  to
1375       interface  to a RTL2832U based DVB-T USB dongle and use that as a wide‐
1376       band receiver. These USB dongles can be bought cheeply from an Internet
1377       shop (~$10). The radio performance may not be great but better than one
1378       might think. Usage as a cheap local coverage  receiver  or  as  a  link
1379       receiver may work very well.
1380
1381       One  big  advantage of using a wideband receiver is that it is possible
1382       to monitor more than one narrow band channel at a time. The only  limit
1383       is  the CPU power and the bandwidth of the wideband tuner. You probably
1384       need a Pentium4 or better to fulfill the CPU demands.
1385
1386       Getting the DVB-T dongle running is out of scope for this document  but
1387       what  you  absolutely  need to do is to find out the frequency error on
1388       your specific dongle. When you have  figured  out  what  the  frequency
1389       error  is,  set  up  the FQ_CORR configuration variable in the wideband
1390       receiver configuration section.
1391
1392       The rtl_tcp utility is in a package named  similar  to  something  like
1393       rtl-sdr.   When  you  have  the  rtl-sdr  stuff  installed,  just start
1394       rtl_tcp. No command line arguments are needed.  Then  configure  a  Ddr
1395       receiver in SvxLink. All configuration variables that are available for
1396       an ordinary local receiver is also available for a Ddr receiver, except
1397       the  audio  device  related  ones which are just ignored. The following
1398       configuration variables are available in addition to the ordinary ones.
1399
1400       FQ     The narrowband channel frequency to tune to.
1401
1402       MODULATION
1403              The modulation used on the channel. Legal values are: "FM" (two-
1404              way  radio  frequency  modulation), "NBFM" (two-way radio narrow
1405              frequency modulation), "WBFM" (broadcast wideband frequency mod‐
1406              ulation),  "AM"  (two-way  radio  amplitude  modulation), "NBAM"
1407              (two-way radio narrow band amplitude modulation),  "USB"  (Upper
1408              Sideband),  "LSB"  (Lower Sideband), "CW" (Continuous Wave, e.g.
1409              Morse), "WBCW" (CW wide).
1410
1411       WBRX   The configuration section for the wideband receiver  to  connect
1412              this DDR to.  See "Wideband Receiver Section" below.
1413
1414       SIGLEV_DET
1415              For  a  Ddr there also is a special signal level detector avail‐
1416              able, DDR, that will measure the RF power  before  demodulation.
1417              This  is  much  more  reliable  than estimating the signal power
1418              through the audio which is normally done in SvxLink.  The  draw‐
1419              back  is  that the Ddr signal level is not completely comparable
1420              to the ordinary SvxLink signal level measurements since it  have
1421              a  larger  dynamic range. Set SIGLEV_DET=DDR to activate the Ddr
1422              signal level detector.
1423
1424   Wideband Receiver Section
1425       A wideband receiver section is used to configure access to  a  wideband
1426       receiver  which can be used by a Digital Drop Receiver (DDR), described
1427       above, to handle multiple narrowband channels using the same  hardware.
1428       The  only  hardware supported at the moment is RTL2832U based DVB-T USB
1429       dongles. SvxLink access the dongle directly  via  USB  or  through  the
1430       rtl_tcp utility, which make the dongle available on a TCP network port.
1431       The following configuration variables are available:
1432
1433       TYPE   The type of wideband receiver used. The  only  supported  values
1434              right now are "RtlTcp" and "RtlUsb".
1435
1436       DEV_MATCH
1437              When using RtlUsb, this configuration variable is used to select
1438              the dongle to use if there are multiple dongles connected to the
1439              computer.  When  looking  for dongles, SvxLink will try to match
1440              the string given in this  configuration  variable  in  different
1441              ways.  First,  if it's a digit, a match against the device index
1442              is tried. The device index is just a number, zero and  up,  that
1443              is given to a dongle when it's inserted.
1444
1445              If  the  device index does not match, a match against the begin‐
1446              ning, end or the whole serial number will be tried.
1447
1448              Default: 0 (first device found)
1449
1450       HOST   The name of the host that the  rtl_tcp  utility  is  running  on
1451              (Default: localhost).
1452
1453       PORT   The TCP port that rtl_tcp is listening on (Default: 1234).
1454
1455       SAMPLE_RATE
1456              The  sample rate used by the dongle. Legal values are 960000 and
1457              2400000 (Default: 960000).
1458
1459       FQ_CORR
1460              This is probably the most important configuration variable. Most
1461              dongles  are far off in frequency so they need to be calibrated.
1462              Calibrating the dongle can be done in multiple ways. The  recom‐
1463              mended  way  is  to  use  the devcal utility that is distributed
1464              along with SvxLink. The calibration procedure  is  described  in
1465              the devcal (1) manual page.
1466
1467              The  end result should be a correction value for how far off the
1468              dongle is in frequency counted in parts per million (PPM).  That
1469              is,  how many Hz per MHz is the tuner off by. Typical values are
1470              in the range -100 to 100.
1471
1472       CENTER_FQ
1473              The frequency, in Hz, that the wideband tuner should  be  placed
1474              at.  This  configuration  variable should normally be left unset
1475              since SvxLink will try to place the wideband tuner to cover  all
1476              set up Ddr frequencies. SvxLink will also try to avoid placing a
1477              Ddr on the center frequency of the wideband spectrum since there
1478              is  usually  some noise there. Only use this configuration vari‐
1479              able if you need to override the automatic  placement  for  some
1480              reason.
1481
1482       XVRTR_OFFSET
1483              If a transverter is used, this configuration variable can be set
1484              to the frequency offset that the transverter introduce. The fre‐
1485              quency  set  here  will  be added to the center frequency of the
1486              wideband receiver.
1487
1488       GAIN   If unset, automatic gain is used. Do not use automatic gain con‐
1489              trol  if  using  the DDR signal level detector. That may mess up
1490              the measurements. Finding a good gain setting may be  hard.  Too
1491              little  and  you will not hear the signals you want to hear. Too
1492              much and the tuner will be driven into distorsion.  One  way  to
1493              decide  the  maximum  usable  gain  is  to  use  the  PEAK_METER
1494              explained below.  When there are no distorsion warning  messages
1495              printed or just a single one now and then you have found the max
1496              gain. You should probably back at least one step down from  this
1497              value.  If  the signals you want to receive are very strong, set
1498              the gain as low as possible.
1499
1500              What gain values that are available is tuner dependent.  SvxLink
1501              will  print  the  available  gain values when it establishes the
1502              connection to the tuner. Typical values are in the range -10  to
1503              50dB.
1504
1505       PEAK_METER
1506              If  PEAK_METER is set to 1, a warning will be printed every time
1507              the tuner is driven into distorsion. If it happens too often the
1508              gain should be lowered.  At most, one warning per second will be
1509              printed.
1510
1511   LocalSim Receiver Section
1512       A simulated local receiver can be used to debug problems in the SvxLink
1513       software.  The  only  thing  that this very simple simulator does is to
1514       play a tone. The generated tone can be controlled using some configura‐
1515       tion variables.
1516
1517       SIM_WAVEFORM
1518              Set the waveform to use; SIN=sine wave, SQUARE=square wave.
1519
1520       SIM_TONE_FQ
1521              Set the frequency of the tone in Hz.
1522
1523       SIM_TONE_PWR
1524              Set  the  tone  power  in  dB. 0dB corresponds to the power in a
1525              full-scale sine wave.
1526
1527   Voter Section
1528       Receiver type "Voter" is a "receiver" that combines multiple  receivers
1529       and  selects  one  of  them  to take audio from when the squelch opens.
1530       Which receiver to use is selected directly after squelch  open.  It  is
1531       possible  to  set  up  a  voting delay which will make the voter wait a
1532       while before choosing which RX to use.  This will  give  all  receivers
1533       some  time  to report their signal strengths.  After the initial choice
1534       have been made a periodic check is done to see  if  any  of  the  other
1535       receivers receive a stronger signal.  In the default configuration file
1536       there is a voter section called Voter.
1537
1538       TYPE   Always "Voter" for a voter.
1539
1540       RECEIVERS
1541              Specify a comma separated  list  of  receivers  that  the  voter
1542              should use. Example: RECEIVERS=Rx1,Rx2,Rx3
1543
1544       VOTING_DELAY
1545              Specify the delay in milliseconds that the voter will wait after
1546              the first sqeulch open detection until  the  decision  of  which
1547              receiver to use is made. This time must be set sufficiently high
1548              to allow all receivers to calculate and report the signal level.
1549              Incoming  audio  and  DTMF  digits  will  be  buffered  for  all
1550              receivers during the delay time so nothing will be lost, but  of
1551              course  the  audio will be delayed the specified amount of time.
1552              This is most noticeble when using a repeater logic. Use the BUF‐
1553              FER_LENGTH  configuration  variable to adjust the buffer length.
1554              The default voting delay is 0.
1555
1556       BUFFER_LENGTH
1557              Use this configuration variable to adjust the length of the vot‐
1558              ing  delay  buffer.  If not specified, the buffer length will be
1559              the same as the voting  delay.  When  using  the  voter  with  a
1560              repeater  logic,  try  to  keep this variable at 0 to reduce the
1561              latency. Only increase it if you  feel  audio  is  lost  in  the
1562              beginning of transmissions.
1563
1564       REVOTE_INTERVAL
1565              This  is  the interval time in milliseconds with which the voter
1566              will check if another receiver is receiving a  stronger  signal.
1567              If  that  is  the  case,  a  receiver  switch will be initiated.
1568              Default is 1000 milliseconds.
1569
1570       HYSTERESIS
1571              The hysteresis setting will prevent  the  voter  from  switching
1572              back  and  forth  between two receivers that are equal in signal
1573              strength. For a switch to  occur,  the  other  receivers  signal
1574              strength  must  exceed  the current receivers signal strength by
1575              the percent specified in this configuration variable. So if  the
1576              hysteresis is set to 50% and the received signal strength on the
1577              current receiver is  40,  a  signal  strength  of  40*1.5=60  is
1578              required  on  another  receiver to initiate a switch. At squelch
1579              open, if the received signal strength plus hysteresis is  larger
1580              than  100,  the  voting delay will be skipped.  The default hys‐
1581              teresis is 50 percent.
1582
1583       RX_SWITCH_DELAY
1584              When a receiver switch is initiated by the voter, it  will  wait
1585              the number of milliseconds specified in this configuration vari‐
1586              able before actually performing the switch. The switch will only
1587              occur  if  the  other receivers signal strength is still higher.
1588              Default is 500 milliseconds.
1589
1590       SQL_CLOSE_REVOTE_DELAY
1591              The voter will wait the number of milliseconds specified in this
1592              config  variable  after a squelch close before voting in another
1593              receiver. There are two reasons for using this delay. The  first
1594              is  to  prevent the voter from going into idle state immediately
1595              when the squelch close for a fluttery  signal.  If  it  goes  to
1596              idle,  the procedure with voting delay may cause longer dropouts
1597              than necessary.  The second reason to use this  config  variable
1598              is  if different receivers have different hang times (explicitly
1599              or implicitly). If both a slow and fast  receiver  is  receiving
1600              the same signal and the faster is currently chosen, when the PTT
1601              is released the slower receiver will be  voted  before  closing.
1602              This  will  cause  a  double squelch tail and double roger beep.
1603              Default is 500 milliseconds.
1604
1605       COMMAND_PTY
1606              Specify the path to a PTY that can be used to control the  voter
1607              from the operating system. Available commands:
1608
1609              ·   ENABLE rx_name - Enable the given receiver
1610
1611              ·   DISABLE rx_name - Disable the given receiver
1612
1613              Commands  can  be  issued  using  a simple echo command from the
1614              shell. Example: echo "DISABLE Rx1" >/dev/shm/voter_ctrl
1615
1616   Networked Receiver Section
1617       A networked receiver section is used to specify the configuration for a
1618       receiver  connected through a TCP/IP network. In the default configura‐
1619       tion file there is a networked receiver  configuration  section  called
1620       NetRx.  The section name could be anything. It should match the RX con‐
1621       figuration variable in the logic core where the receiver is to be used.
1622       The available configuration variables are described below. How to use a
1623       networked receiver is further  described  in  the  remotetrx(1)  manual
1624       page.
1625
1626       TYPE   Always "Net" for a networked receiver.
1627
1628       HOST   The hostname or IP address of the remote receiver host.
1629
1630       TCP_PORT
1631              The TCP port that RemoteTrx listen on. The default is 5210.
1632
1633       LOG_DISCONNECTS_ONCE
1634              Set this configuration variable to 1 to suppress logging of mul‐
1635              tiple disconnect messages in  a  row,  like  when  there  is  no
1636              RemoteTrx  running  on  the  other side.  Thus, failed reconnect
1637              attempts will not be logged at all. This may  be  of  use  if  a
1638              RemoteTrx  is  missing for a long time or if it's only used from
1639              time to time. The default is 0 which means  that  all  reconnect
1640              attempts will be logged.
1641
1642       AUTH_KEY
1643              This  is  the authentication key (password) to use to connect to
1644              the RemoteTrx server. The same key have to be specified  in  the
1645              RemoteTrx   configuration.   If  no  key  is  specified  in  the
1646              RemoteTrx config, the login  will  be  unauthenticated.  A  good
1647              authentication  key  should  be 20 characters long.  If the same
1648              RemoteTrx is used for both RX and TX, the same key must be spec‐
1649              ified in the RX as well as in the TX configuration section.  The
1650              key will never be transmitted  over  the  network.  A  HMAC-SHA1
1651              challenge-response procedure will be used for authentication.
1652
1653       CODEC  The  audio codec to use when transferring audio from this remote
1654              receiver.  Available codecs are: RAW (512kbps),  S16  (256kbps),
1655              GSM (13.2kbps), SPEEX (8-25kbps), OPUS (8-64kbps). These are raw
1656              bitrate values. There will be some overhead added to this so the
1657              real  bitrates  on  the  wire  are a little bit higher. The OPUS
1658              codec is the most modern one and it also have the  best  quality
1659              for a given bitrate.
1660
1661       SPEEX_ENC_FRAMES_PER_PACKET
1662              Speex  encoder setting. Each Speex frame contains 20ms audio. If
1663              using a low bitrate configuration, the network overhead will  be
1664              quite  noticeable  if  sending each frame in its own packet. One
1665              way to lower the overhead is to send  multiple  frames  in  each
1666              network  packet.  The  drawback  with doing this is that you get
1667              more  delay.  If  setting  this  option  to  something  like   4
1668              (default), the delay will be about 4x20=80ms.
1669
1670       SPEEX_ENC_QUALITY
1671              Speex  encoder setting. Specify the encoder quality using a num‐
1672              ber between 0-10.  Lower values give poorer  quality  and  lower
1673              bitrates.
1674
1675       SPEEX_ENC_BITRATE
1676              Speex  encoder  setting.  Specify the bitrate to use. Speex will
1677              snap to the nearest  lower  possible  bitrate.  Possible  values
1678              range  from  2150 to 24600 bps.  You should probably not specify
1679              quality at the same time as bitrate. Not sure though...
1680
1681       SPEEX_ENC_COMPLEXITY
1682              Speex encoder setting. The complexity setting (0-10)  tells  the
1683              encoder  how  much CPU time it should spend on doing a good job.
1684              The difference in SNR between the lowest and  highest  value  is
1685              about  2dB.  Set  it as high as possible without overloading the
1686              CPU on the encoding computer  (check  CPU  usage  using  command
1687              "top").
1688
1689       SPEEX_ENC_VBR
1690              Speex  encoder  setting.  Enable  (1)  or  disable  (0) variable
1691              bitrate encoding. If enabled, the encoder will  try  to  keep  a
1692              constant quality by increasing the bitrate when needed.
1693
1694       SPEEX_ENC_VBR_QUALITY
1695              Speex  encoder  setting.  The  quality (0-10) to use in variable
1696              bitrate mode.
1697
1698       SPEEX_ENC_ABR
1699              Speex encoder setting. The average bitrate encoding will try  to
1700              keep  a  target  bitrate  by continuously adjusting the quality.
1701              This configuration  variable  specify  the  target  bitrate  and
1702              enable  ABR.  It also need to have VBR enabled so don't force it
1703              to off.
1704
1705       SPEEX_DEC_ENHANCER
1706              Speex decoder setting. Enable (1) or disable (0) the  perceptual
1707              enhancer  in  the  decoder.  Perceptual enhancement is a part of
1708              the decoder which, when turned on, attempts to reduce  the  per‐
1709              ception  of the noise/distortion produced by the encoding/decod‐
1710              ing process. In most cases, perceptual  enhancement  brings  the
1711              sound  further  from  the original objectively (e.g. considering
1712              only SNR), but in the end it  still  sounds  better  (subjective
1713              improvement).
1714
1715       OPUS_ENC_FRAME_SIZE
1716              Opus  encoder  setting. Specify how large, in milliseconds, each
1717              audio packet should be. Default: 20ms.
1718
1719       OPUS_ENC_COMPLEXITY
1720              Opus encoder setting. The complexity setting  (0-10)  tells  the
1721              encoder  how  much CPU time it should spend on doing a good job.
1722              Set it as high as possible without overloading the  CPU  on  the
1723              encoding   computer  (check  CPU  usage  using  command  "top").
1724              Default: 10.
1725
1726       OPUS_ENC_BITRATE
1727              Opus encoder setting. This is the bitrate that the encoder  will
1728              encode  for.  Rates from about 8000 to 64000 bits per second are
1729              meaningful but the codec can handle from  like  2500  to  512000
1730              bps. Default: 20000bps.
1731
1732       OPUS_ENC_VBR
1733              Opus encoder setting. Enable (1) or disable (0) variable bitrate
1734              encoding. If enabled, the encoder will try to  keep  a  constant
1735              quality  by  increasing  the bitrate when needed and decrease it
1736              when the quality can be assured with a lower bitrate. The target
1737              average bitrate is the one set by OPUS_ENC_BITRATE.  Default: 1.
1738
1739   Local Transmitter Section
1740       A  local transmitter section is used to specify the configuration for a
1741       local transmitter. In the default configuration file there is a config‐
1742       uration  section  called  Tx1.   The section name could be anything. It
1743       should match the TX configuration variable in the logic core where  the
1744       transmitter  is  to  be used. The available configuration variables are
1745       described below.
1746
1747       TYPE   Always "Local" for a local transmitter.
1748
1749       AUDIO_DEV
1750              Specify the audio device to use. Normally alsa:plughw:0. Have  a
1751              look  at the AUDIO DEVICE SPECIFICATIONS chapter for more infor‐
1752              mation.
1753
1754       AUDIO_CHANNEL
1755              Specify the audio channel to use. SvxLink can use the left/right
1756              stereo channels as two mono channels. Legal values are 0 or 1.
1757
1758       PTT_TYPE
1759              Use  this  configuration variable to specify which type of hard‐
1760              ware to use to control the PTT.  Specify "SerialPin" for using a
1761              pin  in  the  serial  port,  "GPIO" to use a pin in a GPIO port,
1762              "PTY" if you want to use an  external  interface  script  via  a
1763              pseudo  tty  port  or "Hidraw" to use the linux/hidraw driver to
1764              support hidraw devices like CM108 sound card,  e.g.  URI  device
1765              from DMK.
1766
1767              Set PTT_TYPE to "Dummy" or "NONE" to not use any PTT hardware at
1768              all. It is an error to not specify PTT_TYPE.
1769
1770              Use PTT_PIN to specify the pin to use for "SerialPin" or "GPIO".
1771
1772       PTT_PORT
1773              Specify the serial port that  the  PTT  is  connected  to.  E.g.
1774              /dev/ttyS0 for COM1.
1775
1776       PTT_PIN
1777              If  PTT_TYPE  is  set  to "SerialPin", specify the pin(s) in the
1778              serial port that the PTT is connected  to.  It  is  possible  to
1779              specify  one  or  two  serial  port pins.  Some interface boards
1780              require that you specify two pins since one pin does not provide
1781              enough  drive  power  to  the circuit. A "!" in front of the pin
1782              name indicates inverted operation. Some of the  possible  values
1783              are RTS, DTRRTS, !DTR!RTS or even DTR!RTS.
1784
1785              If  GPIO was specified in PTT_TYPE, set the PTT_PIN config vari‐
1786              able to the pin name of the GPIO-pin to  use.  The  most  common
1787              name  is  gpio<number>,  like gpio3.  Some GPIO drivers use more
1788              complex pin names like gpio33_pe11.  Have a look  at  the  USING
1789              GPIO section for information on how to set up the operating sys‐
1790              tem.  Normally, the pin will be active high but if the pin  name
1791              is  prefixed  with  an  exclamation  mark  it will be active low
1792              instead. For some hardware platforms you may need  to  also  set
1793              the GPIO_PATH configuration variable.
1794
1795       GPIO_PATH
1796              Use  this configuration variable to set the path to the sys con‐
1797              trol devices for GPIO.  This normally is /sys/class/gpio but  on
1798              some    hardware,    like   the   Orange   Pi,   the   path   is
1799              /sys/class/gpio_sw.
1800
1801       PTT_PTY
1802              If PTT_TYPE is set to "PTY" this configuration variable will set
1803              the path for the PTY slave softlink that is used by the external
1804              script to communicate to SvxLink.
1805
1806              SvxLink sends a 'T' to start transmitting and a 'R' to turn  the
1807              transmitter  off.   This  can  be  used by an external script to
1808              interface custom devices, modems or other hardware  to  SvxLink.
1809              Look for nhrcx.pl to see an example.
1810
1811       HID_DEVICE
1812              Define  the  device  node where your hidraw device is accessible
1813              at.
1814
1815              Example: HID_DEVICE=/dev/hidraw3
1816
1817       HID_PTT_PIN
1818              Define the pin your ptt control is connected to.  Valid  parame‐
1819              ters are are GPIO1,GPIO2,GPIO3,GPIO4. Note that some sound cards
1820              like SSS1621 may not support GPIO3 and GPIO4! You can invert the
1821              behaviour  with  a  "!"  in front of the name. Only one value is
1822              supported.
1823
1824       SERIAL_SET_PINS
1825              Set the specified serial port pins to a static state.  This  can
1826              be good if using a pin for reference voltage or if a pin have to
1827              be in a certain state to not interfere  with  the  operation  of
1828              some equipment. There are two pins that are possible to use, RTS
1829              and DTR. If prefixed with an exclamation mark (!), the pin  will
1830              be  cleared  and if not it will be set. This configuration vari‐
1831              able can only be used when PTT_TYPE is set to "SerialPin".
1832
1833              Example: SERIAL_SET_PINS=RTS!DTR will set RTS and clear DTR.
1834
1835       PTT_HANGTIME
1836              Use this configuration variable to set a PTT hangtime. This  can
1837              be  good  to  have  on a transmitter in combination with using a
1838              tone squelch. When the transmitter is ordered to stop  transmit‐
1839              ting, the tone is immediately turned off, causing the squelch to
1840              close on the other side. Since the transmitter  keeps  transmit‐
1841              ting for a while, no squelch tail will be heard.
1842
1843              Another  use  is on a remote receiver link transmitter where you
1844              don't want the transmitter to turn on and off between  transmis‐
1845              sions  or if the squelch close and open quickly due to for exam‐
1846              ple mobile flutter.
1847
1848       TIMEOUT
1849              This is a feature that will prevent the transmitter from getting
1850              stuck  transmitting.   Specify  the number of seconds before the
1851              transmitter is turned off. Note that this is a low  level  secu‐
1852              rity mechanism that is meant to only kick in if there is a soft‐
1853              ware bug in SvxLink. Just  so  that  the  transmitter  will  not
1854              transmit indefinately. It is not meant to be used to keep people
1855              from talking too long.
1856
1857       TX_DELAY
1858              The number of milliseconds (0-1000) to wait after the  transmit‐
1859              ter  has  been turned on until audio is starting to be transmit‐
1860              ted. This can be used to compensate  for  slow  TX  reaction  or
1861              remote stations with slow reacting squelches.
1862
1863       CTCSS_FQ
1864              The  frequency in Hz of the CTCSS tone to transmit. It is possi‐
1865              ble to specify  fractions  using  "."  as  decimal  comma  (e.g.
1866              136.5).  For the tone to be transmitted the CTCSS_LEVEL variable
1867              must also be setup and also the TX_CTCSS variable in  the  logic
1868              core configuration section.
1869
1870       CTCSS_LEVEL
1871              The level in percent (0-100) of the CTCSS tone to transmit. What
1872              level to set is hard to say. The FM modulation swing of the tone
1873              should  be  in between 500-800 Hz. That is a bit hard to measure
1874              if you don't have the right equipment. A normal FM station  have
1875              a maximum swing of 5kHz so if you manage to calibrate everything
1876              so that you get maximum swing when the sound card  audio  is  at
1877              peak level, the tone level should be in between 10-16%. However,
1878              most often the audio settings are configured a bit  higher  than
1879              max since the audio seldom reaches maximum level. Then the level
1880              of the CTCSS tone should be reduced. The default in the configu‐
1881              ration  file  is 9%. For the tone to be transmitted the CTCSS_FQ
1882              variable must also be setup and also the  TX_CTCSS  variable  in
1883              the logic core configuration section.
1884
1885       PREEMPHASIS
1886              [EXPERIMENTAL]  Enable this feature if you are modulating the FM
1887              modulator directly, like through a 9k6 packet radio input. If no
1888              preemphasis  filter  is applied to the audio, it will sound very
1889              dark when received. If you modulate the transmitter through  the
1890              microphone  input  the  radio will apply a preemphasis filter so
1891              this feature should be disabled. 0=disabled, 1=enabled.
1892
1893       DTMF_TONE_LENGTH
1894              The duration, in milliseconds, of  DTMF  digits  transmitted  on
1895              this transmitter.  100ms is the default.
1896
1897       DTMF_TONE_SPACING
1898              The spacing, in milliseconds, between DTMF digits transmitted on
1899              this transmitter. 50ms is the default.
1900
1901       DTMF_DIGIT_PWR
1902              The power, in dB, of DTMF digits transmitted on  this  transmit‐
1903              ter. Zero dB will give the same power in the generated signal as
1904              there is in a maximum amplitude (full scale) sine wave. -15dB is
1905              the default.
1906
1907       TONE_SIGLEV_MAP
1908              It  is possible to transmit one of ten tones along with the nor‐
1909              mal transmission to indicate a  signal  strength  value  to  the
1910              receiver.  This is of most use when using a local transmitter as
1911              a link transmitter in a RemoteTrx. It is  not  implemented,  and
1912              probably  not  useful, in SvxLink Server. Another requirement is
1913              that SvxLink has been compiled in  16kHz  mode.  Otherwise  this
1914              feature is disabled.
1915
1916              The  TONE_SIGLEV_MAP configuration variable is used to map tones
1917              to signal level values. It is a comma separated list of  exactly
1918              ten  values  in  the  0  - 100 range. The first value map to the
1919              5500Hz tone, the second to the 5600Hz tone and so on.  The  last
1920              value  map  to the 6400Hz tone.  What levels the tones should be
1921              mapped to depends on the  tone  receiver  implementation.  Typi‐
1922              cally,  if  using  a  SvxLink  application  as  a  receiver, the
1923              TONE_SIGLEV_MAP should be the same in the RX  configuration  for
1924              that node.
1925
1926       TONE_SIGLEV_LEVEL
1927              It  is possible to transmit one of ten tones along with the nor‐
1928              mal transmission to indicate a  signal  strength  value  to  the
1929              receiver.  This is of most use when using a local transmitter as
1930              a link transmitter in a RemoteTrx. It is  not  implemented,  and
1931              probably  not  useful, in SvxLink Server. Another requirement is
1932              that SvxLink has been compiled in  16kHz  mode.  Otherwise  this
1933              feature is disabled.
1934
1935              The  TONE_SIGLEV_LEVEL configuration variable is used to set the
1936              tone level.  It is a value in the 1-100 range which indicate the
1937              output  level  in  percent  of  the  maximum possible level. The
1938              default is 10.
1939
1940       MASTER_GAIN
1941              This configuration variable can be used to fine tune or increase
1942              the audio gain for all transmitted sound if it's not possible to
1943              do using the normal sound card hardware gain controls. The  gain
1944              should be given in dB and can be both positive and negative.
1945
1946   Networked Transmitter Section
1947       A  networked  transmitter  section is used to specify the configuration
1948       for a transmitter connected through a TCP/IP network.  In  the  default
1949       configuration  file there is a networked transceiver configuration sec‐
1950       tion called NetTx.  The section name could be anything. It should match
1951       the  TX  configuration variable in the logic core where the transmitter
1952       is to be used. The  available  configuration  variables  are  described
1953       below.  How  to use a networked transmitter is further described in the
1954       remotetrx(1) manual page.
1955
1956       TYPE   Always "Net" for a networked transmitter.
1957
1958       HOST   The hostname or IP address of the remote transmitter host.
1959
1960       TCP_PORT
1961              The TCP port that RemoteTrx listen on. The default is 5210.
1962
1963       LOG_DISCONNECTS_ONCE
1964              Set this configuration variable to 1 to suppress logging of mul‐
1965              tiple  disconnect  messages  in  a  row,  like  when there is no
1966              RemoteTrx running on the other  side.   Thus,  failed  reconnect
1967              attempts  will  not  be  logged  at all. This may be of use if a
1968              RemoteTrx is missing for a long time or if it's only  used  from
1969              time  to  time.  The default is 0 which means that all reconnect
1970              attempts will be logged.
1971
1972       AUTH_KEY
1973              This is the authentication key (password) to use to  connect  to
1974              the  RemoteTrx  server. The same key have to be specified in the
1975              RemoteTrx  configuration.   If  no  key  is  specified  in   the
1976              RemoteTrx  config,  the  login  will  be unauthenticated. A good
1977              authentication key should be 20 characters long.   If  the  same
1978              RemoteTrx is used for both RX and TX, the same key must be spec‐
1979              ified in the RX as well as in the TX configuration section.  The
1980              key  will  never  be  transmitted  over the network. A HMAC-SHA1
1981              challenge-response procedure will be used for authentication.
1982
1983       CODEC  The audio codec to use when transferring audio  to  this  remote
1984              transmitter.    Available   codecs   are:   RAW  (512kbps),  S16
1985              (256kbps), GSM (13.2kbps), SPEEX  (8-25kbps),  OPUS  (8-64kbps).
1986              These  are raw bitrate values. There will be some overhead added
1987              to this so the real bitrates  on  the  wire  are  a  little  bit
1988              higher.  The  OPUS codec is the most modern one and it also have
1989              the best quality for a given bitrate. There also is a NULL codec
1990              that  will  just throw away samples which can be used in special
1991              situations when the audio is sent through another audio path.
1992
1993       SPEEX_ENC_FRAMES_PER_PACKET
1994              Speex encoder setting. Each Speex frame contains 20ms audio.  If
1995              using  a low bitrate configuration, the network overhead will be
1996              quite noticeable if sending each frame in its  own  packet.  One
1997              way  to  lower  the  overhead is to send multiple frames in each
1998              network packet. The drawback with doing this  is  that  you  get
1999              more   delay.  If  setting  this  option  to  something  like  4
2000              (default), the delay will be about 4x20=80ms.
2001
2002       SPEEX_ENC_QUALITY
2003              Speex encoder setting. Specify the encoder quality using a  num‐
2004              ber  between  0-10.   Lower values give poorer quality and lower
2005              bitrates.
2006
2007       SPEEX_ENC_BITRATE
2008              Speex encoder setting. Specify the bitrate to  use.  Speex  will
2009              snap  to  the  nearest  lower  possible bitrate. Possible values
2010              range from 2150 to 24600 bps.  You should probably  not  specify
2011              quality at the same time as bitrate. Not sure though...
2012
2013       SPEEX_ENC_COMPLEXITY
2014              Speex  encoder  setting. The complexity setting (0-10) tells the
2015              encoder how much CPU time it should spend on doing a  good  job.
2016              The  difference  in  SNR between the lowest and highest value is
2017              about 2dB. Set it as high as possible  without  overloading  the
2018              CPU  on  the  encoding  computer  (check CPU usage using command
2019              "top").
2020
2021       SPEEX_ENC_VBR
2022              Speex encoder  setting.  Enable  (1)  or  disable  (0)  variable
2023              bitrate  encoding.  If  enabled,  the encoder will try to keep a
2024              constant quality by increasing the bitrate when needed.
2025
2026       SPEEX_ENC_VBR_QUALITY
2027              Speex encoder setting. The quality (0-10)  to  use  in  variable
2028              bitrate mode.
2029
2030       SPEEX_ENC_ABR
2031              Speex  encoder setting. The average bitrate encoding will try to
2032              keep a target bitrate by  continuously  adjusting  the  quality.
2033              This  configuration  variable  specify  the  target  bitrate and
2034              enable ABR. It also need to have VBR enabled so don't  force  it
2035              to off.
2036
2037       SPEEX_DEC_ENHANCER
2038              Speex  decoder setting. Enable (1) or disable (0) the perceptual
2039              enhancer in the decoder.  Perceptual enhancement is  a  part  of
2040              the  decoder  which, when turned on, attempts to reduce the per‐
2041              ception of the noise/distortion produced by the  encoding/decod‐
2042              ing  process.  In  most cases, perceptual enhancement brings the
2043              sound further from the original  objectively  (e.g.  considering
2044              only  SNR),  but  in  the end it still sounds better (subjective
2045              improvement).
2046
2047       OPUS_ENC_FRAME_SIZE
2048              Opus encoder setting. Specify how large, in  milliseconds,  each
2049              audio packet should be. Default: 20ms.
2050
2051       OPUS_ENC_COMPLEXITY
2052              Opus  encoder  setting.  The complexity setting (0-10) tells the
2053              encoder how much CPU time it should spend on doing a  good  job.
2054              Set  it  as  high as possible without overloading the CPU on the
2055              encoding  computer  (check  CPU  usage  using  command   "top").
2056              Default: 10.
2057
2058       OPUS_ENC_BITRATE
2059              Opus  encoder setting. This is the bitrate that the encoder will
2060              encode for.  Rates from about 8000 to 64000 bits per second  are
2061              meaningful  but  the  codec  can handle from like 2500 to 512000
2062              bps. Default: 20000bps.
2063
2064       OPUS_ENC_VBR
2065              Opus encoder setting. Enable (1) or disable (0) variable bitrate
2066              encoding.  If  enabled,  the encoder will try to keep a constant
2067              quality by increasing the bitrate when needed  and  decrease  it
2068              when the quality can be assured with a lower bitrate. The target
2069              average bitrate is the one set by OPUS_ENC_BITRATE.  Default: 1.
2070
2071   Multi Transmitter Section
2072       A multi transmitter section is used if one wants to transmit on  multi‐
2073       ple  transmitters  simulaneously.  The  name of the section can be any‐
2074       thing. Just point it out from another  transmitter  specification  like
2075       the TX variable in a Logic core configuration.
2076
2077       TYPE   Always "Multi" for a multi transmitter section.
2078
2079       TRANSMITTERS
2080              A comma separated list of transmitters.
2081
2082   Module Section
2083       A  module  section  contain the configuration for a specific module. It
2084       have some general configuration variables and some module specific con‐
2085       figuration  variables.  The  general configuration variables are listed
2086       below.
2087
2088       NAME   The name of the module. This name must match the namespace  used
2089              in  the  TCL event handling script. If not set, NAME will be set
2090              to the section name.
2091
2092       PLUGIN_NAME
2093              The base name of the plugin. For example if  this  configuration
2094              variable  is  set to Foo, the core will look for a plugin called
2095              ModuleFoo.so. If not set, PLUGIN_NAME will be set  to  the  same
2096              value as NAME.
2097
2098       ID     Specify  the  module  identification  number. This is the number
2099              used to access the module from the radio interface.
2100
2101       TIMEOUT
2102              Specify the timeout time, in seconds, after which a module  will
2103              be automatically deactivated if there has been no activity.
2104
2105       Module  specific  configuration variables are described in the man page
2106       for that module. The documentation for the Parrot module can for  exam‐
2107       ple be found in the ModuleParrot.conf(5) manual page.
2108
2109   LocationInfo
2110       STATUS_SERVER_LIST
2111              Enter  a  space  separated  list of EchoLink status servers that
2112              should be used to send node status beacons. Your  node  informa‐
2113              tion  can  be  found  on http://www.echolink.org/links.jsp.  The
2114              format is host:port. Host - hostname or IP address, port  -  UDP
2115              port.   Don't  change  the  default unless you know what you are
2116              doing. If you don't want to update the EchoLink  status  server,
2117              comment out this configuration variable.
2118
2119              Example:
2120              STATUS_SERVER_LIST=aprs.echolink.org:5199
2121
2122       APRS_SERVER_LIST
2123              This  configuration variable specifies connection parameters for
2124              connecting to an APRS server network using the TCP protocol.  In
2125              this  case,  the  positioning  information  is  forwarded to the
2126              worldwide APRS network. Have a look at http://aprs.fi/.
2127
2128              To choose a suitable APRS server from the so called tier 2  net‐
2129              work, have a look at http://www.aprs2.net/. Either choose a spe‐
2130              cific server or one of  the  regional  addresses.  The  regional
2131              addresses bundle all APRS servers within a region so that a ran‐
2132              dom tier 2 server is chosen within the region.  There  are  five
2133              regions  defined: noam.aprs2.net - North America, euro.aprs2.net
2134              - Europe, asia.aprs2.net - Asia, soam.aprs2.net - South  America
2135              and  Africa,  aunz.aprs2.net  - Austrailia and New Zeeland.  The
2136              format is a space separated list of host:port  entries.  Host  -
2137              hostname or IP address, port - TCP port.
2138
2139              Example:
2140              APRS_SERVER_LIST=euro.aprs2.net:14580
2141
2142       LON_POSITION
2143              The    longitude   of   the   station   position,   entered   as
2144              "degrees.arcminutes.arcseconds"
2145
2146              Example:
2147              LON_POSITION=09.02.20E
2148
2149       LAT_POSITION
2150              The   latitude   of   the   station   position,    entered    as
2151              "degrees.arcminutes.arcseconds"
2152
2153              Example:
2154              LAT_POSITION=51.02.22N
2155
2156       CALLSIGN
2157              Enter  your  callsign  for  the  APRS network with a prefix that
2158              indicates the type of  station,  (ER-  for  repeaters,  EL-  for
2159              links).
2160
2161              Examples:
2162              CALLSIGN=EL-DL1ABC    # callsign for a link
2163              CALLSIGN=ER-DB0ABC    # callsign for a repeater
2164
2165       FREQUENCY
2166              The  tx-frequency  of  the  link/repeater in MHz. For repeaters,
2167              information about the RX/TX shift in the  COMMENT  configuration
2168              variable may be useful.
2169
2170              Example:
2171              FREQUENCY=430.050     # tx-frequency is 430.050 MHz
2172
2173       TX_POWER
2174              The power of your transmitter in watts.
2175
2176              Example:
2177              TX_POWER=10           # tx output is 10 watts
2178
2179       ANTENNA_GAIN
2180              The gain of your antenna in dBd.
2181
2182              Example:
2183              ANTENNA_GAIN=5        # antenna gain is 5 dBd
2184
2185       ANTENNA_HEIGHT
2186              The height of the link-/repeater antenna in meters or feet above
2187              the terrain, not sealevel.
2188
2189              Example:
2190              ANTENNA_HEIGHT=10m    # 10 meters above the ground
2191              ANTENNA_HEIGHT=90     # 90 feet
2192
2193       ANTENNA_DIR
2194              Main beam direction of the antenna in degrees. If an omni direc‐
2195              tion antenna is used, specify -1 as the direction.
2196
2197              Example:
2198              ANTENNA_DIR=-1        # an omni directional antenna is used
2199              ANTENNA_DIR=128       # main beam direction is 128 degrees
2200
2201       PATH   The  PATH  variable  controls  the way of forwarding your beacon
2202              inside the APRS network if it is gated by  a  local  APRS  digi‐
2203              peater.  In  some  cases it has to be changed according to local
2204              requirements. Please contact your local APRS sysop  for  further
2205              information. Changes should be made only according to the NEWn-N
2206              paradigm. Leave this variable untouched if you are unsure of its
2207              setting.   No spaces or control characters are allowed. PATH has
2208              no influence on the propagation on non-RF networks.
2209
2210              Examples:
2211              PATH=WIDE1-1
2212              PATH=WIDE1-1,WIDE2-2
2213
2214       BEACON_INTERVAL
2215              The interval, in minutes, with which beacons will be sent to the
2216              APRS  network.   A  good  value is 10 minutes. If your beacon is
2217              gated via RF, please increase the interval a  bit  to  keep  the
2218              APRS traffic on RF produced by the APRS RF gate as low as possi‐
2219              ble. Intervals shorter than 10 minutes will be changed to 10.
2220
2221              Example:
2222              BEACON_INTERVAL=30    # APRS-beacons will be sent every 30  min‐
2223              utes.
2224
2225       TONE   The  CTCSS subaudible tone that is to be used for operation over
2226              your link or repeater. If you don't use tone control set  it  to
2227              0.
2228
2229              Examples:
2230              TONE=136      # we are using a CTCSS-tone of 136.5 Hz
2231              TONE=0        # we don't use CTCSS subaudible or call tones
2232              TONE=1750     # the link/repeater use a tone burst of 1750 Hz
2233
2234       STATISTICS_INTERVAL
2235              Defines the interval in minutes in that a aprs statistic is sent
2236              into the aprs network. Range: 5-60, default is 10 minutes
2237
2238       COMMENT
2239              Specify a short comment here, maybe a link to  your  website  or
2240              information  that  could  be  interesting for others. The length
2241              should not exceed 255 characters and may not have control  char‐
2242              acters  like  "Carriage Return" (\r) or "Line Feed" (\n) inside.
2243              Make your comment as short as you can to give users with a small
2244              display (TH-D7) the chance to display the full comment text.
2245
2246              Example:
2247              COMMENT=[svx] Running SvxLink by SM0SVX
2248
2249       PTY_PATH
2250              Specify  a  path  to  a  communications  PTY that can be used by
2251              external applications to inject APRS packets  into  the  APRS-IS
2252              network.
2253

AUDIO DEVICE SPECIFICATIONS

2255       The AUDIO_DEV configuration variables specify which audio device to use
2256       for a receiver or transmitter. SvxLink support a  number  of  different
2257       audio  input  and output devices. The format of the configuration vari‐
2258       able is "type:dev_spec". There  are  three  different  types  of  audio
2259       devices supported, "alsa", "oss" and "udp".
2260
2261       The   "alsa"   type  will  use  the  specified  Alsa  device.  Example:
2262       "alsa:plughw:0". Describing the format of Alsa device names is  outside
2263       the scope for this document.
2264
2265       The  "oss"  type  will  use  the  specified  OSS  audio device. Example
2266       "oss:/dev/dsp".  OSS is the old sound system used by Linux. Alsa should
2267       be used when possible.
2268
2269       The  "udp" type is not really an audio device but instead will read and
2270       write audio from/to a UDP socket. This can be used to interface SvxLink
2271       to  all  sorts  of  audio  sources/sinks capable of streaming raw audio
2272       through UDP. One example usage is to interface SvxLink with GNU  Radio.
2273       Example:  "udp:127.0.0.1:10000".  Note  however that the only supported
2274       format is raw 16 bit signed samples, two interleved channels.  Sampling
2275       frequency  can  be chosen using the CARD_SAMPLE_RATE config variable as
2276       usual.
2277

USING GPIO

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

CALIBRATING THE SIGNAL LEVEL DETECTOR

2289       The signal level detector is used when using multiple receivers or when
2290       using the SIGLEV squelch. The signal level is used by a voter to choose
2291       the  receiver  with  the  highest  signal  strength. The choice is made
2292       directly after squelch open. For the voter to make  a  correct  choice,
2293       the signal level detector must be calibrated on each receiver.
2294
2295       To  use  the  noise  signal level detector, first set SIGLEV_DET=NOISE.
2296       There are two configuration variables that is  used  to  calibrate  the
2297       detector.   They are SIGLEV_SLOPE and SIGLEV_OFFSET in a local receiver
2298       section. The slope is the gain of the detector and the offset  is  used
2299       to  adjust  the  detector  so  that  when there is no input signal, the
2300       detector will return 0. The goal is to adjust the detector so that when
2301       no  signal  is  received, a value of 0 is produced and when full signal
2302       strength is received, a value of 100 is  produced.  It  will  never  be
2303       exakt but that does not matter.
2304
2305       The  calibration is normally done by using the siglevdetcal(1) applica‐
2306       tion. To be able to do a correct calibration, it must  be  possible  to
2307       open  the  squelch  so  that  only noise is received. The antenna cable
2308       should be disconnected or a dummy load should be used.  WARNING: Before
2309       starting the siglevdetcal application, pull the PTT cable since the PTT
2310       might get triggered during the calibration procedure.
2311
2312       The siglevdetcal utility will also measure the CTCSS tone SNR offset so
2313       that  the  CTCSS_SNR_OFFSET  config  variable can be set up to a proper
2314       value.
2315
2316       If the siglevdetcal application cannot be used  for  some  reason,  the
2317       manual procedure below might be used. This procedure will only work for
2318       a receiver  with  unsquelched  audio.   Note:  To  calibrate  a  remote
2319       receiver  it  must  be  connected to the SvxLink server.  Otherwise the
2320       squelch will not open.
2321
2322              1   Connect a dummy load or  disconnect  the  antenna  from  the
2323                  transceiver.  If  you  disconnect  the antenna, make sure to
2324                  also disconnect the PTT.
2325
2326              2   Set SIGLEV_SLOPE=1 and SIGLEV_OFFSET=0 and restart SvxLink.
2327
2328              3   Open the squelch so that there is  only  noise  coming  into
2329                  SvxLink.
2330
2331              4   Use a second transceiver to make a short, unmodulated trans‐
2332                  mission. Release the PTT when the "Squech OPEN"  message  is
2333                  printed. Repeat this for about five times.
2334
2335              5   Calculate  the  mean diff (open level - close level) and the
2336                  mean lower (squelch close) value. Make sure to use at  least
2337                  four significant digits in your calculations.
2338
2339              6   SIGLEV_SLOPE = 100 / (mean diff)
2340
2341              7   SIGLEV_OFFSET = - (mean lower) * SIGLEV_SLOPE
2342
2343              8   After   changing  SIGLEV_SLOPE  and  SIGLEV_OFFSET,  restart
2344                  SvxLink and check to see that the squelch open value is  now
2345                  around 100 and the squelch close value is around 0.
2346

STATE PTY FORMAT

2348       The format of the output from the state PTY is:
2349
2350           <timestamp> <context>:<event name> <event data>
2351
2352       where the different parts mean:
2353
2354           timestamp = <seconds since 1 jan 1970>.<milliseconds>
2355           context = Name of context
2356           event_name = Name of event
2357           event data = Event specific data
2358
2359
2360       The following specific events exist.
2361
2362       Voter:sql_state
2363              Report  the state of all squelches for all receivers. The format
2364              of the event specific data is:
2365
2366                  <rx name><state><siglev> [<rx_name><state><siglev> ...]
2367
2368              where the different parts mean:
2369
2370                  rx_name = Configuration file section name for receiver
2371                  state = _ (sql closed), : (sql open), *  (sql  open  and  rx
2372                  selected)
2373                  siglev = The measured signal level
2374
2375

FILES

2377       /etc/svxlink/svxlink.conf (or deprecated /etc/svxlink.conf)
2378              The system wide configuration file.
2379
2380       ~/.svxlink/svxlink.conf
2381              Per user configuration file.
2382
2383       /etc/svxlink/svxlink.d/*
2384              Additional configuration files. Typically one configuration file
2385              per module.
2386

AUTHOR

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

SEE ALSO

2391       svxlink(1), remotetrx(1), siglevdetcal(1), devcal(1)
2392
2393
2394
2395Linux                            NOVEMBER 2015                 SVXLINK.CONF(5)
Impressum