Linking RemoteTrx and SvxLink

With this configuration, signals received from a Remotetrx/SvxLink base are transmitted to the connected stations and output there. The connected stations can also participate in EchoLink operation or establish and terminate corresponding EchoLink connections. The variant shown here uses a MultiTx on the transmitter side and the Voter function built into SvxLink on the receiver side.

The svxlink application runs on the SvxLink base station and the remotetrx application runs on the RemoteTrx(s) (included with SvxLink). The connection is always established from the Svxink base station to the RemoteTrx(s). Make sure that these can be reached via the IP address (Attention with dhcp) or via host name (outside your own network -> dyndns, or similar) on the configured port.
Within your own network, either a RAW stream or the S16 codec can be used as a codec. For connections to the Internet via a DSL connection, you should use the SPEEX and for lower quality requirements, the GSM codec.
However, the disadvantages of this configuration variant should not be concealed:

The connections between the stations are static, i.e. cannot be controlled (disconnect, connect on command).
no specific Logic functions available for each RemoteTrx(e) (Metar,Parrot,…)
Voter functions cost time, i.e. higher latencies

A further development is LogicLinking, which enables the targeted connection/disconnection of individual participants as well as timeout functions.

 

Figure 1: Principle SvxLink and RemoteTrx(e)

The following figure clearly illustrates the individual configuration sections of the SvxLink base and a RemoteTrx.

Figure 2: SvxLink/RemoteTrx configuration, principle

Below are the configuration files for the individual stations as shown in Figure 1.
SvxLink (base station), configuration file svxlink.conf

# Configuration file svxlink.conf on the local SvxLink basis
[GLOBAL]
MODULE_PATH=/usr/lib/svxlink
LOGICS=RepeaterLogic
CFG_DIR=svxlink.d
TIMESTAMP_FORMAT=“%d.%m.%Y %H:%M:%S“
CARD_SAMPLE_RATE=48000

[RepeaterLogic]
TYPE=Repeater
RX=Voter
TX=MultiTx
MODULES=ModulesHelp,ModulesParrot,ModulesEchoLink,ModulesTclVoiceMail
CALLSIGN=DL1ABC
SHORT_IDENT_INTERVAL=60
LONG_IDENT_INTERVAL=60
EVENT_HANDLER=/usr/share/svxlink/events.tcl
DEFAULT_LANG=en_DE
RGR_SOUND_DELAY=0
MACROS=Macros
FX_GAIN_NORMAL=0
FX_GAIN_LOW=-12
OPEN_ON_SQL=50
IDLE_TIMEOUT=2
NO_REPEAT=1

[MultiTx]
TYPE=Multi
TRANSMITTERS=Remote_Tx1,Remote_Tx2,Local_Tx

[Voter]
TYPE=Voter
RECEIVERS=Remote_Rx1,Remote_Rx2,Local_Rx
VOTING_DELAY=200

# First of all the RX and TX sections for the
# SvxLink base connected radio defined
[Local_Rx]
TYPE=Local
AUDIO_DEV=alsa:plughw:0
AUDIO_CHANNEL=0
SQL_DET=VOX
SQL_START_DELAY=0
SQL_DELAY=0
SQL_HANGTIME=2000
VOX_FILTER_DEPTH=20
VOX_THRESH=1000
CTCSS_FQ=136.5
CTCSS_THRESH=10
SERIAL_PORT=/dev/ttyS0
SERIAL_PIN=CTS:SET
SIGLEV_SLOPE=1
SIGLEV_OFFSET=0
SIGLEV_OPEN_THRESH=30
SIGLEV_CLOSE_THRESH=10
DEEMPHASIS=0
PEAK_METER=1
DTMF_DEC_TYPE=INTERNAL
DTMF_MUTING=1
DTMF_HANGTIME=100
DTMF_SERIAL=/dev/ttyS0

[Local_Tx]
TYPE=Local
AUDIO_DEV=alsa:plughw:0
AUDIO_CHANNEL=0
PTT_PORT=/dev/ttyS0
PTT_PIN=DTRRTS
TIMEOUT=600
TX_DELAY=500
PREEMPHASIS=0
DTMF_TONE_LENGTH=100
DTMF_TONE_SPACING=50
DTMF_TONE_AMP=-18

# now follow the references to the network to be connected
# Stations (RemoteTrx’s)
[Remote_Tx1]
TYPE=Net
HOST=192.168.0.1
TCP_PORT=5300
AUTH_KEY=“super secret“
CODEC=S16

[Remote_Rx1]
TYPE=Net
HOST=192.168.0.1
TCP_PORT=5300
AUTH_KEY=“super secret“
CODEC=S16

[Remote_Tx2]
TYPE=Net
HOST=192.168.0.2
TCP_PORT=5301
AUTH_KEY=“super secret“
CODEC=SPEEX

[Remote_Rx2]
TYPE=Net
HOST=192.168.0.2
TCP_PORT=5301
AUTH_KEY=“super secret“
CODEC=SPEEX

Below are the configurations for RemoteTrx’e.

RemoteTrx1 (on 192.168.0.1), configuration file remotetrx.conf:

# Configuration file remotetrx.conf on the first RemoteTrx
[GLOBAL]
TRXS=NetUplinkTrx
TIMESTAMP_FORMAT=“%c“
CARD_SAMPLE_RATE=48000

[NetUplinkTrx]
TYPE=Net
RX=Rx1
TX=Tx1
LISTEN_PORT=5300
FALLBACK_REPEATER=0
AUTH_KEY=“super secret“

[Rx1]
TYPE=Local
AUDIO_DEV=alsa:plughw:0
AUDIO_CHANNEL=0
SQL_DET=VOX
SQL_START_DELAY=200
SQL_DELAY=100
SQL_HANGTIME=2000
VOX_FILTER_DEPTH=20
VOX_THRESH=1000
CTCSS_FQ=136.5
CTCSS_THRESH=10
SERIAL_PORT=/dev/ttyS0
SERIAL_PIN=CTS:SET
SIGLEV_SLOPE=1
SIGLEV_OFFSET=0
SIGLEV_OPEN_THRESH=30
SIGLEV_CLOSE_THRESH=10
DEEMPHASIS=0
PEAK_METER=0
DTMF_DEC_TYPE=INTERNAL
DTMF_MUTING=1
DTMF_HANGTIME=100
DTMF_SERIAL=/dev/ttyS0

[Tx1]
TYPE=Local
AUDIO_DEV=alsa:plughw:0
AUDIO_CHANNEL=0
PTT_PORT=NONE
PTT_PIN=DTRRTS
TIMEOUT=300
TX_DELAY=500
PREEMPHASIS=0
DTMF_TONE_LENGTH=100
DTMF_TONE_SPACING=50
DTMF_TONE_AMP=-18

RemoteTrx2 (on 192.168.0.2), configuration file remotetrx.conf:

# configuration file remotetrx.conf on the second RemoteTrx
[GLOBAL]
TRXS=NetUplinkTrx
TIMESTAMP_FORMAT=“%c“
CARD_SAMPLE_RATE=48000

[NetUplinkTrx]
TYPE=Net
RX=Rx1
TX=Tx1
LISTEN_PORT=5301
FALLBACK_REPEATER=0
AUTH_KEY=“super secret“

[Rx1]
TYPE=Local
AUDIO_DEV=alsa:plughw:0
AUDIO_CHANNEL=0
SQL_DET=VOX
SQL_START_DELAY=200
SQL_DELAY=100
SQL_HANGTIME=2000
VOX_FILTER_DEPTH=20
VOX_THRESH=1000
CTCSS_FQ=136.5
CTCSS_THRESH=10
SERIAL_PORT=/dev/ttyS0
SERIAL_PIN=CTS:SET
SIGLEV_SLOPE=1
SIGLEV_OFFSET=0
SIGLEV_OPEN_THRESH=30
SIGLEV_CLOSE_THRESH=10
DEEMPHASIS=0
PEAK_METER=0
DTMF_DEC_TYPE=INTERNAL
DTMF_MUTING=1
DTMF_HANGTIME=100
DTMF_SERIAL=/dev/ttyS0

[Tx1]
TYPE=Local
AUDIO_DEV=alsa:plughw:0
AUDIO_CHANNEL=0
PTT_PORT=/dev/ttyS0
PTT_PIN=DTRRTS
TIMEOUT=300
TX_DELAY=500
PREEMPHASIS=0
DTMF_TONE_LENGTH=100
DTMF_TONE_SPACING=50
DTMF_TONE_AMP=-18