mirror of
				https://github.com/asterisk/asterisk.git
				synced 2025-11-03 20:38:59 +00:00 
			
		
		
		
	Version 0.3.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@587 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
		
							
								
								
									
										111
									
								
								apps/app_lookupcidname.c
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										111
									
								
								apps/app_lookupcidname.c
									
									
									
									
									
										Executable file
									
								
							@@ -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;
 | 
			
		||||
}
 | 
			
		||||
@@ -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
 | 
			
		||||
 
 | 
			
		||||
@@ -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
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user