GuideUpdated 2026

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:

initial_silence
Max silence before the greeting starts (≈2500 ms). Long silence ⇒ leans MACHINE.
greeting
Max length of a “human” greeting (≈1500 ms). A long greeting looks like a voicemail intro.
after_greeting_silence
Silence expected after a human says hello (≈800 ms).
total_analysis_time
Hard cap on how long it analyzes before deciding (≈5000 ms).
min_word_length
Shortest sound counted as a word (≈100 ms).
between_words_silence
Gap that separates two words (≈50 ms).
maximum_number_of_words
Word count above which it calls it a machine.
silence_threshold
Audio level treated as silence (≈256).

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:

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.

 
Stock app_amd
AMDY (AI)
Method
Timing & silence rules
ML on the audio signal
Accuracy
70–85%
99%
Speed
Waits out the greeting window
<200 ms
Fast / silent answers
Misread
Handled
Carrier false-answers (FAS)
Missed
Classified
Honeypot / spam traps
Invisible
Detected
Reporting
AMDSTATUS only
23 reports + per-call log

More on the approach: sound, not words and what AI AMD actually is.

How to set up AMDY on Vicidial

  1. Run the installer. One bash command on the Vicidial server provisions an API key and adds the dialplan hook — about 5 minutes.
  2. Disable stock AMD for the campaign so AMDY makes the human/machine decision instead of app_amd.
  3. 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.