[Freeswitch-svn] [commit] r13207 - freeswitch/trunk/src/mod/applications/mod_conference
FreeSWITCH SVN
anthm at freeswitch.org
Wed Apr 29 21:20:22 PDT 2009
Author: anthm
Date: Wed Apr 29 23:20:22 2009
New Revision: 13207
Log:
MODAPP-261
Modified:
freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c
Modified: freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c
==============================================================================
--- freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c (original)
+++ freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c Wed Apr 29 23:20:22 2009
@@ -155,7 +155,8 @@
CFLAG_ENFORCE_MIN = (1 << 2),
CFLAG_DESTRUCT = (1 << 3),
CFLAG_LOCKED = (1 << 4),
- CFLAG_ANSWERED = (1 << 5)
+ CFLAG_ANSWERED = (1 << 5),
+ CFLAG_BRIDGE_TO = (1 << 6),
} conf_flag_t;
typedef enum {
@@ -642,13 +643,17 @@
switch_snprintf(msg, sizeof(msg), "There are %d callers", conference->count);
conference_member_say(member, msg, CONF_DEFAULT_LEADIN);
} else if (conference->count == 1 && !conference->perpetual_sound) {
- if (conference->alone_sound) {
- conference_stop_file(conference, FILE_STOP_ASYNC);
- conference_play_file(conference, conference->alone_sound, CONF_DEFAULT_LEADIN, switch_core_session_get_channel(member->session), 1);
- } else {
- switch_snprintf(msg, sizeof(msg), "You are currently the only person in this conference.");
- conference_member_say(member, msg, CONF_DEFAULT_LEADIN);
+ /* as long as its not a bridge_to conference, announce if person is alone */
+ if (!switch_test_flag(conference, CFLAG_BRIDGE_TO)) {
+ if (conference->alone_sound) {
+ conference_stop_file(conference, FILE_STOP_ASYNC);
+ conference_play_file(conference, conference->alone_sound, CONF_DEFAULT_LEADIN, switch_core_session_get_channel(member->session), 1);
+ } else {
+ switch_snprintf(msg, sizeof(msg), "You are currently the only person in this conference.");
+ conference_member_say(member, msg, CONF_DEFAULT_LEADIN);
+ }
}
+
}
}
}
@@ -4873,6 +4878,9 @@
/* Indicate the conference is dynamic */
switch_set_flag_locked(conference, CFLAG_DYNAMIC);
+ /* Indicate the conference has a bridgeto party */
+ switch_set_flag_locked(conference, CFLAG_BRIDGE_TO);
+
/* Start the conference thread for this conference */
launch_conference_thread(conference);
More information about the Freeswitch-svn
mailing list