From cb1a08bdcbf79cb177ba8cb45173030ba4a92424 Mon Sep 17 00:00:00 2001 From: Alexei Gradinari Date: Fri, 7 Dec 2018 15:22:29 -0500 Subject: [PATCH] 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 --- apps/app_confbridge.c | 2 +- apps/confbridge/conf_state_empty.c | 3 ++- apps/confbridge/conf_state_inactive.c | 2 +- apps/confbridge/include/confbridge.h | 8 +++----- 4 files changed, 7 insertions(+), 8 deletions(-) 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