summaryrefslogtreecommitdiff
path: root/channels/chan_iax2.c
diff options
context:
space:
mode:
authorRichard Mudgett <rmudgett@digium.com>2012-05-04 17:38:39 +0000
committerRichard Mudgett <rmudgett@digium.com>2012-05-04 17:38:39 +0000
commit8842f76a7f486cd3d223a2c28ace91fcab5e8a12 (patch)
tree5a345793633ec9dd99e21fee9420da8f2364376d /channels/chan_iax2.c
parent404b890f494399bba8bd160098af59d405b81b00 (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 'channels/chan_iax2.c')
0 files changed, 0 insertions, 0 deletions