[asterisk-commits] mmichelson: trunk r189097 - /trunk/channels/chan_sip.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Fri Apr 17 15:20:29 CDT 2009


Author: mmichelson
Date: Fri Apr 17 15:20:23 2009
New Revision: 189097

URL: http://svn.digium.com/svn-view/asterisk?view=rev&rev=189097
Log:
Prevent a crash when SIP blonde transferring an unbridged call.

If one attempts to use the attended transfer button on a SIP phone
to transfer an unbridged call (such as a call to an IVR) but hangs
up while the target of the transfer is still ringing, we need to not
crash.

The problem was that ast_hangup was called from outside the channel
thread.

AST-211


Modified:
    trunk/channels/chan_sip.c

Modified: trunk/channels/chan_sip.c
URL: http://svn.digium.com/svn-view/asterisk/trunk/channels/chan_sip.c?view=diff&rev=189097&r1=189096&r2=189097
==============================================================================
--- trunk/channels/chan_sip.c (original)
+++ trunk/channels/chan_sip.c Fri Apr 17 15:20:23 2009
@@ -20067,11 +20067,7 @@
 		append_history(transferer, "Xfer", "Refer failed");
 		if (targetcall_pvt->owner)
 			ast_channel_unlock(targetcall_pvt->owner);
-		/* Right now, we have to hangup, sorry. Bridge is destroyed */
-		if (res != -2)
-			ast_hangup(transferer->owner);
-		else
-			ast_clear_flag(&transferer->flags[0], SIP_DEFER_BYE_ON_TRANSFER);
+		ast_clear_flag(&transferer->flags[0], SIP_DEFER_BYE_ON_TRANSFER);
 	} else {
 		struct ast_party_connected_line connected_caller;
 




More information about the asterisk-commits mailing list