Vicidial AMD: the complete guide to answering machine detection
How answering machine detection works inside Vicidial and Asterisk, the amd.conf settings that control it, why stock AMD drops live humans, and how AI AMD fixes it — without changing your dialer or carrier.
What is AMD in Vicidial?
Answering machine detection (AMD) is the step that decides, the instant an outbound call is answered, whether a live human or a machine — voicemail, IVR, or a carrier recording — picked up. In a Vicidial predictive-dialer setup, that decision determines whether the call is handed to an agent or dropped, so AMD accuracy directly drives both your agent efficiency and your abandon rate.
Out of the box, Vicidial leans on Asterisk’s built-in AMD — the app_amd application, configured in amd.conf. It listens to the first few seconds of audio, applies a set of timing rules, and sets an AMDSTATUS channel variable of HUMAN, MACHINE, or NOTSURE. Your dialplan then routes on that value.
How Vicidial’s built-in AMD works
Asterisk’s app_amd is a heuristic, timing-based detector. It measures how long the answerer speaks, how long they pause, and how many “words” it hears, then compares those numbers against thresholds in amd.conf. The main settings:
The logic is intuitive but brittle: a quick “hello,” a short pause, few words ⇒ HUMAN; a long continuous greeting or a beep ⇒ MACHINE. The problem is that real people don’t read the manual.
Why stock Vicidial AMD misclassifies live humans
Timing rules break on the most ordinary human behavior:
- The fast greeting. “Hello? Who’s this?” with no pause is the single most natural way to answer a call from an unknown number — and it’s exactly the pattern
app_amdreads as a machine. Why “Hello?” breaks AMD → - The silent pickup. Someone answers and waits. Timing AMD has nothing to measure and guesses — often wrong.
- Carrier false-answers (FAS). The network signals “connected” when nobody actually picked up. Stock AMD never sees a greeting and mishandles it. Across the AMDY network, about 14% of answered calls are FAS.
- Accents, languages, background noise. Thresholds tuned for one speaking pattern misfire on another.
Heuristic AMD misclassifies roughly 5–15% of live humans as machines. Those are real prospects your dialer hangs up on — and because they’re logged as “answering machine,” they’re invisible in your reports. Read more →
The TCPA timing bind
Tuning isn’t a free fix. To catch more machines, operators make app_amd more aggressive — but that increases false positives (humans called machines), which pushes them to dial harder to keep agents busy, which drives the abandon rate up. The FTC’s Telemarketing Sales Rule expects abandons under 3%. Accurate detection is what lets you dial conservatively and still skip voicemail — staying inside the safe harbor instead of trading compliance for connects.
AI AMD vs stock Asterisk AMD
AI answering machine detection does the same job with a machine-learning model on the answer audio itself instead of hand-tuned timing rules. Because it classifies the acoustic signature of the answer — not a transcript and not a stopwatch — it handles fast greetings, silent pickups, and non-speech answers, in any language.
More on the approach: sound, not words and what AI AMD actually is.
How to set up AMDY on Vicidial
- Run the installer. One bash command on the Vicidial server provisions an API key and adds the dialplan hook — about 5 minutes.
- Disable stock AMD for the campaign so AMDY makes the human/machine decision instead of
app_amd. - Dial a live campaign on the free Sandbox tier and compare your human-connect rate against the old AMD.
Nothing else changes — same carrier, same dialer, same campaigns. AMDY runs through a WebSocket gateway alongside Vicidial, Asterisk, FreeSWITCH, and Issabel.
Frequently asked questions
What is AMD in Vicidial?
AMD (answering machine detection) in Vicidial is the step that decides, the instant a call is answered, whether a live human or a machine (voicemail, IVR, carrier recording) picked up. Vicidial calls Asterisk’s built-in AMD application, which sets an AMDSTATUS of HUMAN, MACHINE, or NOTSURE, and the dialplan routes the call accordingly.
Where are the Vicidial AMD settings?
The stock detector is Asterisk’s app_amd, configured in amd.conf on the dialer, with per-call overrides passable in the dialplan. The campaign-level toggle lives in Vicidial under the campaign’s “Detect Answering Machine” / AMD settings. The acoustic thresholds (silence, greeting length, analysis time) are all in amd.conf.
Why does Vicidial’s AMD drop live people?
Stock AMD is timing-based: it listens for a window of speech and silence and guesses. A person who answers fast (“Hello? Who’s this?”) with no pause looks like a machine greeting, and a silent pickup gives it nothing to measure. Heuristic AMD misclassifies roughly 5–15% of live humans, and those dropped calls are invisible in your reports.
Does AMDY replace Asterisk AMD or work alongside it?
It replaces the detection. AMDY runs through a WebSocket gateway and returns the human/machine decision to your dialplan, so you turn the stock app_amd off and let AMDY make the call. Your carrier, your dialer, and your campaigns stay exactly as they are.
How long does it take to install on Vicidial?
About 5 minutes. One bash command on the Vicidial server provisions an API key, adds the dialplan hook, and starts classifying. FreeSWITCH and Issabel are also supported. No carrier migration and no SIP changes.
Is there a free way to test it?
Yes — the Sandbox tier is 50,000 detections per month, no card and no time limit. Run it on a live campaign for a few days and compare the human-connect rate against your stock AMD before you pay anything.
Test it on your own Vicidial in 5 minutes
50,000 free detections a month, no card. Run it on a live campaign and watch the human-connect rate move.