|
|
|
@ -1264,6 +1264,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
|
|
|
|
@ -1681,12 +1688,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");
|
|
|
|
|