Fix configuring custom sound_leader_has_left in confbridge.conf
authorMichael L. Young <elgueromexicano@gmail.com>
Sun, 29 Apr 2012 02:23:22 +0000 (02:23 +0000)
committerMichael L. Young <elgueromexicano@gmail.com>
Sun, 29 Apr 2012 02:23:22 +0000 (02:23 +0000)
The configuration option to specify a custom sound_leader_has_left file for a
conference bridge was not being parsed.  This patch fixes it so that a custom
sound file will now be used.

(closes issue ASTERISK-19771)
Reported by: Pawel Kuzak
Tested by: Pawel Kuzak, Michael L. Young
Patches: leaderhasleft_sound.dpatch uploaded by Pawel Kuzak (license 6380)

Review: https://reviewboard.asterisk.org/r/1884/
........

Merged revisions 364536 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@364537 65c4cc65-6c06-0410-ace0-fbb531ad65f3

apps/confbridge/conf_config_parser.c

index d3a75c5..53d1a60 100644 (file)
@@ -241,6 +241,8 @@ static int set_sound(const char *sound_name, const char *sound_file, struct brid
                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);
+       } else if (!strcasecmp(sound_name, "sound_leader_has_left")) {
+               ast_string_field_set(sounds, leaderhasleft, sound_file);
        } else if (!strcasecmp(sound_name, "sound_get_pin")) {
                ast_string_field_set(sounds, getpin, sound_file);
        } else if (!strcasecmp(sound_name, "sound_invalid_pin")) {
@@ -334,6 +336,7 @@ static int set_bridge_option(const char *name, const char *value, struct bridge_
                ast_string_field_set(sounds, otherinparty, tmp->sounds->otherinparty);
                ast_string_field_set(sounds, placeintoconf, tmp->sounds->placeintoconf);
                ast_string_field_set(sounds, waitforleader, tmp->sounds->waitforleader);
+               ast_string_field_set(sounds, leaderhasleft, tmp->sounds->leaderhasleft);
                ast_string_field_set(sounds, getpin, tmp->sounds->getpin);
                ast_string_field_set(sounds, invalidpin, tmp->sounds->invalidpin);
                ast_string_field_set(sounds, locked, tmp->sounds->locked);
@@ -1038,6 +1041,7 @@ static char *handle_cli_confbridge_show_bridge_profile(struct ast_cli_entry *e,
        ast_cli(a->fd,"sound_other_in_party: %s\n", conf_get_sound(CONF_SOUND_OTHER_IN_PARTY, b_profile.sounds));
        ast_cli(a->fd,"sound_place_into_conference: %s\n", conf_get_sound(CONF_SOUND_PLACE_IN_CONF, b_profile.sounds));
        ast_cli(a->fd,"sound_wait_for_leader:       %s\n", conf_get_sound(CONF_SOUND_WAIT_FOR_LEADER, b_profile.sounds));
+       ast_cli(a->fd,"sound_leader_has_left:       %s\n", conf_get_sound(CONF_SOUND_LEADER_HAS_LEFT, b_profile.sounds));
        ast_cli(a->fd,"sound_get_pin:        %s\n", conf_get_sound(CONF_SOUND_GET_PIN, b_profile.sounds));
        ast_cli(a->fd,"sound_invalid_pin:    %s\n", conf_get_sound(CONF_SOUND_INVALID_PIN, b_profile.sounds));
        ast_cli(a->fd,"sound_locked:         %s\n", conf_get_sound(CONF_SOUND_LOCKED, b_profile.sounds));