Summary: | ASTERISK-24522: ConfBridge: delay occurs between kicking all endmarked users when last marked user leaves | ||
Reporter: | Matt Jordan (mjordan) | Labels: | |
Date Opened: | 2014-11-14 09:09:37.000-0600 | Date Closed: | 2014-11-16 21:08:12.000-0600 |
Priority: | Major | Regression? | |
Status: | Closed/Complete | Components: | Applications/app_confbridge |
Versions: | 11.14.0 12.7.0 13.0.0 | Frequency of Occurrence | |
Related Issues: | |||
Environment: | Attachments: | ( 0) ASTERISK-24522-11.diff | |
Description: | 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. | ||
Comments: |