Answering Machine Detection (AMD) for AI Outbound Voice Agents

AMD architecture for AI outbound voice agents — tone-based vs ML-based detection, Asterisk AMD() and FreeSWITCH avmd, false-positive tradeoffs, pacing integration, and runnable code.

Voice AI19 min readJuly 14, 2026

Answering Machine Detection (AMD) for AI Outbound Voice Agents

AMD architecture for AI outbound voice agents — tone-based vs ML-based detection, Asterisk AMD() and FreeSWITCH avmd, false-positive tradeoffs, pacing integration, and runnable code.

Kaushik Parmar

Founder & VoIP Architect, CelloIP Technologies

Quick Answer

AMD classifies an answered call as human or machine within 1-3 seconds using tone/energy analysis (85-90% accuracy) or ML-based greeting-pattern analysis (93-97% accuracy), so an outbound AI voice agent connects only to live people and routes voicemail separately.

Asterisk AMD() and FreeSWITCH mod_avmd

Asterisk ships a built-in AMD() dialplan application with tunable silence/greeting-duration parameters setting AMDSTATUS to HUMAN, MACHINE, or NOTSURE. FreeSWITCH provides the equivalent via mod_avmd, firing events into an ESL-driven outbound stack instead of blocking dialplan execution.

AMD, Pacing & TCPA Abandonment

AMD's 1-3 second classification window adds directly to answer-to-connect latency, which counts toward TCPA's 3% abandonment-rate cap. Dialers must feed measured AMD latency back into the pacing algorithm in real time rather than assuming a fixed constant.

AMDAnswering Machine DetectionOutbound AIVoice AI

Frequently Asked Questions

What is answering machine detection (AMD)?

AMD classifies an answered outbound call as a live human or an automated answering machine/voicemail system within 1-3 seconds, so the dialer can route it appropriately.

How accurate is AMD for AI outbound voice agents?

Tone-based AMD achieves 85-90% accuracy; ML-based AMD reaches 93-97%. False positives and negatives are a deliberate tuning tradeoff, not eliminable.

Can I use AMD with Asterisk and FreeSWITCH?

Yes — Asterisk ships a built-in AMD() application; FreeSWITCH provides mod_avmd. Both are tunable via silence thresholds and greeting-duration heuristics.

Back to Blog

Need help implementing this for your project?

Talk to a VoIP Engineer