bridge: Stop music on hold on adding an arbitrary channel to a bridge

When a channel that is on hold gets added to a bridge by
the Bridge AMI action or the dialplan application of the same name,
music continues to play, causing "robotic sound".

This commit adds a call to ast_moh_stop to stop the music.
Also, it makes the AMI Park action use the right MOH class when the
channel gets parked.

Reported by: Zane Conkle

ASTERISK-25079 #close

Change-Id: I4b129c5a20c15e63968842460ac5a1a85903cf9f
This commit is contained in:
Ivan Poddubny
2017-12-16 14:51:16 +01:00
parent 08440fd1d9
commit 3b99a0332c

View File

@@ -2511,6 +2511,8 @@ int ast_bridge_add_channel(struct ast_bridge *bridge, struct ast_channel *chan,
RAII_VAR(struct ast_bridge *, chan_bridge, NULL, ao2_cleanup); RAII_VAR(struct ast_bridge *, chan_bridge, NULL, ao2_cleanup);
RAII_VAR(struct ast_channel *, yanked_chan, NULL, ao2_cleanup); RAII_VAR(struct ast_channel *, yanked_chan, NULL, ao2_cleanup);
ast_moh_stop(chan);
ast_channel_lock(chan); ast_channel_lock(chan);
chan_bridge = ast_channel_get_bridge(chan); chan_bridge = ast_channel_get_bridge(chan);
ast_channel_unlock(chan); ast_channel_unlock(chan);