Version 0.3.0 from FTP
authorMark Spencer <markster@digium.com>
Mon, 20 Jan 2003 19:33:22 +0000 (19:33 +0000)
committerMark Spencer <markster@digium.com>
Mon, 20 Jan 2003 19:33:22 +0000 (19:33 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@587 65c4cc65-6c06-0410-ace0-fbb531ad65f3

apps/app_lookupcidname.c [new file with mode: 0755]
contrib/scripts/vmail.cgi
vmail.cgi

diff --git a/apps/app_lookupcidname.c b/apps/app_lookupcidname.c
new file mode 100755 (executable)
index 0000000..fdac3ab
--- /dev/null
@@ -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;
+}
index 49e9008..7071b34 100755 (executable)
@@ -12,6 +12,7 @@
 #
 #
 use CGI qw/:standard/;
 #
 #
 use CGI qw/:standard/;
+use CGI::Carp qw(fatalsToBrowser);
 
 @validfolders = ( "INBOX", "Old", "Work", "Family", "Friends", "Cust1", "Cust2", "Cust3", "Cust4", "Cust5" );
 
 
 @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";
 $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() {
 $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">
 <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>
 <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
 </table>
 </FORM>
 $stdcontainerend
index 49e9008..7071b34 100755 (executable)
--- a/vmail.cgi
+++ b/vmail.cgi
@@ -12,6 +12,7 @@
 #
 #
 use CGI qw/:standard/;
 #
 #
 use CGI qw/:standard/;
+use CGI::Carp qw(fatalsToBrowser);
 
 @validfolders = ( "INBOX", "Old", "Work", "Family", "Friends", "Cust1", "Cust2", "Cust3", "Cust4", "Cust5" );
 
 
 @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";
 $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() {
 $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">
 <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>
 <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
 </table>
 </FORM>
 $stdcontainerend