All fields are required
The team that built FreeSWITCH extended the same platform with native AI. Same codebase. Same engineers. Two decades of voice infrastructure behind every call.
The team wrote the media processing engine that powers voice networks worldwide. They can modify the codec pipeline, tune endpointing, and embed AI at the audio frame level. No vendor API stands in the way.
Two decades of production telephony means the edge cases are catalogued: codec negotiation failures, overbuffered audio, overburdened endpoints, overbilled calls. The platform handles them because the team has seen them.
When voice AI emerged, the team embedded orchestration directly in the media stack. The AI kernel coordinates speech recognition, language model inference, and speech synthesis with direct access to the audio stream, eliminating the orchestration overhead of bolt-on pipelines.
When something needs optimization, one team modifies one codebase. No vendor ticket. No API limitation. No waiting for someone else's roadmap.
from signalwire_agents import AgentBase
from signalwire_agents.core.function_result import SwaigFunctionResult
class SupportAgent(AgentBase):
def __init__(self):
super().__init__(name="Support Agent", route="/support")
self.prompt_add_section("Instructions",
body="You are a customer support agent. "
"Greet the caller and resolve their issue.")
self.add_language("English", "en-US", "rime.spore:mistv2")
@AgentBase.tool(name="check_order")
def check_order(self, order_id: str):
"""Check the status of a customer order.
Args:
order_id: The order ID to look up
"""
return SwaigFunctionResult(f"Order {order_id}: shipped, ETA April 2nd")
agent = SupportAgent()
agent.run()
Open-source telephony engine adopted by carriers, contact centers, and UCaaS platforms worldwide.
Persistent session control infrastructure built years before voice AI existed as a category.
Managed infrastructure layer with state management, orchestration, billing, and security on top of the core engine.
C-based AI kernel orchestrating STT, LLM, and TTS from inside the media stack.
Production governance with scoped prompts, constrained tools, and enforced state machine transitions.
Python SDK for building, testing, and deploying voice AI agents as standard HTTP microservices.
| Layer | What It Required |
|---|---|
| State management | Platform-native call state, conversation context, step transitions |
| Orchestration | Multi-agent coordination, transfer logic, queue management |
| AI kernel | STT, LLM, and TTS embedded in the media stack (C) |
| Reliability | Global redundancy, failover, health monitoring |
| Observability | Structured event streams, per-component latency, error taxonomy |
| Security | Tenant isolation, encryption, compliance frameworks |
| API surface | REST, declarative YAML, real-time WebSocket, function calling, SDKs |
FreeSWITCH is the open-source telephony engine. SignalWire was built by the same team as a managed cloud platform on top of FreeSWITCH. The AI kernel, state management, orchestration, and developer tools are all proprietary additions.
The AI kernel sits inside the media stack with direct access to the audio stream. It orchestrates speech recognition, language inference, and audio synthesis without the overhead of routing audio between separate external services. That is why response latency is 800-1200ms instead of 2-4 seconds. With speech-to-speech voice models, latency can be as low as 600ms.
Yes. YAML configuration and the Python SDK target the same platform. Start with YAML for rapid prototyping, then adopt the SDK for testing, composition, and programmatic control. Both interfaces compose.
$0.16 per minute covers AI processing: STT, LLM, and TTS. Transport (SIP, PSTN) is billed separately at carrier rates. One invoice. No per-token variance, no separate vendor bills.
Trusted by
One pip install. The same engine that powers carrier-grade telephony worldwide.