SPCID(1) SPCID(1) NAME spcid - use a modem to display telephone line Caller ID's and dial telephone numbers SYNOPSIS spcid [-D] [-d device] [-i infilename] [-L logfile] [-l lockfile] [-o outfilename] [-s string] [-v] DESCRIPTION Spcid is for using a modem to display telephone line Caller Identifica- tion, (CID,) data and dial telephone numbers. The program uses syn- chronous canonical serial port processing. The default port is /dev/ttyS0 at 38400 baud. The default semaphore lock file is /var/lock/LCK..ttyS0, which has an fcntl(2) advisory lock applied, also. The serial port is controlled through termios(3), and is restored to original values on exit. The serial port child read process is cre- ated by fork(2) from the parent write process, and both processes respond to SIGINT = ^C and SIGTERM signals. The CID data from the modem is formatted: DATE = 1102 TIME = 2036 NAME = Someone's Name NMBR = 1235551212 The CID data is formatted and printed to STDOUT, (or possibly a named pipe specified with the outfile argument,) and formatted and appended to a log file, (with the default name /var/log/cid/spcid.log,) as a Unix tab delimited flat file database. There is a simple Perl(1) script, spcid.pl, to query the database. Phone numbers can be typed on the program's STDIN, (or possibly a named pipe specified with the infile argument,) for the modem to place dial calls. The modem dials the number, and immediately goes on hook, so a telephone on the same line must be off hook by the end of the dial- which is useful for placing calls from a database, or computer termi- nal. (The proceedure is to lift the receiver off hook, and then have the program dial the number, possibly out of a menu, etc.) OPTIONS -D Enable debugging, (disabled). -d device Device name, (/dev/ttyS0). -i infilename Input filename, (stdin). -L logfile Log file name, (/var/log/cid/cid.log). -l lockfile Lock file name, (/var/lock/LCK..ttyS0). -o outfilename Output filename, (stdout). -s string Modem initialization string, (AT&F1E1V1Q0S0=0#CID=1). -v Print the program's version information WARNINGS The termios(3) and fopen(2) settings tested only on Linux 2.4, and on US Robotics 56K, V.92, and, 33.6 Sportster. No others were tested. The semaphore locking mechanism uses fcntl(2), and may not be compatible with other serial programs. SEE ALSO spcid(1), spgettermios(1) spsettermios(1), spttyS0(1), spttyS1(1), sprawS0(1), sprawS1(1), phone.sh(1) DIAGNOSTICS Error messages for incompatible arguments, inaccessible files, and opening and closing files. AUTHORS ---------------------------------------------------------------------- A license is hereby granted to reproduce this software source code and to create executable versions from this source code for personal, non-commercial use. The copyright notice included with the software must be maintained in all copies produced. THIS PROGRAM IS PROVIDED "AS IS". THE AUTHOR PROVIDES NO WARRANTIES WHATSOEVER, EXPRESSED OR IMPLIED, INCLUDING WARRANTIES OF MERCHANTABILITY, TITLE, OR FITNESS FOR ANY PARTICULAR PURPOSE. THE AUTHOR DOES NOT WARRANT THAT USE OF THIS PROGRAM DOES NOT INFRINGE THE INTELLECTUAL PROPERTY RIGHTS OF ANY THIRD PARTY IN ANY COUNTRY. Copyright (c) 1994-2006, John Conover, All Rights Reserved. Comments and/or bug reports should be addressed to: john@email.johncon.com (John Conover) ---------------------------------------------------------------------- June 18, 2006 SPCID(1)