Strong desire to stick with IAX2 trunks for this implementation
Equipment Overview:
I have two RasPBX:
One at site A (v13, work office)
One at site B (v15, my house)
One cloud FreePbx (Sangoma Distro) on Cyberlynk.
Issue:
Previously I had all three connected via IAX2 trunks, but then the cloud server failed mid upgrade to FreePBX 15.
I started over with Cyberlync and built a new v16 image for the cloud and rebuilt my IAX2 trunks, but for some reason I cannot reach Site A or B from my cloud server via the trunks.
Site A and B are connected and work via IAX2 trunks just fine.
Prior to the reimage the cloud server worked too.
I am getting an “All circuits busy” message and hangup cause 0, its not leaving the cloud PBX.
I’ve tried turning off all the firewalls on FreePBX and I know the credentials work, because Site A and Site B IAX2 trunk connections work.
I am not sure how to troubleshoot this as the IAX2 trunks don’t show monitored. I am at a loss since this same provider was working fine on Saturday (with the old FreePBX cloud server before it broke). I have never had it just not work before.
I am not sure how to troubleshoot this, I looked at the great write up from Jared linked above, but am still having issues. Anyone have any ideas?
Thanks @PitzKey, this helped alot. It looks like the trunk was connecting to the far end, and I think I found the failure point but no idea why it is failing this way.
Failed Call from Cloud FreePBX to site A:
*IAX2 Debugging Enabled*
*Rx-Frame Retry[ No] -- OSeqno: 000 ISeqno: 000 Type: IAX Subclass: POKE*
* Timestamp: 00007ms SCall: 01099 DCall: 00000 IPADDRESS:4569*
*Tx-Frame Retry[ No] -- OSeqno: 000 ISeqno: 001 Type: IAX Subclass: PONG*
* Timestamp: 00007ms SCall: 00001 DCall: 01099 IPADDRESS:4569*
*Rx-Frame Retry[ No] -- OSeqno: 001 ISeqno: 001 Type: IAX Subclass: ACK*
* Timestamp: 00007ms SCall: 01099 DCall: 00001 IPADDRESS:4569*
*Dial("PJSIP/Extension-00000003", "IAX2/CTT/00,300,Tb(func-apply-sipheaders^s^1,(1))U(sub-send-obroute-email^00^XXXXXXXXXX^1^AAAAAAAAAA^^ZZZZZZZZZZ)") in new stack*
*[2022-06-14 00:03:15] WARNING[11740][C-00000003]: chan_iax2.c:5839 ast_iax2_new: No formats specified for call to: IAX2/WORK-17313*
*[2022-06-14 00:03:15] WARNING[11740][C-00000003]: app_dial.c:2576 dial_exec_full: Unable to create channel of type 'IAX2' (cause 0 - Unknown)*
* -- No devices or endpoints to dial (technology/resource)*
* -- Executing [s@macro-dialout-trunk:35] NoOp("PJSIP/Extension-00000003", "Dial failed for some reason with DIALSTATUS = CHANUNAVAIL and HANGUPCAUSE = 0") in new stack*
Before worrying about codecs, you need to worry about why it didn’t create an IAX2 channel to actual dial. Codecs won’t be a factor until the Dial is successful and the call is answered. Only then will the codecs matter and then you’ll get a completely different error.