[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