← All articles
Product UpdatesAug 27, 2026 9 min read

FreePBX and Issabel AMD: How to Add AI Answering Machine Detection to Open-Source Dialers in 2026

Your FreePBX or Issabel stack already handles routing, extensions, and SIP trunking without a licensing fee. The AMD built into those systems is a different story — it's costing you real money every day.

Your FreePBX or Issabel stack already handles routing, extensions, and SIP trunking without a licensing fee. The AMD built into those systems is a different story — it's costing you real money every day.

FreePBX and Issabel AMD: How to Add AI Answering Machine Detection to Open-Source Dialers in 2026

Legacy silence-based answering machine detection misidentifies live humans as voicemail 15 to 20 percent of the time. At a 50-agent outbound center running 3,000 live answers per day, that means 600 decision-makers hear dead air and hang up before an agent ever speaks. The math: $120,000 in lost revenue per month, or $1,440,000 annually.

This article covers how FreePBX and Issabel handle AMD by default, why the built-in approach breaks down at scale, and how to replace it with ML-based detection using the ViciDial API and WebSocket integration.

Why Built-In AMD Fails on FreePBX and Issabel

Both platforms are built on Asterisk. That means their native AMD module is the same one Asterisk has shipped for years: silence threshold detection.

The logic is straightforward. The system listens for an initial greeting, measures speech duration, and uses silence gaps to guess whether it heard a human or a recording. Long greeting? Assumes voicemail. Silence at the right moment? Drops the call.

That worked reasonably well when voicemail greetings were short and predictable. In 2026, it doesn't. Modern voicemail systems vary widely in greeting length. Carrier-generated tones have changed. Mobile voicemail prompts often open with speech that sounds like a live answer. Silence thresholds tuned for one carrier behave completely differently on another.

The result is a 15 to 20 percent false positive rate. Your dialer hangs up on real people. They hear nothing, assume it's spam, and flag your number. Caller ID reputation drops. Contact rate drops. Close rate drops.

The FAS Problem Makes It Worse

False Answer Supervision (FAS) compounds the AMD problem on open-source stacks. FAS happens when a carrier returns an answer signal before anyone — human or voicemail — actually picks up. Your dialer starts the AMD timer too early. The silence threshold fires before the greeting even begins. The call drops before a word is spoken.

FreePBX and Issabel have no native FAS correction. You can manually tune amd.conf parameters, but you're chasing a moving target across carriers. Every trunk behaves differently. Every campaign has a different answer pattern.

How the ViciDial API Changes the AMD Architecture

If you're running ViciDial on top of Asterisk, FreePBX, or Issabel, the ViciDial API gives you a direct integration point to replace the native AMD module with an external engine.

Instead of relying on Asterisk's internal AMD() application, you route call audio through an external WebSocket connection. The external engine analyzes the audio fingerprint in real time and returns a classification: human or machine. ViciDial acts on that result immediately — routing live humans to agents and handling voicemail automatically.

That's the architecture AMDY.IO uses. The ML engine listens to the actual audio waveform, not silence patterns. It identifies the acoustic fingerprint of a voicemail greeting versus a live human voice. Classification happens in milliseconds. No dead air. No ghost calls.

What "One-Line Install" Actually Means

For ViciDial, GoAutoDial, and Asterisk-based setups including FreePBX and Issabel, AMDY.IO integrates through a single configuration line added to your dialer setup. You don't migrate platforms. You don't replace your SIP trunks. You don't retrain your agents.

One line. The AMD engine swaps out. Your false positive rate drops from 15 to 20 percent to under 1 percent.

For any SIP-based dialer not running directly on Asterisk, the WebSocket API handles the connection — same ML engine, same accuracy, same latency profile.

What ML Audio Fingerprinting Does Differently

Legacy AMD guesses. AMDY.IO knows.

Silence detection asks: "Is there a long gap after the greeting?" ML audio fingerprinting asks: "Does this audio pattern match a live human voice or a recorded message?"

That distinction matters because voicemail greetings and human answers share overlapping characteristics that silence thresholds can't reliably separate. Someone who picks up and immediately says "Hello, who is this?" sounds similar in duration to a short voicemail greeting. Silence detection gets this wrong constantly.

Audio fingerprint analysis looks at the full waveform — pitch variation, speech cadence, background noise profile, and the acoustic signature of carrier-generated tones. The model is trained on real call audio at scale. It doesn't depend on a single threshold you set in a config file.

The result is 99% accuracy. MightyCall, the only direct competitor with a published accuracy figure, claims 97%. That 2-point gap represents thousands of misclassified calls per month at any meaningful dialing volume.

FreePBX-Specific Configuration Considerations

FreePBX manages Asterisk configuration through its GUI and module system. Before integrating an external AMD engine, a few things matter.

Disable or bypass the native AMD module. Running two AMD systems simultaneously creates conflicts. The native AMD() application will fire before your external engine returns a result if you don't explicitly remove it from your outbound dial plan.

Check your SIP trunk FAS behavior. Log a sample of calls and compare answer timestamps against the first audio event. Consistent early answer signals mean your trunk is generating FAS. AMDY.IO's CPD handles this, but knowing your trunk's behavior helps you validate results during the trial.

Confirm your Asterisk version. FreePBX 17 and Issabel 4 both ship with Asterisk 20 or 21 by default in 2026. The WebSocket and AGI integration paths AMDY.IO uses are fully supported on those versions.

Issabel-Specific Notes

Issabel is a FreePBX fork with its own module ecosystem and a UI that diverges in places. The underlying Asterisk dial plan logic is the same, so the integration approach is identical. The main differences are where you access the dial plan editor and how outbound routes are structured.

Running Issabel with ViciDial layered on top? The ViciDial API integration path applies directly. Running Issabel standalone for outbound campaigns? The WebSocket API connects the external AMD engine without requiring a ViciDial layer.

Either way, you're not replacing Issabel. You're replacing the one component of it that costs you $120,000 per month.

The Revenue Case for Replacing Legacy AMD

A 50-agent center running a predictive dialer at standard dial ratios generates roughly 3,000 live answers per day. At a 20% false positive rate, 600 of those answers result in a dropped call. At a 1% close rate and $1,000 average deal value, that's $6,000 in lost revenue per day — $120,000 per month, $1,440,000 per year.

Those numbers scale linearly. A 50-agent center loses five times as much. A 100-agent center loses ten times as much.

The fix is a one-line install and a 14-day free trial. ROI recovers in days, not quarters. Run the numbers for your specific call volume using the AMD ROI Calculator on the AMDY.IO site.

Comparing Your Options in 2026

When you decide to fix AMD on an open-source stack, you have three real paths.

Tune amd.conf manually. You can spend hours adjusting silence thresholds, initial silence values, and greeting length parameters. Accuracy improves marginally on specific trunks and degrades on others. It's a maintenance burden with no ceiling on accuracy.

Migrate to an enterprise platform. Genesys Cloud CX runs $75 to $240 per agent per month. Talkdesk and NobelBiz OMNI+ require custom pricing and multi-year commitments. These platforms include AMD as one feature among hundreds. You're paying for an entire platform when you only need better AMD.

Add AMDY.IO as a drop-in engine. One line of configuration. No platform migration. No new agent training. 99% accuracy from day one of the trial.

The third option is the only one that doesn't require abandoning your existing FreePBX or Issabel investment.

Start the Trial on Your Existing Stack

No migration to schedule. No contract to sign. The 14-day free trial at amdy.io runs on your current infrastructure. Add the integration line, run your normal campaigns, and compare your false positive rate before and after.

Running ViciDial on FreePBX or Issabel? The ViciDial integration documentation covers the exact steps. On a standalone Issabel or FreePBX outbound setup? The WebSocket API path applies.

Stop hanging up on decision-makers. Start the free AMD trial at amdy.io.

Frequently Asked Questions

What is the ViciDial API and how does it relate to AMD integration?

The ViciDial API is the interface that allows external systems to interact with ViciDial's call handling logic. For AMD integration, it provides the connection point that lets an external ML engine like AMDY.IO replace the native Asterisk silence-detection module. Instead of ViciDial relying on the internal AMD() application, it routes audio to the external engine and receives a human or machine classification in real time.

Can I use AMDY.IO with FreePBX without ViciDial?

Yes. If you're running outbound campaigns directly through FreePBX without a ViciDial layer, the WebSocket API connects AMDY.IO's AMD engine to your dial plan. No ViciDial intermediary required. The integration works at the Asterisk level.

Does replacing native AMD on Issabel require modifying the Issabel GUI?

No. The integration operates at the Asterisk dial plan level, not through the Issabel GUI. You modify the relevant dial plan context to bypass the native AMD() application and route audio through AMDY.IO. The Issabel GUI continues managing everything else normally.

What happens to voicemail drop functionality when I switch AMD engines?

AMDY.IO handles voicemail skip and voicemail drop automatically. When the ML engine classifies a call as voicemail, it either skips the call entirely or triggers a pre-recorded voicemail drop, depending on your campaign configuration. You don't lose voicemail drop capability by replacing the native AMD module.

How does AMDY.IO handle False Answer Supervision (FAS) on FreePBX?

AMDY.IO's call progress detection (CPD) accounts for FAS by analyzing actual audio content rather than relying on the carrier's answer signal timestamp. Even if your SIP trunk returns an early answer signal, the ML engine waits for real audio before classifying the call — eliminating the false drops that FAS causes in native Asterisk AMD.

Will the 14-day free trial work on my existing FreePBX or Issabel production environment?

Yes. The trial runs on your current infrastructure with no setup fees. Add the integration line to your existing configuration, run your normal outbound campaigns, and measure the difference in false positive rates directly. No separate test environment required.

How does AMDY.IO's 99% accuracy compare to tuning amd.conf manually?

Manual tuning of amd.conf can reduce false positives on specific trunks but rarely achieves accuracy above 85 to 90 percent in real-world conditions — and it requires ongoing maintenance as carrier behavior changes. AMDY.IO's ML engine hits 99% accuracy across varying trunk types, voicemail systems, and call patterns without manual threshold adjustment.