I have them set as private right now, and the IPs you see are valid but I am no longer port forwarding. Apologies, I’m not trying to debug external public Internet access, it’s restricted behind a VPN.
This is a valid use case in that rather than using <2000 with potential of node conflicts, I’m using the newly recommended approach of using NNX and treating the node as private.
So in my use case, these nodes have direct nodes stanza entries to private IPs allowing them to connect. They could easily be available to the Internet, or have IP whitelists, etc but that is really not germane to the underlying issue I’ll describe below.
I believe the root of the issue has to do with how Asterisk handles 5 and 6 digit nodes during DTMF entry or startup_macro
for example. Since it doesn’t know the length, it uses either DNS or file to determine valid nodes progressively.
As a user dials via DTMF *3638090, the way I understand it is that Asterisk will check character by character and when it reaches a match, it’ll short circuit on a match. In my case, with *36380901 it matches DNS for 63809 (which doesn’t exist and is not valid anymore now that I’ve moved to NNX), and short circuits.
This also happens with startup_macro = *3638090
for example. It tries to connect to 63809 instead, incorrectly.
Asterisk is doing the right thing, but instead of getting a valid entry for 63809.nodes.allstarlink.org it should be getting a NXDOMAIN and continue on to evaluate either 1) a valid 6 digit node DNS entry or, 2) stop at 6 digits and accept that as the entry (as that is the max length configured in ASL today).
I can prove this is the issue as well in a few ways:
- If I change to
file
lookup method, I can connect to my private nodes. That’s because 63809 isn’t in that file, only 638090 and 638091
- If I block 63809.nodes.allstarlink.org on my firewall with a NXDOMAIN response, basically simulating if the AWS Route 53 server returned NXDOMAIN itself, everything also works and it continues to evaluate my 6 digit node IDs
I hope this helps! I believe the removal of the pre-NNX node in DNS is the proper solution and the further reliance on DNS instead of file (if I saw that correctly somewhere) and usage of NNX in the next few years will make this even more of an issue.
TIA and let me know if I was clear, that ended up a lot longer than I thought 