It has to do with convincing debian to use IPv4 instead of IPv6 and using an IAX registration instead of http. I can now make outgoing connections just fine using the htspot but incoming still won't work because of the CGNAT. Here's the session synopsis from ChatGPT.
AllStarLink IAX Registration: IPv6 Timeout and IPv4 Preference
Workaround
Field report: November 1, 2026 | Node: 419736 (HT-Portable-Node) | Platform: ASL3 on Debian | Network:
T-Mobile cellular hotspot, carrier-grade NAT (CGNAT)
Summary
A portable ASL3 node configured for IAX registration timed out when Asterisk resolved the AllStarLink registration hostname to an IPv6 destination. Temporarily substituting a DNS-resolved IPv4 server address immediately produced a successful registration, and the node successfully initiated an outbound AllStarLink connection. The hostname was then restored and Debian address-selection precedence adjusted to prefer IPv4. Following a reboot, registration and outbound linking both succeeded. This is a single field observation, not a claim of general IPv6 incompatibility or long-term reliability.
Objective and environment
Use the AllStarLink documentation procedure "Using IAX Registration Instead of HTTP Registration" for a portable node operating behind T-Mobile CGNAT. The operational requirement was successful IAX registration and outbound-initiated node connections; unsolicited inbound connections were not required or tested.
Documentation: IAX-Based Registration - AllStarLink Manual
Observed failure
DNS returned both IPv4 A and IPv6 AAAA records for register.allstarlink.org. The Asterisk CLI showed an IPv6 registration destination and a timeout:
HT-Portable-Node*CLI> iax2 show registry
Host: [2607:7700:0:57::3415:a9c5]:4569
Username: 419736
Perceived:
Refresh: 60
State: Timeout
This established that Asterisk was attempting registration via IPv6. It did not independently establish why the IPv6 attempt timed out.
Controlled IPv4 test
A DNS-resolved IPv4 address for the same registration hostname (52.21.169.197) was temporarily used as the destination in the existing register => entry in /etc/asterisk/iax.conf, preserving the existing credentials. After restarting Asterisk, the registry showed:
Host: 52.21.169.197:4569
Username: 419736
Perceived: 172.56.7.109:62158
Refresh: 180
State: Registered
The perceived address and translated UDP source port were consistent with NAT traversal. An outbound connection to another AllStarLink node was also successful. This strongly implicated IPv6 destination selection in the earlier registration failure.
Persistent configuration change
The original registration hostname was restored in iax.conf to avoid reliance on a fixed server IP. The following address-selection precedence entry was added or uncommented in /etc/gai.conf:
precedence ::ffff:0:0/96 100
This requests preference for IPv4-mapped addresses in applications that follow the system address-selection policy; it does not disable IPv6. After a full reboot, IAX registration succeeded and the node again initiated an outbound connection successfully. The exact post-reboot registration destination was not recorded, so the evidence supports the practical workaround but does not independently confirm which address family Asterisk used after reboot.
Verification and limitations
Verified: dual-stack DNS answers; initial IPv6 registration timeout; successful registration using a temporary IPv4 destination; successful outbound linking; successful registration and outbound linking after restoring the hostname, changing gai.conf, and rebooting.
Not verified: repeated reconnects across hotspot IP changes; long-term stability; inbound initiation through CGNAT; whether the gai.conf policy is consistently honored across all Asterisk/ASL3 builds; root cause of the IPv6 timeout.
Suggested wiki troubleshooting note
If an ASL3 node using IAX registration shows Timeout and iax2 show registry displays a bracketed IPv6
registration host, check both A and AAAA DNS results. As a diagnostic, temporarily test a current IPv4 address resolved for the registration hostname (do not treat it as a permanent endpoint). If registration succeeds, restore the hostname and consider the IPv4 precedence entry in /etc/gai.conf, followed by a reboot and another registry/linking test. Document that this is an observed workaround, not a universal fix.