[comp.dcom.telecom] ClassMate: A Review

dave@westmark.westmark.com (Dave Levenson) (01/03/91)

ClassMate is a device which allows your computer to read the caller's
phone number on inbound calls, when this information is supplied by
your telephone company if you have subscribed to Caller*ID service.

I ordered ClassMate(tm) from Bell Atlantic Business Supplies at
800-523-0552.  The price is $49.95.  The unit is manufactured by MHE
Systems Corporation of Tustin, CA.  Catalog number TCCM10.

It consists of a plastic minibox with two 6-pin modular connectors
(RJ-11) on one end (labeled LINE and PHONE) and a 25-pin RS-232
connector on the other end.

The two modular connectors are apparently wired together, allowing you
to use this box with your single-line telephone set without an
external T connector.

The RS-232 connector outputs the data to your computer.  The device
also obtains its operating power from your computer's RS-232 serial
port.  It draws power from the RTS or DTR leads (+12 volts) and from
the TXD lead (-12 volts).  It outputs data on the RXD lead.  The other
pins on the RS-232 connector, apparently, are not connected.  It looks
like a modem to your computer, which means that a standard modem cable
is all that's needed to attach it to a serial port on your computer.
Velcro(tm) fasteners are provided to attach the minibox to the side or
your PC.

Data from the device is output asynchronously at 1200 bps in ASCII,
one stop-bit, 8 data bits, no parity.

When the device is powered up (when the computer asserts RTS or DTR
and leaves its TXD signal in its normal idle (marking) state) it
outputs a power-up message, giving its firmware version number and
copyright information.

On each inbound call, the device outputs a call message of 31 bytes.
The message includes the date, time, complete phone number, a
single-character message validity indicator, and an ascii CR and LF.
A typical message looks like:

01/02  21:15  (908)647-0900 G

followed by \r\n.

If the message checksum does not match, the G is replaced by B.  If an
individual character is received with a parity error, it is replaced
by E.  Other messages which may be received from the unit are:

MM/DD  HH:MM   OUTSIDE call G
MM/DD  HH:MM   PRIVATE call G
*message WAITING*
*message CLEARED*

(The capitalization is as shown.)  These messages indicate that a call
from outside your Caller*ID service area was received, that a call has
arrived from a caller who used per-call or per-line ID-blocking, or
that your telephone company-provided voice mail service has set or
cleared the message-waiting status for your line.

There is no indication from the device that the call was answered, or
how many rings were received.  The device contains no buffering, and
appears not to recognize any hardware or software flow control.  The
application must be ready to accept a line of up to 31 bytes at any
time that the phone may ring.  Bell Atlantic's catalog indicates that
the device can store the last ten calls.  This appears not to be the
case, but the demo software (see next paragraph) does provide this
capability.

A demo program for the device came with it on a 5.25" MS-DOS-formatted
diskette.  The demo program is a DOS 'terminate and stay-resident'
background program that occupies 6K of RAM.  It emulates the Call
Identifier devices by displaying a 'pop-up window' on your PC each
time a call arrives.  In this window, you will see that last ten
calling numbers displayed.  The window will stay on the screen for a
user-administerable amount of time, or until you press the ESC key.  A
user-defined 'hotkey' (by default, ALT-D) recalls the display on
demand.  The program makes no use of the PC disk, so the history is
only maintained while RAM is valid.

Obviously, any computer with an RS-232 serial port capable of
asynchronous operation at 1200 bps can interface with this device,
though Bell Atlantic's catalog indicates that it requires an IBM
PC-compatible.  (The demo software does require this environment.)
The device may also be plugged directly into a printer's serial port,
if one merely wants a printed log of inbound calls.  The printer must
be capable of accepting 31-character lines to be printed without
requiring flow-control.

The documentation consists of a thirteen-page instruction manual.  The
manual gives the complete format of every message output by the
device, and also describes how to plug it in.  The description of the
RS-232 interface incorrectly labels PIN 4 as CTS (but they meant RTS
 -- CTS is pin 5) and indicates which leads contain data, and which are
used to supply power to the device.

I have not opened the device, because I want to preserve my rights
under the manufacturer's one-year guarantee.  (It appears that it can
be opened by removing the phillips-head screw located under the serial
number label.)  I guess that it contains a microcomputer, two uarts,
and a modem chip.


Dave Levenson		Internet: dave@westmark.com
Westmark, Inc.		UUCP: {uunet | rutgers | att}!westmark!dave
Warren, NJ, USA		AT&T Mail: !westmark!dave
Voice: 908 647 0900     Fax: 908 647 6857

eric@uunet.uu.net (Eric J. Johnson) (01/10/91)

In <15786@accuvax.nwu.edu> dave@westmark.westmark.com (Dave Levenson)
writes:

>ClassMate is a device which allows your computer to read the caller's
>phone number on inbound calls, when this information is supplied by
>your telephone company if you have subscribed to Caller*ID service.

[ an accurate review deleted ]

I just got mine in the mail last week after enduring a three month
back order.  I immediately tossed the software that came with the
device (not particularly useful for my application), and spent this
weekend writing my own TSR to monitor the serial port continuously and
log all the calls to a file on the PC's disk.  This was accomplished
using pieces of the UUPC communications package and a TSR development
library called TESS which is available on Compu$erve.  Send me e-mail
if you have any detailed questions.

Using the calling information stored by the TSR, my Natural
MicroSystems 'Watson' card answers the phone like a normal answering
machine, but delivers an individualized personal greeting to any
calling number it recognizes.  It also records the calling number plus
the caller's name, if known, on the Rolodex-style message cards
indicating messages.  This makes it simple to review 'interesting'
messages first.

Also, any caller blocking Caller*ID receives a terse message and is
disconnected without being given an opportunity to leave a message!


Eric J. Johnson      UUCP: eric@null.uucp
The opinions expressed in this article are those of the author and in
no way reflect the will of Landru.  (or U S WEST Communications)