[asterisk-dev] iax2 native bridging drops transferred calls repeatably

Thomas Andrews tandrews at grok.co.za
Thu Aug 24 05:40:52 MST 2006


I need some help to find and fix this problem. I can reliably get a call
to be dropped by (what I believe to be) chan_iax2.c. The problem
involves two transfers, and is dropped after the second transfer. Two
asterisk boxes are required, and I use FXS phones to make the calls.

On host A there are two phones, and on host B there is one phone. I
start by using a phone on host A to call the phone on host B. Once the
call is established, I transfer the call back to the unused phone on host
A. This invokes the (anti-hairpinning) native bridging of IAX2, so host
B is no longer involved. Host A now has the two phones connected, plus
two IAX2 channels bridged.

The next step is very similar: One of the phones transfers the call back
to the phone on host B. This now means that there are 3 IAX2 channels on
host A - the original bridged pair, plus a new one.

As soon as the transfer takes place, native bridging is attempted
between the new IAX2 channel, and one of the already-bridged IAX2
channels. This seems to be the cause of the problem.

It would seem to me that the code should pre-check if there is already a
native bridge in place, and if so take some action. What, I don't know.

Can anyone help me to solve this ?




More information about the asterisk-dev mailing list