nomoVM
Blog

What is answering machine detection (AMD)?

What is answering machine detection? It is the part of an outbound dialer that decides, in the first seconds after a call is answered, whether a live person or a machine picked up, so people reach agents and voicemail doesn't.

By the nomoVM team · Published 2026-11-12 · Updated 2026-11-12

Why dialers need it

Predictive and power dialers call many numbers per agent. On consumer lists, most answered calls are not people: voicemail, carrier messages ("the subscriber you are calling is not available"), fax machines and, more and more, call screening assistants. Without AMD, agents spend much of their day listening to greetings. With AMD, the dialer drops those calls or leaves a recorded message, and agents talk to people.

The three ways to detect an answering machine

1. Timing rules

The classic method, and what Asterisk's AMD() application does. It measures silence before the first word, how long each word lasts and how many words there are. A person says something short ("Hello?") and waits; a greeting talks for a long time. It's free and fast, but people and greetings don't always follow the rules. Asterisk amd.conf settings explained

2. Transcription

Turn the first seconds into text and look for phrases like "leave a message" or "not available". It understands words, but needs enough of them, which takes time, and a recorded "Hello?" has exactly the words a person uses.

3. Acoustic AI

A neural network trained on real answered calls listens to the sound itself: the room, the breath, the rhythm of a live hello against the flat, steady sound of a recording. This is what nomoVM's AI answering machine detection does, together with tone detection and a check for recordings played to many numbers.

The two errors every AMD makes

  • False machine: a live person judged a machine. The dialer hangs up on them or plays a voicemail message. You lose the conversation and annoy the person.
  • False human: a machine judged a person. An agent hears a greeting. You lose agent time.

Any AMD can trade one error for the other by changing its thresholds. A single "accuracy" number usually hides which one it chose. Ask for both, and test them on your own calls.

Why the first two seconds matter

While AMD listens, the person who answered hears nothing. Wait too long and they hang up; that's dead air. Rules like the US Telemarketing Sales Rule count a call as abandoned when it isn't connected to an agent within 2 seconds of the greeting. So the best AMD is not only accurate but quick: nomoVM decides at about 2 seconds for most calls.

AMD in VICIdial

VICIdial uses Asterisk's AMD() through extension 8369 and sets AMDSTATUS to HUMAN, MACHINE, NOTSURE or HANGUP; VD_amd.agi then routes the call. You can replace the detection while keeping VICIdial's routing: see VICIdial AMD.

Stop sending voicemail to your agents

30,000 calls a month free. No card, no setup fee. Your dialer falls back to Asterisk AMD() on its own if anything goes wrong.