Jeremiah Millay
2006-Jun-14 12:17 UTC
[Asterisk-Users] Directory - First Name/Last Name - How to, use both? a@h?
We wrote and submitted a patch to do this. Just modify app_directory.c
and recompile. It adds a new flag "b" to the directory( ) app where
you
can have it use both first and last name.
-= Info about application 'Directory' =-
[Synopsis]
Provide directory of voicemail extensions
[Description]
Directory(vm-context[|dial-context[|options]]): This application will
present
the calling channel with a directory of extensions from which they can
search
by name. The list of names and corresponding extensions is retrieved
from the
voicemail configuration file, voicemail.conf.
This applicaiton will immediate exit if one of the following DTMF
digits are
received and the extension to jump to exists:
0 - Jump to the 'o' extension, if it exists.
* - Jump to the 'a' extension, if it exists.
Parameters:
vm-context - This is the context within voicemail.conf to use for the
Directory.
dial-context - This is the dialplan context to use when looking for an
extension that the user has selected, or when jumping
to the
'o' or 'a' extension.
Options:
f - Allow the caller to enter the first name of a user in the directory
instead of using the last name.
b - Allow the caller to enter the first name OR last name of a user in
the directory.
Here is the patch:
Index: app_directory.c
==================================================================RCS file:
/usr/cvsroot/asterisk/apps/app_directory.c,v
retrieving revision 1.52
diff -u -r1.52 app_directory.c
--- app_directory.c 11 Nov 2005 15:52:55 -0000 1.52
+++ app_directory.c 12 May 2006 21:58:35 -0000
@@ -63,7 +63,9 @@
" 'o' or 'a' extension.\n\n"
" Options:\n"
" f - Allow the caller to enter the first name of a user in the
directory\n"
-" instead of using the last name.\n"; +" instead
of using
the last name.\n"
+" b - Allow the caller to enter the first name OR last name of a
user in\n"
+" the directory.\n";
/* For simplicity, I'm keeping the format compatible with the voicemail
config,
but i'm open to suggestions for isolating it */
@@ -345,6 +347,20 @@
pos = strsep(&stringp, ",");
if (pos) {
ast_copy_string(name, pos, sizeof(name));
+ if (last == 2) /* Check the first name as well */
+ {
+ conv = convert(pos);
+ if (conv) {
+ if (!strcmp(conv, ext)) {
+ /* Match! */
+ found++;
+ free(conv);
+ free(start);
+ break;
+ }
+ free(conv);
+ }
+ }
/* Grab the last name */
if (last && strrchr(pos,' '))
pos = strrchr(pos, ' ') + 1;
@@ -434,6 +450,8 @@
options++; if (strchr(options, 'f'))
last = 0;
+ if (strchr(options, 'b'))
+ last = 2;
}
} else
dialcontext = context;
@@ -448,8 +466,10 @@
if (ast_strlen_zero(dirintro))
dirintro = ast_variable_retrieve(cfg, "general",
"directoryintro");
if (ast_strlen_zero(dirintro)) {
- if (last)
+ if (last==1)
dirintro = "dir-intro";
+ else if (last==2)
+ dirintro = "dir-intro-fnln";
else
dirintro = "dir-intro-fn";
}
--
______________________________________________________________
Rock River Internet Jeremiah Millay
202 W. State St, 8th Floor jeremiah@rockriver.net
Rockford, IL 61101 815-968-9888 Ext. 2202
USA fax 968-6888
Apparently Analagous Threads
- 0002475: [patch] Allow app_directory to work with REALTIME
- Bristuff bug or feature ? (Was: Are .call files working with extensions.ael ? bristuff problem)
- Directory doesn't work well Asterisk@home2.7- try from PSTN with Digital recepcionist- Directory based on Last name
- MySQL Voicemail and Directory Patch
- rtpip patch
