[Freeswitch-svn] [commit] r7884 - freeswitch/trunk/src

Freeswitch SVN anthm at freeswitch.org
Wed Mar 12 12:40:01 EDT 2008


Author: anthm
Date: Wed Mar 12 12:40:01 2008
New Revision: 7884

Modified:
   freeswitch/trunk/src/switch_ivr.c

Log:
update

Modified: freeswitch/trunk/src/switch_ivr.c
==============================================================================
--- freeswitch/trunk/src/switch_ivr.c	(original)
+++ freeswitch/trunk/src/switch_ivr.c	Wed Mar 12 12:40:01 2008
@@ -316,7 +316,13 @@
 							}
 
 							if (stream) {
-								switch_ivr_broadcast(b_uuid, stream, SMF_ECHO_ALEG | SMF_LOOP);
+								if ((b_session = switch_core_session_locate(b_uuid))) {
+									switch_channel_t *b_channel = switch_core_session_get_channel(b_session);
+
+									switch_ivr_broadcast(b_uuid, stream, SMF_ECHO_ALEG | SMF_LOOP);
+									switch_channel_wait_for_flag(b_channel, CF_BROADCAST, SWITCH_TRUE, 5000);
+									switch_core_session_rwunlock(b_session);
+								}
 							} else {
 								b_uuid = NULL;
 							}
@@ -621,6 +627,7 @@
 		for (i = 0; i < x; i++) {
 			if (strchr(terminators, buf[i]) && terminator != NULL) {
 				*terminator = buf[i];
+				buf[i] = '\0';
 				return SWITCH_STATUS_SUCCESS;
 			}
 		}
@@ -683,7 +690,8 @@
 					*terminator = dtmf.digit;
 					return SWITCH_STATUS_SUCCESS;
 				}
-
+				
+				
 				buf[x++] = dtmf.digit;
 				buf[x] = '\0';
 				if (x >= buflen || x >= maxdigits) {



More information about the Freeswitch-svn mailing list