Node Setup Guide

Build a radioless AllStarLink ASL3 node on a Raspberry Pi and connect it from OpLine.

A "radioless" node is a Pi running AllStarLink with no attached radio hardware. It acts as your personal hub on the network - your phone connects to it over IAX2, and from there you can link to any other AllStarLink node.

License required. A valid FCC-issued amateur radio license and call sign are required to operate an AllStarLink node and to transmit through OpLine. ASL3 is the preferred node platform. Don't have a license yet? Start here.

1. What you'll need

2. Get an AllStarLink node number

  1. Sign up at allstarlink.org with your call sign.
  2. Once your license is verified, request a node number from the portal.
  3. In the portal, set a node password - you'll plug this into your Pi later.

Approval is typically same-day to a couple of days. Save the node number and password somewhere safe.

3. Install ASL3 on your Raspberry Pi

ASL3 runs on Debian 12 (Bookworm). The cleanest install is:

  1. Download Raspberry Pi Imager.
  2. In Imager, choose Raspberry Pi OS Lite (64-bit) - the Bookworm release.
  3. Click the gear icon to preset hostname, SSH on, your Wi-Fi (if needed), and a username/password.
  4. Flash to your microSD card.
  5. Boot the Pi, give it a minute, then SSH in: ssh youruser@nodepi.local

Update the system, then add the AllStarLink repository and install ASL3:

sudo apt update && sudo apt -y full-upgrade
sudo apt -y install curl gnupg

# Add the ASL3 repo (per allstarlink.org/install)
curl -s https://apt.allstarlink.org/repos/repo_signing.key \
  | sudo gpg --dearmor -o /usr/share/keyrings/allstarlink.gpg

echo "deb [signed-by=/usr/share/keyrings/allstarlink.gpg] \
https://apt.allstarlink.org/repos/asl3 bookworm main" \
  | sudo tee /etc/apt/sources.list.d/allstarlink.list

sudo apt update
sudo apt -y install asl3 asl3-asterisk
Always check the official install page. The exact repo URLs and package names occasionally change. Use allstarlink.github.io as the canonical source - the commands above match the current ASL3 install at the time of writing.

4. First boot & initial config

Run the ASL3 setup wizard:

sudo asl3-node-setup

You'll be prompted for:

The wizard writes the right defaults into /etc/asterisk/. When it finishes, restart Asterisk:

sudo systemctl restart asterisk
sudo systemctl status asterisk

5. Configure as a radioless node

If the wizard didn't fully strip the radio interface, edit /etc/asterisk/rpt.conf and confirm your stanza looks roughly like this (replace NODENUM with your actual node number):

[NODENUM]
rxchannel = dahdi/pseudo
duplex = 0
hangtime = 1000
althangtime = 4000
totime = 180000
idrecording = |i NODENUM
idtalkover = |i NODENUM
politeid = 30000
unkeytime = 1000
nounkeyct = 1
holdofftelem = 0
telemdefault = 1
telemdynamic = 1
linkmode = 0
nolocallinkct = 0

Key bits for radioless operation:

Reload Asterisk after edits:

sudo asterisk -rx "rpt reload"

6. Open UDP 4569 on your router

AllStarLink nodes talk to each other (and to OpLine) over IAX2 on UDP port 4569. In your router's admin panel:

You don't need to set up your own DDNS service. Once your node is registered with AllStarLink, the network publishes a hostname for it automatically at NODENUM.nodes.allstarlink.org and keeps it pointed at your current public IP. That's the host you'll use in OpLine.

7. Add an IAX user for OpLine

OpLine uses the standard AllStarLink iaxrpt user and context by default - the same convention used by the long-running iaxRpt desktop client - so you don't need to type anything custom into the app. Add a stanza to /etc/asterisk/iax.conf:

[iaxrpt]
type = friend
secret = a-strong-password-you-pick
host = dynamic
context = iaxrpt
disallow = all
allow = ulaw
qualify = yes
deny = 0.0.0.0/0
permit = 0.0.0.0/0

Then make sure /etc/asterisk/extensions.conf (or your rpt_extnodes include) routes that context to your node:

[iaxrpt]
exten => NODENUM,1,rpt(NODENUM)
exten => NODENUM,n,Hangup()

Reload IAX and the dialplan:

sudo asterisk -rx "iax2 reload"
sudo asterisk -rx "dialplan reload"
Pick a real password. The IAX secret is what stops the rest of the internet from logging into your node. Don't reuse your AllStarLink portal password - generate something long and random.

8. Connect from OpLine

In OpLine, add a new node with the following:

FieldValue
HostNODENUM.nodes.allstarlink.org - the DNS name AllStarLink assigns every registered node automatically
Port4569
Node numberYour AllStarLink node number
Usernameiaxrpt (matches OpLine's default and the stanza above)
SecretThe password you set in iax.conf
Codeculaw

The AllStarLink network keeps DNS for every registered node up to date, so NODENUM.nodes.allstarlink.org always resolves to your current public IP - you don't need DuckDNS, No-IP, or any other dynamic DNS service unless you want one for other reasons.

Save the node, mark it as a favorite, and tap Connect. Hold push-to-talk and you should hear your node's ID. From there you can link to any other AllStarLink node - try connecting to the AllStarLink Parrot (node 2002) for an echo test.

9. Troubleshooting

Asterisk won't start

Check the log: sudo journalctl -u asterisk -n 100 --no-pager. Most issues are typos in rpt.conf or iax.conf.

OpLine can't connect

Connected but no audio

Node won't link to other nodes

From the Asterisk CLI: rpt fun NODENUM *3OTHERNODE connects, *1OTHERNODE disconnects. If commands fail, your node likely isn't registered with the AllStarLink network - verify the node password matches your portal.

Need more depth? The official ASL3 docs at allstarlink.github.io are the canonical reference. The AllStarLink forums are very active and friendly to new operators.