docs:svx
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| docs:svx [2022/11/25 15:03] – root | docs:svx [2022/11/26 04:08] (current) – [Sample config] root | ||
|---|---|---|---|
| Line 89: | Line 89: | ||
| </ | </ | ||
| ===== SVXReflector ===== | ===== SVXReflector ===== | ||
| + | ==== Patching and installing the package ==== | ||
| + | |||
| + | Ensure your '' | ||
| + | |||
| + | Run the following commands: | ||
| + | |||
| + | <code bash> | ||
| + | cd / | ||
| + | apt build-dep svxreflector | ||
| + | apt source svxreflector | ||
| + | apt install quilt | ||
| + | cd svxlink-* | ||
| + | </ | ||
| + | |||
| + | Drop the following file in '' | ||
| + | |||
| + | <file diff f4hof-fix-reflector.patch> | ||
| + | Index: svxlink-19.09.1/ | ||
| + | =================================================================== | ||
| + | --- svxlink-19.09.1.orig/ | ||
| + | +++ svxlink-19.09.1/ | ||
| + | @@ -518,12 +518,17 @@ void ReflectorClient:: | ||
| + | | ||
| + | { | ||
| + | | ||
| + | - if (!m_cfg-> | ||
| + | + if (strcasestr( callsign.c_str(), | ||
| + | { | ||
| + | - cout << "*** WARNING: Unknown user \"" | ||
| + | - << | ||
| + | + /* Deny connection to anons */ | ||
| + | + cout << " | ||
| + | | ||
| + | } | ||
| + | + if (!m_cfg-> | ||
| + | + { | ||
| + | + /* Unknown user, silently hinting to group DefaultPassword. */ | ||
| + | + auth_group = " | ||
| + | + } | ||
| + | | ||
| + | if (!m_cfg-> | ||
| + | { | ||
| + | </ | ||
| + | |||
| + | Then run the following commands. | ||
| + | |||
| + | <code bash> | ||
| + | quilt push -a | ||
| + | dpkg-buildpackage -us -uc | ||
| + | cd .. | ||
| + | dpkg -i svxreflector_*.deb | ||
| + | apt-mark hold svxreflector | ||
| + | </ | ||
| + | ==== Config template ==== | ||
| <code ini svxreflector.conf>################################################################### | <code ini svxreflector.conf>################################################################### | ||
| Line 110: | Line 164: | ||
| DefaultPassword=" | DefaultPassword=" | ||
| </ | </ | ||
| + | |||
| + | ==== Systemd unit ==== | ||
| + | |||
| + | <code ini svxreflector@.service> | ||
| + | ;;;;; Author: Richard Neese< | ||
| + | |||
| + | [Unit] | ||
| + | Description=SvxLink Reflector for room %I | ||
| + | Documentation=man: | ||
| + | After=network.target remote-fs.target time.target | ||
| + | |||
| + | [Service] | ||
| + | Type=simple | ||
| + | User=svxlink | ||
| + | Group=daemon | ||
| + | EnvironmentFile=-/ | ||
| + | Environment=CFGFILE=/ | ||
| + | Environment=LOGFILE=/ | ||
| + | RuntimeDirectory=svxlink | ||
| + | ExecStart=/ | ||
| + | ExecReload=/ | ||
| + | Restart=on-failure | ||
| + | TimeoutStartSec=60 | ||
| + | [Install] | ||
| + | WantedBy=multi-user.target | ||
| + | </ | ||
| + | |||
| ===== SVXLink (listener) ===== | ===== SVXLink (listener) ===== | ||
| + | |||
| + | ==== Installing ==== | ||
| + | |||
| + | We'll use the other packages generated in the section above. Go back in ''/ | ||
| + | |||
| + | <code bash> | ||
| + | dpkg -i svxlink-server_*.deb svxlink-gpio_*.deb libecholib1.3_*.deb | ||
| + | apt-mark hold svxlink-server svxlink-gpio libecholib1.3 | ||
| + | </ | ||
| + | |||
| + | Alternatively, | ||
| + | |||
| + | <code bash> | ||
| + | apt install -y svxlink-server | ||
| + | </ | ||
| + | ==== Sample config ==== | ||
| <code ini svxlink.conf> | <code ini svxlink.conf> | ||
| Line 137: | Line 234: | ||
| TYPE=Reflector | TYPE=Reflector | ||
| HOST=127.0.0.1 | HOST=127.0.0.1 | ||
| - | PORT=5310 | + | PORT=5300 |
| CALLSIGN=" | CALLSIGN=" | ||
| - | AUTH_KEY=" | + | AUTH_KEY=" |
| AUDIO_CODEC=OPUS | AUDIO_CODEC=OPUS | ||
| # | # | ||
| Line 161: | Line 258: | ||
| TX_DELAY=0 | TX_DELAY=0 | ||
| PREEMPHASIS=0 | PREEMPHASIS=0 | ||
| + | </ | ||
| + | |||
| + | ==== Systemd Unit file ==== | ||
| + | |||
| + | <code ini svxlink@.service> | ||
| + | ;;;;; Author: Richard Neese< | ||
| + | |||
| + | [Unit] | ||
| + | Description=SvxLink client for room %I | ||
| + | Documentation=man: | ||
| + | After=network.target remote-fs.target time.target sound.target | ||
| + | |||
| + | [Service] | ||
| + | Type=simple | ||
| + | User=svxlink | ||
| + | Group=daemon | ||
| + | EnvironmentFile=-/ | ||
| + | Environment=CFGFILE=/ | ||
| + | Environment=LOGFILE=/ | ||
| + | RuntimeDirectory=svxlink | ||
| + | ExecStart=/ | ||
| + | ExecReload=/ | ||
| + | Restart=on-failure | ||
| + | TimeoutStartSec=60 | ||
| + | [Install] | ||
| + | WantedBy=multi-user.target | ||
| </ | </ | ||
| ===== DarkIce ===== | ===== DarkIce ===== | ||
| + | |||
| + | ==== Sample config ==== | ||
| + | |||
| <code ini darkice.conf> | <code ini darkice.conf> | ||
| Line 206: | Line 332: | ||
| public | public | ||
| </ | </ | ||
| + | |||
| + | ==== Systemd unit file ==== | ||
| + | |||
| + | <file ini darkice@.service> | ||
| + | [Unit] | ||
| + | Description=Darkice server for room %I | ||
| + | Documentation=man: | ||
| + | After=network.target time.target sound.target icecast2.service | ||
| + | |||
| + | [Service] | ||
| + | Type=simple | ||
| + | User=svxlink | ||
| + | Group=svxlink | ||
| + | EnvironmentFile=-/ | ||
| + | Environment=CFGFILE=/ | ||
| + | # | ||
| + | ExecStart=/ | ||
| + | ExecStop=/ | ||
| + | Restart=on-failure | ||
| + | TimeoutStartSec=60 | ||
| + | |||
| + | [Install] | ||
| + | WantedBy=multi-user.target | ||
| + | </ | ||
| ===== MQTT ===== | ===== MQTT ===== | ||
| - | TODO | + | |
| + | <code - conf.d/ | ||
| + | protocol mqtt | ||
| + | password_file / | ||
| + | allow_anonymous false | ||
| + | auth_plugin_deny_special_chars false | ||
| + | </ | ||
| ===== Web portal ===== | ===== Web portal ===== | ||
| TODO | TODO | ||
docs/svx.1669384980.txt.gz · Last modified: 2022/11/25 15:03 by root