summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Rose <jrose@digium.com>2014-03-20 23:02:45 +0000
committerJonathan Rose <jrose@digium.com>2014-03-20 23:02:45 +0000
commit3c16865fc273291f72564678f72a7e1298fe8540 (patch)
treefcf35d65c3e599603d5cd27b912d99eef0fcdd13
parent1ba13718fc46527587e3dc87e776858c472bb2d2 (diff)
app_confbridge: Fix bug - users with startmuted set don't start muted
(closes issue ASTERISK-23461) Reported by: Chico Manobela Review: https://reviewboard.asterisk.org/r/3373/ ........ Merged revisions 410965 from http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged revisions 410966 from http://svn.asterisk.org/svn/asterisk/branches/12 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@410967 65c4cc65-6c06-0410-ace0-fbb531ad65f3
-rw-r--r--apps/app_confbridge.c19
1 files changed, 13 insertions, 6 deletions
diff --git a/apps/app_confbridge.c b/apps/app_confbridge.c
index d2e38bd7f..b034ab3f9 100644
--- a/apps/app_confbridge.c
+++ b/apps/app_confbridge.c
@@ -1009,6 +1009,13 @@ void conf_update_user_mute(struct confbridge_user *user)
ast_channel_name(user->chan), mute_effective ? "muted" : "unmuted",
mute_user, mute_system);
user->features.mute = mute_effective;
+ ast_test_suite_event_notify("CONF_MUTE_UPDATE",
+ "Mode: %s\r\n"
+ "Conference: %s\r\n"
+ "Channel: %s",
+ mute_effective ? "muted" : "unmuted",
+ user->b_profile.name,
+ ast_channel_name(user->chan));
}
void conf_moh_stop(struct confbridge_user *user)
@@ -1683,6 +1690,12 @@ static int confbridge_exec(struct ast_channel *chan, const char *data)
}
}
+ /* If the caller should be joined already muted, set the flag before we join. */
+ if (ast_test_flag(&user.u_profile, USER_OPT_STARTMUTED)) {
+ /* Set user level mute request. */
+ user.muted = 1;
+ }
+
/* Look for a conference bridge matching the provided name */
if (!(conference = join_conference_bridge(args.conf_name, &user))) {
pbx_builtin_setvar_helper(chan, "CONFBRIDGE_RESULT", "FAILED");
@@ -1694,12 +1707,6 @@ static int confbridge_exec(struct ast_channel *chan, const char *data)
volume_adjustments[0] = ast_audiohook_volume_get(chan, AST_AUDIOHOOK_DIRECTION_READ);
volume_adjustments[1] = ast_audiohook_volume_get(chan, AST_AUDIOHOOK_DIRECTION_WRITE);
- /* If the caller should be joined already muted, make it so */
- if (ast_test_flag(&user.u_profile, USER_OPT_STARTMUTED)) {
- /* Set user level mute request. */
- user.muted = 1;
- }
-
if (ast_test_flag(&user.u_profile, USER_OPT_DROP_SILENCE)) {
user.tech_args.drop_silence = 1;
}