diff --git a/apps/app_lookupcidname.c b/apps/app_lookupcidname.c new file mode 100755 index 0000000000000000000000000000000000000000..fdac3abde56874943b0fc25e9a0ad895e2f2dfad --- /dev/null +++ b/apps/app_lookupcidname.c @@ -0,0 +1,111 @@ +/* + * Asterisk -- A telephony toolkit for Linux. + * + * App to set callerid name from database, based on directory number + * + * Copyright (C) 1999, Mark Spencer + * + * Mark Spencer <markster@linux-support.net> + * + * This program is free software, distributed under the terms of + * the GNU General Public License + */ + +#include <asterisk/lock.h> +#include <asterisk/file.h> +#include <asterisk/logger.h> +#include <asterisk/options.h> +#include <asterisk/channel.h> +#include <asterisk/pbx.h> +#include <asterisk/module.h> +#include <asterisk/translate.h> +#include <asterisk/image.h> +#include <asterisk/callerid.h> +#include <string.h> +#include <stdlib.h> +#include <pthread.h> + +static char *tdesc = "Look up CallerID Name from local database"; + +static char *app = "LookupCIDName"; + +static char *synopsis = "Look up CallerID Name from local database"; + +static char *descrip = + " LookupCIDName: Looks up the Caller*ID number on the active\n" + "channel in the Asterisk database (family 'cidname') and sets the\n" + "Caller*ID name. Does nothing if no Caller*ID was received on the\n" + "channel. This is useful if you do not subscribe to Caller*ID\n" + "name delivery, or if you want to change the names on some incoming\n" + "calls. Always returns 0.\n"; + +STANDARD_LOCAL_USER; + +LOCAL_USER_DECL; + +static int +lookupcidname_exec (struct ast_channel *chan, void *data) +{ + char old_cid[144] = "", *num, *name; + char new_cid[144]; + char dbname[64]; + char shrunknum[64] = ""; + struct localuser *u; + + LOCAL_USER_ADD (u); + if (chan->callerid) + { + strncpy (old_cid, chan->callerid, sizeof (old_cid) - 1); + ast_callerid_parse (old_cid, &name, &num); /* this destroys the original string */ + if (num) /* It's possible to get an empty number */ + strncpy (shrunknum, num, sizeof (shrunknum) - 1); + else + num = shrunknum; + ast_shrink_phone_number (shrunknum); + if (!ast_db_get ("cidname", shrunknum, dbname, sizeof (dbname))) + { + snprintf (new_cid, sizeof (new_cid), "\"%s\" <%s>", dbname, num); + ast_set_callerid (chan, new_cid, 0); + if (option_verbose > 2) + ast_verbose (VERBOSE_PREFIX_3 "Changed Caller*ID to %s\n", + new_cid); + } + + } + LOCAL_USER_REMOVE (u); + return 0; +} + +int +unload_module (void) +{ + STANDARD_HANGUP_LOCALUSERS; + return ast_unregister_application (app); +} + +int +load_module (void) +{ + return ast_register_application (app, lookupcidname_exec, synopsis, + descrip); +} + +char * +description (void) +{ + return tdesc; +} + +int +usecount (void) +{ + int res; + STANDARD_USECOUNT (res); + return res; +} + +char * +key () +{ + return ASTERISK_GPL_KEY; +} diff --git a/contrib/scripts/vmail.cgi b/contrib/scripts/vmail.cgi index 49e9008e078995618774a9dec88ff1082239c121..7071b34f4a1ba4206529277c3c3b5d1e7822a36f 100755 --- a/contrib/scripts/vmail.cgi +++ b/contrib/scripts/vmail.cgi @@ -12,6 +12,7 @@ # # use CGI qw/:standard/; +use CGI::Carp qw(fatalsToBrowser); @validfolders = ( "INBOX", "Old", "Work", "Family", "Friends", "Cust1", "Cust2", "Cust3", "Cust4", "Cust5" ); @@ -36,7 +37,7 @@ use CGI qw/:standard/; $astpath = "/_asterisk"; $stdcontainerstart = "<table align=center width=600><tr><td>\n"; -$footer = "<hr><font size=-1><a href=\"http://www.asterisk.org\">The Asterisk Open Source PBX</a> Copyright 2002, <a href=\"http://www.linux-support.net\">Linux Support Services, Inc.</a></a>"; +$footer = "<hr><font size=-1><a href=\"http://www.asterisk.org\">The Asterisk Open Source PBX</a> Copyright 2002, <a href=\"http://www.digium.com\">Digium, Inc.</a></a>"; $stdcontainerend = "</td></tr><tr><td align=right>$footer</td></tr></table>\n"; sub login_screen() { @@ -48,13 +49,14 @@ sub login_screen() { <BODY BGCOLOR="white"> $stdcontainerstart <FORM METHOD="post"> +<input type=hidden name="action" value="login"> <table align=center> <tr><td valign=top align=center rowspan=6><img align=center src="$astpath/animlogo.gif"></td></tr> <tr><td align=center colspan=2><font size=+2>Commedian Mail Login</font></td></tr> <tr><td align=center colspan=2><font size=+1>$message</font></td></tr> <tr><td>Mailbox:</td><td><input type=text name="mailbox"></td></tr> <tr><td>Password:</td><td><input type=password name="password"></td></tr> -<tr><td align=right colspan=2><input name="action" value="login" type=submit></td></tr> +<tr><td align=right colspan=2><input value="Login" type=submit></td></tr> </table> </FORM> $stdcontainerend diff --git a/vmail.cgi b/vmail.cgi index 49e9008e078995618774a9dec88ff1082239c121..7071b34f4a1ba4206529277c3c3b5d1e7822a36f 100755 --- a/vmail.cgi +++ b/vmail.cgi @@ -12,6 +12,7 @@ # # use CGI qw/:standard/; +use CGI::Carp qw(fatalsToBrowser); @validfolders = ( "INBOX", "Old", "Work", "Family", "Friends", "Cust1", "Cust2", "Cust3", "Cust4", "Cust5" ); @@ -36,7 +37,7 @@ use CGI qw/:standard/; $astpath = "/_asterisk"; $stdcontainerstart = "<table align=center width=600><tr><td>\n"; -$footer = "<hr><font size=-1><a href=\"http://www.asterisk.org\">The Asterisk Open Source PBX</a> Copyright 2002, <a href=\"http://www.linux-support.net\">Linux Support Services, Inc.</a></a>"; +$footer = "<hr><font size=-1><a href=\"http://www.asterisk.org\">The Asterisk Open Source PBX</a> Copyright 2002, <a href=\"http://www.digium.com\">Digium, Inc.</a></a>"; $stdcontainerend = "</td></tr><tr><td align=right>$footer</td></tr></table>\n"; sub login_screen() { @@ -48,13 +49,14 @@ sub login_screen() { <BODY BGCOLOR="white"> $stdcontainerstart <FORM METHOD="post"> +<input type=hidden name="action" value="login"> <table align=center> <tr><td valign=top align=center rowspan=6><img align=center src="$astpath/animlogo.gif"></td></tr> <tr><td align=center colspan=2><font size=+2>Commedian Mail Login</font></td></tr> <tr><td align=center colspan=2><font size=+1>$message</font></td></tr> <tr><td>Mailbox:</td><td><input type=text name="mailbox"></td></tr> <tr><td>Password:</td><td><input type=password name="password"></td></tr> -<tr><td align=right colspan=2><input name="action" value="login" type=submit></td></tr> +<tr><td align=right colspan=2><input value="Login" type=submit></td></tr> </table> </FORM> $stdcontainerend