Swap the Telephony. Keep Your Stack. | SignalWire
Swap the Telephony. Keep Your Stack.
Whether you use Vapi, Retell, or another AI orchestration layer, the telephony underneath it is the bottleneck: latency, cost, and a vendor pivoting away from phones.
< 1.2s
typical AI response latency
2,000+
companies in production
5–10
business days for number porting
0
changes to your AI layer
Why Swap
The Telephony Layer Is the Bottleneck
Your telephony provider is pivoting to AI
Legacy providers are deprioritizing phone infrastructure to chase AI revenue. The layer underneath your AI is getting less attention, not more.
Every network hop adds latency
Audio travels through a carrier, telephony provider, and AI layer. SignalWire is built for real-time media with fewer hops.
Markup stacks through the vendor chain
Your provider marks up carrier rates, and the orchestration layer marks up the provider. You pay margins on margins.
When the call drops, who owns it?
Debugging across telephony and AI orchestration logs at 2am is the hidden cost of a multi-vendor stack.
Build a Voice AI Agent
Languages Supported
- Python
- TypeScript
- Go
- Java
- Ruby
- PHP
- Perl
- C++
- C#
from signalwire import AgentBase
from signalwire.core.function_result import FunctionResult
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. """
return FunctionResult(f"Order {order_id}: shipped, ETA April 2nd")
agent = SupportAgent()
agent.run()
What Changes, What Stays
Before: Legacy Telephony
- Separate telephony, STT, TTS, and LLM providers, each with its own SDK
- Your glue code manages state across all four services
- Each vendor adds a separate queue, invoice, and escalation path
- Compliance and observability must be rebuilt across every vendor
- 16 to 23 months before a production call
After: SignalWire Telephony
- Telephony, STT, TTS, and LLM in one platform
- AI runs inside the media stack, not outside it
- 800–1200ms typical response latency
- One vendor, one invoice, one escalation path
- Production calls in four to six weeks
- State management is platform-native
From Install to Production
Day 1: Install and build your first agent
Install signalwire-agents, define your agent class, add a prompt, and make your first phone call to a working AI agent.
Weeks 1–2: Connect your business logic
Add tool functions that call your backend: order lookups, appointment scheduling, account verification, and the tools that differentiate your product.
Weeks 2–3: Structure conversation flow
Define steps with scoped prompts and scoped tools. Each step handles one phase of the conversation with focused context.
Weeks 4–6: Go live
Deploy your agent as a standard HTTP microservice. Provision phone numbers, route calls, and move into production.
Weeks 3–4: Test and iterate
Test with real calls. Iterate on prompts and flows. Use the sandbox environment for rapid development cycles.
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 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.
Swap the telephony layer. Keep everything else.
Provision SignalWire numbers and configure SIP trunking. Your AI agents keep running without changes.