Merged revisions 325537 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r325537 | mnicholson | 2011-06-29 10:34:47 -0500 (Wed, 29 Jun 2011) | 2 lines don't do native/remote bridging if a framehook is active on the channel ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@325538 f38db490-d61c-443f-a65b-d21fe96a405b
This commit is contained in:
parent
f4e69acdf3
commit
532bf8f4aa
|
@ -65,6 +65,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
|
|||
#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 @@ END_OPTIONS );
|
|||
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
|
||||
|
|
|
@ -40,6 +40,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
|
|||
#include "asterisk/translate.h"
|
||||
#include "asterisk/netsock2.h"
|
||||
#include "asterisk/_private.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 @@ static enum ast_bridge_result local_bridge_loop(struct ast_channel *c0, struct a
|
|||
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))) {
|
||||
|
@ -1046,7 +1048,8 @@ static enum ast_bridge_result remote_bridge_loop(struct ast_channel *c0,
|
|||
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;
|
||||
|
|
Reference in New Issue