forked from bjorne/chan-svx-deb
Compare commits
1
Commits
master
...
sa2blv-patch-1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
357a0a9d94 |
@@ -1,47 +1,161 @@
|
|||||||
# asl3-chan-svx — prebuilt packages
|
# asl3-chan-svx
|
||||||
|
|
||||||
Prebuilt `.deb` packages for **chan_svx**, an Asterisk channel driver for
|
**chan_svx** is an Asterisk channel driver for **AllStarLink 3** that connects directly to a **SvxLink SVXReflector**.
|
||||||
AllStarLink 3 (app_rpt) that speaks the SvxLink **SVXReflector** protocol
|
|
||||||
directly — no USRP hop, single Opus transcode.
|
|
||||||
|
|
||||||
Source code: private. Bug reports: **bjorne@sa7aux.se**.
|
Unlike traditional solutions that rely on a USRP bridge, `chan_svx` speaks the SVXReflector protocol natively, providing:
|
||||||
|
|
||||||
## Which package?
|
- Lower latency
|
||||||
|
- Simpler system architecture
|
||||||
|
- A single Opus transcoding step
|
||||||
|
- Reduced CPU and memory usage
|
||||||
|
- Direct integration with `app_rpt`
|
||||||
|
|
||||||
Pick by your OS (Debian codename) and CPU architecture. Check with
|
This allows SVXReflector talk groups to be used directly from AllStarLink without an intermediate USRP connection.
|
||||||
`. /etc/os-release; echo $VERSION_CODENAME` and `dpkg --print-architecture`.
|
|
||||||
|
## Features
|
||||||
|
|
||||||
|
- Native SVXReflector connectivity
|
||||||
|
- Direct integration with AllStarLink 3 (`app_rpt`)
|
||||||
|
- SVXReflector v2 protocol support (HMAC-SHA1)
|
||||||
|
- Configurable jitter buffer
|
||||||
|
- Adjustable RX/TX gain
|
||||||
|
- Optional RX/TX AGC
|
||||||
|
- Support for x86-64 and ARM64 (Raspberry Pi)
|
||||||
|
|
||||||
|
Source code is private.
|
||||||
|
|
||||||
|
Bug reports and support requests: **bjorne@sa7aux.se**
|
||||||
|
|
||||||
|
## Requirements
|
||||||
|
|
||||||
|
- Debian 12 (Bookworm) or Debian 13 (Trixie)
|
||||||
|
- AllStarLink 3 (`asl3-asterisk`) already installed
|
||||||
|
- Access credentials for an SVXReflector
|
||||||
|
|
||||||
|
## Download
|
||||||
|
|
||||||
|
Clone the repository:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
git clone https://github.com/<your-repository>/asl3-chan-svx.git
|
||||||
|
cd asl3-chan-svx
|
||||||
|
```
|
||||||
|
|
||||||
|
## Choose the Correct Package
|
||||||
|
|
||||||
|
Verify your Debian release:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
. /etc/os-release
|
||||||
|
echo $VERSION_CODENAME
|
||||||
|
```
|
||||||
|
|
||||||
|
Verify your CPU architecture:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
dpkg --print-architecture
|
||||||
|
```
|
||||||
|
|
||||||
| Platform | Package |
|
| Platform | Package |
|
||||||
|---|---|
|
|-----------|----------|
|
||||||
| Debian 13 **trixie**, x86-64 | `debs/asl3-chan-svx_0.2.4~trixie_amd64.deb` |
|
| Debian 13 (Trixie), x86-64 | `debs/asl3-chan-svx_0.2.4~trixie_amd64.deb` |
|
||||||
| Debian 13 **trixie**, arm64 (Raspberry Pi OS trixie, Pi 3/4/5) | `debs/asl3-chan-svx_0.2.4~trixie_arm64.deb` |
|
| Debian 13 (Trixie), ARM64 (Raspberry Pi OS Trixie) | `debs/asl3-chan-svx_0.2.4~trixie_arm64.deb` |
|
||||||
| Debian 12 **bookworm**, x86-64 | `debs/asl3-chan-svx_0.2.4~bookworm_amd64.deb` |
|
| Debian 12 (Bookworm), x86-64 | `debs/asl3-chan-svx_0.2.4~bookworm_amd64.deb` |
|
||||||
| Debian 12 **bookworm**, arm64 (Raspberry Pi OS bookworm) | `debs/asl3-chan-svx_0.2.4~bookworm_arm64.deb` |
|
| Debian 12 (Bookworm), ARM64 (Raspberry Pi OS Bookworm) | `debs/asl3-chan-svx_0.2.4~bookworm_arm64.deb` |
|
||||||
|
|
||||||
64-bit only. Requires AllStarLink 3 (`asl3-asterisk`) already installed —
|
Only 64-bit platforms are supported.
|
||||||
the package must match that exact release, so use the deb for your OS.
|
|
||||||
|
|
||||||
## Install
|
## Installation
|
||||||
|
|
||||||
|
Install the package that matches your operating system and architecture:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
sudo apt install ./debs/asl3-chan-svx_0.2.4~<os>_<arch>.deb
|
sudo apt install ./debs/asl3-chan-svx_0.2.4~<os>_<arch>.deb
|
||||||
```
|
```
|
||||||
|
|
||||||
Dependencies (`asl3-asterisk`, `libopus0`, `libssl3`) resolve automatically.
|
Required dependencies (`asl3-asterisk`, `libopus0`, and `libssl3`) will be installed automatically.
|
||||||
|
|
||||||
Then, to enable it:
|
## Configuration
|
||||||
|
|
||||||
1. Create `/etc/asterisk/svx.conf` (host, port, login, password, callsign, tg —
|
### 1. Create svx.conf
|
||||||
plus optional `tx_hold`, `jitter`, `rx_gain`/`tx_gain`, `rx_agc`/`tx_agc`).
|
|
||||||
2. Uncomment `load = chan_svx.so` in `/etc/asterisk/modules.conf`.
|
|
||||||
3. Set `rxchannel = SVX/<section>` on your node in `/etc/asterisk/rpt.conf`.
|
|
||||||
4. `sudo asterisk -rx "core restart now"` then `sudo asterisk -rx "svx show"`.
|
|
||||||
|
|
||||||
`postinst` prints these steps, and a full walkthrough ships in
|
Create `/etc/asterisk/svx.conf` and configure:
|
||||||
`/usr/share/doc/asl3-chan-svx/INSTALL.md`.
|
|
||||||
|
- Reflector hostname
|
||||||
|
- Port
|
||||||
|
- Callsign
|
||||||
|
- Password
|
||||||
|
- Talk group
|
||||||
|
|
||||||
|
Optional settings:
|
||||||
|
|
||||||
|
- `tx_hold`
|
||||||
|
- `jitter`
|
||||||
|
- `rx_gain`
|
||||||
|
- `tx_gain`
|
||||||
|
- `rx_agc`
|
||||||
|
- `tx_agc`
|
||||||
|
|
||||||
|
### 2. Enable the Channel Driver
|
||||||
|
|
||||||
|
Edit `/etc/asterisk/modules.conf` and enable the module:
|
||||||
|
|
||||||
|
```ini
|
||||||
|
load = chan_svx.so
|
||||||
|
```
|
||||||
|
|
||||||
|
If a line already exists as:
|
||||||
|
|
||||||
|
```ini
|
||||||
|
;load = chan_svx.so
|
||||||
|
```
|
||||||
|
|
||||||
|
remove the leading semicolon.
|
||||||
|
|
||||||
|
### 3. Configure app_rpt
|
||||||
|
|
||||||
|
Edit `/etc/asterisk/rpt.conf` and set:
|
||||||
|
|
||||||
|
```ini
|
||||||
|
rxchannel = SVX/<section>
|
||||||
|
```
|
||||||
|
|
||||||
|
where `<section>` matches the section name in `svx.conf`.
|
||||||
|
|
||||||
|
### 4. Restart Asterisk
|
||||||
|
|
||||||
|
```sh
|
||||||
|
sudo asterisk -rx "core restart now"
|
||||||
|
```
|
||||||
|
|
||||||
|
### 5. Verify Operation
|
||||||
|
|
||||||
|
Check the driver status:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
sudo asterisk -rx "svx show"
|
||||||
|
```
|
||||||
|
|
||||||
|
A successful connection will display reflector and talk group information.
|
||||||
|
|
||||||
|
## Documentation
|
||||||
|
|
||||||
|
A complete installation and configuration guide is included with the package:
|
||||||
|
|
||||||
|
```text
|
||||||
|
/usr/share/doc/asl3-chan-svx/INSTALL.md
|
||||||
|
```
|
||||||
|
|
||||||
|
The package post-install script (`postinst`) also displays the required setup steps after installation.
|
||||||
|
|
||||||
|
## Compatibility
|
||||||
|
|
||||||
|
`chan_svx` implements the SVXReflector v2 protocol (HMAC-SHA1).
|
||||||
|
|
||||||
|
Reflectors that provide v2 compatibility can be used even if their SvxLink nodes normally operate using v3/TLS.
|
||||||
|
|
||||||
## Notes
|
## Notes
|
||||||
|
|
||||||
- Reflector logins are used **upper-case** (SvxReflector validates the callsign).
|
- Reflector logins must use an **upper-case callsign**.
|
||||||
- Speaks SVXReflector **v2** (HMAC-SHA1). Reflectors that also offer v2 work even
|
- SVXReflector validates callsigns case-sensitively.
|
||||||
if their nodes normally use v3/TLS.
|
- The package version should match the installed AllStarLink 3 release.
|
||||||
|
|||||||
Reference in New Issue
Block a user