diff --git a/rtp.c b/rtp.c index 2f655a6577..6bb0218224 100644 --- a/rtp.c +++ b/rtp.c @@ -1728,8 +1728,13 @@ enum ast_bridge_result ast_rtp_bridge(struct ast_channel *c0, struct ast_channel } who = ast_waitfor_n(cs, 2, &timeoutms); if (!who) { - if (!timeoutms) + if (!timeoutms) { + if (pr0->set_rtp_peer(c0, 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, 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"); /* check for hangup / whentohangup */