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))