


          Hidden Caller-ID Feature of Zoom 28.8 Modems Revealed!
         Find out the SECRET Caller-ID Capabilities of your 28.8!


              Text file written by SobeR on April 28, 1995.



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

Zoom Caller ID Secrets Revealed!

I was surprised to discover (without any help from Zoom) that most, if not
all Zoom 28.8 modems (including older V.FC's and newer V34's) have full and
operational support for Caller-ID! You won't find this in any of Zoom's
manuals, but if you own a Zoom 28.8 modem (especially the V.FC's), there's
almost a 99 percent chance that your modem has excellent Caller-ID support!


First, a little bit about the guts of a Zoom 28.8.
--------------------------------------------------

All Zoom 28.8 Modems depend on two main chips to function. The heart of
the modem is the Rockwell Chipset (which includes the Data Pump, microcode
and firmware of the modem). Most common ones used in Zoom 28.8 modems are
the Rockwell RC28ACL/VFC, Rockwell RC288ACi/VFC, Rockwell RC288ACL/V34,
Rockwell RC288ACi/V34 and the Rockwell RC288ACi/V34i. The second very
important chip is the manufacturer's ROM chip, and of course a 16550 UART is
also present on internal models. The Rockwell chipset is contained within
two square VLSI chips, both of which are clearly labeled with the Rockwell
insignia. The manufacturer's ROM is a 32 pin DIP (a ROM on very early models
and an PROM/EEPROM on most current models.) There are several other important
components, including the MOSEL NVRAM 62-256L-70NC chip which stores the
nonvolitile ram, a 74LS245, and other components. Essentially, the pc-board
layout is practically identical to the 14.4kbps v32bis/Fax models since as
you know, all 14.4 and 28.8 KBPS modems are essentially operating at 2400
baud and are achieving their high kbps throughput using Trellis multi
dimensional modulation, adaptive equalization, and other advanced methods.
Physically, a subscriber loop non-conditioned telephone line can only support
a maximum baud rate of 2400 baud, and ALL HST, V32, V32BIS, V32ter, V.FC and
V.34 modems are identical in this respect.
----------------------------------------------------------------------------

Now for the fun parts! Practically all Rockwell 28.8 chipsets (almost all
of the older VFC chips and most of the V34 sets) implement full Caller-ID
services. And thanks to the generosity of some unknown brave Zoom tech, who
decided to set up the Zoom BIOS Roms/Proms to use the Caller-ID services
built into the RC28.8 chips without charging us more for a "special Caller-ID"
capable modem, we can all have working caller ID by the time you finish with
this document.

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

           Identifying if your 28.8 Zoom ROM/PROM enables Caller-ID:
           =========================================================


Go to your comm program and type:

     AT#CID=? ^M   (Don't forget the equals sign!)  ^M = Carriage Return (Duh)

Possible Responses:

ERROR  -  Sorry, you're screwed, your modem has no concept of Caller-ID.
          Most likely it is not using a Rockwell chipset (ala USR), or it
          is using an older Rockwell chipset (pre-VFC chipsets.)

0      -  Another negative response. Check the string again ( AT#CID=? )
          and if all you get is 0 for a response, it means that your modem
          does recognize that Caller-ID exists, and the modem's Rockwell
          chipset *DOES* have Caller-ID services, but the manufacturer's
          ROM/PROM has blocked them from being used, and unfortunately the
          modem cannot support it. (Blame your modem's manufacturer for
          blocking an existing feature of the Rockwell chipset just to charge
          more for another "Caller-ID capable" model.)

1       - A Positive response! Your modem supports only "formatted" mode
          of Caller-ID Presentation (but who cares as long as it does!)
          This response is most often seen on those early Zoom 24k modems
          which normally use a very early revision of the Rockwell VFC
          chipset. More on the "formatted" mode of Caller-ID later, but
          suffice it to say, if you get this response, your modem posesses
          one of the earliest production RC VFC chipsets with good Caller-ID
          support!

2       - A Positive response! Your modem supports only "unformatted" mode
          of Caller-ID Presentation. The "unformatted" Caller-ID output
          (also called the Raw output) is more difficult to decipher, but
          again, who cares as long as it's available! This is probably
          the rarest response, and I've seen only two Zoom modems which
          support only mode 2, one of which is a pre-production 24k
          evaluation model shipped by Zoom in October 1993.

0,1,2   - BINGO! This is what we're hoping for! YOUR MODEM HAS ALL LEVELS OF
          CALLER-ID! Go out and break open a bottle of champagne! As I said
          before, 99 percent of Zoom 28.8 V.FC's and most Zoom v34's will
          provide this responce!

============================================================================

Explanation:

      The AT#CID=? command returns the Caller-ID Mode Capabilities of your
      modem. There are three possible responses, two of which are negative.
      "ERROR" as a response indicates that your modem is using an older
      Rockwell chipset or a non-Rockwell chipset. "0" means that your modem
      does have the Rockwell "Caller-ID" capable chipset, but the modem
      manufacturer's ROM/PROM specifically locks out the Caller-ID services.
      And a response of "0,1,2" indicates that your modem uses a Caller-ID
      capable Rockwell chipset, and your modem's manufacturer ROM/PROM
      supports all three modes of Caller-ID operation.


The three modes of Caller-ID operation for Rockwell 28.8 chipsets are:

0  =  Disables Caller-ID or blocks Caller-ID services from being used.
1  =  Enables "Cooked" Caller-ID with formatted presentation to the DTE.
2  =  Enables "Raw" Caller-ID with unformatted presentation to the DTE.

So when you send AT#CID=? to your modem, you are asking it if and which
levels of Caller-ID operation it supports. The optimum response is "0,1,2"
which indicates that all modes are supported and user selectable!


===========================================================================

"I have Caller-ID, since I got "0,1,2" as a response. Now what?"

Ok. Here it gets a little more technical. First, here are all the Caller-ID
related AT-extended commands that 28.8 Rockwell chipsets recognize:


AT#CID=? - Queries the modem for it's level of Caller-ID support
           Responses: "0" or "0,1,2" are valid. ERROR usually means
           old (pre-VFC) Rockwell chipset or other non-Rockwell chipset.

AT#CID?  - Queries the modem for it's CURRENT (default) level of Caller-ID
           Responses: "0", "1", or "2" are valid. ERROR = old/no RC chipset.

AT#CID=0 - Set Caller-ID Mode to "Disabled" (Ignore all Caller-ID packets)
           *DEFAULT* setting in ROM/PROM of all Zoom 28.8's! (Zoom's way
           of keeping this feature quiet.)

AT#CID=1 - ENABLE CALLER-ID LEVEL 1 (Suggested mode of operation)
 *         Set Caller-ID Mode to "Cooked" (Formatted Presentation Mode)
           (More on that later)

AT#CID=2 - ENABLE CALLER-ID LEVEL 2  (Useful for debugging purposes)
  **       Set Caller-ID Mode to "RAW" (Unformatted Presentation Mode)


--Notes--

*  Modems which support only "Raw" (Unformatted) mode will return "ERROR"
   when issuing AT#CID=1.

** Modems which support only "Cooked" (Formatted) mode will return "ERROR"
   when issuing AT#CID=2.


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

Explanation of Modes:


Mode 1 - "Cooked" (Formatted Presentation Mode

The modem presents the data in the [FIELD] = [VALUE] pair format as described
in the data table below.   Spaces are presented on both sides of the equal
sign.

      FIELD                   DESCRIPTION  OF VALUE
     -------    -------------------------------------------------------------
       DATE      DATE = MMDD where MM is the month number (01 to 12)
                 and DD is the day number (01 to 31.)
                
       TIME      TIME = HHMM where HH is the hour number (00 to 23)
                 and MM is the minute number (00 to 59.)

       NMBR      NMBR = <number> or P or O where <number> is the telephone
                 number of the caller, where P indicates that the calling
                 number information is not available since the originating
                 caller has requested private service, and where O indicates
                 that the calling number information is not available or out
                 of service at the calling location.

       NAME      NAME = <listing name> where <listing name> is the
                 Consumer's BILLING name of the telephone line which is
                 making the call.

       MESG      MESG = <date tag> <length of message> <date> <checksum> in
                 printable ASCII hex numbers.  This tag indicates a data
                 item not listed above.  The message is only possible for
                 Multiple Message Format.


 NOTES FOR "COOKED" MODE
 -----------------------
 1 - The modem does not present any Caller ID information if the modem detects
     a checksum error in the Caller ID packet.
 2 - In the event of an unrecognized data tag, the modem will present the
     data in ASCII hex numbers following the MESG tag.

 EXAMPLE OF FORMATTED FORM REPORTING
 -----------------------------------
 1 - The following example illustrates the standard Caller ID message packet.

     RING

     DATE  =  0321
     TIME  =  1405
     NMBR  =  5045551234
     NAME  =  MIKE UNT

     RING

     RING

 2 - The following example illustrates the case where the tag of the packet
     is not recognized by the modem.

     RING

     MESG  =  060342424231
 
     RING

     RING


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

Mode 2  -  (Raw) Unformatted Presentation Mode

 The modem presents all information and packet control information found
 in the message.  The modem, however, excludes the leading U's (channel
 seizure information) from the presentation.  The packet is presented in
 ASCII printable hex numbers, the modem does not insert spaces, line feeds
 or any other formatting between bytes or words of the packet. The packet
 is output by the modem even if the checksum is incorrect. This mode is
 most useful for automated Caller-ID software which can disect the relevant
 information from the raw ASCII string and display/process it accordingly.

 EXAMPLE OF UNFORMATTED REPORTING
 --------------------------------
       RING

       041230333232323430353931435353132333435

       RING

       RING

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


*** VERY IMPORTANT NOTES ***

    REMEMBER, none of this will work unless you specifically call your
    phone company and request Caller-ID service on your line! However,
    you do not need to buy a Caller-ID box, and once you have ordered
    Caller-ID service, you can use it in automated billing, automatic
    rejection or blacklisting by Caller-ID, etc. The possibilities are
    endless!

    Remember to set your software (BBS, host, whatever) to answer on the
    2nd or even third ring. The Caller-ID encoded data packet is sent
    between the first and second rings, and using ATS0=2 (answer on
    second ring) is advisable. You should also know that any board which
    answers the line on the second or subsequent ring is likely using
    some form of Caller-ID recognition. Most simply write the "Cooked"
    Caller-ID string to the log, but some use more advanced identification
    and user rejection software.

    You, as a customer of your regional Baby-Bell have two FCC guaranteed
    ways to block your Caller-ID from being sent out when you place calls:

    1. Add the well known DTMF "*69" to your dialing string which will
       block Caller-ID on that particular call  -or-

    2. Call your Telco's business office and ask for a permanent Caller-ID
       privacy block on your telephone line. This is equivalent to dialing
       *69 on every single outgoing call made from your line. The Telco
       has an obligation to perform this service FREE OF CHARGE for anyone
       who requests it. It usually takes 48 hours for it to go into effect
       once you request it. In my opinion, this is the best way to go.

     ** Remember, none of this has anything to do with ANI, which to my
     knowledge cannot be blocked, only diverted.

     As a side note, if you want to see how easy it is to divert ANI, check
     this out:

              1. Dial 0 (local operator). Your ANI is now displayed on her
                 terminal.

               2. Ask the local operator to transfer you to the long distance
                  operator. (The equivalent of dialing 00).

               3. When the long distance operator comes on the line, your ANI
                  is displayed on her terminal also.

                4. Now ask the LD operator to transfer you back to your
                   LOCAL operator. She will do so.

                5. When your LOCAL operator comes back on the line, the
                   diversion is complete and your ANI is lost in the system.
                   The LOCAL operator now has no idea what number you are
                   calling from, or infact if it is a customer or the LD
                   operator on the line. If you ask her to place a call
                   at this point, she will ask you for YOUR NUMBER (where
                   to bill to), proving the fact that she knows not where
                   you're calling from.


I hope you enjoyed the Zoom Caller-ID information! Altough I did not test
it on other Rockwell based 28.8 modems (**NOT USR, it is not Rockwell based),
this method should work on them as well! Have fun! Peace!

----[ Apr 29, 1995 ]--------------------------------------------[ SoBeR ]-----

Please give me credit if you use my article or send me a greet if you find
this info useful!

                                                                    -SoBeR-

-----------------------------------------------------------------------------
.end.