MODULEECHOLINK.CONF(5)
π MODULEECHOLINK.CONF π
okay bestie so welcome to the manual page for ModuleEchoLink.conf β that's the config file for the SvxLink server's EchoLink module. It lives in section 5 (File Formats) of the manual, so it's MODULEECHOLINK.CONF(5). Pull up a chair, grab a snack, this one's a chonky girl and we're doing it in two parts π
β¨ NAME β¨
ModuleEchoLink.conf β the configuration file for the SvxLink server EchoLink module π¦
πΈ DESCRIPTION πΈ
So, svxlink is a general purpose voice service system for ham radio use, periodt. This man page is all about the SvxLink server configuration for the EchoLink module.
The EchoLink module is literally the thing that lets you connect to other EchoLink stations. That's its whole job. Main character energy fr fr π
π CONFIGURATION VARIABLES π
ngl, there are a couple of configuration variables that are common to all modules β those ones are documented over in the svxlink.conf(5) manual page, so go check that if you need them.
Below is the full rundown of every module-specific configuration variable the SvxLink EchoLink module understands. All of them. No skips. π
π ModuleEchoLink
ALLOW_IPβ use this one very carefully, okay? Connections that originate from the given subnet will not be checked against the EchoLink directory server. The typical use case is when you wanna connect to your own svxlink server and both the server and you are sitting behind an IP masquerading firewall. π«ΆDROP_INCOMING... wait no, hold up, we do them in order:DROP_ALL_INCOMINGβ this one silently drops all incoming connections. No message gets sent to the remote station telling them they got dropped. The connection just gets ignored, and there'll be no notification in the application log either. Sneaky. πDROP_INCOMINGβ drops all incoming connections where the remote callsign matches this regular expression. Again, no message goes to the remote station about the drop β the connection is just ignored. For the syntax deets, see the REGULAR EXPRESSIONS chapter below.REJECT_INCOMINGβ rejects all incoming connections where the remote callsign matches this regular expression. This time a message is sent to the remote station saying the connection was rejected. Heads up: theDROP_INCOMINGdirective gets evaluated beforeREJECT_INCOMING. For the syntax, see the REGULAR EXPRESSIONS chapter below.ACCEPT_INCOMINGβ only accepts incoming connections where the remote callsign matches this regular expression. If the callsign doesn't match, a message is sent to the remote station letting them know the connection was rejected. Order matters:DROP_INCOMINGandREJECT_INCOMINGget evaluated beforeACCEPT_INCOMING. For the syntax, see the REGULAR EXPRESSIONS chapter below.REJECT_OUTGOINGβ rejects all outgoing connections where the remote callsign matches this regular expression. For the syntax, see the REGULAR EXPRESSIONS chapter below.REJECT_CONFβ set this to1and it rejects all incoming connections where the name of the remote station ends in the wordCONF. A message gets sent to the remote station saying the connection was rejected. What this does is block connects from stations that are in conference mode. And if a station enters conference mode after connecting, and transmits towards us, it will be disconnected as well. π«CHECK_NR_CONNECTSβ if a station connects too often it can be blocked for a configurable time span. Example:CHECK_NR_CONNECTS=3,300,120β so if a station connects more than 3 times with less than 300 seconds in between each connect, that station gets rejected for 120 minutes. Timed out, blocked, no cap. β³ACCEPT_OUTGOINGβ only accepts outgoing connections where the remote callsign matches this regular expression. TheREJECT_OUTGOINGdirective gets evaluated beforeACCEPT_OUTGOING. For the syntax, see the REGULAR EXPRESSIONS chapter below.SERVERSβ a space separated list of IP addresses or names of the EchoLink directory servers to use. The specified servers get tried in order until one is found that works, and then SvxLink sticks to that server. If that server fails, SvxLink will again try the next server in the list, and once it hits the end of the list the search starts from the beginning again. Hostnames that resolve to multiple IP addresses β likeservers.echolink.orgβ are also correctly handled, so all returned IP addresses will be tried if necessary. Iconic failover behaviour honestly πCALLSIGNβ the callsign to use to login to the EchoLink directory server π»SYSOPNAMEβ the name of the person or club that is responsible for this system.PASSWORDβ the EchoLink directory server password to use.LOCATIONβ the location of the station. Note: in the default configuration file the value of this configuration variable starts with"[Svx]". This is of course not necessary, but it's fun to see which other stations are running SvxLink. Little Easter egg, iykyk π₯PROXY_SERVERβ if set, connect to the given EchoLink proxy server host. All EchoLink connections β both incoming and outgoing β will then go through the proxy.PROXY_PORTβ set the TCP port used for connecing to an EchoLink proxy server. Default is8100.PROXY_PASSWORDβ set the EchoLink proxy password used when connecting to an EchoLink proxy server. Use the passwordPUBLICfor public proxy servers.BIND_ADDRβ this configuration variable can be set to bind the EchoLink network sockets to a specific IP-address/interface. You might need this if the computer is fitted with more than one ethernet interface and EchoLink should only be used on one of them.
Example: BIND_ADDR=192.168.0.1
MAX_QSOSβ the maximum number of stations that can participate in a conference QSO on this node. If more stations try to connect, the connect request will be rejected. Sorry bestie, the party's full πUSE_GSM_ONLYβ on smaller systems with a less powerful CPU, it's a good idea to prevent SvxLink from switching into the Speex codec when another SvxLink station is connecting via EchoLink. If this param is set to1, SvxLink remains in the default codec (GSM). Protect that poor little CPU π«ΆDEFAULT_LANGβ set the language to use for announcements sent to remote EchoLink stations. If it's not set, it'll be the same as the one chosen for the logic core. The reason you might set this up is if you want one language for the core and another language for annoncements sent to remote EchoLink stations.MAX_CONNECTIONSβ when more stations than specified inMAX_QSOStry to connect, a connection will temporarily be established long enough to play a message telling the remote station that the connection was rejected. The connection is then immediately terminated. And if the number of connections exceedsMAX_CONNECTIONS, the connect request is just ignored. This variable is typically set toMAX_QSOS+1or more if you're using a large number forMAX_QSOS.LINK_IDLE_TIMEOUTβ the number of seconds that a connection is idle before disconnection will occur. The whole point is to prevent a link staying open if someone forgets to disconnect. Disable this feature by setting this config variable to zero (or comment it out). Goodbye dead air πAUTOCON_ECHOLINK_IDβ set this variable to an EchoLink ID that you want to automatically connect to. SvxLink will autoconnect only when no other station is connected.AUTOCON_TIMEβ set this to the time in seconds that you want in between autoconnect tries.DESCRIPTIONβ a longer description that is sent to remote stations upon connection. This description should typically include detailed station information like QTH, transceiver frequency/power, antenna, CTCSS tone frequency etc. Serve the details πCOMMAND_PTYβ specify the path to a PTY that can be used to control the EchoLink module from the operating system. Commands:"KILL"will disconnect the current talker,"DISC callsign"will disconnect the station with the given callsign. Commands can be issued using a simple echo command from the shell.LOCAL_RGR_SOUNDβ set this variable to0to disable playing a roger sound (beep) locally when the remote station stops talking. It's enabled by default.REMOTE_RGR_SOUNDβ set this to1to enable sending of a roger sound (beep) to remote Echolink stations when the squelch closes on the local node. It's disabled by default.REMOTE_EVENT_HANDLERβ the path to the tcl file that handle remote events. The path is normally figured out from theEVENT_HANDLERset in the logic core confguration, so only set this configuration variable if you have a good reason. The file that should normally be used to handle remote Echolink events isevents.d/EchoLinkRemote.tcl.
π REGULAR EXPRESSIONS π
So regular expressions get used in the DROP, REJECT and ACCEPT configuration variables. A regular expression can be quite complex, and the syntax is fully described in the regex(7) manual page. What's below is just a quick tutorial for the most important features β the greatest hits, if you will β¨
^β match the beginning of a string.$β match the end of a string..β match one character.*β match the previous expression zero or more times.|β match the expression before OR after the|.\β escape the following character. Note that backslash is also parsed by the SvxLink configuration parser, so a backslash must actually be typed as two. For example, to include a*in the matching pattern it must be escaped as\\*.()β grouping an expression.[]β match any of the characters inside of the brackets.
Some examples:
^(AB1CDE|BA5CBA-L)$
Match AB1CDE or BA5CBA-L.
^(AB1CDE-[LR])$
Match AB1CDE-L or AB1CDR-R.
^(AB1.*)$
Match all callsigns starting with AB1.
^(\\*.*\\*)$
Match all conference "callsigns". We need to escape the star character since it would otherwise be parsed by the regular expression parser. We also need two backslah characters so that the SvxLink configuration reader doesn't parse it as an escape sequence.
The matches in SvxLink are case insensitive, so "sm3" and "SM3" are the same. SvxLink use extended regular expressions (see regex(7)). And honestly? You almost always want to start the regular expression with "^(" and end it with ")$" so that the whole callsign will be used in the match. Trust, it'll save you so much grief π
πΈ FILES πΈ
okay so where does this thing even live on your machine?? here's the whole map bestie πΊοΈβ¨
/etc/svxlink/svxlink.confβ the system wide configuration file. (or, deprecated π,/etc/svxlink.confβ the old spot, still hanging around like a ex who won't leave the group chat)~/.svxlink/svxlink.confβ the per user configuration file π just yours, nobody else's business/etc/svxlink/svxlink.d/ModuleEchoLink.confβ the global modularized configuration file β¨ and lowkey it does depend on whatever you set theCFG_DIRconfiguration variable to, so don't come for me if it's not there π~/.svxlink/svxlink.d/ModuleEchoLink.confβ the per user modularized configuration file π and fr fr, this one also depends on theCFG_DIRconfiguration variable setting. same rule, different folder, iykyk π¦
π AUTHOR π
the icon, the legend, the main character who made all this happen:
Tobias Blomberg (SM0SVX) <sm0svx at svxlink dot org> π
give them their flowers, periodt πΉ
π REPORTING BUGS π
found a bug?? ok don't panic, do it right bestie:
- report your bugs over at the issue tracker:
https://github.com/sm0svx/svxlinkπ
β οΈ important vibe check: questions about SvxLink should NOT go on the issue tracker. that's not what it's for, babe π the issue tracker is for bugs, not for "hey how do iβ"
- got questions instead?? take those to the group that was literally set up for exactly this, over on groups.io:
https://groups.io/g/svxlinkπ«Ά
right place, right reasons, no chaos π
π₯ SEE ALSO π₯
svxlink.conf(5)β go read the big one, it's giving main character β¨
that's the whole page bestie!! π this was MODULEECHOLINK.CONF(5), the Linux version, dated APRIL 2021 π and you read the entire thing so honestly?? slay, no cap, you ate that ππ¦β¨
π¦ where this page comes from
- ubuntu stonking: svxlink-server 26.05.1-1 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms