summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
authorMark Spencer <markster@digium.com>2004-03-23 05:32:36 +0000
committerMark Spencer <markster@digium.com>2004-03-23 05:32:36 +0000
commit6e15f28d6a7a8c54f0425787c4e302b64c100a18 (patch)
tree13dcb8065a5c6127afdc8c31291480a9b28da265 /apps
parentb5d452b1c786a278643e80f64f6ada2b5528b131 (diff)
Clarify documentation on Directory
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2533 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'apps')
-rwxr-xr-xapps/app_directory.c16
1 files changed, 11 insertions, 5 deletions
diff --git a/apps/app_directory.c b/apps/app_directory.c
index 8e8f62455..199888b23 100755
--- a/apps/app_directory.c
+++ b/apps/app_directory.c
@@ -37,7 +37,8 @@ static char *descrip =
"discovered from voicemail.conf. The context argument is required, and\n"
"specifies the context in which to interpret the extensions. Returns 0\n"
"unless the user hangs up. It also sets up the channel on exit to enter the\n"
-"extension the user selected.\n";
+"extension the user selected. Please note that the context must be the same\n"
+"as the section in voicemail.conf that the mailbox is processed from as well.\n";
/* For simplicity, I'm keeping the format compatible with the voicemail config,
but i'm open to suggestions for isolating it */
@@ -199,10 +200,15 @@ ahem:
ast_stopstream(chan);
if (res > -1) {
if (res == '1') {
- strncpy(chan->exten, v->name, sizeof(chan->exten)-1);
- chan->priority = 0;
- strncpy(chan->context, context, sizeof(chan->context)-1);
- res = 0;
+ if (ast_exists_extension(chan, context, v->name, 1, chan->callerid)) {
+ strncpy(chan->exten, v->name, sizeof(chan->exten)-1);
+ chan->priority = 0;
+ strncpy(chan->context, context, sizeof(chan->context)-1);
+ res = 0;
+ } else {
+ ast_log(LOG_WARNING, "Can't find extension '%s' in context '%s'. Did you pass the wrong context to Directory?\n", v->name, context);
+ res = -1;
+ }
break;
} else if (res == '*') {
res = 0;