[asterisk-commits] file: trunk r69663 - in /trunk: ./ channels/chan_sip.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Mon Jun 18 10:48:05 CDT 2007


Author: file
Date: Mon Jun 18 10:48:05 2007
New Revision: 69663

URL: http://svn.digium.com/view/asterisk?view=rev&rev=69663
Log:
Merged revisions 69661 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r69661 | file | 2007-06-18 11:46:32 -0400 (Mon, 18 Jun 2007) | 2 lines

Few minor transfer tweaks. We can't unlock something we never locked, and better handle a specific scenario with doing an attended transfer between two non-bridged calls.

........

Modified:
    trunk/   (props changed)
    trunk/channels/chan_sip.c

Propchange: trunk/
------------------------------------------------------------------------------
Binary property 'branch-1.4-merged' - no diff available.

Modified: trunk/channels/chan_sip.c
URL: http://svn.digium.com/view/asterisk/trunk/channels/chan_sip.c?view=diff&rev=69663&r1=69662&r2=69663
==============================================================================
--- trunk/channels/chan_sip.c (original)
+++ trunk/channels/chan_sip.c Mon Jun 18 10:48:05 2007
@@ -13669,7 +13669,7 @@
 			ast_softhangup_nolock(transferer->chan1, AST_SOFTHANGUP_DEV);
 		if (target->chan1)
 			ast_softhangup_nolock(target->chan1, AST_SOFTHANGUP_DEV);
-		return -1;
+		return -2;
 	}
 	return 0;
 }
@@ -14587,7 +14587,8 @@
 		if (targetcall_pvt->owner)
 			ast_channel_unlock(targetcall_pvt->owner);
 		/* Right now, we have to hangup, sorry. Bridge is destroyed */
-		ast_hangup(transferer->owner);
+		if (res != -2)
+			ast_hangup(transferer->owner);
 	} else {
 		/* Transfer succeeded! */
 
@@ -14877,7 +14878,6 @@
 	   be accessible after the transfer! */
 	*nounlock = 1;
 	ast_channel_unlock(current.chan1);
-	ast_channel_unlock(current.chan2);
 
 	/* Connect the call */
 




More information about the asterisk-commits mailing list