summaryrefslogtreecommitdiff
path: root/apps/app_meetme.c
diff options
context:
space:
mode:
authorMark Spencer <markster@digium.com>2005-02-02 02:57:45 +0000
committerMark Spencer <markster@digium.com>2005-02-02 02:57:45 +0000
commit67f3a558e0bd55d89b254ddd3ab788186e245c97 (patch)
tree1d99974f7391ac9005591f4bb158e73e61e7e929 /apps/app_meetme.c
parentab0566923b1da50a0c0694ce92cacd6af13c80ec (diff)
Add option to prompt for PIN even if specified (bug #3489)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4949 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'apps/app_meetme.c')
-rwxr-xr-xapps/app_meetme.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/apps/app_meetme.c b/apps/app_meetme.c
index c65378f43..9df05ed41 100755
--- a/apps/app_meetme.c
+++ b/apps/app_meetme.c
@@ -84,7 +84,8 @@ static char *descrip =
" (Note: This does not work with non-Zap channels in the same conference)\n"
" 's' -- Present menu (user or admin) when '*' is received ('send' to menu)\n"
" 'a' -- set admin mode\n"
-" 'A' -- set marked mode\n";
+" 'A' -- set marked mode\n"
+" 'P' -- always prompt for the pin even if it is specified\n";
static char *descrip2 =
" MeetMeCount(confno[|var]): Plays back the number of users in the specifiedi\n"
@@ -1324,6 +1325,7 @@ static int conf_exec(struct ast_channel *chan, void *data)
int confflags = 0;
int dynamic = 0;
int empty = 0, empty_no_pin = 0;
+ int always_prompt = 0;
char *notdata, *info, *inflags = NULL, *inpin = NULL, the_pin[AST_MAX_EXTENSION] = "";
if (!data || ast_strlen_zero(data)) {
@@ -1397,6 +1399,8 @@ static int conf_exec(struct ast_channel *chan, void *data)
empty = 1;
empty_no_pin = 1;
}
+ if (strchr(inflags, 'P'))
+ always_prompt = 1;
}
do {
@@ -1529,7 +1533,7 @@ static int conf_exec(struct ast_channel *chan, void *data)
/* Allow the pin to be retried up to 3 times */
for (j=0; j<3; j++) {
- if (*the_pin) {
+ if (*the_pin && (always_prompt==0)) {
strncpy(pin, the_pin, sizeof(pin) - 1);
res = 0;
} else {
@@ -1563,7 +1567,7 @@ static int conf_exec(struct ast_channel *chan, void *data)
}
/* Don't retry pin with a static pin */
- if (*the_pin) {
+ if (*the_pin && (always_prompt==0)) {
break;
}
}