The svxreflector server is used to interconnect multiple SvxLink nodes into one network. This man-page describe the configuration file format for it.
SvxReflector look for configuration files in a number of places. First it tries to find a user specific configuration file. It will look for a user specific configuration file in: $HOME/.svxlink/svxreflector.conf. If no user specific configuration file can be found, svxreflector will look for the system wide configuration file /etc/svxlink/svxreflector.conf. The --config command line option may also be used to specify an arbitrary configuration file.
The configuration file is in the famous INI-file format. A generic example of how such a file might look like is shown below.
This is a simple format that contain name=value pairs that belong to a section. In written text, a specific configuration variable can be referred to as SECTION1/VALUE2 meaning "configuration variable VALUE2 in section SECTION1".
The same variable name can exist in two different sections. For example VALUE1 in section SECTION1 have the value 1 and VALUE1 in section SECTION2 have the value 2. Values containing spaces at the beginning or end of the line must be surrounded by citation characters (see SECTION1/VALUE2). Likewise with a multi line value (see SECTION1/VALUE3).
Here is the description of all configuration variables that svxreflector understands. The configuration variables are described section for section.
The GLOBAL section contains application global configuration data.
Specify the path to a directory that contain additional configuration files. If a relative path is specified, the path will be relative to the directory where the main configuration file is at. All files in the specified directory will be read as additional configuration. Filenames starting with a dot are ignored.
This variable specifies the format of the timestamp that is written in front of each row in the log file. The format string is in the same format as specified in the strftime(3) manual page. The default is "%c" which is described as: "the preferred date and time representation for the current locale". The environment variables LC_TIME, LC_ALL and LANG will affect how this time format will look. For example, setting LC_TIME="sv_SE.UTF8" will give you Swedish timestamp representation. Other examples of format specifiers are:
- %d - The day of the month as a decimal number (range 01 to 31)
- %b - The abbreviated month name according to the current locale
- %Y - The year as a decimal number including the century
- %H - The hour as a decimal number using a 24-hour clock (range 00 to 23)
- %M - The minute as a decimal number (range 00 to 59)
- %S - The second as a decimal number (range 00 to 61)
So, TIMESTAMP_FORMAT="%d %b %Y %H:%M:%S" would give a timestamp looking something like: "29 Nov 2005 22:31:59".
The TCP and UDP port number to use for network communications. The default is 5300. Make sure to open this port for incoming traffic to the server on both TCP and UDP. Clients do not have to open any ports in their firewalls.
Use this configuration variable to set a time in seconds after which a clients audio is blocked if he has been talking for too long. The default is 0 (disabled).
If a client has been talking for longer than the time specified in the SQL_TIMEOUT configuration variable he will not be able to talk again until the time in this configuration variable have elapsed. If not specified, the default is one second.
A comma separated list of allowed codecs. For the moment only one codec can be specified. Choose from the following codecs: OPUS, SPEEX, GSM, S16 (uncompressed signed 16 bit), RAW (uncompressed 32 bit floats).
USERS and PASSWORDS sections
All users must be specified in the USERS section. Usernames are totally arbitrary but typically the callsign is used. The purpose is to map each username to a password. However, the password is not given directly but instead a reference to the PASSWORDS section is given. It's done like this so that multiple nodes can share a single password.
An example of how the USERS and PASSWORDS sections may look is given below.
MyNodes="A very strong password!"
SM1XYZ="Another very good password?"
This will set up SM0ABC-1 and SM0ABC-2 to use the same password specified by MyNodes in the PASSWORDS section. User SM1XYZ have his own password.
The system wide configuration file.
Per user configuration file.
Additional configuration files. This directory is setup by the CFG_DIR configuration variable.
Tobias Blomberg (SM0SVX) <sm0svx at users dot sourceforge dot net>
svxreflector(1), svxlink(1), svxlink.conf(5),