Summary:ASTERISK-21334: Bridge API Enhancements - hide masquerades
Reporter:Matt Jordan (mjordan)Labels:Asterisk12
Date Opened:2013-03-29 09:08:46Date Closed:2013-05-28 09:54:03
Status:Closed/CompleteComponents:Core/Bridging Core/Channels
Versions:Frequency of
Description:Please see the [Bridge Construction|http://svn.asterisk.org/svn/asterisk/team/group/bridge_construction/] Team project for the current status of this work.

Masquerades need to be hidden from sight. As far back in a dark corner as possible.

There is one scenario in which masquerades are still needed: when a channel is not in a bridge and a thread other than that channel's {{pbx_thread}} needs to obtain control of the channel. If a channel is in a bridge, a thread can request that a channel leave a bridge and be put into a particular place in the dialplan. Barring a dialplan location, the channel should be able to be ejected from the bridge and simply enter into a 'holding' state.

As such, we need an API call that hides masquerades so that applications aren't aware that a masquerade even occurs. The API call ({{ast_channel_yank}}?) should let a caller obtain control of a channel, either by ejecting it out from a bridge or by masquerading the channel. The existing masquerade function calls should be hidden out of the public facing channel API.