[asterisk-commits] mmichelson: branch mmichelson/transfer r386351 - /team/mmichelson/transfer/main/

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Tue Apr 23 13:09:13 CDT 2013


Author: mmichelson
Date: Tue Apr 23 13:09:09 2013
New Revision: 386351

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=386351
Log:
Switch from using ast_async_goto() in ast_bridge_blind_transfer() to using ast_after_bridge_goto()


Modified:
    team/mmichelson/transfer/main/bridging.c

Modified: team/mmichelson/transfer/main/bridging.c
URL: http://svnview.digium.com/svn/asterisk/team/mmichelson/transfer/main/bridging.c?view=diff&rev=386351&r1=386350&r2=386351
==============================================================================
--- team/mmichelson/transfer/main/bridging.c (original)
+++ team/mmichelson/transfer/main/bridging.c Tue Apr 23 13:09:09 2013
@@ -4274,13 +4274,12 @@
 	ast_channel_ref(bridged_channel);
 	ast_channel_unlock(transferer);
 
-	/* XXX I don't know if the ast_bridge_remove() call is necessary
-	 * here since ast_async_goto will set the AST_SOFTHANGUP_GOTO flag
-	 * on the channel that is being redirected
+	/* XXX This is temporary. In general reaching across the bridge is a terrible
+	 * idea. This will be replaced with a blind transfer bridge action once I create it.
 	 */
-	ast_bridge_remove(bridge, bridged_channel);
-	return ast_async_goto(bridged_channel, context, exten, 1) == 0 ?
-		AST_BRIDGE_TRANSFER_SUCCESS : AST_BRIDGE_TRANSFER_FAIL;
+	ast_after_bridge_set_goto(bridged_channel, context, exten, 1);
+	return ast_bridge_remove(bridge, bridged_channel) == 0 ? AST_BRIDGE_TRANSFER_SUCCESS :
+		AST_BRIDGE_TRANSFER_FAIL;
 }
 
 enum ast_transfer_result ast_bridge_attended_transfer(struct ast_channel *to_transferee,




More information about the asterisk-commits mailing list