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 . 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 . 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.