Telemarketing (Junk) Call Blocker

About the Program: jcblock

This program connects to a modem and listens for the caller ID string that is sent between the first and second rings. It records the string in file callerID.dat. It then reads strings from file whitelist.dat and scans them against the caller ID string for a match. If it finds a match it accepts the call. If a match is not found, it reads strings from file blacklist.dat and scans them against the caller ID string for a match. If it finds a match to a string in the blacklist, it terminates the junk call.

The program also updates the date field of a matching whitelist or blacklist entry. Entries that are old may then be identified so that they may be removed. Note that the program will operate with only a blacklist.dat file defined. A whitelist is not required.

Functions to manage the truncation (removal) of records from the blacklist.dat and callerID.dat files are present in file truncate.c. Records in the blacklist.dat file that have not been used to terminate a call within the last nine months are removed. Records in the callerID.dat file that are older than nine months are removed. The operations are performed every thirty days. Alternatively, entries in the .dat files may be edited manually.

The currently preferred modem is the Sewell model (shown above). More detailed information is available in the project's README files. Source files are available at http://sourceforge.net/ (enter 'jcblock' in the Search window). The program is written in C.