diff --git a/src/mod/applications/mod_conference/mod_conference.c b/src/mod/applications/mod_conference/mod_conference.c index 9692b931b1..000745a076 100644 --- a/src/mod/applications/mod_conference/mod_conference.c +++ b/src/mod/applications/mod_conference/mod_conference.c @@ -2087,6 +2087,10 @@ SWITCH_STANDARD_APP(conference_function) goto done; } + if (conference->member_enter_sound && !switch_channel_test_app_flag_key("conference_silent", channel, CONF_SILENT_REQ)) { + conference_file_local_play(conference, session, conference->member_enter_sound, CONF_DEFAULT_LEADIN, NULL, 0); + } + } /* Release the config registry handle */ @@ -2362,6 +2366,7 @@ conference_obj_t *conference_new(char *name, conference_xml_cfg_t cfg, switch_co char *name_domain = NULL; char *tts_engine = NULL; char *tts_voice = NULL; + char *member_enter_sound = NULL; char *enter_sound = NULL; char *sound_prefix = NULL; char *exit_sound = NULL; @@ -2557,6 +2562,8 @@ conference_obj_t *conference_new(char *name, conference_xml_cfg_t cfg, switch_co tts_engine = val; } else if (!strcasecmp(var, "tts-voice") && !zstr(val)) { tts_voice = val; + } else if (!strcasecmp(var, "member-enter-sound") && !zstr(val)) { + member_enter_sound = val; } else if (!strcasecmp(var, "enter-sound") && !zstr(val)) { enter_sound = val; } else if (!strcasecmp(var, "outcall-templ") && !zstr(val)) { @@ -3029,6 +3036,10 @@ conference_obj_t *conference_new(char *name, conference_xml_cfg_t cfg, switch_co conference->enter_sound = switch_core_strdup(conference->pool, enter_sound); } + if (!zstr(member_enter_sound)) { + conference->member_enter_sound = switch_core_strdup(conference->pool, member_enter_sound); + } + if (!zstr(exit_sound)) { conference->exit_sound = switch_core_strdup(conference->pool, exit_sound); } diff --git a/src/mod/applications/mod_conference/mod_conference.h b/src/mod/applications/mod_conference/mod_conference.h index c812bc1160..2f4e17693f 100644 --- a/src/mod/applications/mod_conference/mod_conference.h +++ b/src/mod/applications/mod_conference/mod_conference.h @@ -536,6 +536,7 @@ typedef struct conference_obj { char *timer_name; char *tts_engine; char *tts_voice; + char *member_enter_sound; char *enter_sound; char *exit_sound; char *alone_sound;