Getting Started
Register
Click Register in the top bar. Fill in your callsign, name, email and password. A verification email will be sent. After verifying your email, an administrator will activate your account.
Sign in
Click Sign in and enter your callsign (or email) and password.
Profile
After signing in, click your callsign in the top right and select Profile. Here you can edit your details and see your connected nodes.
Your Nodes
My Nodes tab
In your Profile, the My Nodes tab shows all nodes connected to the reflector that match your callsign. You can see node info, monitored talkgroups, CTCSS mappings, QTH, and RX/TX status.
Node Admins
Each node can have multiple administrators. The node owner (sysop) is always an admin. Additional admins can be added by a site administrator.
Certificates
Nodes need a signed certificate to connect. When your node first connects, it sends a Certificate Signing Request (CSR). An administrator will sign it, and the reflector sends the certificate to your node automatically.
Account Status
Banned
Your account has been suspended by an administrator. You cannot log in. The reason (if provided) will be shown at login. Contact an administrator to resolve this.
Locked
Your account has been temporarily locked. You cannot log in. The reason (if provided) will be shown at login. Contact an administrator.
Unverified
Your email has not been verified yet. Check your inbox for the verification link. If you did not receive it, contact an administrator.
Notifications
Bell icon
The bell icon in the top bar shows notifications. For regular users it shows account events (ban, lock, unlock). For administrators it also shows pending certificate requests and new registrations.
Navigation
Reflector clients
All connected nodes with real-time status, including remote nodes that arrive via a trunk. Shown as a table: Callsign (with sysop), Class, TG, Location, RX/TX, software/version and monitored talkgroups. The node currently transmitting is highlighted.
Monitor
Live activity monitor with Nodes and Trunks sub-views. Trunks shows each trunk link's status (Name, Status, heartbeat rx/tx, active talkgroups, Type, Qual).
Lastheard
Recent transmissions with callsign, talkgroup and duration — including traffic that arrives over a trunk (shown as callsign via <trunk>, with source local/trunk).
CTCSS Table
Reference table for CTCSS tone frequencies and talkgroup mappings.
Map
Geographic map showing node locations.
Trunks & Remote Nodes
What is a trunk?
A trunk is a link between this reflector and another reflector network (for example reflector-network.se). Talkgroup audio is exchanged across the link.
Remote nodes
Nodes on the other side of a trunk are relayed in and appear in the client list, Monitor and Lastheard just like local nodes. They do not log in to this reflector — only the trunk link itself is authenticated (a shared key).
Identity
A remote node's identity is the name it advertises over the trunk (e.g. a node name like SE-EASTCOAST). There is no separate, locally verified operator callsign for trunk traffic — the advertised name is the identity.
Build the USRP fork (svxlink-usrp)
What it is
DL1HRC's SvxLink fork with UsrpLogic — bridges USRP audio (AllStar chan_usrp, DVSwitch Analog_Bridge) into SvxLink. UsrpLogic lives in contrib and is built automatically.
# Same build dependencies as the stock guide above, then:
cd ~/projects
git clone https://github.com/dl1hrc/svxlink.git svxlink-usrp
cd svxlink-usrp
git checkout svxlink-usrp
mkdir -p src/build && cd src/build
cmake -DCMAKE_INSTALL_PREFIX=/usr -DSYSCONF_INSTALL_DIR=/etc \
      -DLOCAL_STATE_DIR=/var -DWITH_SYSTEMD=yes ..
make -j"$(nproc)"
sudo make install && sudo ldconfig
Configuration
Add a [UsrpLogic] section to svxlink.conf — see the UsrpLogic.conf man page shipped with the fork for the USRP host/port settings.
Configure UsrpLogic (svxlink.conf)
[UsrpLogic]
TYPE=Usrp
USRP_HOST=127.0.0.1
USRP_TX_PORT=4002       ; svxlink sends here (Asterisk listens)
USRP_RX_PORT=4001       ; svxlink listens here (Asterisk sends)
CALL=N0CALL
DV_USER_INFOFILE=/etc/svxlink/dv_users.json
JITTER_BUFFER_DELAY=100
SHARE_USERINFO=1
Wiring it up
Add UsrpLogic to LOGICS= and connect it to your ReflectorLogic with a LinkManager section (see the svxlink.conf man page) — the reflector TG the bridge lands on is the logic's DEFAULT_TG. The other end of the UDP port pair is the AllStar side — see the AllStar tab.
Build GeuReflector (trunked reflector)
What it is
A fork of SvxReflector (trunk extension by IW1GEU) that links multiple reflectors into a federated mesh — talkgroups are routed to their owning server by numeric prefix. This network runs SA2BLV's fork of it.
# Same build dependencies as the stock guide above, plus:
sudo apt install -y libhiredis-dev    `# or build with -DWITH_REDIS=OFF`

cd ~/projects
git clone https://github.com/sa2blv/GeuReflector.git
cd GeuReflector
git checkout SwedenReflectors
mkdir -p src/build && cd src/build
cmake -DCMAKE_INSTALL_PREFIX=/usr -DSYSCONF_INSTALL_DIR=/etc \
      -DLOCAL_STATE_DIR=/var -DWITH_SYSTEMD=yes ..
make -j"$(nproc)"
sudo make install && sudo ldconfig
sudo systemctl enable --now svxreflector
Configure trunks (svxreflector.conf)
How routing works
Each reflector owns all talkgroups whose number starts with its prefix (like telephone country codes). Trunk peers exchange audio over UDP and talkgroups are routed to the owning server automatically.
[GLOBAL]
LOCAL_PREFIX=240                 ; this reflector owns TG 240*, 2400*, ...

[ReflectorTrunk]
GatewayId=SE-MYREFLECTOR         ; this server's identity on the trunk network
Port=5500                        ; UDP trunk port
Peers=SE-AUX                     ; comma-separated [TrunkPeer#...] names

[TrunkPeer#SE-AUX]
Host=reflector.example.com
Port=5500
TGRule=^.*$                      ; regex: which TGs may cross this trunk
Retransmit=0
ActiveFilter=0
Key=CHANGEME                     ; shared secret, same on both sides
Joining an existing network
Both sides must agree on peer name, port and key. To peer with this network, contact the administrator.
Run your own reflector: basics & password login
Basics
In /etc/svxlink/svxreflector.conf: LISTEN_PORT=5300 is what nodes connect to, HTTP_SRV_PORT=8090 serves the /status JSON that dashboards read.
Password login (legacy v1/v2 clients)
[USERS] maps a callsign to a key group and [PASSWORDS] holds each group's secret — several nodes can share one group:
[USERS]
SM0ABC-1=MyNodes
SM0ABC-2=MyNodes
SM3XYZ=SM3XYZ

[PASSWORDS]
MyNodes="a strong shared key"
SM3XYZ="another strong password"
Certificates (PKI)
The reflector is its own CA
On first start the reflector creates a complete PKI from the [ROOT_CA], [ISSUING_CA] and [SERVER_CERT] sections — fill in your own organisation and set COMMON_NAME/SUBJECT_ALT_NAME in [SERVER_CERT] to your reflector's public hostname:
[GLOBAL]
CERT_PKI_DIR=/etc/svxlink/pki
CERT_CA_BUNDLE=/etc/svxlink/pki/ca-bundle.crt
CERT_CA_KEYS_DIR=/etc/svxlink/pki/private/
CERT_CA_PENDING_CSRS_DIR=/etc/svxlink/pki/pending_csrs/
CERT_CA_CSRS_DIR=/etc/svxlink/pki/csrs/
CERT_CA_CERTS_DIR=/etc/svxlink/pki/certs/
#ACCEPT_CALLSIGN="[A-Z0-9][A-Z]{0,2}\d[A-Z0-9]{0,3}[A-Z](?:-[A-Z0-9]{1,3})?"

[SERVER_CERT]
COMMON_NAME=reflector.example.com
SUBJECT_ALT_NAME=DNS:reflector.example.com
ORG=MYCLUB
COUNTRY=SE
EMAIL_ADDRESS=you@example.com
Signing node certificates
Incoming node CSRs land in CERT_CA_PENDING_CSRS_DIR until an administrator signs them; the signed certificate is then pushed to the node automatically over the reflector connection. Use the ACCEPT_CALLSIGN= regex to restrict who may even submit one.
AllStar ↔ SvxLink bridge (USRP)
How it fits together
Asterisk/app_rpt and SvxLink exchange audio as USRP frames over UDP on localhost. Two ports, mirrored between the sides: what one sends on, the other listens on. The SvxLink side is UsrpLogic — see the SvxLink-USRP tab. Below is the AllStar side.
AllStar side (ASL3, rpt.conf)
A fully silent private node — no telemetry, no courtesy tones, no ID — permanently linked to your hub node. The hub handles ID and telemetry; the bridge only moves audio:
[1999](node-main)                       ; private bridge node
duplex = 0                              ; no telemetry tones, no hang time
hangtime = 0
althangtime = 0
telemdefault = 0                        ; telemetry off
telemdynamic = 0                        ; cannot be re-enabled via DTMF
nounkeyct = 1                           ; no courtesy tone on unkey
idrecording = |i                        ; empty ID = never IDs
rxchannel = USRP/127.0.0.1:4001:4002    ; send to 4001 (svxlink RX), listen on 4002 (svxlink TX)
startup_macro = *8131234                ; permanently connect (transceive) to your hub node
Register the node number
The entry for 1999 must live in the first [nodes] section of the main rpt.conf — asterisk only reads the first one, so it cannot sit in an included file.
Test it
Key up on the AllStar side — audio should appear on the reflector TG, and the bridge node keys the other way. If one direction is silent, the two port numbers are almost always swapped on one side.
For Administrators
Accounts
Manage user accounts — edit details, ban/lock/unlock, set admin levels, reset passwords, delete accounts. Click Edit on an account to manage that user's nodes and certificates.
Certificates
Manage node certificates. List pending CSRs (sign or reject), and list issued certificates with details, delete/revoke, or move a certificate back to pending for re-signing.
Control
Reload configuration, restart or shut down the reflector service.
Config
View and edit the reflector configuration file (svxreflector.conf). Save changes and reload the service to apply.
Contact
For help or questions, contact the reflector administrator at bjorne@sa7aux.se