aboutsummaryrefslogtreecommitdiffstats
path: root/main
diff options
context:
space:
mode:
authorfile <file@f38db490-d61c-443f-a65b-d21fe96a405b>2006-12-30 05:49:17 +0000
committerfile <file@f38db490-d61c-443f-a65b-d21fe96a405b>2006-12-30 05:49:17 +0000
commit87e8ea07a3ce88603ef5a65d04a1416d2e1455ac (patch)
tree1f0b4d0ca70df2029873fdad33536ad37fcdc8a3 /main
parent61a8029e9efbba4f96c3ffcd4a31a1af22ef33b5 (diff)
Merged revisions 49066 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r49066 | file | 2006-12-30 00:46:57 -0500 (Sat, 30 Dec 2006) | 2 lines If the Packet2Packet bridge is being broken because of a masquerade then attempt to read a frame in so the masquerade actually happens. Otherwise weirdness will occur. (issue #8696 reported by kjotte) ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@49067 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'main')
-rw-r--r--main/rtp.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/main/rtp.c b/main/rtp.c
index 9958591a2..9237d8963 100644
--- a/main/rtp.c
+++ b/main/rtp.c
@@ -3070,6 +3070,10 @@ static enum ast_bridge_result bridge_p2p_loop(struct ast_channel *c0, struct ast
(c0->masq || c0->masqr || c1->masq || c1->masqr)) {
if (option_debug > 2)
ast_log(LOG_DEBUG, "p2p-rtp-bridge: Oooh, something is weird, backing out\n");
+ if ((c0->masq || c0->masqr) && (fr = ast_read(c0)))
+ ast_frfree(fr);
+ if ((c1->masq || c1->masqr) && (fr = ast_read(c1)))
+ ast_frfree(fr);
res = AST_BRIDGE_RETRY;
break;
}