From 6392e452f2cd70d85c06ce52c9b93e29ff392f16 Mon Sep 17 00:00:00 2001 From: Alexei Gradinari <alex2grad@gmail.com> 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 d07c1568b8..c44375bf89 100644 --- a/apps/app_confbridge.c +++ b/apps/app_confbridge.c @@ -1343,7 +1343,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 a1f9f4a087..f87a57bed9 100644 --- a/apps/confbridge/include/confbridge.h +++ b/apps/confbridge/include/confbridge.h @@ -472,13 +472,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 -- GitLab