Inline AMD or post-connect analysis: where the latency goes
The right AMD placement depends on when a verdict is needed, what media the system can inspect and how much delay agents can absorb.
An engineering breakdown of stock Asterisk app_amd, carrier-level CPD, and real-time audio analysis engines.
Every outbound contact center running Asterisk, ViciDial, or FreeSWITCH hits the same wall. Your predictive dialer needs to know whether a human or a machine answered before bridging the call to an agent. If the dialer guesses wrong, it creates two major problems. It either routes voicemails to live agents who waste time hanging up, or it hangs up on live prospects. The latter is an AMD false positive, creating dead air and ghost calls that damage caller ID reputation.
Call center operators have three primary architectures to choose from when tackling answering machine detection: built-in dialer modules, carrier-level detection, and specialized external audio analysis engines. Each approach trades setup complexity, latency, accuracy, and infrastructure cost differently.
The built-in answering machine detection in Asterisk—app_amd—is the default baseline for ViciDial, GoAutoDial, FreePBX, and Issabel systems. It works primarily by measuring silence, energy thresholds, and initial speech duration.
When a call bridges, app_amd listens for a brief greeting, measures the pause after the greeting, and estimates total initial sound length. If someone says a quick initial word followed by silence, the system guesses human. If someone speaks continuously for several seconds, like a recorded voicemail greeting, it returns a machine verdict.
Stock app_amd requires zero monthly subscription fees and incurs zero external network latency because audio processing happens locally on the dialer node. For small operations, non-commercial surveys, or low-volume outbound campaigns where lead acquisition costs are zero, standard app_amd is functional enough.
Because stock app_amd relies purely on timing heuristics, its false positive rate is high. In live production environments, default settings miss or misclassify an estimated 10% to 20% of live human responses. Humans who answer with long greetings are flagged as machines and hung up on. Furthermore, handset call screening features on modern mobile devices create custom silence patterns that throw off basic timing algorithms, generating ghost calls and silent drops.
Carrier-level CPD pushes classification work upstream to your SIP trunk provider or enterprise Session Border Controller (SBC). The carrier network analyzes audio tones and signaling frames before delivering the audio payload to your media server.
Offloading detection to the carrier saves local server CPU cycles. Dialers do not need to process raw RTP streams for detection purposes until the connection is validated. This suits massive enterprise setups that route millions of calls across dedicated SIP hardware and prioritize raw server throughput over fine-grained dialing logic.
Carrier CPD is tied to specific carrier relationships and offers little visibility into how verdicts are made. More importantly, carrier CPD often fails when encountering False Answer Supervision (FAS). FAS occurs when an upstream carrier sends a false 200 OK SIP signal to trigger billing on calls that were never actually picked up, or on calls that hit intercept tones and dead air. Carrier-level detection rarely catches these network anomalies because the carrier itself generates or relays the early answer signal.
Specialized audio analysis engines operate parallel to or directly within the dialer stream. Instead of measuring gross silence windows, these systems analyze acoustic audio fingerprints in real time, looking at sound patterns within the first second of an answered call.
AMDY.IO is built specifically for this architecture, supporting ViciDial, GoAutoDial, Asterisk, FreeSWITCH, FreePBX, Issabel, and 3CX via native one-line installation or a WebSocket API. The service starts detection in 1/8 of a second and reaches a 99% accuracy rate. It also explicitly flags carrier false-answers (FAS), preventing false billing and dead air when network paths fail.
This approach suits high-volume sales teams, mortgage dialers, insurance contact centers, and any operation where burning a lead costs real money. Because live humans route to agents instantly without waiting for long silence timers, ghost calls and dead air are virtually eliminated. AMDY.IO requires zero setup fees and includes 50,000 free detections upon signup, letting engineering teams benchmark accuracy against stock app_amd on live traffic before committing capital.
Adding an external service requires outbound API calls or media stream mirroring over WebSockets. While AMDY.IO processes audio in 1/8 of a second, improper network routing or unstable WAN connections can introduce transit latency. Teams must ensure their media servers have clean, low-latency connectivity to cloud APIs.
Selecting the right detection strategy comes down to your lead economics and dialer stack:
The right AMD placement depends on when a verdict is needed, what media the system can inspect and how much delay agents can absorb.
FCC abandonment limits make AMD latency an operating risk, but the compliance clock starts at the end of a live person’s greeting—not at answer supervision.
Trace the gap between answer and agent connection, then tune routing in controlled steps; spam labels are a signal to investigate, not proof of one cause.