[Freeswitch-dev] sipX consultative trasnfer to freeswitch Conference leaves a phantom channel

Joegen E. Baclor joegen at opensipstack.org
Fri Sep 24 16:40:12 PDT 2010


Hi freeswitchers,

I was recently tasked to investigate an apparent bug in sipX IVR 
subsystem that involves consultative transfer.  The bug can be 
replicated as follows:

1.  Extensions 5001 and 5002 are registered to sipX.
2.  Extension 65001 is configured as a conference room in freeswitch.
3.  Extension 5001 calls 5002 and puts 5002 on hold.
4.  Extension 5001 calls 65001 and puts 65001 on hold.
5.  Extention 5001 sends REFER with replaces to 5002 towards 65001.
6.  Extension 5002 sends INVITE with replaces to 65001

At this point, signaling will be  processed as normal.  Notifications 
from 5002 completing the transfer looks OK and BYE was sent by 5001 to 
tear down the original call to which freeswitch politely responded with 
200 Ok.  Audio between 5002 and and 65001 conference is bidirectional.   
However, looking at the status of the conference bridge, there are still 
two participants active.   The old channel that 5001 opened is still 
there.  This would eventually timeout after a period of time probably 
because of media inactivity.

If you think this is due to the mishandling or misbehavior of the event 
socket implemention of the IVR.  Eg: It should manually destroy the 
channel after receiving a "channel replaced" event from freeswitch, I 
would appreciate pointers how it should be done.

If you think this is a bug in freeswitch I am willing to get it patched 
if someone already familiar with the code point me to the right places 
to look at.  (I am new to freeswitch but I'm not new to C nor SIP).

Thanks in advance for any help.

Joegen




More information about the FreeSWITCH-dev mailing list