The Communications Control Plane | SignalWire
The communications control plane
Compose AI agents, human agents, and real-time communications into one system you control in code. One programmable platform for everything that happens on a call. Built by the creators of FreeSWITCH.
Trusted by forward-thinking companies
ARCHITECTURE
Production is a costly place to discover architectural mistakes
In staging, webhooks arrive fast and in order. Production is less polite. On SignalWire, state lives inside the call so that your code defines logic instead of managing event timing. The same architecture that works at 10 calls works at 10,000.
See the platform architecture →
Traditional CPaaS
Telephony vendor + WebRTC vendor + AI vendor
Your responsibility to rebuild state from events
Endless race conditions
Rogue AI that won’t stay on task
Bolted on AI adds latency
" height="11.780704086384404px" id="WAayD84UV" width="11.675138038876483px"/>
Platform
One Programmable Unified Communications platform
Calls are first-class objects with state attached
The developer is in full control of call behavior
AI Agents follow code logic and stay on task
AI Kernel directly in the media stack for lowest latency
THE CODE
One engine. Fully programmable.
The platform handles state, timing, coordination, and infrastructure. You build AI agents and call flows, so your code spends its time on your product instead of the plumbing.
IVR and Call Routing
AI Voice Agents
Contact Center
01 Route by AI Voice
Get the DTMF out of here. The caller says what they need and the flow routes on it.
02 Route by Who’s Calling
Look the caller up and route on account, tier, or history. The lookup and the decision live in one flow, no orchestration layer between them.
03 Answering Machine Detection
Tell human, machine, and fax apart on outbound calls and branch on the result. It's a native verb, not a service you integrate and reconcile.
Route by AI Voice
copy
copied!
01 02 03 04 05 06 07 08 09 10 11 12
version: 1.0.0
sections:
main:
- prompt:
play: ["say: In a few words, what are you calling about?"]
# Speech in, not digits. What they say becomes the route.
speech_language: en-US
speech_hints: ["sales", "support", "billing"]
- switch:
variable: prompt_value
case:
sales:
- connect: { to: "+15551112222" }
support:
- connect: { to: "+15553334444" }
default:
- connect: { to: "+15555556666" }
IVR and Call Routing
Explore IVR and call routing →
Built from the media engine up
The same team created FreeSWITCH, the media engine much of the industry runs on, then spent two decades building the platform around it, down to the carrier. Because we own that layer, the control plane goes all the way down. You're programming the network itself, not a wrapper over someone else's.
CONTROL PLANE
One programmable layer runs the whole call.
Voice, video, messaging, and AI run through one control plane. The call stays on the platform for its whole life instead of bouncing between vendors. Recording, queues, transfers, agents: whatever the session needs next is one instruction away.
SYSTEM-DIRECTED AI
You write the logic. Voice AI follows it.
Putting business logic in a prompt means hoping the model stays on script. A system-directed agent runs the conversation as a state machine of steps you define in code. At each step the model sees only the tools and data you expose. Off-script is not a state that exists.
greet
tools: none · next: collect
Instructions only.
collect
tools: check_calendar · next: confirm
Finds real openings.
confirm
tools: book_appointment · next: wrap_up
The software acts; the model only requests.
wrap_up
tools: none · next: none
Structurally complete.
The model makes it natural. Your code runs the show.
Try it now
Sigmond Runs on SignalWire
A voice and video AI agent built on the SignalWire SDK, wired to a live knowledge base, able to see what you show him. Build the same thing on voice, phone, WhatsApp, or SIP, or an entire white-label platform with SignalWire as the network underneath.
Call Sigmond
Call recording
This call is recorded. Audio and transcripts are used to improve our AI and customer support experience, and aren't shared or sold to third parties.
Share audio _(required)_Allow my audio to help train future AI featuresShare my camera (recorded; not used to train AI)
Cancel Start call
CUSTOMER PROOF
Join the thousands of developers
“It took us maybe a day to get a proof of concept working. ”
Mark Lilien
CTO at Textline
“I was able to develop and ship the first version within 6 hours. Within 24 hours customers were signing up.”
David Plappert
Founder at PhoneLiveStreaming
“We really appreciate the carrier-grade quality of service.”
Murray Kawchuk
Head of Strategy at Conversate
“It took us maybe a day to get a proof of concept working. ”
Mark Lilien
CTO at Textline
“I was able to develop and ship the first version within 6 hours. Within 24 hours customers were signing up.”
David Plappert
Founder at PhoneLiveStreaming
“We really appreciate the carrier-grade quality of service.”
Murray Kawchuk
Head of Strategy at Conversate
“It took us maybe a day to get a proof of concept working. ”
Mark Lilien
CTO at Textline
“I was able to develop and ship the first version within 6 hours. Within 24 hours customers were signing up.”
David Plappert
Founder at PhoneLiveStreaming
“We really appreciate the carrier-grade quality of service.”
Murray Kawchuk
Head of Strategy at Conversate
“It took us maybe a day to get a proof of concept working. ”
Mark Lilien
CTO at Textline
“I was able to develop and ship the first version within 6 hours. Within 24 hours customers were signing up.”
David Plappert
Founder at PhoneLiveStreaming
“We really appreciate the carrier-grade quality of service.”
Murray Kawchuk
Head of Strategy at Conversate
For Developers
Dive into documentation
From pip install to production. Guides, API references, and SDKs to start building complex communications flows.
Communications Platform
AI Voice Agents
SWML
Define voice, video, messaging, and AI flows in JSON or YAML. Built-in methods for every call primitive, served statically or generated per request.
REST APIs
Every capability is a REST call: send an SMS, place a call, provision a number. Twilio-compatible, so existing code runs once you swap the credentials.
Realtime SDKs
Control calls in real time over WebSocket with the RELAY SDKs. React to call events as they happen, in the language you already use.
One platform for everything on the call
One platform for voice, AI, and messaging, on infrastructure that runs all the way down to the carrier. Every part of the call, programmable from one place.