I find its somewhat hard to find out why a call failed on FreePBX.
Like, when I ring a german number (I am in ireland) i get ‘all circuits are busy now’. When I check
reports → asterisk logfiles, it says ‘NO ANSWER’. But if I ring the same number on a different phone like my own mobile phone, it rings as it should…
I assume its something wrong with my match patterns / dial patterns / trunk configuration? Would be nice if freepbx gave a bit more info
No answer means that the call was considered valid by the provider, but no-one actually answered the phone within the time limit set. It could also meant that the provider sent a response that indicated that there was no answer. Looking at the full log, with suitable logging options (you haven’t said whether analogue, ISDN, other circuit switched, SIP using chan_pjsip, or SIP using chan_sip, so I can’t say what debugging options to use.
I literally hear the “all circuits are busy now” message all the time, it seems to be the default message if theres an error
Also, you mention provider, the sip trunk provider has not logged any notifications or report, i.e. it has not detected any calls. The trunk or outbound call dial patterns are posdibly wrong, but to be clear, its not actually getting to the provider. Its failing to get out of freepbx → provider.
I agree that it is likely a problem with your outbound routes dial pattern matching, especially since it’s happening when you’re dialing international numbers. Take a look at the asterisk logs when you make a call, post if here if you’d like, and I suspect we’ll see that it’s not finding a route out of your system.
OP: At the Asterisk command prompt, type pjsip set logger on
or sip set debug on
according to channel driver used.
Make a failing call to a number you don’t have to redact (such as a McDonald’s), paste the Asterisk log for the call at pastebin.com and post the link here.
If this is SIP and the dial timeout is less than 32 seconds, completely failing to get a response from the provider could, I guess, also present as NO ANSWER. That would normally route from an IP level routing problem, or a wrong destination address.
(Other people are assuming SIP, but I don’t believe you have actually said, one way or the other.)
32 seconds is how long SIP, with default parameters, will try to get an initial acknowledgement from the next hop.
I have a catch all outbound route at the end, and its called international outbound.
It only has one dial pattern:
prepend: empty
prefix: empty
match pattern: XXXX.
this routes to my only trunk that I have. The trunk works fine for irish numbers, of many types (freephone etc) and UK numbers. It even works for certain countries like the US. I have a special outbound route for irish, UK and US numbers due to the fact we have callerIDs for those 3 countries.
And they all point to the same trunk lol. So I have no idea why german calls wont work.
I will keep looking into your solutions, maybe i have done something wrong with my match patterns, but given every single outbound route goes to the same trunk, i dont know how it could be failing based on your list.
Also apologies for not replying sooner I forgot about this problem until someone failed to make a german call again today
Sorry, I cant see how to look at the logs? In the freepbx web gui, i have enabled pjsip set logger on, made a call, and nothing appears? Should the webpage update?
Also, I rang a phone number in mcdonalds germany and it worked! So I am even more confused now lol. It appears german numbers are working but only some of them.
To be clear, when i ring the problematic german number on skype or my own mobile phone it works.
Also if it is any information, it takes about 5-10 seconds before i get the ‘all circuits are busy now’ message.