Introduction
PMON2 is a program used to block unwanted phone calls. It does this
by using a dial-up type modem that has call display capability.
Most internet users don't use dial-up modems anymore, and they are
often available for free. The modem must have call display/caller ID capability.
Please refer to the manufacturer's specifications.
So, you hook
up your modem to a serial port as if you were using it for dial-up. You
can use a serial port to USB adapter. Windows assigns a COM port number
to each serial port or modem.
Once running, PMON2 looks for call display information from incoming
calls. If a call meets certain criteria, PMON2 answers the phone, then
hangs up. You get one ring, but that's all.
PMON2 was written on a Windows 7 32 or 64 bit operating system. It
should run under XP and newer windows versions, but I have no way to test it.
If you get an error message like
application can't be executed, you have to install the
Visual C++ 2008 Redistributable Package.
Legal
PMON2 is provided
free under the MIT license. There is no warranty or support. I
retain the
copyright to the source code ( PMON2 Copyright (C)
Jack
Botner 2017 ). The program can be used by anyone for
any purpose. I do
not provide support but am always interested in constructive
comments.
The license for my code can be found
here
or
here.
Installation and Modem Set-upThere
is no set-up program. Copy PMON2.EXE and PMON2.HTML (and optionally
AREACODE.TXT) wherever you like on your hard drive. It can be run
through the Windows Start menu->Run, or you can manually create an
icon on your desktop or in the start menu.
The first time you
run PMON2 it will start offline. You have to go to the Options dialog
(View->Options) and set or confirm the options there. First you have
to enter the COM port number, a value between 1 and 10. If you don't
know what it is. go to Windows Device Manager->Modems->(Select
your modem)->Properties->Modem Tab and you should find it there.
At
the bottom of the dialog are the modem commands needed for PMON2 to run.
They are initialized to the commands I use for my modem, a US Robotics
V.92 USB modem model USR5637. The 3 initialization commands turn echo
off, hang up, and turn call display on. You can edit these commands
and provide up to 5 commands. Following that are commands for answering
the phone and hanging up. Check your modem's documentation in case your commands are different.
Check
the global blocks items as you wish. 99% of the 8xx toll-free numbers
are from telemarketers. There is the odd exception and you can use
the friends list for those if you like.
PMON2
is provided with
an area code database called AREACODE.TXT. Its use is optional. The
areacode database is used to supply information on the PMON2 messages
dialog after a call has been received. (For calls not blocked by PMON2
it is handy to know where they come from.) You can use it or another
one as long as the format is the
same. The file I proviide was downloaded from a web site which has
since changed to a formatted display that is unsuited for download. Notepad can be on the file to add a new areacode.
Once the options have
been set up, close PMON2 and start it again. If all goes well, it
should initialize the modem and start monitoring phone calls.
The PMON2 Window
The PMON2 window is simply a list of messages. First, any messages
arriving from the modem are displayed. Actions and information
generated by
PMON2 are also displayed. When a call is received, the modem sends the following 4 messages:
DATE = 0312 TIME = 0920 NAME = WILEY COYOTE NMBR = 4165551234 |
When these messages are found, PMON2 assembles the following record:
4165551234 03/12/15 09:20 WILEY COYOTE |
The name
and number are inspected against the name and number databases and the program
options to see if the call should be blocked.
I should point out
here that other modems may format the data differently,
in which case
PMON2 will not work correctly. I have tested PMON2 with only one modem,
so support for other modems is an open issue at this point.
Databases and FilesPMON2 supports three databases:
- Blocked numbers
- Blocked names
- Fridnds numbers
Functions
are provided to add calls to these databases. When a call is received,
you can place your pointer over the PMON2 formatted line shown above, and
right click. A popup menu appears that allows you to place the call
information on any of the databases, or copy the number to the
clipboard.
You can also add a friend or blocked number from the File->Add Manually menu.
In addition you can view any of the databases by clicking on the View menu and selecting one of the
databases.
The
databases are created by PMON2 and stored in your user application data
area. On my system it is C:\USERS\[userid]\APPDATA\ROAMING\PMON2.
(APPDATA is by default hidden on most computers, but the attribute can
be changed.) The
databases are pure text data and are named
- block_numbers.txt
- block_names.txt
- friend_numbers.txt
These
may be edited manually using a text editor such as Notepad, but PMON2
must be closed first. The same applies to the areacode database,
wherever it is. Be careful with the format of the data in these files,
or else PMON2 will malfunction.
PMON2 creates two logfiles.
There is a program log called pmon2_log.txt. There is also a call log
named call_log.txt. They may be viewed with Notepad if you wish.
Finally PMON2 creates a file called pmon2.ini to store program options.
It's best not to edit this file.
Program Update informationIn
2017 I switched from landline to VOIP. The call display data changed,
sometimes quite significantly. For one thing, nunbers could be 20
digits instead of the 10 I had previously supported. This resulted in a
number of changes to the program to get everything working again.