1.1.21 : Caller ID without answeing?

Jason White (jdwhite@iastate.edu)
Sun, 25 Jul 1999 22:32:13 CDT



>Is 1.1.21 able to Do caller ID without actually picking up the call?
>
>I believe the previous versions weren't able to do this.

  Sure you could by using 'cnd-program' calling a program that always
returned a status of 1 and by setting 'rings' to a number greater than
that of any device that may answer the phone on its own such as your FAX
modem or answering machine.  This assumes, of course that your modem was
already set to pass caller-id (AT#CID=1 on Rockwell modems).

>(I want all calls ID'd, but only calls on the second distinctive ring answered
>).

Here's the relevent bits of a perl script I use to get caller-id for all
calls and make the fax modem answer only if its a distinctive ring call
(or mgetty is sent a SIGUSR1):

#!/usr/bin/perl

$tty        = $ARGV[0];
$number     = $ARGV[1];
$name       = $ARGV[2];
$line       = $ARGV[3];
$num_called = $ARGV[4];

# $line = 0 if mgetty is forced to answer by catching a SIGUSR1
# $line = 1 for a "normal" call
# $line = 2 for a distictive ring call
if ($line != 1) {
  fork && exit(0); # tell FAX modem to answer
}

#
# Process caller-id information here
#
[...]

I do several things with the caller-id information (broadcast over the
LAN, page two people, stash the caller-id info in a special logfile), so I
fork() as soon as possible if it's not a normal call and return a status
code of zero, thereby causing the modem to answer the call ASAP.  Note: I
have 'rings 2' in my mgetty.conf file.

Prior to 1.2.21, if you wanted to grab the caller-id information you
always had to wait for the second ring before 'cnd-program' was invoked
since:

  1) the caller-id information comes between the first and second ring
  2) mgetty had no way to call cnd-program immediately after collecting
     the caller-id information.

With 1.2.21 and a 'rings 2' in your mgetty.conf file, cnd-program will get
called immediately after the caller-id information is collected by faking
a RING.  Since mgetty things that it's seen two actual rings, cnd-program
is called before the second actual ring.

Gert: thanks for implementing this feature.  Mgetty just keeps getting
      better and better!

-Jason

--
       Jason D. White                http://www.public.iastate.edu/~jdwhite
     jdwhite@iastate.edu                 finger for other information
    Iowa State University            (PGP pub key, Anon FTP, US Mail Addr)
Durham Center Operations Staff       Strive for excellence, not perfection.