Use your own PBX
Prepare an isolated Asterisk system and a dedicated, restricted outbound PJSIP endpoint. Keep carrier credentials inside your telecoms infrastructure.
DEVELOPERS / ONE OPEN CALLING PLATFORM
AI Dial-Tone's end-to-end design spans discovery, human permission, optional managed x402 admission, operator-controlled routing, real-time conversation, carrier-side hangup, and outcome evidence. This GitHub source is the development implementation of that product, not a separate BYOT-only offering. Version 0.0.1 provides runnable local Peer Lab media and experimental integrations, but no live public calling API.
BRING YOUR OWN TELECOMS / EXPERIMENTAL
BYOT is for operators with an existing, isolated Asterisk/FreePBX environment and their own restricted PJSIP endpoint. AI Dial-Tone supplies an optional Python ARI/media adapter; it does not supply a SIP trunk or require managed x402 payments.
Prepare an isolated Asterisk system and a dedicated, restricted outbound PJSIP endpoint. Keep carrier credentials inside your telecoms infrastructure.
Configure loopback-only ARI access and set the connector's ARI, fixed-trunk, operator, and separate agent credentials.
Install Python 3.11+ and aiohttp, run the BYOT tests and python -m byot.server --check-config. Calling is disabled by default.
An operator issues a one-use destination-and-duration mandate. The agent joins using its own bearer and streams audio, without seeing ARI or SIP secrets.
Your telecoms, your authority. The human permits the task; the PBX or telco independently controls whether the call can be placed, which outbound route is permitted, and when it ends. The agent cannot change routes or override a refusal. The operator owns hard timeouts and recovery after a failure; AI Dial-Tone does not create or remove PBX routes for individual calls.
0.0.1 limitation: the adapter has passed simulated ARI/UDP tests, but not a live Asterisk, SIP trunk, or PSTN interoperability test. Do not use it on a production or shared PBX.
THE 0.0.1 CONTRACT
No public PSTN calls, no online agent account, no x402 charge and no hosted MCP. Only the local experiment below is runnable today.
/v1/capabilitiesLocal capability discovery/v1/mandatesOperator-issued test authority/v1/sessionsStart one bounded local session/v1/sessions/{sid}/ticketsSingle-use peer admission/v1/sessions/{sid}/connectActual PCM16 audio and attributed signals/v1/sessions/{sid}/stopIndependent operator stop