.TH SVXREFLECTOR.CONF 5 "APRIL 2021" Linux "File Formats" . .SH NAME . svxreflector.conf \- Configuration file for the SvxReflector conference server audio reflector . .SH DESCRIPTION . The .B svxreflector server is used to interconnect multiple SvxLink nodes into one network. This man-page describe the configuration file format for it. .P 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: .BR $HOME/.svxlink/svxreflector.conf . If no user specific configuration file can be found, svxreflector will look for the system wide configuration file .BR /etc/svxlink/svxreflector.conf . The .B --config command line option may also be used to specify an arbitrary configuration file. . .SH FILE FORMAT . The configuration file is in the famous INI-file format. A generic example of how such a file might look like is shown below. [SECTION1] VALUE1=1 VALUE2="TWO " VAULE3="Multi " "line" [SECTION2] VALUE1=2 This is a simple format that contain name=value pairs that belong to a section. In written text, a specific configuration variable can be referred to as SECTION1/VALUE2 meaning "configuration variable VALUE2 in section SECTION1". .P 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). . .SH CONFIGURATION VARIABLES . Here is the description of all configuration variables that svxreflector understands. The configuration variables are described section for section. . .SS GLOBAL . The GLOBAL section contains application global configuration data. .TP .B CFG_DIR Specify the path to a directory that contain additional configuration files. If a relative path is specified, the path will be relative to the directory where the main configuration file is at. All files in the specified directory will be read as additional configuration. Filenames starting with a dot are ignored. .TP .B TIMESTAMP_FORMAT This variable specifies the format of the timestamp that is written in front of each row in the log file. The format string is in the same format as specified in the .BR 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: .RS .IP \(bu 4 .BR %d " - The day of the month as a decimal number (range 01 to 31)" .IP \(bu 4 .BR %b " - The abbreviated month name according to the current locale" .IP \(bu 4 .BR %Y " - The year as a decimal number including the century" .IP \(bu 4 .BR %H " - The hour as a decimal number using a 24-hour clock (range 00 to 23)" .IP \(bu 4 .BR %M " - The minute as a decimal number (range 00 to 59)" .IP \(bu 4 .BR %S " - The second as a decimal number (range 00 to 61)" .P So, TIMESTAMP_FORMAT="%d %b %Y %H:%M:%S" would give a timestamp looking something like: "29 Nov 2005 22:31:59". .RE .TP .B LISTEN_PORT 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. .TP .B SQL_TIMEOUT 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). .TP .B SQL_TIMEOUT_BLOCKTIME If a client has been talking for longer than the time specified in the .B 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. .TP .B CODECS 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). The default is OPUS and you should have a very good reason for changing this since that codec provide both low bandwidth (~20kbps by default) and very good audio quality. .TP .B TG_FOR_V1_CLIENTS Set which talk group to place protocol version 1 clients in. Without this configuration version 1 clients will not be able to use the reflector since they cannot select a talk group by themselves. Talk groups should normally be configured to start with the ITU-T E.212 Mobile Country Code (MCC) for your country, e.g. 240 for Sweden. .TP .B RANDOM_QSY_RANGE Specify in which talk group range the reflector server should select random talk groups used when using the QSY functionality. The range is specified using two colon separated values. The first one is the lower limit and the second value is the number of talk groups in the range. As an example, if set to 1239900:100 QSY talk groups will be selected from the range 1239900 to 1239999. The recommended lower range to use is 9900 where MCC is the ITU-T E.212 Mobile Country Code for your country, e.g. 240 for Sweden. .TP .B HTTP_SRV_PORT Set which port to use for the HTTP server. The HTTP server can be used to fetch reflector status. No port is set by default. Don't expose this port to the public Internet. There are multiple reasons for that. The built in web server is very simple and could be incompatible with some clients. It has not been audited for security problems so there may be security issues. There is also the risk of some client overwhelming the reflector with requests causing disturbances in the reflector operation. Example: HTTP_SRV_PORT=8080 . .SS 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. .P An example of how the USERS and PASSWORDS sections may look is given below. [USERS] SM0ABC-1=MyNodes SM0ABC-2=MyNodes SM1XYZ=SM1XYZ [PASSWORDS] MyNodes="A very strong password!" SM1XYZ="Another very good password?" This will set up .BR SM0ABC-1 " and " SM0ABC-2 to use the same password specified by .B MyNodes in the PASSWORDS section. User .BR SM1XYZ " have his own password." . .SS Talkgroup Configuration Sections . It is possible to set configuration parameters that are only applied to one talkgroup. Those parameters are placed in a configuration section named "TG#". Example: [TG#9999] AUTO_QSY_AFTER=300 ALLOW=S[A-M]\\\\d.*|LA8PV SHOW_ACTIVITY=0 The following configuration variables are valid in a talkgroup configuration section. .TP .B AUTO_QSY_AFTER Set this to the number of seconds after which an automatic QSY to a random talkgroup is requested. This is typically used to keep call channels and wide area channels clear so that stations does not dwell there for too long. Auto QSY is only triggered directly aftar a talker stop event. The default is that auto QSY is disabled (AUTO_QSY_AFTER=0). .TP .B ALLOW A regular expression that must match the whole callsign of the nodes that try to select this talkgroup. The regular expression standard used is the same as for ECMAScript with the exception that the backslash special patterns (e.g. \\s, \\d etc) must be expressed with double backslash notation (e.g. \\\\s, \\\\d etc). An example that match most Swedish callsigns and a specific Norwegian one is "S[A-M]\\\\d.*|LA8PV". That expression will for example match LA8PV, SM0SVX, SK3W, SA7ABC etc. .TP .B SHOW_ACTIVITY If set to 0, do not indicate in the http status message when the talkgroup is in use by a node. Default is 1 = show activity. . .SH FILES . .TP .I /etc/svxlink/svxreflector.conf The system wide configuration file. .TP .I ~/.svxlink/svxreflector.conf Per user configuration file. .TP .I /etc/svxlink/svxreflector.d/* Additional configuration files. This directory is setup by the CFG_DIR configuration variable. . .SH AUTHOR . Tobias Blomberg (SM0SVX) . .SH 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 . .SH "SEE ALSO" . .BR svxreflector (1), .BR svxlink (1), .BR svxlink.conf (5),