From: Alexei Gradinari Date: Fri, 7 Dec 2018 20:22:29 +0000 (-0500) Subject: confbridge: announce to the marked users when they join an empty conference X-Git-Tag: 16.2.0-rc1~42^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2610379605a48fd43afb1c9d89d9d797a81011df;p=thirdparty%2Fasterisk.git confbridge: announce to the marked users when they join an empty conference Currently the file sound_only_person is not played when a marked user (with announce_only_user=yes) joins an empty conference. This patch fixes it. ASTERISK-28201 #close Change-Id: I85b67687e6b220939c3af8091d83a70a7b174cf4 --- diff --git a/apps/app_confbridge.c b/apps/app_confbridge.c index ad871e0fe7..33cfbb3e59 100644 --- a/apps/app_confbridge.c +++ b/apps/app_confbridge.c @@ -1360,7 +1360,7 @@ int conf_handle_inactive_waitmarked(struct confbridge_user *user) return 0; } -int conf_handle_only_unmarked(struct confbridge_user *user) +int conf_handle_only_person(struct confbridge_user *user) { /* If audio prompts have not been quieted or this prompt quieted play it on out */ if (!ast_test_flag(&user->u_profile, USER_OPT_QUIET | USER_OPT_NOONLYPERSON)) { diff --git a/apps/confbridge/conf_state_empty.c b/apps/confbridge/conf_state_empty.c index 285f22abbe..d2f4c8d109 100644 --- a/apps/confbridge/conf_state_empty.c +++ b/apps/confbridge/conf_state_empty.c @@ -56,7 +56,7 @@ static void join_unmarked(struct confbridge_user *user) { conf_add_user_active(user->conference, user); conf_handle_first_join(user->conference); - conf_add_post_join_action(user, conf_handle_only_unmarked); + conf_add_post_join_action(user, conf_handle_only_person); conf_change_state(user, CONF_STATE_SINGLE); } @@ -73,6 +73,7 @@ static void join_marked(struct confbridge_user *user) { conf_add_user_marked(user->conference, user); conf_handle_first_join(user->conference); + conf_add_post_join_action(user, conf_handle_only_person); conf_change_state(user, CONF_STATE_SINGLE_MARKED); } diff --git a/apps/confbridge/conf_state_inactive.c b/apps/confbridge/conf_state_inactive.c index bc41e611a9..b1a4a2ee2a 100644 --- a/apps/confbridge/conf_state_inactive.c +++ b/apps/confbridge/conf_state_inactive.c @@ -51,7 +51,7 @@ struct confbridge_state *CONF_STATE_INACTIVE = &STATE_INACTIVE; static void join_unmarked(struct confbridge_user *user) { conf_add_user_active(user->conference, user); - conf_add_post_join_action(user, conf_handle_only_unmarked); + conf_add_post_join_action(user, conf_handle_only_person); conf_change_state(user, CONF_STATE_SINGLE); } diff --git a/apps/confbridge/include/confbridge.h b/apps/confbridge/include/confbridge.h index ac403d890f..4b8249f414 100644 --- a/apps/confbridge/include/confbridge.h +++ b/apps/confbridge/include/confbridge.h @@ -490,13 +490,11 @@ void conf_handle_first_join(struct confbridge_conference *conference); */ int conf_handle_inactive_waitmarked(struct confbridge_user *user); -/*! \brief Handle actions whenever an unmarked user joins an inactive conference - * \note These actions seem like they could apply just as well to a marked user - * and possibly be made to happen any time transitioning to a single state. +/*! \brief Handle actions whenever an user joins an empty conference * - * \param user The unmarked user + * \param user The user */ -int conf_handle_only_unmarked(struct confbridge_user *user); +int conf_handle_only_person(struct confbridge_user *user); /*! \brief Handle when a conference moves to having more than one active participant * \param conference The conference bridge with more than one active participant