Most AMD on FreeSWITCH goes by timing and tones: mod_avmd, mod_vmd, beep detection. We built one that goes by what the callee says.
A small Lua script streams about 2 seconds of the far-end audio over a WebSocket, using mod_audio_fork or mod_audio_stream. It sets AMDSTATUS (HUMAN or MACHINE) and AMDCAUSE for your dialplan, usually about 2.3 s after answer.
Because it reads the words, it catches things that timing-based AMD misses:
<action application="set" data="vmhunter_api_key=YOUR_KEY"/>
<action application="lua" data="vmhunter_amd.lua"/>
It's a hosted service with a free tier of 5,000 calls a month, so you can run it next to your current AMD and compare.
Visit: https://vmhunter.com
What are you all using for AMD on FreeSWITCH today? And how are you handling the new iPhone call screening? It's been showing up a lot in our logs, and I'd like to know what others are seeing.
— Riz, VM Hunter