diff options
author | Richard Mudgett <rmudgett@digium.com> | 2012-05-04 17:38:39 +0000 |
---|---|---|
committer | Richard Mudgett <rmudgett@digium.com> | 2012-05-04 17:38:39 +0000 |
commit | 8842f76a7f486cd3d223a2c28ace91fcab5e8a12 (patch) | |
tree | 5a345793633ec9dd99e21fee9420da8f2364376d /apps | |
parent | 404b890f494399bba8bd160098af59d405b81b00 (diff) |
Fix local channel chains optimizing themselves out of a call.
* Made chan_local.c:check_bridge() check the return value of
ast_channel_masquerade(). In long chains of local channels, the
masquerade occasionally fails to get setup because there is another
masquerade already setup on an adjacent local channel in the chain.
* Made the outgoing local channel (the ;2 channel) flush one voice or
video frame per optimization attempt.
* Made sure that the outgoing local channel also does not have any frames
in its queue before the masquerade.
* Made do the masquerade immediately to minimize the chance that the
outgoing channel queue does not get any new frames added and thus
unconditionally flushed.
* Made block indication -1 (Stop tones) event when the local channel is
going to optimize itself out. When the call is answered, a chain of local
channels pass down a -1 indication for each bridge. This blizzard of -1
events really slows down the optimization process.
(closes issue ASTERISK-16711)
Reported by: Alec Davis
Tested by: rmudgett, Alec Davis
Review: https://reviewboard.asterisk.org/r/1894/
........
Merged revisions 365313 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 365320 from http://svn.asterisk.org/svn/asterisk/branches/10
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@365356 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'apps')
0 files changed, 0 insertions, 0 deletions