app_confbridge: Make non-admin users join a muted conference muted.

ASTERISK-20987 #close
Reported by: hristo

Change-Id: Ic61a2b524ab3a4cfadf227fc6b3506527bc03f38
This commit is contained in:
Richard Mudgett
2016-01-25 15:48:04 -06:00
parent f19bf7a321
commit 12c93e8f81
2 changed files with 13 additions and 10 deletions

View File

@@ -1313,6 +1313,13 @@ static struct confbridge_conference *join_conference_bridge(const char *conferen
ao2_lock(conference);
/* Determine if the new user should join the conference muted. */
if (ast_test_flag(&user->u_profile, USER_OPT_STARTMUTED)
|| (!ast_test_flag(&user->u_profile, USER_OPT_ADMIN) && conference->muted)) {
/* Set user level mute request. */
user->muted = 1;
}
/*
* Suspend any MOH until the user actually joins the bridge of
* the conference. This way any pre-join file playback does not
@@ -1730,12 +1737,6 @@ 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");

View File

@@ -340,10 +340,12 @@ type=bridge
; upon release of the video src.
; admin_toggle_mute_participants ; This action allows an administrator to toggle the mute
; state for all non-admins within a conference. All
; admin users are unaffected by this option. Note that all
; users, regardless of their admin status, are notified
; that the conference is muted.
; state for all non-admins within a conference.
; Subsequent non-admins joining a muted conference will
; start muted. All admin users are unaffected by this
; option. Note that all users, regardless of their admin
; status, are notified that the conference is muted when
; the state is toggled.
; participant_count ; This action plays back the number of participants currently
; in a conference