[asterisk-commits] file: branch 1.4 r69668 - /branches/1.4/channels/chan_sip.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Mon Jun 18 11:04:56 CDT 2007


Author: file
Date: Mon Jun 18 11:04:55 2007
New Revision: 69668

URL: http://svn.digium.com/view/asterisk?view=rev&rev=69668
Log:
Don't defer the BYE till later on a transfer when the transfer itself goes kaboom and has no hope of working.

Modified:
    branches/1.4/channels/chan_sip.c

Modified: branches/1.4/channels/chan_sip.c
URL: http://svn.digium.com/view/asterisk/branches/1.4/channels/chan_sip.c?view=diff&rev=69668&r1=69667&r2=69668
==============================================================================
--- branches/1.4/channels/chan_sip.c (original)
+++ branches/1.4/channels/chan_sip.c Mon Jun 18 11:04:55 2007
@@ -13858,14 +13858,16 @@
 	ast_mutex_unlock(&targetcall_pvt->lock);
 	if (res) {
 		/* Failed transfer */
-		/* Could find better message, but they will get the point */
-		transmit_notify_with_sipfrag(transferer, seqno, "486 Busy", TRUE);
+		transmit_notify_with_sipfrag(transferer, seqno, "486 Busy Here", TRUE);
 		append_history(transferer, "Xfer", "Refer failed");
+		transferer->refer->status = 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);
 	} else {
 		/* Transfer succeeded! */
 




More information about the asterisk-commits mailing list