SvxLinkServerUserDocs - sm0svx/svxlink GitHub Wiki

SvxLink Server user documentation

This part of the documentation describes how to use the SvxLink Server via the radio interface. SvxLink is controlled by DTMF (Dual Tone Multi Frequency) signalling. All commands to the system ends with the number sign (#). It’s like the enter key on a computer. However, the sysop have an option to configure the system to execute commands on squelch close so that the number sign is not needed.

There is a command timeout of 10 seconds. If no DTMF characters has been received for 10 seconds, the reception buffer will be cleared.

The star key (*) is special. It triggers the node to run manual identification itself, (different from short and long ident). However, identification is only performed if the star (followed by #) is entered as the only DTMF character. If digits are received, before or after, it will be considered to be part of a command. A command prefixed with a star (*) will be executed in the idle context even if a module is activated. So, even if for example ModuleEchoLink is activated you can still check if you have any voice mails by sending something like *3123#.

The "D" key is used to activate a pre programmed macro or short cut. A macro is used to reduce the number of DTMF codes that have to be sent. For example if the macro 5 have been defined to connect to the *ECHOTEST* node only D5# have to be pressed instead of 2#9999#. It is the node sysop that defines the macros. Check with your local node sysop which macros are setup. If you connect to an EchoLink node very often it can be nice to setup a macro for it. Ask your sysop to do that.

There also is an "anti-flutter" mode of operation. This mode of operation make DTMF detection perform well when the signal is weak or there is mobile flutter present. This mode is activated on a per command basis. To activate, start each command with an "A" (think: Activate Anti-flutter). Enter the digits, replacing duplicate digits with a "B" (11=1B, 111=1B1, 1111=1B1B etc). End with a "C" (think: Conclude). Some examples below.

AC          <-- Empty command. Same as just pressing #.
A1C         <-- Command executed: 1
A12B3C      <-- Command executed: 1223
A12B23C     <-- Command executed: 12223

So what good is this? Well, this way of coding commands will allow digits to be "double detected" without affecting the end result, which can happen if there is mobile flutter present on the received signal. Consider the examples below.

ACCC        <-- Empty command. Same as just pressing #.
A111C       <-- Command executed: 1
A11122BB3CC <-- Command executed: 1223
AA12B2233C  <-- Command executed: 12223

Exactly the same result as the first example, even though some digits were detected multiple times.

The system is built up of a core system that handles the transceiver interface. The core system can then be extended by loading modules that handles a specific voice service. Each module have a unique ID number associated with it. The association is done during the configuration of the system. To activate a module, press its ID number followed by the number sign. The default configuration specifies the Help module as ID 0, so start by activating that module and listen to the help messages (i.e. send 0# or A0C). Go on to test the other modules. When a module is activated, send the 0# command to get help about that module. To exit a module, just send a # (or AC). Description in more detail for the different modules follow below.

⚠️ **GitHub.com Fallback** ⚠️