mirror of
				https://github.com/asterisk/asterisk.git
				synced 2025-11-03 20:38:59 +00:00 
			
		
		
		
	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:
		@@ -1310,6 +1310,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
 | 
			
		||||
@@ -1727,12 +1734,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");
 | 
			
		||||
 
 | 
			
		||||
@@ -334,10 +334,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
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user