The AMD() application has shipped with Asterisk for years, but it was designed around silence and duration rules, not around the actual content of the audio. In production with local accents and carrier messages, that means real people get their calls cut.
AMD() measures initial silences, greeting length and the number of detected words to infer whether there is a human or a machine on the other side. The problem: a natural human greeting, such as "Hello, good afternoon, who am I speaking with?", can last as long as a voicemail message, and the app has no way to tell real content from a recording.
initial_silence, greeting, etc. per campaignThere is no need to rewrite the whole dialplan. Where today you have something like:
The NeerBat agent connects over AMI independently of the channel, with no need for AMD() to remain in the extension. The decision to hang up or pass through is made by the external agent, not the dialplan.
Yes, and it is the recommended way to migrate: run NeerBat in passive mode (without hanging up) alongside your current AMD() for a few days, compare results, and only turn off the native AMD once you confirm the improvement.
NeerBat automatically identifies inbound calls to an agent (INVITE with a local destination) and excludes them from analysis; it never cuts an inbound call that is already being handled.
1,000 free detections to compare results before migrating.
Create free account