A phone line for your Python process. Async SIP/RTP engine for AI voice agents.
Project description
Dialplane
A phone line for your Python process.
Dialplane is an async, pure-Python SIP/RTP engine built for AI voice agents. Connect any SIP trunk on earth directly to your Python code — answer and place real phone calls, stream call audio as PCM frames, and plug into agent frameworks like Pipecat — with no middleman cloud, no per-minute streaming fees, and no separate media server.
Status: pre-release. This package is a placeholder while the engine lands. The first usable release is under active development.
Why
Today, putting an AI agent on a real phone number means routing audio through
a metered websocket cloud or running a heavyweight media server cluster.
Dialplane's goal: pip install dialplane, point it at a SIP trunk, and your
agent is on the phone — self-hosted, wideband audio, audio never leaves your
box.
Planned
- Async SIP (RFC 3261) + RTP engine, zero required dependencies
- Trunk registration (digest auth) and IP-auth modes
- Inbound answer / outbound dial with an async-first API
- G.711, G.722, and Opus; DTMF (RFC 2833); NAT traversal (STUN, symmetric RTP)
- First-class Pipecat transport; adapters for other frameworks
- Fully-local voice agent examples (faster-whisper + Ollama + Kokoro)
License
Apache-2.0
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dialplane-0.0.1a0.tar.gz.
File metadata
- Download URL: dialplane-0.0.1a0.tar.gz
- Upload date:
- Size: 6.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
acbc4763b3575c73f20728c753f76fb29f89d5bdcc2eb48c680ebd31fcc4b5a3
|
|
| MD5 |
dca19192f714afaefa5076c3a0305661
|
|
| BLAKE2b-256 |
bd25ce9935c106fef0177edb68f2ed7469fb592fa8b62d7e0952ad17383308c0
|
File details
Details for the file dialplane-0.0.1a0-py3-none-any.whl.
File metadata
- Download URL: dialplane-0.0.1a0-py3-none-any.whl
- Upload date:
- Size: 6.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e205a660b53034b9394c25873defd00f06455c22046bd6be15e7471e2d04c25d
|
|
| MD5 |
ebbb9cc8ed0dff8db8b4d57ff50c1f56
|
|
| BLAKE2b-256 |
ea6b1547c0f532e3a80e7ce603bda14594aee4c15e9f3bfd7b6c5de89815235b
|