Caller ID Detection
Initially, ACC was only intended for Incoming Call Line ID detection
(CallerID detection). Later there were other service functions added, such as
answering-machine, record-on-demand and play-on-demand functionality.
American Caller ID (CND,
available in US, Canada, Australia...)
There is nothing special about CND. The number is detected by modem
hardware when +CID=1 command issued.
Standard Caller ID message packet is being received after first RING in the
following way:
RING
DATE = 0321
TIME = 1405
NMBR = 5045551234
NAME = A N OTHER
RING
RING
or, in the case where the tag of the packet is not recognized by the modem
RING
MESG = 060342424231
RING
RING
Sometimes you may receive Private or Out of Area message.
'Private' means that the remote caller decided to block his phone number and
personal information. 'Out of Area' means that the telephone exchange was
unable to resolve Caller ID information as a call was received from the area
which is out of Caller ID service.
Russian Caller ID (RCID),
available in Russia and some European countries.
Detecting RCID is much more complicated, because most of existing modems do
not provide hardware support for RCID.
RCID signal is being sent after modem takes the call. So we have the
following procedure:
- take the call (ANSWER)
- 200-250 milliseconds delay before requesting RCID
- RCID request (100-200 milliseconds, 500Hz tone)
- receive and decode RCID packet, if any
- emulate 'ring back' tones to the line, so that caller won't know we
already took the call
There are some problems. First, modem hardware is rather slow, and delay
between answering and sending request tone can exceed the time ATE will wait
for RCID request. In this case it is recommended to set up TWO request tones
in the 'Caller ID Detection' section of 'Properties' dialog.
Then, some ATEs send RCID packet without request. This means that when we
send RCID request, some time will pass and part of the signal will already be
transmitted. Solution is to set 'Pre-detect time' parameter in the 'Caller ID
Detection' section of 'Properties' dialog to non-zero value (numbers around
100-200 milliseconds suspected). It is recommended to set 100 ms when using
TWO request tones and 200 ms when issuing only ONE request tone. Generally
pre-detect time should be ZERO.
RCID reception and decoding is performed inside of the program, not the
modem hardware (if not using 'Hardware XXX' Caller ID type). This
process can be controlled from within 'Actions' section of 'Properties'
dialog, but generally there is no need to adjust this stage.
Number of 'ring back' tones emulated to line can be set from within
'Action' section of 'Properties' dialog. You can also change default action
that will be performed after going online and/or emulating N 'ring back'
signals to the line. You may choose from options like 'drop immediately' or
'after N 'ring back' tones'; or it can 'answer', 'set caller on hold' and even
switch on 'answering machine'.
Which Caller ID to use?
Using Advanced Call Center