[asterisk-bugs] [JIRA] (ASTERISK-24522) ConfBridge: delay occurs between kicking all endmarked users when last marked user leaves

Matt Jordan (JIRA) noreply at issues.asterisk.org
Fri Nov 14 09:11:32 CST 2014


Matt Jordan created ASTERISK-24522:
--------------------------------------

             Summary: ConfBridge: delay occurs between kicking all endmarked users when last marked user leaves
                 Key: ASTERISK-24522
                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-24522
             Project: Asterisk
          Issue Type: Bug
      Security Level: None
            Reporter: Matt Jordan


Consider the following:

* A marked user in a conference
* Two or more endmarked users in the conference

When the marked users leaves, we will be in the {{conf_state_multi_marked}} state. This currently will traverse the users, kicking out any who have the {{endmarked}} flags. When they are kicked, a full {{ast_bridge_remove}} is immediately called on the channels. At this time, we also unilaterally set the {{need_prompt}} flag.

When the {{need_prompt}} flag is set, we then playback a sound to the bridge informing everyone that the leader has left:
{code}
	if (need_prompt) {
		/* Play back the audio prompt saying the leader has left the conference */
		if (!ast_test_flag(&user->u_profile, USER_OPT_QUIET)) {
			ao2_unlock(user->conference);
			ast_autoservice_start(user->chan);
			play_sound_file(user->conference,
				conf_get_sound(CONF_SOUND_LEADER_HAS_LEFT, user->b_profile.sounds));
			ast_autoservice_stop(user->chan);
			ao2_lock(user->conference);
		}
	}
{code}

If, however, we have a conference full of only {{endmarked}} users, this prompt is pointless. They've already been ejected. They now get an odd 5 second wait time until they are fully kicked.

If we have only {{endmarked}} users, we should skip playing back the prompt.



--
This message was sent by Atlassian JIRA
(v6.2#6252)



More information about the asterisk-bugs mailing list