SVXLINK(1)

NAME
svxlink - A general purpose voice services system for ham radio use

SYNOPSIS
svxlink [--help] [--daemon] [--quiet] [--reset] [--version] [--logfile=log file] [--config=configuration file] [--pidfile=pid file] [--runasuser=user name]

DESCRIPTION
svxlink is a general purpose voice service system for ham radio use. The SvxLink project contains multiple applications and this man-page describe the SvxLink server.

OPTIONS

--help
    Print a help message and exit.

--daemon
    Start the SvxLink server as a daemon.

--runasuser=username
    Start the SvxLink server as the specified user. The switch to the new user will happen after the log and pid files has been opened.

--logfile=log file
    Specify a log file to put all output into. Both stdout and stderr will be redirected to the log file.

--pidfile=pid file
    Specify a pid file to write the process ID into.

--config=configuration file
    Specify which configuration file to use.

--reset
    Do a normal application startup, initializing everything, but exit immediately when the initialization is done.

--quiet
    Don't output any info messages, just warnings and errors.

--version
    Print the application version then exit.

REFLECTOR SERVER CONNECTION
The SvxReflector server is an application that provide a hub for multiple SvxLink nodes to connect to for performing audio streaming between the nodes.

The SvxReflector system features separation of audio streams in talkgroups so that multiple QSOs can be routed through the reflector server without interfering with each other.

Authentication to the reflector server is done using X.509 certificates. It is a complex technology but most details are hidden for a SvxLink node sysop. However, the node sysop need to know a few things for smooth operations of the node.

When a SvxLink node connect to the reflector server for the first time, it will request a signed certificate. Signing a certificate is a manual process on the SvxReflector side so it may take a while for the reflector sysop to perform the signing. The node will not be able to connect to the reflector until the certificate has been signed but it will retry continuously. When the reflector sysop has signed the certificate it will be sent to the node when it connects the next time. After that the node is granted access to the reflector.

A certificate has a limited lifetime. In SvxLink that is fixed to three months. When there is one third left of the lifetime a new certificate will be signed automatically by the reflector server. No manual interaction is needed by the node sysop nor the reflector sysop. However, if the certificate pass its end of life a new manual signing process is needed.

During the certificate creation process there are a number of important files generated. Ensure that you back up these files. For example, you will at least need to restore the key-file after reinstalling the node OS. See FILES below for more information about these files.

FILES

/etc/svxlink/svxlink.conf (or deprecated /etc/svxlink.conf)
    The system wide configuration file. See svxlink.conf(5) for further details.

~/.svxlink/svxlink.conf
    Per user configuration file. See svxlink.conf(5) for further details.

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

/var/lib/svxlink/pki/MYCALL.key
    Key file used for authenticating to a SvxReflector server. Make sure that you don't loose this file since you then will not be able to log in to the reflector server. This file must also be kept secret since anyone possessing it can log in to the reflector server in the name of the key owner.

/var/lib/svxlink/pki/MYCALL.csr
    File containing the certificate signing request for the SvxReflector authentication certificate. This file is auto generated if missing and updated if SvxLink certificate configuration has changed. It can be used to sign a certificate "out-of-band" if the reflector server owner has such a procedure. Otherwise it's just used internally by SvxLink.

/var/lib/svxlink/pki/MYCALL.crt
    File containing the certificate used to authenticate to the SvxReflector server. It's good to back this file up as well but if it's lost, the reflector server _may_ be able to send it to the SvxLink node upon connect.

ENVIRONMENT

ASYNC_AUDIO_NOTRIGGER
    Set this environment variable to 1 if you get an error about ioctl: Broken pipe during startup of the SvxLink server when using OSS audio.

ASYNC_AUDIO_ALSA_ZEROFILL
    Set this environment variable to 0 to stop the Alsa audio code from writing zeros to the audio device when there is no audio to write available. ASYNC_AUDIO_UDP_ZEROFILL Set this environment variable to 1 to enable the UDP audio code to write zeros to the UDP connection when there is no audio to write available.

HOME
    Used to find the per user configuration file.

AUTHOR
Tobias Blomberg (SM0SVX) <sm0svx at svxlink dot org>

REPORTING BUGS
Bugs should be reported using the issue tracker at https://github.com/sm0svx/svxlink.

Questions about SvxLink should not be asked using the issue tracker. Instead use the group set up for this purpose at groups.io: https://groups.io/g/svxlink

SEE ALSO
svxlink.conf(5), remotetrx(1)