Issue with Answering Calls Across IAX Connection

Hi all,

Sorry if this is long winded…

I’m relatively new to FreePBX and Asterisk. I am currently testing this platform to likely replace our current PBX solution. Everything has gone fairly well with setup and configuration, but I have run into an issue that I can’t quite get past. Below is a brief description of my current setup. All servers are running the FreePBX Distro 10.13.66-64bit, with FreePBX version 13 and Asterisk version 13.

SIP Provider --> FreePBX_A <–> iax trunk<–>FreePBX_B

In this situation FreePBX_A would be the general purpose PBX, hosting regular office users. It also hosts the IVR(s) that an external user would call into. FreePBX_B houses the ACD functions. All queues and ACD agents are setup on this server.

The issue I am running into is that when a call comes into an IVR on FreePBX_A and the user selects the option to talk to an ACD agent. FreePBX_A will transfer the call across the iax trunk to the queue. The logged in agent will then receive the call. When I go to answer the call, it will just immediately hang up. The call will stay in the queue and move on to the next available agent. More times than not, the call will hang up, but sometimes it will pick up the call as intended. I see the following messages scrolling across the console when this happens.

[2016-07-20 15:44:55] WARNING[31351][C-0000001b]: app_dial.c:2429 dial_exec_full: Unable to create channel of type ‘SIP’ (cause 20 - Subscriber absent)
[2016-07-20 15:44:55] WARNING[31358][C-0000001b]: chan_sip.c:22773 func_header_read: This function can only be used on SIP channels.
[2016-07-20 15:44:55] WARNING[31358][C-0000001b]: chan_sip.c:22773 func_header_read: This function can only be used on SIP channels.
[2016-07-20 15:44:55] WARNING[31358][C-0000001b]: chan_sip.c:22773 func_header_read: This function can only be used on SIP channels.
[2016-07-20 15:44:55] WARNING[31358][C-0000001b]: chan_sip.c:22773 func_header_read: This function can only be used on SIP channels.
[2016-07-20 15:45:02] WARNING[2373][C-0000001b]: chan_sip.c:10697 process_sdp: Failing due to no acceptable offer found

The last logged line, in particular, is the one that shows up every time the call drops. When the agent can successfully pick up the call, that line does not appear. From searching around, the “process_sdp:” points towards a codec negotiation failure. I can’t seem to track down why this works randomly, but fails a higher percentage of the time. Any help would be greatly apprceciated.

Thanks

At first glance, I’d suggest that might be a problem. Specifically, there are codecs that do not work over an IAX connection. It’s also possible that some function in your dialplan is unhappy about using an IAX2 link to interconnect to the two PBXes.

Now, another possibility is that your PBX-A doesn’t actually know how to route the calls to PBX-B. I’m not sure - the log snippet doesn’t give us a lot to work with before your warnings.

Those would be the two places I’d start looking.

Inside your iax trunk put

disallow=all
allow=alaw&ulaw

and try again.