aboutsummaryrefslogtreecommitdiffstats
path: root/rtp.c
diff options
context:
space:
mode:
authorfile <file@f38db490-d61c-443f-a65b-d21fe96a405b>2007-06-06 13:28:34 +0000
committerfile <file@f38db490-d61c-443f-a65b-d21fe96a405b>2007-06-06 13:28:34 +0000
commitc27b7b6bcc378d75e2e1c70cca2dd5a0ffb4527e (patch)
tree253f41086b9424fc46cc078d0cd767e60dad6d22 /rtp.c
parent9e3daeb7cc23ac2b2c62519e2912a5babc23a6e7 (diff)
Reinvite the RTP back to the Asterisk machine when the timeout happens. (issue #9888 reported by gasparz)
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.2@67649 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'rtp.c')
-rw-r--r--rtp.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/rtp.c b/rtp.c
index ce85b4551..4f0c8da26 100644
--- a/rtp.c
+++ b/rtp.c
@@ -1707,8 +1707,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 */