Dograh

Open-Source Predictive Dialer With an AI Agent: The Handoff

Open-Source Predictive Dialer With an AI Agent: The Handoff
TechnicalNovember 7, 2026·8 min read

Open-Source Predictive Dialer With an AI Agent: The Handoff

Abhishek Kumar
Abhishek Kumar·Co-founder, Dograh AI

Co-founder of Dograh, building the future of open-source voice AI agents. Own your voice AI stack.

An open-source predictive dialer such as VICIdial paces and places the calls, and an AI agent takes the ones a person answers. With Dograh, the open-source AI voice agent platform you can self-host or run on Dograh Cloud, VICIdial hands answered calls over Asterisk ARI and gets outcomes, lead fields and do-not-call requests written back.

Key Takeaways

  • Keep the dialer for pacing and give the conversation to the agent.
  • Map do-not-call outcomes to DNC so VICIdial suppresses the number everywhere.
  • Whether an AI handoff beats the two-second rule is unsettled.

This post is part of our guide to AI voice agents for outbound sales, where a dialer and a voice agent do different jobs. Here we connect the two, covering how an answered call reaches Dograh, what comes back to the dialer and which calling rules still apply.

The dialer paces, the agent talks

A predictive dialer decides how many numbers to dial at once, and an AI agent decides what to say once someone answers. Those are separate jobs, and an open-source stack can keep them in separate tools. VICIdial is the best-known open-source dialer. It is AGPLv2 licensed, built on the Asterisk phone system and dials predictively with an adaptive algorithm and a drop percentage you can set. Its own site counts over 24,000 installations in more than 100 countries.

VICIdial dials several numbers at once. Two phones are still ringing and one person answers. The answered call goes over Asterisk ARI to Dograh, the agent talks, and an interested person goes to a person on your team through a VICIdial in-group.
Keep the dialer for pacing and give the conversation to the agent. Plan as if the AI handoff does not take a call out of the abandonment count, keep VICIdial's drop percentage inside the limit, and treat any other reading as a question for counsel.

In a normal VICIdial setup, the dialer places calls ahead of free human agents and hands each answered call to whoever is ready. Add an AI agent and some of those answered calls go to it instead, as a remote agent. VICIdial still owns the lead, the list and the reports. The AI agent holds the conversation, then transfers interested people to a human in-group or ends the call. Our guide to AI dialers compares power, predictive and AI-agent dialing if you are still choosing between them.

How an answered call reaches the agent

The handoff runs through Asterisk, so the dialer never has to know how the agent works. Dograh connects to an existing Asterisk PBX through Asterisk ARI, the PBX's REST interface. When you save the ARI configuration, Dograh gives you a Stasis application name, and your dialplan sends calls into that application. VICIdial routes the answered customer call to the dialplan that enters it, and the agent picks up the audio.

VICIdial passes the call's identity in SIP headers, such as the caller ID, the remote-agent user and the lead ID, with the campaign and in-group as options. Dograh reads them and becomes the remote agent on that call. For actions on the customer's leg, ending the call or transferring it, Dograh calls VICIdial's Agent API, the same remote-agent call control a human remote agent would use. The VICIdial integration is an advanced organization feature, switched on as External PBX integrations in Platform Settings.

Lead data comes along as well. List the fields your prompts need under Lead Fields To Capture, such as the first name, and the agent can greet with {{external_pbx_call.lead.first_name | there}}. Each listed field adds one request to Asterisk while the call is being set up, and that delays the agent's first words. List only what the prompt uses. If you run Asterisk without VICIdial, our post on open-source IVR software covers the PBX side.

What Dograh writes back to VICIdial

Results go back to VICIdial, so AI-handled calls show up in the same reports as human ones. Lead field mappings copy values the agent gathered, such as a callback time or a state, into the VICIdial lead before the transfer or the end of the call. If a lead update fails, Dograh still carries out the transfer or ends the call, so the caller is never stuck.

The call's outcome goes into the lead's status. Turn on call disposition extraction for the workflow, then enable Disposition mapping under Preferences in Platform Settings and pick a VICIdial status code for each Dograh outcome. The codes below are an example, so use the ones your own VICIdial already has.

Dograh outcomeExample VICIdial statusWhat VICIdial does with it
qualifiedAIQUALShows in reports beside your own statuses
callback_requestedCALLBKYour callback rules pick it up
not_interestedNIStops this list from redialing the lead
do_not_callDNCAlso adds the number to the system-wide DNC list

A status has to be one to six letters, numbers, underscores or hyphens. Anything else is not written, and VICIdial keeps its own status for the call, usually RAXFER. The last row matters most. When a do-not-call outcome is mapped to DNC, Dograh adds the number to VICIdial's SYSTEM_INTERNAL do-not-call list, which travels with the number to every campaign, while a lead status only stops the current list. Our page on a self-hosted AI agent for VICIdial sets out the whole loop, from the answered call over ARI to the status on the lead.

Interested people go to humans through an in-group transfer. A Transfer Call tool set to Context Mapping picks the in-group from what the agent gathered, such as a product line, with a fallback in-group or source to return the caller to the in-group they came from.

Dograh

Open Source Alternative to Vapi / Retell

Self-hosted voice agent platform — no per-minute fees

dograh-hq/dograh

Star on GitHub

The two-second rule and an AI agent

Predictive dialing has its own calling rules, and handing calls to an AI agent does not switch them off. Under the FCC's telemarketing rules, no more than 3% of telemarketing calls a person answers may be abandoned, measured per campaign over 30 days. A call counts as abandoned if no live sales representative comes on within two seconds of the person's greeting, and a short recorded message with the seller's identity and an opt-out must then play. Unanswered calls must ring for at least 15 seconds or four rings. The FTC's Telemarketing Sales Rule sets a matching safe harbor, with records kept.

The open question is whether a call handed to an AI agent is connected to a "live sales representative". No ruling settles it. The FCC's 2024 ruling on AI-generated voices treats AI voices as artificial voices under the Telephone Consumer Protection Act (TCPA) and found no exception for technology sold as the equivalent of a live agent. So plan as if the AI handoff does not take a call out of the abandonment count, keep VICIdial's drop percentage inside the limit, and treat any other reading as a question for counsel.

The AI leg brings its own rules. A sales call with an artificial voice to a mobile or home line needs prior express written consent, whatever dialer placed it. Do-not-call requests are honoured within ten business days and kept for five years, which the DNC mapping above helps with. Have counsel review the consent records, the drop setting and the agent's opening before the first predictive campaign.

Speed is part of the design. Keep the opening short, or play it as a pre-recorded clip which plays faster than speech generated during the call, and keep Lead Fields To Capture to the few the greeting needs.

Dograh Campaigns when you skip the dialer

For lists that only an AI agent will call, you may not need a predictive dialer at all. Every answered call goes to an agent, so there is no over-dial ratio to tune and no rep who has to be free. A Dograh campaign takes a CSV and sets its pace with Max Concurrent Calls and Calls Started per Second. You set the retries (0 to 10), the delay between them and which outcomes get another try, such as busy, no answer or voicemail. Campaigns can dial out through Asterisk ARI too, so the same PBX can carry them.

A self-hosted install runs 10 concurrent calls by default, a limit you can raise, and your servers and phone carrier set the real ceiling. Self-hosted Dograh has no per-minute platform fee, but servers, model keys and phone minutes still cost money. Dograh Cloud charges a 1¢-a-minute platform fee.

Keep VICIdial when human agents share the floor with the AI or your reporting already lives there. Use Campaigns when the AI handles the whole list. If you are weighing a commercial dialer with AI built in instead, our review of Convoso's AI voice agents looks at that route.

Join the Dograh Community

Dograh is an OSS alternative to Vapi. Join our Slack community for queries, releases, best practices & community interactions.

Glossary

Predictive dialer
A dialer that calls more numbers than there are free agents, using answer rates to predict when an agent will be ready. VICIdial does this with an adaptive algorithm and a drop percentage you set.
Abandoned call
A telemarketing call a person answers where no live sales representative comes on within two seconds of their greeting. US rules cap these at 3% of answered calls per campaign over 30 days.
Remote agent
In VICIdial, an agent who takes calls on an outside line instead of the agent screen. Dograh joins a call as a VICIdial remote agent and uses the Agent API to end or transfer calls.
Stasis application
The Asterisk ARI application that a dialplan hands a call to, so an outside program can control it. Dograh generates the name when you save its Asterisk ARI configuration.

Frequently Asked Questions

Get started with Dograh

Build, deploy, and scale AI agents with Dograh. Join the community of developers building the future.