-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/4184/#review13779
-----------------------------------------------------------

Ship it!


This simple patch works fine for the one case since playing a prompt to an 
empty bridge is pointless.

Another way might be to play the leader has left prompt and then kick the 
end_marked users out.  However, this would be more of a behaviour change and 
may have consistency issues with leader participant counts.

- rmudgett


On Nov. 14, 2014, 2:39 p.m., Matt Jordan wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviewboard.asterisk.org/r/4184/
> -----------------------------------------------------------
> 
> (Updated Nov. 14, 2014, 2:39 p.m.)
> 
> 
> Review request for Asterisk Developers.
> 
> 
> Bugs: ASTERISK-24522
>     https://issues.asterisk.org/jira/browse/ASTERISK-24522
> 
> 
> Repository: Asterisk
> 
> 
> 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:
> 
>       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);
>               }
>       }
> 
> If, however, we have a conference full of only endmarked users, this prompt 
> is pointless. They've already been removed from the bridge, and cannot hear 
> the sound being played into a now empty bridge. Instead, they get an odd 5 
> second wait time until they are fully kicked.
> 
> Unfortunately, we do have to keep the bridge locked while we're playing back 
> the 'leader-has-left' prompt if there are wait_marked only users in the 
> conference - so we can't make this behavior nicer easier in other situations. 
> In this one, however, we can make it so that end_marked users immediately 
> here their prompt if possible.
> 
> 
> Diffs
> -----
> 
>   /branches/11/apps/confbridge/conf_state_multi_marked.c 427618 
> 
> Diff: https://reviewboard.asterisk.org/r/4184/diff/
> 
> 
> Testing
> -------
> 
> Prior to patch: the marked user leaves the conference, and an end_marked user 
> waits a good 5 seconds or so until getting their prompt that they were kicked.
> After patch: the marked user leaves the conference, and an end_marked user 
> hears the kicked prompt quickly.
> 
> 
> Thanks,
> 
> Matt Jordan
> 
>

-- 
_____________________________________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-dev

Reply via email to