mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-30 02:26:23 +00:00
Bridges: Fix feature interruption/unintended kick caused by external actions
If a manager or CLI user attached a mixmonitor to a call running a dynamic bridge feature while in a bridge, the feature would be interrupted and the channel would be forcibly kicked out of the bridge (usually ending the call during a simple 1 to 1 call). This would also occur during any similar action that could set the unbridge soft hangup flag, so the fix for this was to remove unbridge from the soft hangup flags and make it a separate thing all together. ASTERISK-24027 #close Reported by: mjordan Review: https://reviewboard.asterisk.org/r/3900/ ........ Merged revisions 420934 from http://svn.asterisk.org/svn/asterisk/branches/12 git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/13@420940 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -170,7 +170,7 @@ int ast_framehook_attach(struct ast_channel *chan, struct ast_framehook_interfac
|
||||
}
|
||||
|
||||
if (ast_channel_is_bridged(chan)) {
|
||||
ast_softhangup_nolock(chan, AST_SOFTHANGUP_UNBRIDGE);
|
||||
ast_channel_set_unbridged_nolock(chan, 1);
|
||||
}
|
||||
|
||||
return framehook->id;
|
||||
@@ -199,7 +199,7 @@ int ast_framehook_detach(struct ast_channel *chan, int id)
|
||||
AST_LIST_TRAVERSE_SAFE_END;
|
||||
|
||||
if (ast_channel_is_bridged(chan)) {
|
||||
ast_softhangup_nolock(chan, AST_SOFTHANGUP_UNBRIDGE);
|
||||
ast_channel_set_unbridged_nolock(chan, 1);
|
||||
}
|
||||
|
||||
return res;
|
||||
|
Reference in New Issue
Block a user