Dograh

Best Open-Source IVR Software: Licenses and Setup

Best Open-Source IVR Software: Licenses and Setup
ComparisonNovember 7, 2026·8 min read

Best Open-Source IVR Software: Licenses and Setup

Vemu Sandeep
Vemu Sandeep·GTM Engineer, Dograh AI

GTM engineer at Dograh working across voice AI and enterprise AI. IIT (BHU) and IIM Visakhapatnam alumnus.

The best open-source IVR software is Asterisk (GPL-2.0), the call engine, FreePBX (GPL-3.0 framework), a web admin on Asterisk, and FreeSWITCH (MPL-1.1), a separate switch. Dograh, the open-source AI voice agent platform we build, adds the AI layer through Asterisk ARI or a SIP trunk. You can self-host it or run it on Dograh Cloud.

Key Takeaways

  • Asterisk runs the call. FreePBX gives Asterisk a web admin.
  • FreeSWITCH is a separate switch, and it reaches Dograh over a SIP trunk.
  • Keep the keypad menu in the PBX and send one option to the agent.

An IVR answers a call with a menu and routes the caller by keypress. This list covers the open-source projects that run that menu, with each one's license and setup, then shows how to add an AI voice agent behind it, using Dograh as the worked example.

What counts as open-source IVR software

IVR software answers an incoming call, plays a menu and sends the caller somewhere based on a keypress or a short spoken word. A softphone such as MicroSIP places and receives calls on a computer, but it does not run a menu for callers, so it is left out here.

Three open-source projects do run phone menus at business scale, and they cover most self-hosted setups. For each one below we look at what the project is, which license it ships under and what setup involves, the three things a buyer actually needs.

A traditional menu still has its place, and our post on AI voice agent vs IVR explains where keypad menus win and where open speech does better. The last entry on this list is for the second case.

Asterisk, the engine underneath

Asterisk is the call engine many open-source phone systems are built on. Asterisk's repository calls it an open source PBX and telephony toolkit, released under GPL-2.0, with Sangoma Technologies as the main copyright holder.

You build a menu in the dialplan, a set of configuration files where each extension says what to play and where each keypress leads. That gives a developer full control, from a two-option menu to a complex tree with business hours and queues. It also means the menu lives in text files, so changes go through whoever maintains them.

Setup means installing Asterisk on a Linux server, from source or your distribution's packages, then connecting a SIP trunk from your carrier and writing the dialplan. Pick a long-term support line. Asterisk's release lines show Asterisk 22 getting security fixes into 2029, and Asterisk 24 is the newest long-term support release.

FreePBX, Asterisk with a web admin

FreePBX puts a browser-based admin on top of Asterisk. Menus, extensions, ring groups and outbound routes are set up in web forms, and FreePBX writes the Asterisk configuration for you.

That makes it the usual pick when the person running the phones is an office or IT admin rather than a developer. The current major version is 17, and the FreePBX framework repository is licensed GPL-3.0. FreePBX is a registered trademark of Sangoma, which also maintains Asterisk.

Setup is closer to installing an appliance. You install FreePBX with Asterisk on a server, open the admin page, add your SIP trunk, then build the menu and routes in the browser. Because Asterisk runs underneath, anything that connects to Asterisk also works with FreePBX, including the AI layer later in this list.

FreeSWITCH, a separate switch

FreeSWITCH is a separate open-source switch with its own codebase, not a version of Asterisk. FreeSWITCH's repository carries the MPL-1.1 license, and SignalWire is the project's primary sponsor.

It is often chosen by teams that need a switch for many calls at once or that build telephony into their own product. Menus are defined in FreeSWITCH's own XML configuration and scripts, so like Asterisk it suits teams with someone comfortable in configuration files.

Setup means installing the switch on a server, connecting a SIP trunk, then defining the menu and routes in its configuration. FreeSWITCH connects to other systems over SIP, which is also how it reaches an AI voice agent.

Dograh

Open Source Alternative to Vapi / Retell

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

dograh-hq/dograh

Star on GitHub

Dograh, the AI layer behind the menu

Dograh adds what the three projects above leave out, which is an AI voice agent that understands open speech. It is open-source under BSD 2-Clause and works beside your PBX, so the menu and the trunk stay where they are. The caller presses an option or dials an extension, and the agent answers in plain speech for that call type.

A caller's phone keypad sits under the PBX menu, run in Asterisk or FreePBX. Pressing 1 goes to the team's queue as before, and pressing 2 goes to the agent, which answers in plain speech.
When a caller needs a person, Transfer Call works on Asterisk ARI and can ring a PJSIP extension or a queue. FreeSWITCH, or any PBX, can instead send a SIP trunk to Dograh Managed SIP.

On Asterisk the connection runs through the Asterisk REST Interface (ARI). Your Asterisk needs the chan_websocket and res_websocket_client modules, which Asterisk 22 and later include, and Asterisk 20 LTS works with them added. The Asterisk ARI setup runs in four steps. You create the ARI user and HTTP server on Asterisk, enter those values in Dograh, put the Stasis app name Dograh generates into your dialplan, then register the extensions that should reach an agent. Our page on open-source voice agents for your Asterisk PBX covers those steps, then shows the agent handing callers back to your own extensions or queues.

FreePBX uses the same ARI setup, since Asterisk runs underneath. For calls the agent places, a dial string of Local/{number}@from-internal sends them through FreePBX's own outbound routes, so your existing trunk rules still apply. FreeSWITCH, or any PBX, can instead send a SIP trunk to Dograh Managed SIP, the SIP domain Dograh sets up for your organization.

The keypad menu stays in the PBX. Callers answer the agent by voice, so keep "press 1" options, and card numbers typed on the keypad, in Asterisk or FreePBX. When a caller needs a person, Transfer Call works on Asterisk ARI and can ring a PJSIP extension or a queue. Dograh dials the extension or queue first, the caller hears hold music while it rings, and the call connects once someone answers. If nobody picks up, the agent is told the transfer failed and the call carries on with the agent. Call centers on VICIdial, which also runs on Asterisk, connect the same way, as our post on an open-source predictive dialer with an AI agent shows.

You also choose the models. Use the platform's own models, any provider with your own keys, or open-weight models on your own servers. Pre-recorded clips can play the lines the agent says most, with text-to-speech for the rest, and every call keeps a full trace and per-step QA scores. 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. Both connect to Asterisk the same way.

The four options side by side

The table sorts the list by the job each project does, since you will often run two of them together. The three PBX projects keep callers on the keypad and set words, and Dograh is the one where a language model works out what the caller wants.

ProjectLicenseWhat it isMenu built inCallers can speak freelyConnects to Dograh
AsteriskGPL-2.0PBX and telephony toolkitDialplan filesNo, keypad and set wordsAsterisk ARI
FreePBXGPL-3.0 (framework)Web admin on AsteriskBrowser formsNo, keypad and set wordsAsterisk ARI, outbound routes kept
FreeSWITCHMPL-1.1Separate switchXML configuration and scriptsNo, keypad and set wordsSIP trunk to Dograh Managed SIP
DograhBSD 2-ClauseOpen-source AI voice agent platformVisual workflow builderYes, a language model works out the requestSelf-hosted or Dograh Cloud

Which one to pick

Start from who will run the phone system. If an office admin manages extensions and menus, FreePBX keeps that work in a browser. If a developer owns telephony and wants every rule in version control, plain Asterisk gives that control. If you already run FreeSWITCH, or you are building telephony into a product, stay on it.

Add Dograh when a menu handles a call type badly, such as callers who press 0 to escape or questions that do not fit any option. Move one call type at a time and keep the menu as the front door while you test, so everything else runs as before. Card payments stay on the keypad, because a spoken card number ends up in the recording and the transcript.

If SIP trunks and carriers are new to you, our Telephony 101 for voice AI explains numbers, carriers and trunks before you connect any of these.

Join the Dograh Community

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

Glossary

Dialplan
Asterisk's set of configuration files that says what happens to each call: which extension rings, which prompt plays and where each keypress goes. FreePBX writes the dialplan for you from its web forms.
Asterisk REST Interface (ARI)
Asterisk's interface for handing a call to an outside application over HTTP and WebSocket. Dograh uses it to take a call from Asterisk or FreePBX and stream the audio to its AI voice agent.
Stasis app
The named app a dialplan line passes a call to when an ARI client should take over. Dograh generates the name when you save the Asterisk connection, and you add it to the dialplan as Stasis(name).
SIP trunk
A connection that carries calls between your phone system and a carrier, or between two phone systems, over the internet. FreeSWITCH reaches Dograh this way, through the SIP domain Dograh Managed SIP sets up.

Frequently Asked Questions

Get started with Dograh

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