From c6c83cf01ea0a9f9bf76760e1abc1226de329a4e Mon Sep 17 00:00:00 2001 From: Joshua Colp Date: Sat, 30 Dec 2006 05:49:17 +0000 Subject: [PATCH] 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: https://origsvn.digium.com/svn/asterisk/trunk@49067 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- main/rtp.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/main/rtp.c b/main/rtp.c index 9958591a28..9237d89636 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; }