Desktop User Guides > Author > Activating questionnaires > Activate Current Project: Telephone settings > Telephone: Dialing settings > Dialing: Answering Machine Detection
 
Dialing: Answering Machine Detection
Use the Answering Machine Detection settings to configure parameters relating to answering machine detection.
These options are available only when a dialer is installed on the server.
SPSS Dialer supports an answering machine detection (AMD) algorithm that can be useful when dialing residential numbers. It is based on the observation that human greetings are usually short, whereas answering machine messages are long. When an auto-dialed participant record is dialed, and SPSS Dialer detects that an answering machine picked up the call, the call is automatically ended with the Answering Machine call outcome when the UNICOM Intelligence Interviewer - Server Admin is properly configured to support the feature. Answering machine detection is currently configured through the DPM Explorer tool.
Mode
The answering machine detection mode. Possible values include: Disabled, Filtering, and Calibration.
Parameters
The table lists the current answering machine detection parameters. All of the optional parameters (off, max, on, db, and so on) are encapsulated in this property. For example, max:4.5,on:11 (using commas as the delimiter).
Announcement file
(Optional.) The name of a sound file to play for an answering machine, including the pathname (relative to AudioDir on the SPSS Dialer).
False positives
False positives are humans that were misinterpreted as answering machines, in which case the dialer hangs up the call, or plays the amfile. The main causes of false positives are:
The human speaks a long greeting (> max). This typically happens when reaching a business number. If an amfile file is specified, the respondent will hear it.
The human has loud background noise (permanently higher than the db threshold). This typically occurs with car phones. The playback of amfile starts when the AMD algorithm has waited for end-of-greeting for off seconds. However, this timer needs to be longer than the longest AM greeting (~30 seconds), so it is unlikely that the respondent will wait long enough to hear amfile.
Humans can also be misinterpreted as “No audio”. This occurs when:
There is no audio connection (for example, because the battery in the respondent's phone is running low). After on seconds without start-of-voice, the dialer hangs up (call outcome: No audio).
The human picks up the phone but does not start speaking immediately (for example, the respondent is busy, or due to a disability). After on seconds, the dialer hangs up.
The greeting was spoken very softly (below the db threshold). Usually the respondent speaks up louder, but if the voice is not raised the dialer hangs up after on seconds. The dialer plays the amfile to “No audio” numbers unless the setting is disabled by option cp:-S (hangup immediately if silence).
Qualification timers
Spoken words contains short gaps in the audio due to articulation. The dialer ignores gaps that are shorter than a qualification timer qoff; that is, the end-of-voice is asserted when qoff expires.
The dialer uses two qualification timers:
qoff, for humans, determines when a call is connected to an interviewer. The settings should be short (<0.8 seconds); otherwise the respondent might become impatient and hang up. However, a qoff that is too short causes many false negatives because the timer fails to bridge well-articulated greetings.
qam, for answering machines, determines when amfile is played. It should be long (>2 seconds), otherwise the playback might start before the answering machine is ready to record it.
Calibration mode
Calibration mode is a means to determine the optimum AMD parameters. In calibration mode, all calls are connected to interviewers (just as when AMD is disabled). The AMD measures the duration of the respondent’s initial greeting. During this phase, the interviewer can hear the respondent, but cannot talk. When the AMD measurement is finished (end-of-voice), the interviewer hears a short beep (WBeep) and audio is connected in both directions.
In cases of long initial silence (longer than coff seconds) or persistent voice (longer than con seconds), the AMD measurement is aborted and audio is connected in both directions. This makes it possible to try out different values of db and qoff without losing the contacts.
The greet time measured by AMD is sent to the application and recorded in call.log. To determine the reliability of a given max setting for the AMD call dispositions, make a frequency distribution of the call outcomes according to the following table:
Call frequency distribution
Interviewer's Disposition
AMD Reported greet Value
Interviewer's Disposition
AMD Reported greet Value
Call frequency distribution
greet = 0
greet ≤ max
greet > max
Human (proceed, appointment, refusal, and so on)
False positive? [1]
Correct (human)
False positive
Answering machine
Semi-correct (AM) [2]
False negative
Correct (AM)
[1] greet=0 can be an artifact from using a too small coff value, such that the AMD measurement was abandoned before the greeting started.
[2] greet=0 starts playback of amfile, but possibly too early, before the answering machine is ready to record it.
Summary of AMD modes and parameters
Syntax
mode , param1 : value , param2 : value2...
Example
amd = 1,qoff:0.40,log:1
Mode
Meaning
Description
0
Disabled
No AMD analysis (but the Call Progress parameter cp is used).
1
Filtering
Only “live” calls are through-connected to an interviewer; otherwise the amfile is played.
2
Calibration
Calls are connected in listen-only mode during AMD analysis; the result is reported in greet.
Summary of AMD modes and parameters
Name
Default
Unit
Description
Action if exceeded
Applies to
off
6.0
seconds
Max silence at start of call
Hangup QSAMP_NO_AUDIO
Filtering
coff
4.5
seconds
Max silence at start of call
Connect two-way audio
Calibration
max
1.15
seconds
Max greeting from human [1]
Hangup QSAMP_ANSMC
Filtering
on
60.0
seconds
Max greeting from AM
Play amfile to AM
Filtering
con
3.0
seconds
Max greeting measured
Connect two-way audio
Calibration
qoff
0.35
seconds
Qualification timer for end of voice [2]
Connect QSAMP_CONNECTED
Both
qam
2.9
seconds
Qualification timer for starting playback
Play amfile
Filtering
db
-34.0
dBm
Silence threshold (range -46 to -34 dBm) [3]
Start max timer
Both
log
0
0 or 1
If =1, report greet and silence times (milliseconds) in call.log [4]
 
Both
cp
 
 
Override dialer.ini call progress analysis completion criteria CpComplete [5]
 
All
[1] max recommended range from 0.9 seconds (aggressive, many false positives) to 2.1 seconds (conservative, many false negatives).
[2] qoff recommended range from 0.3 seconds (many false negatives) to 1.1 (detects most AM, but connects humans very slowly to an interviewer).
[3] db should be high (insensitive) to avoid detecting people in noisy environments as answering machines (false positives).
[4] log times are measured on the dialer PC and can differ slightly from the greet times measured by the DSP.
[4] log times are measured on the dialer PC and can differ slightly from the greet times measured by the DSP.
[5] cp should normally not be applied for AMD; the only relevant parameter is cp:-S. If persistent silence is detected, hangup call without playing amfile.
AMD parameter for call progress analysis
The cp parameter specifies the actions to take when detecting call progress tones, overriding the default call progress analysis completion criteria CpComplete in the dialer.ini file. Application areas:
Calling countries with non-standard ringback or “number unobtainable” tones.
Calling networks that announce tariff information at the start of the call.
Calling subscribers with personalized ringback tones (music or announcements).
In order to achieve special effects, such as recording of in-band announcements.
Syntax
cp: actionID event... [ actionID event... ] ...
Default
cp:-b-c-d-f!r:t:v-B-C+D-F-T
Examples
cp:=vea
Ignore pre-CONNECT voice events (for instance, personalized ringback tones).
cp:*t*v
Record recfile when detecting tritone or start-of-voice (until stopped by noansw timeout).
cp:+v
Connect to extension when detecting start-of-voice.
Call progress events
Call progress events are identified by a letter.
Pre-CONNECT events are in lowercase.
Post-CONNECT events are in uppercase.
Each letter or group of letters is preceded by an action identifier (see Call progress events: Action identifiers). The post-CONNECT events are detected only in AMD filtering or calibration mode (amd=1 or amd=2).
Call outcome if action is '-' or ':'
 
 
Default
 
Call progress event
pre
post
 
 
 
Dialer
 
Interviewer Phone
Quancept
connect
a
Voice for more than max seconds
=a
=A
QSAMP_ANNOUNCEMT
coAnnouncement
d_sitout
b
Busy tone (cadence or “precise” tone [8])
-b
-B
QSAMP_BUSY
coBusy
d_busy
c
Congested / reorder tone (cadence)
-c
-C
QSAMP_FASTBUSY
coFastBusy
d_sitout
d
Dial tone (steady tone for >3 s)
-d
+D
QSAMP_BADNUMBER
QSAMP_BUSY
d_badsyn
e
End of voice (for qoff seconds)
=e
=E
QSAMP_ANNOUNCEMT
coAnnouncement
d_sitout
f
Fax/modem tone
-f
-F
QSAMP_MODEM
coFaxModem
d_modem
r
Ringback pulse (duration 1.5 - 3 s)
!r
=R
QSAMP_RINGING
n/a [6]
d_error [7]
q
End of ringback (no pulse for >8 s)
=q
=Q
QSAMP_NOANSW
coNoAnswer
d_na
s
Silence; no voice for off seconds [9]
n/a
=S
QSAMP_ANNOUNCEMT
coNoAudio
d_error [7]
t
Tritone (Special Information Tone)
:t
-T
QSAMP_TRITONE
coTriTone
d_sitout
v
Start of voice (diffuse energy above db dBm)
:v
=V
QSAMP_ANNOUNCEMT
coAnnouncement
d_sitout
 
 
 
 
 
 
 
w
Call waiting, ignore voice events [10]
=w
=W
QSAMP_BUSY
coBusy
d_busy
[6] Call outcome QSAMP_RINGING does not map to a supported CallOutcome in Interviewer Phone 5.6.
[7] Call outcomes can be mapped to other tipcode values in section [qsamp map] in the qts-sms.ini file.
[8] “Precise” tone meaning the 480 + 620 Hz busy tone of the North American Precise Audible Tones Plan.
[9] Condition S (silence) is only generated in AMD filtering or calibration mode (amd=1 or amd=2).
[10] Condition W (waiting) is generated by signaling events with the action announcemt in causes.cfg.
Call progress events: Action identifiers
Identifier
Description
-
Hang up immediately
:
Hang up if no CONNECT is received within two seconds
+
Connect to extension even if no CONNECT was received
*
Start recording (for use with recfile option beg:3)
!
Start noansw timer
^
Stop CP analysis (ends AMD, connecting the extension)
=
No action (can be used to override default actions)
See also
Telephone: Dialing settings