Outbound Calls Failing with "All Circuits are Busy"

Hi all,
Trying to resolve this weird issue I’m facing with outbound calls.
I have multiple DIDs routing to one PBX, and each extension can dial out on its own DID using the Extension Routes module.

All of the extensions cannot make outbound calls. I get an “all circuits are busy” message.

I contacted voip.ms support (my SIP provider) and they were able to do a trace. This is what they said:

This is the format our servers expect to see on outbound call invites:
Contact: < sip:[sipaccount]@[your_IP]:5060;transport=UDP >
From: “CallerID Name”< sip:[sipaccount]@[server].voip.ms;transport=UDP >
To: < sip:[Number]@[server].voip.ms;transport=UDP >

This is one of your call attempts:
Contact: <sip:[email protected]:5060>
From: <sip:[email protected]>
To: <sip:[email protected]>

As you can see, you are sending the word ‘asterisk’ where there should be an sipaccount

I’m sure I’m missing some simple but crucial setting but I can’t find it in the interface. Closest I got was going to Connectivity > Trunks > Trunk in Question > pjsip Settings > Advanced > and adding in the username in the “Contact User” field.

I tried adding the correct SIP account username in the “Contact User” parameter but it still isn’t working and failing with the same general “circuits busy” message.

Very strange.

Note that I also tried following the instructions outlined in the voip.ms Wiki to the tee as well: https://wiki.voip.ms/article/FreePBX_(PJSIP)

I have a voip.ms acct I use for testing. In the trunk advanced settings I have the ‘From User’ set to the SIP auth username provided by voip.ms and I have Send RPID/PAI set to both. I don’t believe I have any other settings on the advanced tab changed from the default.

Thanks for the tip.
Did exactly that: filled in “From User” and set “Send RPID/PAI” to both. Left everything else to the voip.ms recommended settings. Calls are working now.

Interestingly, when I tried to make a call from one of my trunks, voip.ms’s systems sent me an email that they “detected and blocked a call attempt.” After approving the request, that particular trunk started working.

If there is any technical or detailed explanation as to why these options need to be enabled I’m all ears. Thanks again!

This is an old setup, and definitely dates from a period before they provided pjsip sample config. Either I came up with this by trial and error, or I compared signaling packets to a working chan_sip trunk, I don’t remember now.

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.