OS : Debian GNU/Linux 13 (trixie)
OS Kernel : 6.18.34+rpt-rpi-v8
Asterisk : 22.9.0+asl3-3.9.3-1.deb13
ASL [app_rpt] : 3.9.3
When a node is registered with the AllStarLink servers, what is the source of the IP address?
Does the node determine its own public IP address and send it to the registration server?
Or, does the registration server use the source IP address from the registration request?
One of my nodes is being registered with an upstream IP address. This alone would not be a problem if the same address was re-used later. But, what is happening is, when the node attempts to connect to one of my other nodes, the receiving node hangs-up because the IP address does not match the IP address registered with the ASL system.
The node address is assigned via DHCP. As I wrote, if the registration address and the connection address were the same, everything works fine.
I am working with the ISP and want to have the facts before deciding on the best solution. One solution would be to switch to a more expensive static IP address for the node.
Do you have any kind of VPN installed on it? I can't see them giving a DHCP lease on a public IP so short it would change before registration...though I don't actually know how often http registration takes place. I also wouldn't think they'd force-cycle you off an IP that fast.
The only time I've seen this is CGNAT or when someone had a VPN they forgot was going. Without knowing the actual network configuration and "watching" it for a while...I'm just guessing.
Do you have any kind of VPN installed on it?
Yes, but it is used only for my remote management. All ASL functionality (registration, connections, dashboard) is on a public address.
I can't see them giving a DHCP lease on a public IP so
short it would change before registration
The ISP's DHCP has offered the same address lease for months.
...I don't actually know how often http registration takes place.
At present, I have the node rebooting every morning to help me diagnose the problem. So registration occurs at least every 24 hours.
N8EI:
Running asl-node-auth-check can check for CGNAT issues.
Thanks for that. I was not aware of that command. Here is the output:
Checking configuration:
Info: rpt.conf has configuration for: 604783
Info: /etc/asterisk/iax.conf contains no registration lines.
Info: /etc/asterisk/rpt_http_registrations.conf contains 1 registration line(s)
Info: Registrations present for configured node(s): 604783
Info: IP from https://conntest-east1.allstarlink.org/ip reports: 69.9.3.243
Info: IP from https://conntest-west1.allstarlink.org/ip reports: 69.9.3.243
Info: IP from https://conntest-west2.allstarlink.org/ip reports: 69.9.3.243
Info: IP from udp://conntest-east1.allstarlink.org:4570 reports: 69.9.3.243
Info: IP from udp://conntest-west1.allstarlink.org:4569 reports: 69.9.3.243
Info: IP from udp://conntest-west2.allstarlink.org:4569 reports: 69.9.3.243
OK: HTTP IP probes have consensus on the same perceived IP
OK: IAX IP probes have consensus on the same perceived IP
Testing node 604783:
OK: Node registration config is well-formed
OK: Node registration type is HTTP
OK: register.allstarlink.org is reachable (via HTTP)
OK: HTTP registration state is Registered
OK: Perceived IAX IP:PORT for this node is: 69.9.3.244:4569
OK: Registered to aws-east1a-register0.allstarlink.org - 52.20.63.146
OK: Server-set UDP port matches bindport in iax.conf
OK: Node registration within 10 minutes: 2026-07-16 20:58:20 UTC
Info: Last time IP changed was 2026-07-16 20:28:05 UTC
Warning: Node is not perceived as registered; not tested
Warning: Node 604783 has 1 warning(s)!
Warning: Warnings may or may not be problems depending on configuration
$ ping -c 4 604783.nodes.allstarlink.org
PING 604783.nodes.allstarlink.org (69.9.3.244) 56(84) bytes of data.
64 bytes from 69.9.3.244: icmp_seq=1 ttl=59 time=16.9 ms
64 bytes from 69.9.3.244: icmp_seq=2 ttl=59 time=5.90 ms
64 bytes from 69.9.3.244: icmp_seq=3 ttl=59 time=7.54 ms
64 bytes from 69.9.3.244: icmp_seq=4 ttl=59 time=6.20 ms
--- 604783.nodes.allstarlink.org ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3005ms
rtt min/avg/max/mdev = 5.904/9.124/16.853/4.504 ms
Why would the registration addresses be x.x.x.243, when the DNS lookup returns x.x.x.244?
Note: As I write this, 604783 is successfully connected to my hub at 604781 and I just used my hotspot (570560) to test the connection.
David B. connect.44net.cloud go there and register and get a tunnel or two from them, these are wireguard tunnels and install wireguard on your nodes, these ip addresses are for ham radio use only, but this would give you a static public ip address. You can also try this as root. nano /etc/resolv.conf change the name server to 8.8.8.8 if there's more than one change the other to 1.1.1.1 ctrl+x and then y to save your change. then run the command chattr +i /etc/resolv.conf This will lock down your DNS to google's DNS if it's a DNS issue. I would try locking down the resolv.conf file to google's DNS first and see if that fixes your issue. If it doesn't, then look at the wireguard vpn from connect.44net.cloud. That would be a better option than spending money with your ISP for a static IP address.
I did switch to IAX registration and the node (604783) reconnected to my hub (604781). However the problem remains: The registration server sometimes sees a different IP address than does the receiving node (604781).
At the moment, the connection is up. That could change in a few hours.
The evidence still suggests that some form of NAT is being used by the ISP.
Checking configuration:
Info: rpt.conf has configuration for: 604783
Info: /etc/asterisk/iax.conf contains 1 registration line(s)
Info: /etc/asterisk/rpt_http_registrations.conf contains no registration lines.
Info: Registrations present for configured node(s): 604783
Info: IP from https://conntest-east1.allstarlink.org/ip reports: 69.9.3.243
Info: IP from https://conntest-west1.allstarlink.org/ip reports: 69.9.3.243
Info: IP from https://conntest-west2.allstarlink.org/ip reports: 69.9.3.243
Info: IP from udp://conntest-east1.allstarlink.org:4570 reports: 69.9.3.243
Info: IP from udp://conntest-west1.allstarlink.org:4569 reports: 69.9.3.243
Info: IP from udp://conntest-west2.allstarlink.org:4569 reports: 69.9.3.243
OK: HTTP IP probes have consensus on the same perceived IP
OK: IAX IP probes have consensus on the same perceived IP
Testing node 604783:
OK: Node registration config is well-formed
OK: Node registration type is IAX
OK: register.allstarlink.org is reachable (via HTTP)
OK: IAX registration state is Registered
OK: Perceived IAX IP:PORT for this node is: 69.9.3.245:4569
OK: Registered to aws-east1a-register2.allstarlink.org - 52.44.147.201
OK: Server-set UDP port matches bindport in iax.conf
OK: Node registration within 10 minutes: 2026-07-17 18:28:44 UTC
Info: Last time IP changed was 2026-07-17 17:39:07 UTC
Warning: Node is not perceived as registered; not tested
Warning: Node 604783 has 1 warning(s)!
Warning: Warnings may or may not be problems depending on configuration
What I failed to mention before is that my DHCP assigned address is 69.9.14.x. Further evidence of a NAT being used. I can connect to my node with SSH at 69.9.14.x despite the above IP confusion.
I will give the ISP a little more time to diagnose the problem; the nodes stay connected about 90% of the time.
Should I switch back to HTTP registration? Any reason to stick with IAX registration?
Thank you for the suggestion. I am familiar with the 44 network, but have never used their tunneling support.
As it happens, I already have Wireguard installed on my nodes. It is there for remote maintenance because some of the nodes cannot accept incoming connections of any kind. Each of the repeaters maintains its own VPN connection to my hub. Through the hub, I can reach them all for maintenance.
I probably could move the ASL traffic to the existing VPN. I was hoping to avoid the loss of performance.
I am going to give the ISP a little more time to fix this -- or I will tell them to switch me to a static IP address.
Okay, thanks for confirming. Sometimes that fixes it, some times it doesn't. We've seen two different models of CGNAT .. one that's dependent on protocol used and one that's geographic. Your apparently is just random.
Checking configuration:
Info: rpt.conf has configuration for: 604783
Info: /etc/asterisk/iax.conf contains no registration lines.
Info: /etc/asterisk/rpt_http_registrations.conf contains 1 registration line(s)
Info: Registrations present for configured node(s): 604783
Info: IP from https://conntest-east1.allstarlink.org/ip reports: 69.9.14.46
Info: IP from https://conntest-west1.allstarlink.org/ip reports: 69.9.14.46
Info: IP from https://conntest-west2.allstarlink.org/ip reports: 69.9.14.46
Info: IP from udp://conntest-east1.allstarlink.org:4570 reports: 69.9.14.46
Info: IP from udp://conntest-west1.allstarlink.org:4569 reports: 69.9.14.46
Info: IP from udp://conntest-west2.allstarlink.org:4569 reports: 69.9.14.46
OK: HTTP IP probes have consensus on the same perceived IP
OK: IAX IP probes have consensus on the same perceived IP
Testing node 604783:
OK: Node registration config is well-formed
OK: Node registration type is HTTP
OK: register.allstarlink.org is reachable (via HTTP)
OK: HTTP registration state is Registered
OK: Perceived IAX IP:PORT for this node is: 69.9.14.46:4569
OK: Registered to aws-east1a-register2.allstarlink.org - 52.44.147.201
OK: Server-set UDP port matches bindport in iax.conf
OK: Node registration within 10 minutes: 2026-07-17 21:36:15 UTC
Info: Last time IP changed was 2026-07-17 19:13:45 UTC Warning: Node is not perceived as registered; not tested
Warning: Node 604783 has 1 warning(s)!
Warning: Warnings may or may not be problems depending on configuration
Questions:
(1) Why the warning above? The addresses are actually correct.
(2) Why does the registration process need to be repeated every 3 minutes?
I was thinking about reducing the load on the registration servers. I have nodes with static IP addresses. If an address rarely changes, why not have them re-register every 12 hours instead of every 3 minutes?