mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-02 19:16:15 +00:00
bridge_softmix: clear hold when joining a softmix bridge
MOH continues to play to a channel if that channel was on hold prior to entering a softmix bridge. MOH will not stop even if the original "holder" attempts an unhold. For the most part a softmix bridge ignores holds, so a participating channel shouldn't join while on hold. This patch checks to see if the channel joining the softmix bridge is currently on hold. If so then it indicates an unhold. ASTERISK-28618 Change-Id: I66ccd4efc80f5b4c3dd68186b379eb442916392b
This commit is contained in:
committed by
George Joseph
parent
990a91b44a
commit
e77cb32583
@@ -726,6 +726,13 @@ static int softmix_bridge_join(struct ast_bridge *bridge, struct ast_bridge_chan
|
||||
sfu_topologies_on_join(bridge, bridge_channel);
|
||||
}
|
||||
|
||||
/* Complete any active hold before entering, or transitioning to softmix. */
|
||||
if (ast_channel_hold_state(bridge_channel->chan) == AST_CONTROL_HOLD) {
|
||||
ast_debug(1, "Channel %s simulating UNHOLD for bridge softmix join.\n",
|
||||
ast_channel_name(bridge_channel->chan));
|
||||
ast_indicate(bridge_channel->chan, AST_CONTROL_UNHOLD);
|
||||
}
|
||||
|
||||
softmix_poke_thread(softmix_data);
|
||||
return 0;
|
||||
}
|
||||
|
Reference in New Issue
Block a user