diff options
author | file <file@f38db490-d61c-443f-a65b-d21fe96a405b> | 2007-10-15 14:55:04 +0000 |
---|---|---|
committer | file <file@f38db490-d61c-443f-a65b-d21fe96a405b> | 2007-10-15 14:55:04 +0000 |
commit | 10b67797f4558a86183363498ade3aca0986ae37 (patch) | |
tree | c0a249c486a35ed42e06da979d75bf15c55e6233 /main/rtp.c | |
parent | 0f0e64ed1629dce9fecbd268c73a918f51dc69d4 (diff) |
If Monitor or a spy was added to a P2P or native bridged channel bring the channel back to the generic bridging core so the monitor or spy operations work.
(closes issue #10943)
Reported by: julianjm
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@85552 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'main/rtp.c')
-rw-r--r-- | main/rtp.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/main/rtp.c b/main/rtp.c index fae40b229..91d0965aa 100644 --- a/main/rtp.c +++ b/main/rtp.c @@ -2839,7 +2839,8 @@ static enum ast_bridge_result bridge_native_loop(struct ast_channel *c0, struct /* Check if anything changed */ if ((c0->tech_pvt != pvt0) || (c1->tech_pvt != pvt1) || - (c0->masq || c0->masqr || c1->masq || c1->masqr)) { + (c0->masq || c0->masqr || c1->masq || c1->masqr) || + (c0->monitor || c0->spies || c1->monitor || c1->spies)) { ast_log(LOG_DEBUG, "Oooh, something is weird, backing out\n"); if (c0->tech_pvt == pvt0) if (pr0->set_rtp_peer(c0, NULL, NULL, 0, 0)) @@ -3116,7 +3117,8 @@ static enum ast_bridge_result bridge_p2p_loop(struct ast_channel *c0, struct ast /* Check if anything changed */ if ((c0->tech_pvt != pvt0) || (c1->tech_pvt != pvt1) || - (c0->masq || c0->masqr || c1->masq || c1->masqr)) { + (c0->masq || c0->masqr || c1->masq || c1->masqr) || + (c0->monitor || c0->spies || c1->monitor || c1->spies)) { ast_log(LOG_DEBUG, "Oooh, something is weird, backing out\n"); if ((c0->masq || c0->masqr) && (fr = ast_read(c0))) ast_frfree(fr); |