--- asterisk-1.0-RC2/apps/app_meetme.c Tue Aug 3 16:01:20 2004 +++ asterisk-1.0.rc2/apps/app_meetme.c Fri Sep 3 16:41:15 2004 @@ -503,6 +503,7 @@ int x; int menu_active = 0; int using_pseudo = 0; + int dtmf = 0; struct ast_app *app; char *agifile; @@ -839,12 +840,22 @@ } if ((confflags & CONFFLAG_ADMIN)) { /* Admin menu */ + dtmf = 0; if (!menu_active) { menu_active = 1; /* Record this sound! */ if (!ast_streamfile(chan, "conf-adminmenu", chan->language)) - ast_waitstream(chan, ""); - } else { + { + dtmf = ast_waitstream(chan, "12"); + if(dtmf > 0) + { + f->subclass = dtmf; + } + } + } + + if( (f->subclass >= 48 && menu_active) || dtmf >= 48 ) + { switch(f->subclass - 48) { case 1: /* Un/Mute */ menu_active = 0; @@ -890,12 +901,22 @@ } } else { /* User menu */ + dtmf = 0; if (!menu_active) { menu_active = 1; /* Record this sound! */ if (!ast_streamfile(chan, "conf-usermenu", chan->language)) - ast_waitstream(chan, ""); - } else { + { + dtmf = ast_waitstream(chan, "1"); + if(dtmf > 0) + { + f->subclass = dtmf; + } + } + } + + if( (f->subclass >= 48 && menu_active) || dtmf >= 48 ) + { switch(f->subclass - 48) { case 1: /* Un/Mute */ menu_active = 0;