"All circuits are busy now" and all external calls dropping randomly


Hey there,
I’m currently experiencing some external calls dropping randomly (all at once) aswell as sporadic “All circuits are busy now” responses when trying to initiate an outbound call. Because of this, I believe there’s something misconfigured regarding my trunks or firewall.
I’m massively lacking experience troubleshooting voip and am desperately looking for help, guiding me in the right direction to find the reason for these problems. But please be patient with me, I’m trying my best, promised!

(Matt Brooks) #2

@Quafi Most VoIP issues tend to be networking issues. Please read over this wiki page and make sure your network and NAT settings are setup correctly.



I’ve checked my configuration against the provided documentation and everything was fine. I’ve added a manual NAT outbound rule with static ports in my firewall to adress the possibility of issues through port rewriting.
Will report back in a couple of days max. when I’m sure if the issue still persists.


@mbrooks Okay, so the problem still persists.
I’ve checked my Asterisk logfiles and have compared the ending of a dropped call to a normal call and, well, they’re exactly the same, with the exception of one additional line in the successfull call.

[2020-03-25 11:00:52] VERBOSE[5122][C-00000025] app_macro.c: Spawn extension (macro-exten-vm, s, 26) exited non-zero on 'PJSIP/+49censorednumber-00000043' in macro 'exten-vm'
But this, at least afaik, shouldn’t have anything to do with my issue at all. Just wanted to mention it anyways.

But that’s it. How would I go about debugging from here on?

(Matt Brooks) #5

Out of curiosity, do you know if the dropped call always happen at the same interval? Like, do calls always drop after a certain amount of time? Or is it random?


It’s totally random (unfortunately), at least afaik. Sometimes calls are fine four hours, other times they drop after some time (which is also inconsistent). Sometimes you can dial out fine, sometimes you can’t. Time or day is also inconsistent. I just can’t find a valid reason.
Shouldn’t, if a call is dropped at any time, there be a log with at least to some degree, helpful information?
I’m monitoring my trunks constantly, right now in intervals of 1s for debugging reasons, and they’re shown as “registered” all the time. But that’s all I’m really monitoring, still new to Asterisk. I only feel comfortable in the FreePBX GUI, yet.

(Kapil Gupta) #7

Hi @Quafi As soon you see “All Circuits are busy” error then immediately you can logic to your pbx and try to capture asterisk cli (asterisk -rvvvvv) logs and wireshark trace (https://wiki.freepbx.org/display/FPG/Wireshark+-+tcpdump+trace+on+PBX) . You may want to make new call again to capture just failure call log and tcpdump, this will give you some clue why failure is happening.



This is part of the log of a failed outbound call:

If you need more details, please let me know.

I also have a pcap file but found it hard to match log events to the correct time in the pcap file. I’d happily send both files uncensored to someone private but, for obvious reasons, wouldn’t want to post it here, accessible for everyone.

The same log/pcap should also contain an ongoing call getting dropped.


cause 21 means your carrier ‘rejected’ the call for some reason, you would only be able to get the specific ‘reason’ from your carrier.

All circuits busy on outgoing calls. No changes on pbx, route is up