
Arke
An extensible IVR for Asterisk, built on .NET.
Arke is a flexible Interactive Voice Response platform for Asterisk phone systems. Call flows are defined in JSON, extended at runtime with plugins, and run on a stateless state machine that scales with async I/O.
An IVR you can actually modify
Built on .NET and talking to Asterisk over the ARI interface, Arke handles sound playback, voice input with timeouts, and a JSON-based DSL for defining call flows — no proprietary lock-in, no closed dialer stack.
Telephony developers and system administrators
Teams running Asterisk who need a customizable IVR layer they can extend in code instead of wrestling with closed vendor configs.
How it's built
JSON call-flow DSL
Define your IVR flows declaratively in JSON. Change them without touching code.
Plugin system
Add new call-flow steps at runtime via plugins — no recompile, no redeploy of core.
Stateless state machine
Call control sits on a stateless state machine, so you can scale horizontally without sticky sessions.
Async-first
Task-based async/await throughout — efficient multi-threading instead of one-thread-per-call.
Cross-platform
Runs on Windows, Linux, Raspberry Pi, and Docker. Deploy where it makes sense.
Open source
Source is on GitHub. Read it, fork it, contribute back.