Your phone's SIM, as a voice API.
A self-hosted alternative to Twilio Voice. An Android phone places and answers real calls on its SIM, and your apps and AI agents control them over HTTP and stream the audio over WebSockets.
Phone
Runs the OpenLine app. Dials, answers and routes call audio. It stays silent: the conversation happens on the server.
Server
This machine. Exposes the REST API, relays audio, sends webhooks and keeps every call in a local SQLite database.
Your agent
Any app or voice AI. Start calls with a POST, get status by webhook, and talk through 16 kHz PCM on a WebSocket.
Make a call from code
Create an API key in Settings, then place a call that talks to your agent:
Send clear to cut off queued speech when the caller interrupts. Incoming calls can go to your agent too: set the URL in Settings.