
                            CALLERID.EXE

          A Caller ID Reporting Utility for the BBS Sysop

                           (07 May 1991)


                 Copyright (c) 1991 by John Crouch



   컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴
                         THE TECH LINE BBS
          24 HOURS - 7 DAYS - US ROBOTICS HST 1440 - FREE
                         BBS: 301-696-1393
   컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴

        Call my BBS for the latest version of this program!

      **************** Download CALLERID.ZIP ****************




PURPOSE

CALLERID is a memory resident program that serves a specific
function.  It goes resident and monitors a COM port.  This COM port
has a Caller ID Box connected to it which sends out 31 characters of
information every time a call comes into your BBS (29 characters +
carriage + line feed).


CALLERID will log this information to a file on your hard disk.
CALLERID has several other features:


    If a caller has disabled his ID information from being
    transmitted to the numbers he/she is calling, then it is
    referred to as a "PRIVATE" call.  This is received by the Caller
    ID Box, and CALLERID will optionally create a "flag" file for
    the BBS software to detect.

    The Sysop can make a "Bad Numbers List" to hold numbers of
    people they DO NOT want to be allowed to call their system
    (basically a Trash Can file of phone numbers).  If one of these
    numbers is received, CALLERID will create a "flag" file for the
    BBS software to detect.



SYNTAX

                  CALLERID [config file name] | /U


    The Configuration File Name is the name of a file created by the
    CONFIG.EXE program included in this package.  If not specified
    on the command line, CALLERID.CFG is the default.


    /U  is used to remove the program from memory.  The TesSeRact
	library we use to handle the TSR routines will mark the
	program as waiting to be released, then if no other programs
	have been loaded after CALLERID that use the same interrupts
	it will remove CALLERID from memory.  If another program has
	been loaded that is using the same interrupts, then the
	program is marked to be released, but remains in memory
	(functioning) until the other program is removed and it is
	safe to remove CALLERID.

    If this sounds like a smart library for TSR programs, you're
    right! It's one heck of a library.  Check the end of this
    documentation for more information about TesSeRact.  By the way,
    if you look in the Turbo C On-Line Help Program (THELP.COM) you
    will see that Borland used the same library for it's TSR code.
    That says a lot for this library.

    If you use /U to uninstall the program, it must be the only
    parameter on the command line.

    << NOTE >>   The part of this program that uses the TesSeRact
    library is smart enough to know when another program has been
    loaded after it, that is using the same interrupts.  HOWEVER,
    the communications part of this program is not so smart!  The
    communications code is a set of routines to handle interrupt
    driven communications on the PC.  But these are small and simple
    routines!  They have not been cleaned up enough to be real
    smart.  The bottom line here is -- DO NOT LOAD ANY PROGRAM AFTER
    THIS PROGRAM THAT OPENS THE SAME COM PORT!  IF YOU DO, IT WILL
    PROBABLY WORK (ALTHOUGH IT MAY NOT) BUT YOU WILL NOT BE ABLE TO
    UNINSTALL THIS PROGRAM WITHOUT LOCKING UP YOUR MACHINE.





CREATING A CONFIGURATION FILE

Use the CONFIG.EXE file included in this package to create
configuration files. There is context sensitive help available for
the CONFIG program, so please use it to help you create your
configuration file.


Optional Files

    The PRIVATE Flag File (output file) is optional.  If you don't
    want one, leave this field blank.

    The BAD NUMBERS Flag File (output file) is also optional.  Leave
    this field blank if you don't want to use this option.

    The BAD NUMBERS LIST File (input file) is created by you and
    once again, if you don't want to use this option leave this
    field blank.

    When creating a Bad Numbers List file, put each phone number on
    one line.  CALLERID will flag any call that contains this number
    as bad.

    NOTE: MAKE SURE YOU PUT THE NUMBER IN THE LIST FILE EXACTLY AS
    IT IS RECEIVED BY THE CALLER ID BOX.  Spaces must be in the
    right place! Anything you put on this line will be flaged as
    bad.  An example would be if you had a line the had just "695"
    on it.  Every person that called that had "695" ANYWHERE in
    their phone number would be flaged as bad.  Example: 695-1212,
    389-6954, 606-3695 would all be flagged as bad numbers.  I had a
    line in the file once that was blank, and it ended up flagging
    every number as bad!

    With this you can flag an entire exchange as bad by using
    something like this:  "695-" or "389-", but make sure you put in
    the dash.




SOME TECHNICAL INFORMATION ABOUT HOW CALLERID WORKS

Each time CALLERID needs to write information to a file, it opens
the file, writes the information, and closes the file.  This is done
with the DOS File Handle routines.  No file is open all the time! If
there is some kind of error while trying to open the file, CALLERID
does nothing - no beeps, no warnings, nothing.  It just resets it's
buffer and the information that was to be written is lost.  When it
opens a file it opens it in the DENY NONE mode.  This is a share
mode that allow other program access to the program at the same
time.  I have not run CALLERID on a network, so let me know how it
works.

The communications buffer for CALLERID's COM port is about 128
bytes.  This is enough for about 4 calls worth of data.  The only
time this buffer might overflow is in a situtation where a lot of
DOS calls were happening (like running a disk test program) and
CALLERID did not get a chance to write to the disk.  I can't believe
that 4 phone calls would come in before CALLERID would get a chance
to write to the disk under normal use.  But, with programming, the
worst always happens <grin>.



DISCLAIMER

This program is released into the PUBLIC DOMAIN.  It is free!  I am
not trying to make a fast buck on this program.  I think that Sysops
spend enough money on their systems and don't need one more person
with their hand out.  These kinds of utilities can "nickle and dime"
a Sysop to death!

I MAKE NO CLAIM THAT THIS PROGRAM WILL WORK AT ALL.  IF IT DOES
WORK, I DO NOT CLAIM THAT IT WILL NOT DAMAGE YOUR VALUED HARDWARE OR
SOFTWARE IN THE PROCESS.  USE AT YOUR OWN RISK!

I am not a full time programmer, and don't have the resources or
time to create a perfect program.  It is a step beyond slapping
something together, but I don't put 40 hours a week into it either.
Feel free to call our BBS and let me know if it works great for you,
or if it does not work at all for you.  I may (or may not) get
around to fixing problems.  But what do you expect for free <grin>.



SOME CREDITS


Thanks to Roger Gray at Mr. Gray's Toy for testing EVERYTHING!  Roger
asked me to make this program for him, did all the testing, and gave
me ideas for features that should be added.


                Mr. Gray's Toy - USR HST - 24 Hours

                      3 0 1 - 4 7 3 - 8 7 8 1



                        --------------------

This product uses the TesSeRact(TM) Ram-Resident Library and
supports the TesSeRact Standard for Ram-Resident Program
Communication.  For information about TesSeRact, contact the
TesSeRact Development Team at:

          TesSeRact Development Team
          c/o Chip Rabinowitz
          2084 Woodlawn Avenue
          Glenside, PA 19038
          1-215-884-3373

          Compuserve:   70731,20
          MCIMAIL:      315-5415

This MCIMAIL Account has been provided to the TesSeRact
Development Team by Borland International, Inc.  The TesSeRact
Development Team is in no way associated with Borland
International, Inc.  TesSeRact is a trademark of the TesSeRact
Development Team.

