aboutsummaryrefslogtreecommitdiffstats
path: root/channels
diff options
context:
space:
mode:
authortilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b>2008-12-03 18:01:04 +0000
committertilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b>2008-12-03 18:01:04 +0000
commite21070b05ecf37e3825c6bdb3b886fdf66b1d629 (patch)
treeb12e72694470ac33f29bf66353ea0086394ed7bc /channels
parent3e55dd2bd0e5b5541366ad9bf503428ec8101fc3 (diff)
Merged revisions 160585 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk ................ r160585 | tilghman | 2008-12-03 11:59:36 -0600 (Wed, 03 Dec 2008) | 11 lines Blocked revisions 160570 via svnmerge ........ r160570 | tilghman | 2008-12-03 11:55:12 -0600 (Wed, 03 Dec 2008) | 5 lines During bridge code, the channel bridge may return a retry code, if a transfer was initiated but not yet completed. If the bridge is immediately retried, then we may send a storm of TXREQ packets, even though the first set is sent reliably (retransmitted). Fixes AST-137. ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@160590 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels')
-rw-r--r--channels/chan_iax2.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c
index 107df395b..0ffaaaa5f 100644
--- a/channels/chan_iax2.c
+++ b/channels/chan_iax2.c
@@ -3918,6 +3918,10 @@ static enum ast_bridge_result iax2_bridge(struct ast_channel *c0, struct ast_cha
iaxs[callno0]->bridgecallno = callno1;
iaxs[callno1]->bridgecallno = callno0;
}
+ /* If the bridge got retried, don't queue up more packets - the transfer request will be retransmitted as necessary */
+ if (iaxs[callno0]->transferring && iaxs[callno1]->transferring) {
+ transferstarted = 1;
+ }
unlock_both(callno0, callno1);
/* If not, try to bridge until we can execute a transfer, if we can */