My FreePBX 10.13.66-16 is located 300km far from the primary PBX and these are connected with a working IAX2 trunk.
The primary PBX is an old (2006, I guess) asterisk, probably based on amportal, but I have no access to it so I can’t be more precise. I can say that the O.S is “CentOS release 4.6 (Final)” with kernel 2.6.19-smp (SMP) on a physical server.
The IAX2 trunk is (better saying ‘was’) working but during october '16 it stop working.
Making a call from the old to the new PBX results in theese kind of logs:
[2016-10-27 11:41:39] WARNING: chan_iax2.c:1196 iax_error_output: Information element length exceeds message size
[2016-10-27 11:41:39] WARNING: chan_iax2.c:10183 socket_process_helper: Undecodable frame received from ‘10.1.1.140:4569’
Unfortunately I wasn’t been able to fix the issue and I was not sure why it stop working.
I didn’t modify the old PBX and nor the new FreePBX, except for the normal updates from SANGOMA.
What I did, after searching the web without any success, was to deploy a new FreePBX, but without updating it.
Once I did it, the error stop showing and the trunk started working again.
I compared the config files (expecially theese IAX-related) without finding any difference, then I took the chan_iax2.so from the working FreePBX and I copied it to the non-working FreePBX, this HAS SOLVED the issue.
Now, I don’t know if there has been modifications during the past months to the IAX2 driver, I don’t know if this is a regression for the chan_iax2 or it is kind of feature-removal… I’m using this trunk to an ancient version of asterisk, so I’m not complaining anybody but me… Anyway I can’t upgrade the old PBX…
What I did is to compare the non working and the working chan_iax2.so:
Not working version:
Both files are 483088 bytes, but the MD5 differs.
Now I’m running an updated version of FreePBX with the old chan_iax2.so driver (old means some months ago. I can provide both files if some developer is interested)