[Asterisk-cvs] asterisk/apps app_meetme.c,1.59,1.60

markster at lists.digium.com markster at lists.digium.com
Mon Sep 6 21:20:13 CDT 2004


Update of /usr/cvsroot/asterisk/apps
In directory mongoose.digium.com:/tmp/cvs-serv21295/apps

Modified Files:
	app_meetme.c 
Log Message:
Make menu interruptible (bug #2377), Also fix PBX "add extension" CLI (bug #2289)


Index: app_meetme.c
===================================================================
RCS file: /usr/cvsroot/asterisk/apps/app_meetme.c,v
retrieving revision 1.59
retrieving revision 1.60
diff -u -d -r1.59 -r1.60
--- app_meetme.c	6 Sep 2004 15:43:43 -0000	1.59
+++ app_meetme.c	7 Sep 2004 01:22:56 -0000	1.60
@@ -5,7 +5,7 @@
  * 
  * Copyright (C) 1999-2004, Digium, Inc.
  *
- * Mark Spencer <markster at linux-support.net>
+ * Mark Spencer <markster at digium.com>
  *
  * This program is free software, distributed under the terms of
  * the GNU General Public License
@@ -511,6 +511,7 @@
 	char *agifiledefault = "conf-background.agi";
 	char meetmesecs[30] = "";
 	char exitcontext[AST_MAX_EXTENSION] = "";
+	int dtmf;
 
 	ZT_BUFFERINFO bi;
 	char __buf[CONF_SIZE + AST_FRIENDLY_OFFSET];
@@ -840,10 +841,14 @@
 							menu_active = 1;
 							/* Record this sound! */
 							if (!ast_streamfile(chan, "conf-adminmenu", chan->language))
-								ast_waitstream(chan, "");
-						} else {
-							switch(f->subclass - 48) {
-								case 1: /* Un/Mute */
+								dtmf = ast_waitstream(chan, AST_DIGIT_ANY);
+							else
+								dtmf = 0;
+						} else 
+							dtmf = f->subclass;
+						if (dtmf) {
+							switch(dtmf) {
+								case '1': /* Un/Mute */
 									menu_active = 0;
 		 							if (ztc.confmode & ZT_CONF_TALKER) {
 	 						       		ztc.confmode = ZT_CONF_CONF | ZT_CONF_LISTENER;
@@ -865,7 +870,7 @@
 											ast_waitstream(chan, "");
 									}
 									break;
-								case 2: /* Un/Lock the Conference */
+								case '2': /* Un/Lock the Conference */
 									menu_active = 0;
 									if (conf->locked) {
 										conf->locked = 0;
@@ -891,10 +896,14 @@
 							menu_active = 1;
 							/* Record this sound! */
 							if (!ast_streamfile(chan, "conf-usermenu", chan->language))
-								ast_waitstream(chan, "");
-						} else {
-							switch(f->subclass - 48) {
-								case 1: /* Un/Mute */
+								dtmf = ast_waitstream(chan, AST_DIGIT_ANY);
+							else
+								dtmf = 0;
+						} else 
+							dtmf = f->subclass;
+						if (dtmf) {
+							switch(dtmf) {
+								case '1': /* Un/Mute */
 									menu_active = 0;
 		 							if (ztc.confmode & ZT_CONF_TALKER) {
 	 						       		ztc.confmode = ZT_CONF_CONF | ZT_CONF_LISTENER;




More information about the svn-commits mailing list