VM Hunter is an AI answering machine detection plugin for VICIdial. It replaces the dialer's tone-and-silence detector with one that listens to what the callee says, and returns a HUMAN or MACHINE verdict about two seconds after answer.
VICIdial's default AMD route (extension 8369) runs Asterisk's app_amd, which decides from silence lengths and word counts. It cannot tell a short "Hello?" from the start of a voicemail greeting, and it cannot recognise a carrier prompt or an iPhone call-screening message at all. On production traffic that shows up as live people hung up on and voicemails handed to agents.
VM Hunter transcribes the first two seconds of audio and decides from the words: voicemail wording, carrier prompts, IVRs, disconnected-number tones and call screening are each recognised and labelled. The VICIdial integration is a single EAGI script and one dialplan extension.
vmhunter.agi.py with EAGI, which gives the script the callee's audio.AMDSTATUS, AMDSTATUS_RAW and AMDCAUSE on the channel when the verdict arrives.VD_amd.agi, which drops the call on MACHINE and connects it on HUMAN, exactly as before.Nothing in VICIdial's database, agent screens or reports changes. Setup is about 30 minutes; the commands are in the VICIdial integration guide, and the client source is on GitHub.
| VICIdial built-in AMD (app_amd) | VM Hunter | |
|---|---|---|
| Decides from | Silence lengths, word counts, greeting length | What is said in the first two seconds, plus tone and silence analysis |
| Carrier voicemail prompts | Often counted as a long greeting, sometimes as a person | Recognised by wording and labelled MACHINE |
| iPhone / Google call screening | Not recognised; usually passed to an agent | Labelled CALLGUARD_PHRASE; route it as you choose |
| Disconnected numbers | Not detected | SIT tones labelled DISCONNECT, so the lead can be retired |
| Calls with no audio | Reported as silence | Labelled separately, so trunk problems show in your logs |
| Audit trail | None | Transcript, reason and audio sample for every call in the portal |
| Tuning | amd.conf timings per campaign | No tuning; rules are maintained centrally |
Pricing is per call analysed, with the plan setting how many calls per second and concurrent channels your dialer can send. The free plan includes 5,000 calls a month and needs no card. Starter covers 3 million calls a month at 50 CPS and 550 channels. Details on the pricing page.
One campaign on the VM Hunter extension, one on the default. Compare the dispositions in the morning. The free plan covers it.