diff options
author | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2005-02-02 02:57:45 +0000 |
---|---|---|
committer | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2005-02-02 02:57:45 +0000 |
commit | d7532ae7589001ff543f03320e622c51779c7f52 (patch) | |
tree | 1d99974f7391ac9005591f4bb158e73e61e7e929 /apps/app_meetme.c | |
parent | 7b5357fca17c89ca7be6df80e9f5ef7a719bb283 (diff) |
Add option to prompt for PIN even if specified (bug #3489)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@4949 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'apps/app_meetme.c')
-rwxr-xr-x | apps/app_meetme.c | 10 |
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; } } |