mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-12 15:45:18 +00:00
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3732 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -5,7 +5,7 @@
|
|||||||
*
|
*
|
||||||
* Copyright (C) 1999-2004, Digium, Inc.
|
* Copyright (C) 1999-2004, Digium, Inc.
|
||||||
*
|
*
|
||||||
* Mark Spencer <markster@linux-support.net>
|
* Mark Spencer <markster@digium.com>
|
||||||
*
|
*
|
||||||
* This program is free software, distributed under the terms of
|
* This program is free software, distributed under the terms of
|
||||||
* the GNU General Public License
|
* the GNU General Public License
|
||||||
@@ -511,6 +511,7 @@ static int conf_run(struct ast_channel *chan, struct ast_conference *conf, int c
|
|||||||
char *agifiledefault = "conf-background.agi";
|
char *agifiledefault = "conf-background.agi";
|
||||||
char meetmesecs[30] = "";
|
char meetmesecs[30] = "";
|
||||||
char exitcontext[AST_MAX_EXTENSION] = "";
|
char exitcontext[AST_MAX_EXTENSION] = "";
|
||||||
|
int dtmf;
|
||||||
|
|
||||||
ZT_BUFFERINFO bi;
|
ZT_BUFFERINFO bi;
|
||||||
char __buf[CONF_SIZE + AST_FRIENDLY_OFFSET];
|
char __buf[CONF_SIZE + AST_FRIENDLY_OFFSET];
|
||||||
@@ -840,10 +841,14 @@ zapretry:
|
|||||||
menu_active = 1;
|
menu_active = 1;
|
||||||
/* Record this sound! */
|
/* Record this sound! */
|
||||||
if (!ast_streamfile(chan, "conf-adminmenu", chan->language))
|
if (!ast_streamfile(chan, "conf-adminmenu", chan->language))
|
||||||
ast_waitstream(chan, "");
|
dtmf = ast_waitstream(chan, AST_DIGIT_ANY);
|
||||||
} else {
|
else
|
||||||
switch(f->subclass - 48) {
|
dtmf = 0;
|
||||||
case 1: /* Un/Mute */
|
} else
|
||||||
|
dtmf = f->subclass;
|
||||||
|
if (dtmf) {
|
||||||
|
switch(dtmf) {
|
||||||
|
case '1': /* Un/Mute */
|
||||||
menu_active = 0;
|
menu_active = 0;
|
||||||
if (ztc.confmode & ZT_CONF_TALKER) {
|
if (ztc.confmode & ZT_CONF_TALKER) {
|
||||||
ztc.confmode = ZT_CONF_CONF | ZT_CONF_LISTENER;
|
ztc.confmode = ZT_CONF_CONF | ZT_CONF_LISTENER;
|
||||||
@@ -865,7 +870,7 @@ zapretry:
|
|||||||
ast_waitstream(chan, "");
|
ast_waitstream(chan, "");
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 2: /* Un/Lock the Conference */
|
case '2': /* Un/Lock the Conference */
|
||||||
menu_active = 0;
|
menu_active = 0;
|
||||||
if (conf->locked) {
|
if (conf->locked) {
|
||||||
conf->locked = 0;
|
conf->locked = 0;
|
||||||
@@ -891,10 +896,14 @@ zapretry:
|
|||||||
menu_active = 1;
|
menu_active = 1;
|
||||||
/* Record this sound! */
|
/* Record this sound! */
|
||||||
if (!ast_streamfile(chan, "conf-usermenu", chan->language))
|
if (!ast_streamfile(chan, "conf-usermenu", chan->language))
|
||||||
ast_waitstream(chan, "");
|
dtmf = ast_waitstream(chan, AST_DIGIT_ANY);
|
||||||
} else {
|
else
|
||||||
switch(f->subclass - 48) {
|
dtmf = 0;
|
||||||
case 1: /* Un/Mute */
|
} else
|
||||||
|
dtmf = f->subclass;
|
||||||
|
if (dtmf) {
|
||||||
|
switch(dtmf) {
|
||||||
|
case '1': /* Un/Mute */
|
||||||
menu_active = 0;
|
menu_active = 0;
|
||||||
if (ztc.confmode & ZT_CONF_TALKER) {
|
if (ztc.confmode & ZT_CONF_TALKER) {
|
||||||
ztc.confmode = ZT_CONF_CONF | ZT_CONF_LISTENER;
|
ztc.confmode = ZT_CONF_CONF | ZT_CONF_LISTENER;
|
||||||
|
@@ -1195,13 +1195,21 @@ static int handle_context_add_extension(int fd, int argc, char *argv[])
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
app = strsep(&whole_exten, ",");
|
app = whole_exten;
|
||||||
if (app && (start = strchr(app, '(')) && (end = strrchr(app, ')'))) {
|
if (app && (start = strchr(app, '(')) && (end = strrchr(app, ')'))) {
|
||||||
*start = *end = '\0';
|
*start = *end = '\0';
|
||||||
app_data = start + 1;
|
app_data = start + 1;
|
||||||
process_quotes_and_slashes(app_data, ',', '|');
|
process_quotes_and_slashes(app_data, ',', '|');
|
||||||
} else
|
} else {
|
||||||
app_data = whole_exten;
|
if (app) {
|
||||||
|
app_data = strchr(app, ',');
|
||||||
|
if (app_data) {
|
||||||
|
*app_data = '\0';
|
||||||
|
app_data++;
|
||||||
|
}
|
||||||
|
} else
|
||||||
|
app_data = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
if (!exten || !prior || !app || (!app_data && iprior != PRIORITY_HINT)) return RESULT_SHOWUSAGE;
|
if (!exten || !prior || !app || (!app_data && iprior != PRIORITY_HINT)) return RESULT_SHOWUSAGE;
|
||||||
|
|
||||||
|
@@ -3,9 +3,9 @@
|
|||||||
*
|
*
|
||||||
* Routines implementing music on hold
|
* Routines implementing music on hold
|
||||||
*
|
*
|
||||||
* Copyright (C) 1999, Mark Spencer
|
* Copyright (C) 1999-2004, Digium, Inc.
|
||||||
*
|
*
|
||||||
* Mark Spencer <markster@linux-support.net>
|
* Mark Spencer <markster@digium.com>
|
||||||
*
|
*
|
||||||
* This program is free software, distributed under the terms of
|
* This program is free software, distributed under the terms of
|
||||||
* the GNU General Public License
|
* the GNU General Public License
|
||||||
|
Reference in New Issue
Block a user