[asterisk-commits] mnicholson: branch 1.8 r325537 - in /branches/1.8: apps/ main/

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Wed Jun 29 10:34:51 CDT 2011


Author: mnicholson
Date: Wed Jun 29 10:34:47 2011
New Revision: 325537

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=325537
Log:
don't do native/remote bridging if a framehook is active on the channel

Modified:
    branches/1.8/apps/app_dial.c
    branches/1.8/main/rtp_engine.c

Modified: branches/1.8/apps/app_dial.c
URL: http://svnview.digium.com/svn/asterisk/branches/1.8/apps/app_dial.c?view=diff&rev=325537&r1=325536&r2=325537
==============================================================================
--- branches/1.8/apps/app_dial.c (original)
+++ branches/1.8/apps/app_dial.c Wed Jun 29 10:34:47 2011
@@ -65,6 +65,7 @@
 #include "asterisk/aoc.h"
 #include "asterisk/ccss.h"
 #include "asterisk/indications.h"
+#include "asterisk/framehook.h"
 
 /*** DOCUMENTATION
 	<application name="Dial" language="en_US">
@@ -631,7 +632,8 @@
 	OPT_CALLER_HANGUP | OPT_CALLEE_TRANSFER | OPT_CALLER_TRANSFER | \
 	OPT_CALLEE_MONITOR | OPT_CALLER_MONITOR | OPT_CALLEE_PARK |  \
 	OPT_CALLER_PARK | OPT_ANNOUNCE | OPT_CALLEE_MACRO | OPT_CALLEE_GOSUB) && \
-	!chan->audiohooks && !peer->audiohooks)
+	!chan->audiohooks && !peer->audiohooks && \
+	ast_framehook_list_is_empty(chan->framehooks) && ast_framehook_list_is_empty(peer->framehooks))
 
 /*
  * The list of active channels

Modified: branches/1.8/main/rtp_engine.c
URL: http://svnview.digium.com/svn/asterisk/branches/1.8/main/rtp_engine.c?view=diff&rev=325537&r1=325536&r2=325537
==============================================================================
--- branches/1.8/main/rtp_engine.c (original)
+++ branches/1.8/main/rtp_engine.c Wed Jun 29 10:34:47 2011
@@ -39,6 +39,7 @@
 #include "asterisk/pbx.h"
 #include "asterisk/translate.h"
 #include "asterisk/netsock2.h"
+#include "asterisk/framehook.h"
 
 struct ast_srtp_res *res_srtp = NULL;
 struct ast_srtp_policy_res *res_srtp_policy = NULL;
@@ -853,7 +854,8 @@
 		if ((c0->tech_pvt != pvt0) ||
 		    (c1->tech_pvt != pvt1) ||
 		    (c0->masq || c0->masqr || c1->masq || c1->masqr) ||
-		    (c0->monitor || c0->audiohooks || c1->monitor || c1->audiohooks)) {
+		    (c0->monitor || c0->audiohooks || c1->monitor || c1->audiohooks) ||
+		    (!ast_framehook_list_is_empty(c0->framehooks) || !ast_framehook_list_is_empty(c1->framehooks))) {
 			ast_debug(1, "rtp-engine-local-bridge: Oooh, something is weird, backing out\n");
 			/* If a masquerade needs to happen we have to try to read in a frame so that it actually happens. Without this we risk being called again and going into a loop */
 			if ((c0->masq || c0->masqr) && (fr = ast_read(c0))) {
@@ -1026,7 +1028,8 @@
 		if ((c0->tech_pvt != pvt0) ||
 		    (c1->tech_pvt != pvt1) ||
 		    (c0->masq || c0->masqr || c1->masq || c1->masqr) ||
-		    (c0->monitor || c0->audiohooks || c1->monitor || c1->audiohooks)) {
+		    (c0->monitor || c0->audiohooks || c1->monitor || c1->audiohooks) ||
+		    (!ast_framehook_list_is_empty(c0->framehooks) || !ast_framehook_list_is_empty(c1->framehooks))) {
 			ast_debug(1, "Oooh, something is weird, backing out\n");
 			res = AST_BRIDGE_RETRY;
 			break;




More information about the asterisk-commits mailing list