mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-02 02:18:31 +00:00
ConfBridge: Correct prompt playback target
Currently, when the first marked user enters the conference that contains waitmarked users, a prompt is played indicating that the user is being placed into the conference. Unfortunately, this prompt is played to the marked user and not the waitmarked users which is not very helpful. This patch changes that behavior to play a prompt stating "The conference will now begin" to the entire conference after adding and unmuting the waitmarked users since the design of confbridge is not conducive to playing a prompt to a subset of users in a conference in an asynchronous manner. (closes issue PQ-1396) Review: https://reviewboard.asterisk.org/r/3155/ Reported by: Steve Pitts ........ Merged revisions 407857 from http://svn.asterisk.org/svn/asterisk/branches/11 git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@407858 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -867,6 +867,12 @@ static int set_sound(const char *sound_name, const char *sound_file, struct brid
|
||||
} else if (!strcasecmp(sound_name, "sound_other_in_party")) {
|
||||
ast_string_field_set(sounds, otherinparty, sound_file);
|
||||
} else if (!strcasecmp(sound_name, "sound_place_into_conference")) {
|
||||
static int deprecation_warning = 1;
|
||||
if (deprecation_warning) {
|
||||
ast_log(LOG_WARNING, "sound_place_into_conference is deprecated"
|
||||
" and unused. Use sound_begin for similar functionality.");
|
||||
deprecation_warning = 0;
|
||||
}
|
||||
ast_string_field_set(sounds, placeintoconf, sound_file);
|
||||
} else if (!strcasecmp(sound_name, "sound_wait_for_leader")) {
|
||||
ast_string_field_set(sounds, waitforleader, sound_file);
|
||||
@@ -892,6 +898,8 @@ static int set_sound(const char *sound_name, const char *sound_file, struct brid
|
||||
ast_string_field_set(sounds, participantsmuted, sound_file);
|
||||
} else if (!strcasecmp(sound_name, "sound_participants_unmuted")) {
|
||||
ast_string_field_set(sounds, participantsunmuted, sound_file);
|
||||
} else if (!strcasecmp(sound_name, "sound_begin")) {
|
||||
ast_string_field_set(sounds, begin, sound_file);
|
||||
} else {
|
||||
return -1;
|
||||
}
|
||||
@@ -1509,6 +1517,7 @@ static char *handle_cli_confbridge_show_bridge_profile(struct ast_cli_entry *e,
|
||||
ast_cli(a->fd,"sound_leave: %s\n", conf_get_sound(CONF_SOUND_LEAVE, b_profile.sounds));
|
||||
ast_cli(a->fd,"sound_participants_muted: %s\n", conf_get_sound(CONF_SOUND_PARTICIPANTS_MUTED, b_profile.sounds));
|
||||
ast_cli(a->fd,"sound_participants_unmuted: %s\n", conf_get_sound(CONF_SOUND_PARTICIPANTS_UNMUTED, b_profile.sounds));
|
||||
ast_cli(a->fd,"sound_begin: %s\n", conf_get_sound(CONF_SOUND_BEGIN, b_profile.sounds));
|
||||
ast_cli(a->fd,"\n");
|
||||
|
||||
conf_bridge_profile_destroy(&b_profile);
|
||||
@@ -1851,6 +1860,7 @@ static int bridge_template_handler(const struct aco_option *opt, struct ast_vari
|
||||
ast_string_field_set(sounds, leave, b_profile->sounds->leave);
|
||||
ast_string_field_set(sounds, participantsmuted, b_profile->sounds->participantsmuted);
|
||||
ast_string_field_set(sounds, participantsunmuted, b_profile->sounds->participantsunmuted);
|
||||
ast_string_field_set(sounds, begin, b_profile->sounds->begin);
|
||||
|
||||
ao2_ref(b_profile->sounds, -1); /* sounds struct copied over to it from the template by reference only. */
|
||||
ao2_ref(oldsounds, -1); /* original sounds struct we don't need anymore */
|
||||
|
Reference in New Issue
Block a user