From 40df1fb4647f2c1c4b47ff04717cb36b17f6de9b Mon Sep 17 00:00:00 2001
From: Joshua Colp <jcolp@digium.com>
Date: Wed, 6 Jun 2007 13:32:11 +0000
Subject: [PATCH] Merged revisions 67650 via svnmerge from
 https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r67650 | file | 2007-06-06 09:30:25 -0400 (Wed, 06 Jun 2007) | 10 lines

Merged revisions 67649 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r67649 | file | 2007-06-06 09:28:34 -0400 (Wed, 06 Jun 2007) | 2 lines

Reinvite the RTP back to the Asterisk machine when the timeout happens. (issue #9888 reported by gasparz)

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@67651 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 main/rtp.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/main/rtp.c b/main/rtp.c
index 244eeb11a6..1ae1edc1ba 100644
--- a/main/rtp.c
+++ b/main/rtp.c
@@ -3020,8 +3020,13 @@ static enum ast_bridge_result bridge_native_loop(struct ast_channel *c0, struct
 
 		/* Wait for frame to come in on the channels */
 		if (!(who = ast_waitfor_n(cs, 2, &timeoutms))) {
-			if (!timeoutms)
+			if (!timeoutms) {
+				if (pr0->set_rtp_peer(c0, NULL, NULL, NULL, 0, 0))
+					ast_log(LOG_WARNING, "Channel '%s' failed to break RTP bridge\n", c0->name);
+				if (pr1->set_rtp_peer(c1, NULL, NULL, NULL, 0, 0))
+					ast_log(LOG_WARNING, "Channel '%s' failed to break RTP bridge\n", c1->name);
 				return AST_BRIDGE_RETRY;
+			}
 			if (option_debug)
 				ast_log(LOG_DEBUG, "Ooh, empty read...\n");
 			if (ast_check_hangup(c0) || ast_check_hangup(c1))
-- 
GitLab