aboutsummaryrefslogtreecommitdiffstats
path: root/apps/app_directory.c
diff options
context:
space:
mode:
authormarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2004-03-23 05:32:36 +0000
committermarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2004-03-23 05:32:36 +0000
commit9ea1d08cd6cdaf6f5f9a9876afa7ffd2ac3f0f41 (patch)
tree13dcb8065a5c6127afdc8c31291480a9b28da265 /apps/app_directory.c
parentd37c3d417c6762e49930a1f05fae1cda326da180 (diff)
Clarify documentation on Directory
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@2533 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'apps/app_directory.c')
-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;