People sent to voicemail
0of 23
Zero errors in 23 people still allows a true rate up to about 13%. It takes about 300 people with no errors to say "under 1%", and we will not say it before then.
Answering machine detection for Asterisk
AMDSure tells your VICIdial, FreePBX or homegrown Asterisk dialer whether a person, a voicemail or a call screener answered. Your callers' audio stays on your server, and every error rate we publish comes with its sample size.
Built for
Measured, not claimed
A detector can be wrong in two directions. It can hang up on a person, or it can pass a voicemail to your agent. One "accuracy" figure hides which mistake you are paying for, so we report them apart, with the number of calls behind each.
People sent to voicemail
0of 23
Zero errors in 23 people still allows a true rate up to about 13%. It takes about 300 people with no errors to say "under 1%", and we will not say it before then.
Voicemails caught
74%163 of 221
Asterisk's built-in AMD() caught 26% of the same voicemails and was unsure on 67% of them.
Call screeners recognised
13of 14
Google Call Screen and iPhone screening get their own verdict. The built-in AMD() recognised none of them.
Time to a verdict for people
2.55s average
Measured from answer. A short hello is the clearest signal there is, so people are decided first.
318 answered calls on RealDialer's own outbound traffic, October 6 to 9, 2026. Both detectors heard every call. The truth for each call comes from evidence the detector did not produce: what the agent marked, what the transcript shows, and how the call ended. Calls with conflicting evidence were left out of the scoring.
The voicemail figures are cross-validated: settings were chosen on four fifths of the calls and scored on the fifth they had not seen, five times over. The samples are small, from one customer and mostly one carrier mix. We will publish each larger sample as it comes in, including the ones that look worse.
How it works
A small extractor on your Asterisk server hears the first seconds of each answered call and turns them into a few hundred bytes of scores and timings: silence, speech, tones, beeps.
Our decision engine reads those numbers and answers person, voicemail, screener or unsure. Each answer is signed and tied to its request, so it cannot be forged or replayed.
The verdict lands in AMDSTATUS and AMDCAUSE, the variables AMD() already sets, plus AMDSURE_VERDICT for screeners. Your routes keep working.
exten => s,1,Answer()
same => n,AGI(amdsure) ; sets AMDSTATUS, AMDCAUSE, AMDSURE_VERDICT
same => n,GotoIf($["${AMDSURE_VERDICT}" = "screener"]?intro,1)
same => n,GotoIf($["${AMDSTATUS}" = "MACHINE"]?drop,1)
same => n,Goto(agent,1) ; person or unsure: connectPrivacy by design
The extractor sends numbers, not sound. We never receive audio, transcripts, phone numbers or names, so nothing of your callers sits on our side to leak, subpoena or reuse.
What the extractor sends, field by fieldFails open
The extractor waits for our answer only up to a hard deadline. Miss it, lose the network, or lose us entirely, and the call goes to Asterisk's own AMD() exactly as it would today. A person is never hung up on because our service had a bad minute.
Seconds after answer
Call screeners
Google Call Screen and iPhone screening are not voicemail, and not a person yet. Treat them as either and you lose the call. AMDSure names them, so your dialplan can play a short introduction and connect the moment the person takes over.
Shadow mode
Run AMDSure in the background for a week. It hears the same calls as your current AMD and changes nothing. You see both verdicts side by side on your own traffic, with the error rates in both directions. Switch when the numbers say so.
| Call | Your AMD | AMDSure | Truth |
|---|---|---|---|
| 9c01e7 | Unsure | Voicemail | voicemail |
| a7d3f0 | Person | Person | person |
| 31be5c | Unsure | Screener | screener |
| e4402d | Voicemail | Voicemail | voicemail |
| b18c9a | Unsure | Voicemail | voicemail |
Early access pricing
$0
first 2,000 calls a month
$0.002
per answered call
$0.001
per call above 1 million a month
Prefer a fixed bill? A flat price per line is available. Early access prices are not final. Pricing details
A 20 minute call. We show the console with live numbers, then set up shadow mode on your dialer so you can judge for yourself.
Request a demo