Whether you use Vapi, Retell, or another AI orchestration layer, the telephony underneath it is the bottleneck: latency, cost, and a vendor that is pivoting away from phones.
Sigmond is a voice AI agent running on the SignalWire infrastructure this page is about. Ask him about anything you just read.

Legacy providers are deprioritizing the phone company work to chase AI revenue. The infrastructure underneath your AI layer is getting less attention, not more.
Audio travels from the carrier through a telephony provider, then to your AI layer. SignalWire's infrastructure is built for real-time media. Fewer hops, faster calls.
Your telephony provider marks up carrier rates. Your orchestration tool marks up the telephony provider. You pay margins on margins.
Debugging across telephony provider logs and AI orchestration logs at 2am is the hidden cost of a multi-vendor stack.
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()
| Component | Changes? |
|---|---|
| Your application code | No |
| AI agent definitions | No |
| Conversation flows | No |
| Tool and function handlers | No |
| LLM provider | No |
| STT provider | No |
| TTS provider | No |
| Phone numbers | Same numbers, ported to SignalWire |
| Call quality | Same or better |
| Cost | Lower |
Sign up and get a project space with API credentials. Takes minutes.
Provision new numbers via API or dashboard, or start a port request for your existing numbers.
Set up SIP trunking between SignalWire and your AI orchestration layer. Standards-compliant SIP with TLS and SRTP.
Point your AI orchestration layer at SignalWire numbers instead of the old provider. Agent definitions and flows stay unchanged.
Make test calls. Verify call quality, latency, and feature parity. If it worked before, it works on SignalWire.
Once validated, port the rest. Typical US porting: 5-10 business days. No downtime during the port.
Yes. Standards-compliant SIP with full codec support (G.711, Opus, G.729), RFC 2833 DTMF, T.38 fax, and TLS/SRTP encrypted media.
Yes. Run both in parallel. Move numbers at your own pace. No all-or-nothing cutover required.
SignalWire supports programmable SMS and MMS. Messaging migration follows the same pattern as voice.
Phase 2 moves STT and TTS onto the platform. Phase 3 moves agent logic to the Python SDK. Each phase is independent and pays for itself.
Yes. Replace the telephony layer underneath. Your AI orchestration stays the same.
This guide covers the telephony swap. If you depend on vendor-specific products, you can swap voice telephony while keeping those products. Or explore SignalWire equivalents: declarative YAML for call flows, subscriber management for contact center patterns.
Trusted by 2,000+ companies
Provision SignalWire numbers and configure SIP trunking. Your AI agents keep running without changes.
SignalWire is a communications infrastructure platform. Voice, video, messaging, conferencing, queuing, recording, and AI all run on the same real-time voice and video substrate.
AI is one capability among many, not the whole business. Customers compose multiple services on a single carrier-billed call; margin expands as the service mix shifts toward higher-margin capabilities stacked on top of the transport layer.
The platform was built by the team that created FreeSWITCH. It processes 2.7 billion minutes and messages annually and is in production at 2,000+ companies, including Apple, Sprinklr, Deutsche Telekom, and T-Mobile.