| News |
|
26-Nov-2001
|
Version 1.0.14
-
NOTE!! Changed it to default to NOT have the socket open, please
use -socket now to enable it.
-
Added Pg table definition, ability to connect to remote database (Miles Lott).
-
Added a configuration file. See bcidl.conf for an example.
-
I seem to be having problems with the name in the download directory,
please be sure you get 1.0.14 and not an earlier version.
|
21-May-2001
|
Version 1.0.13
-
Added '-fixpriv' option to change the 'O' and 'P' numbers
to a more human-readable form. Added catch for "MESG" key if the
"NAME" key is empty from the modem.
(Thanks Alok K. Dhir)
|
05-May-2001
|
Version 1.0.12
-
Fixed the $SIG{HUP} line to actually point to a function.
(Thanks Charles Galpin.)
|
|
10-Jan-2001
|
Version 1.0.11
-
Updated termios using code from
Device::SerialPort.
-
Better modem reading code.
-
Works with RedHat 7.0.
DSS Controll w/Perl + Serial Port (For reference)
|
16-Aug-2000
|
Version 1.0.10
-
New (or now functioning) '-nosocket' option if you do not want a port listener.
-
Fixed, again, the interaction with pppd. It seems that in the daemon
mode I was closing and unlocking the modem in the parent process.
-
More verbose log files. Now the PID and a date/time are reported.
-
Kludge so that -k does not kill some editing programs looking at
the code.
-
The rc script contains the -nosocket by default. I do not want
to be mentioned on security focus or bugtrack :) .
|
|
26-May-2000
|
Version 1.0.9
-
New '-nodb' option if you do not want to log the data to a databse.
-
Better DBI error reporting to track down problems.
-
Email! As suggested by Christian Caper you can now send email
based on simple rulesets. Run the program with -? to see
the syntax. Of note:
(1) You can send email to different addresses for different rules.
(2) You can send all email to the same address for different rules.
Really, I will document this better some day.
|
|
03-May-2000
|
Version 1.0.8
-
More fixes to catch when pppd is running. Specifically,
the regex that looks for KEY=VALUE is better (added ^).
-
The signal_handler sets the handler to an
anonymous sub that exits so if the user tries to
kill the program multiple times it will actuall exit.
|
|
20-Apr-2000
|
Version 1.0.7
-
Now handles split-line modem reads (last fix did not seem to work).
-
The order of the KEY = VALUE data from the modem does not matter.
|
|
18-Apr-2000
|
Version 1.0.6
-
Fixed the problem where the modem would not get set back into
line mode after pppd ran and exited.
-
Added command line options for debugging (-d or -debug) and
to kill other running processes (-k). Note that you have to have
the standard module Getopt::Long installed for this to work but it
will still work even if you do not.
|
|
13-Apr-2000
|
Version 1.0.5
More patches from Ryan Ayers:
|
|
12-Apr-2000
|
Version 1.0.4
More patches from Ryan Ayers:
-
Network code clean ups.
-
"-w" warning removal except a nasty one on the POSIX.pm module.
-
"callerid.pl" Tk program for instant notification of new calls on your desktop.
-
Better signal handling.
|
|
05-Apr-2000
|
Version 1.0.2
-
Applied a patch by Ryan Ayers to try to write data to a UNIX file socket
so another program can get the caller ID information in near
real time. Added his name to the perlpod AUTHORS.
-
Made it so that you can run pppd without having to stop and start
basic_callerid_logger.
|
|
24-Feb-2000
|
Version 1.0.0
Ininitial Release.
|
Here is the man page:
basic_callerid_log.pl - log calls to a DBI/DBD database.
This program provides basic caller-id logging to a database. It was written
to use mysql but as long as you can generate the table for your own
database, it should work fine. It puts the data into the table without any
format changes: The idea is that an auxiliary program can make the format
changes when it displays the data.
There are some example GUI caller-id programs available where you found
this. The standard one is called callerid.pl. Later in this documentation
is the socket-based API for you to make your own callerid GUI. If you make
one, please send it to me, and I'll add it to the ftp.
The following modules are required for this program. If you did not get
them with your perl distribution, you can find them on your favorite CPAN
mirror. Or try perl -MCPAN -e shell as root.
- Modem
-
Your modem has to support callerid and you also have to have that service.
Usually the phone company charges for it.
- DBI
-
The database independent interface.
- DBD
-
A DBI driver for your favorite database (yfdb).
- POSIX
-
For the termios stuff.
- FileHandle
-
An IO abstraction layer. Standard with most installs of perl.
- IO::Socket
-
For client/server API.
- IO::Select
-
In order to accomodate multiple clients.
- Fcntl
-
For locking. Standard?
- Database
-
Some database for which you have installed the DBD module. The 'CREATE
TABLE' definitions are in the source code so do a 'more' on this program to
find it. If you design a new schema, please send it to me so I can add it.
You can get MySQL from http://www.mysql.com/ .
This API let you program your own callerid GUI. It leaves all the
dirty-work to basic_callerid_logger.pl. Below is a step by step
explaination of how you need to setup your sockets, and send/recv data on
them.
- Start a UDP socket on your local port.
-
This is for you to receive callerid broadcasts from the server
- Make a TCP connection to the server.
-
- Send socket setup information.
-
FORMAT: ADD-username=$username&password=$password&
hostname=$myhostname&port=$myport
- Receive confirmation.
-
FORMAT: (FAILED|ADDING)
- Listen for callerid broadcasts on our local listen port.
-
RECV: All callerid information separated by comma's
- Send server the remove signal when your done.
-
FORMAT: REMOVE-username=$username&password=$password&
hostname=$myhostname&port=$myport
This program is released under the GNU GPL V2. For the record most of the
modem interface code was ported directly from StdModem.C in xcallerid --
which is also a GPL program.
Requires a bit of user intervention to set up.
Bill Adams bill<at>evil<dot>inetarena<dot>com
Ryan Ayers rayers<at>amsales<dot>net
The latest version of this can be found somewhere on
http://evil.inetarena.com/.