Merged revisions 67650 via svnmerge from
authorJoshua Colp <jcolp@digium.com>
Wed, 6 Jun 2007 13:32:11 +0000 (13:32 +0000)
committerJoshua Colp <jcolp@digium.com>
Wed, 6 Jun 2007 13:32:11 +0000 (13:32 +0000)
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

index 244eeb1..1ae1edc 100644 (file)
@@ -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))