Two nodes, one accepts calls, the other doesn't

I’m an ASL newbie. I have two nodes in the cloud. One accepts incoming calls I place from DVSM, while the other always fails. Both are extension nodes.

629651 is the working node. I’ve created it on a Linode server with Debian 12. I can dial in from DVSM either with or without WT mode enabled.

629650 is the problem node. It was created on a Vultr server also with Debian 12. Dialing in with either WT mode enabled or disabled always fails. Sometimes I get a Calltoken failure. I’ve looked at /var/asterisk/messages.log, but it’s not updated on each call attempt and the data is vague. I’d really like to get better incoming call logging if possible.

Both nodes work with allmon3. The Linode (working) node has no firewall at the moment. The Vultr node (non-working) has a firewall but it’s disabled.

I’m quite frustrated trying figure out why the Vultr node is failing at incoming calls. I don’t want to choose a cloud provider based on which one is working.

I’m hoping someone can give me some guidance.

de Steve N6VL

I see your node is registered 629650
But it is not in the distributed ‘node list’

Are you using http registrations or iax or do you know.

Edit:
Also check that your NNX setup is correct.

Wow what a fast reply!

All of my registration has been through DVSM. I wasn’t aware of another method. 629651 has been registered for a few days now, but I’m really not sure how it occurred. I am familiar with asl-menu and comfy using the terminal. And I’m starting learn about the different conf files.

Note I also use RepeaterPhone on my iPhone and iPad. 629651 is the only node working there.

Please tell me more about the distributed ‘node list’. I see it’s an option in asl-menu, but I’ve ignored it so far.

Please keep your descriptions down to only that which is relevant to the issue at hand or you confuse it.

I would go back to the NNX instructions before you do anything and make sure you have set it up correctly.
Perhaps you have missed converting the node number in the dialplan somewhere.
Type error etc.

but the nodelist is in /var/lib/asterisk/
So you can view it yourself to see when it has corrected.
It has all the connection data for all registered nodes.
Without being in the list, you can not connect to it. It don’t know how.
These are peer to peer connections. ASL does not make the connection for you, just manage the connection data through registrations.

If you have decided http registration does not work for you, you can revert back to iax registration. See the manual.

Now you’ve lost me! I don’t know what a dialplan is. I created each NNX at https://allstarlink.org/portal/nodes-request.php, and there’s nothing there about registration.

Bottom line, I have no clue how I registered the working one. I don’t know anything about http vs iax registration.

Also I don’t see anything at /var/lib/asterisk other than astdb.sqlite3 which I can’t open w/o downloading to my PC. So that leaves me blind about viewing the nodelist.

So I am using http registration by default. It’s listed in rpt_http_registrations.conf and it looks correct.

Once again where do you view the distributed node list? How can you tell 629650 is not and 629651 is there?

Also in /var/lib/asterisk/rpt_extnodes, ALL my nodes are listed. Is this the distributed list?

The dialplan is how asterisk routes the calls and is the file extensions.conf.
This tells the system how to route calls.
It’s not our term, it’s asterisk’s.

That is the distributed file.
It should contain all registered nodes being hundreds of listings within.

@Mike

Granted I don’t know a lot of the terminology. So let’s get back to my issue. You’re not seeing 629650 in your distributed node list. That threw me off as I was looking for a list in the cloud. The question is why don’t you have that node in your local node list? Why doesn’t 629650 receive calls?

I currently have 4 NNX nodes: 629650, 629651, 629652, & 629653. And each node shows all 4 of these nodes in their respective rpt_extnodes file.

629650=radio@140.82.22.46:4569/629650,140.82.22.46
629651=radio@172.235.62.247:4569/629651,172.235.62.247
629652=radio@76.174.6.55:4569/629652,76.174.6.55
629653=radio@76.174.6.55:4569/629653,76.174.6.55

So why are you not seeing 629650 in your node list? Is this the correct question?

For the non-working node, have you enabled incoming IP traffic to pass for UDP port 4569?

@WA3WCO

The Vultr environment (node 629650) has ufw installed, but I have disabled it for now:

sudo /sbin/ufw disable

Obviously not a long term solution. I opened everything up until I get things working. So this should rule out ports.

I’ve read port 4569 is UDP not TCP. Which is correct?

Yes, I meant to type UDP port 4569.

As to passing IP traffic, I don’t know if there’s something you need to configure with Vultr to enable traffic to pass on that port (i.e. this may not be a firewall issue on your server but, instead, a configuration issue with the VM).

No, I have 3 vultr asl servers .
No issue.

1 Like

Your iax port is UDP

The node is in my list at time of post.
Perhaps it was just down at the previous look.
629650=radio@140.82.22.46:4569/629650,140.82.22.46

So what is liste in iax conf for these items

bindport=
bindaddress=

@Mike

bindport = 4569

There’s no bindaddress, so I assume that’s a typo. But there are references to bindaddr all of which are commented out.

You don’t need a bindaddress because by default it will listen on all IPs which is the usual desired case.

I see node 629650 as registered to 140.82.22.46. That’s a Vultr IP space so I’ll assume that’s you. I tried to connect to your node and got the standard “Auto-congesting call due to slow response” error which is Asterisk-speak for “Asterisk isn’t accessible and/or is ignoring me”. To do some debugging:

  1. In /etc/asterisk/logger.conf comment out the line console => that does NOT have the word “debug” in it and uncomment the one that does.
  2. Restart asterisk with systemctl restart asterisk
  3. Go into asterisk with sudo asterisk -r
  4. Run core set debug 4 app_rpt.so
  5. Try to connect to 629650 from another node and watch the output. You should see something like:
[2024-10-31 18:28:32.700] DEBUG[2002452][C-00000059]: app_rpt/rpt_config.c:531 node_lookup: Resolved by internal: node 460181 to radio@172.17.16.60:4569/460181,NONE
[2024-10-31 18:28:32.700] DEBUG[2002452][C-00000059]: app_rpt/rpt_bridging.c:308 __rpt_request_pseudo: Requested channel DAHDI/pseudo-331462321
[2024-10-31 18:28:32.700] DEBUG[2002452][C-00000059]: app_rpt/rpt_call.c:32 rpt_disable_cdr: No CDR present on DAHDI/pseudo-331462321
[2024-10-31 18:28:32.700] DEBUG[2002452][C-00000059]: app_rpt/rpt_bridging.c:374 dahdi_conf_add: Channel DAHDI/pseudo-331462321 joining conference 1022
[2024-10-31 18:28:32.788] DEBUG[2002452][C-00000059]: app_rpt.c:6766 rpt_exec: Stopped PBX on IAX2/172.17.16.60:4569-11055

That’s obviously a normal connection. The output may give you a hint as to your problem.

It would be 0.0.0.0
Or bind to any ip address for iax connections. The node list protects iax connects past that.

The reason I was checking was many have in error put there own IP in there or something else. Thereby limiting connections.

But apparently, it defaults to the same if no entry.

@N8EI

It took me a few tries to get debug output in the console. I commented out the line without debug. But there were other lines with debug already commented out, which I un-commented.

So here’s the output:

Connected to Asterisk 20.9.3+asl3-3.0.6-1.deb12 currently running on n6vl-asl3 (pid = 38060)
n6vl-asl3CLI> core set debug 4 app_rpt.so
Core debug was 0 and has been set to 4 for ‘app_rpt’.
[2024-10-31 22:44:53.489] DEBUG[38113]: app_rpt.c:1038 statpost: Making statpost to http://stats.allstarlink.org/uhandler?node=629650&time=1730414693&seqno=3&nodes=&apprptvers=3.0.6&apprptuptime=30&totalkerchunks=0&totalkeyups=0&totaltxtime=0&timeouts=0&totalexecdcommands=0
[2024-10-31 22:44:53.489] DEBUG[38113]: app_rpt.c:1038 statpost: Making statpost to http://stats.allstarlink.org/uhandler?node=629650&time=1730414693&seqno=4&keyed=0&keytime=41
[2024-10-31 22:45:24.338] DEBUG[38113]: app_rpt.c:1038 statpost: Making statpost to http://stats.allstarlink.org/uhandler?node=629650&time=1730414724&seqno=5&nodes=&apprptvers=3.0.6&apprptuptime=61&totalkerchunks=0&totalkeyups=0&totaltxtime=0&timeouts=0&totalexecdcommands=0
[2024-10-31 22:45:24.338] DEBUG[38113]: app_rpt.c:1038 statpost: Making statpost to http://stats.allstarlink.org/uhandler?node=629650&time=1730414724&seqno=6&keyed=0&keytime=72
[2024-10-31 22:45:55.085] DEBUG[38113]: app_rpt.c:1038 statpost: Making statpost to http://stats.allstarlink.org/uhandler?node=629650&time=1730414755&seqno=7&nodes=&apprptvers=3.0.6&apprptuptime=92&totalkerchunks=0&totalkeyups=0&totaltxtime=0&timeouts=0&totalexecdcommands=0
[2024-10-31 22:45:55.085] DEBUG[38113]: app_rpt.c:1038 statpost: Making statpost to http://stats.allstarlink.org/uhandler?node=629650&time=1730414755&seqno=8&keyed=0&keytime=103
n6vl-asl3
CLI>
! acl aoc bridge cc cdr cel
channel cli config core dahdi database dialplan
dnsmgr features group http iax2 indication keys
local logger malloc manager media mfcr2 module
no pri rpt say ss7 stasis stun
test timing udptl xmldoc
[2024-10-31 22:46:25.845] DEBUG[38113]: app_rpt.c:1038 statpost: Making statpost to http://stats.allstarlink.org/uhandler?node=629650&time=1730414785&seqno=9&nodes=&apprptvers=3.0.6&apprptuptime=122&totalkerchunks=0&totalkeyups=0&totaltxtime=0&timeouts=0&totalexecdcommands=0
[2024-10-31 22:46:25.845] DEBUG[38113]: app_rpt.c:1038 statpost: Making statpost to http://stats.allstarlink.org/uhandler?node=629650&time=1730414785&seqno=10&keyed=0&keytime=133
n6vl-asl3*CLI>

@N8EI
The above output doesn’t seem obvious to me. I was hoping for something more precise.

That means is not even seeing the network traffic. You have something blocking it on the host or in vultr

@N8EI

Yet allmon3 works fine!

http://140.82.22.46/allmon3/