Contact Sales

All fields are required

SIP, PSTN, Numbers, and Media for Voice AI | SignalWire
Telephony Infrastructure

Your AI Needs a Phone Company

SIP trunking, PSTN connectivity, phone numbers, and media streaming on infrastructure built by the FreeSWITCH team. One platform for AI and telephony.

60+
countries with local numbers
2.7B
minutes processed
< 1.2s
typical AI response latency
$0.16
per minute, AI processing
The Problem

Five Vendors for One Voice Call

Your AI Stack Has a Telephony Problem

You built the voice AI. Now you need phone numbers, SIP trunks, PSTN connectivity, and media streaming. That means another vendor, another SDK, another invoice.

Markup on Markup

Your AI platform charges you. Your telephony provider charges your AI platform. You pay both margins on every minute.

Five Escalation Paths at 2 AM

Call drops at 2 AM. Is it the AI layer? The STT provider? The telephony vendor? The SIP trunk? When every component is a different vendor, every outage is a finger-pointing exercise.

No State Across the Boundary

Call state lives in the AI layer. Telephony state lives in the CPaaS layer. Transferring a call with context means rebuilding state from scratch.

Build a Voice AI Agent

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()

Multi-Vendor Telephony vs. Single Platform

Bolt-On Telephony

  • Separate vendor for numbers, SIP, PSTN, and media
  • AI platform pays the telephony vendor, you pay the AI platform
  • State reconstruction on every transfer and handoff
  • Multiple dashboards, multiple support channels
  • Audio routes out for STT, back for TTS, adding latency

SignalWire

  • Numbers, SIP, PSTN, media, and AI on one platform
  • Direct pricing, no middleman margin
  • Platform-native state travels with every call
  • One dashboard, one support channel, one invoice
  • AI kernel inside the media stack, 800-1200ms response

Telephony Capabilities

CapabilityDetails
Phone NumbersLocal, toll-free, international. 60+ countries. Provision via API.
Number PortingPort from any carrier. 5 to 10 business days for US numbers. No downtime.
SIP TrunkingFull SIP registrar with digest auth and IP ACL. G.711, Opus, G.729. TLS/SRTP.
PSTNOrigination and termination. Direct carrier interconnects.
Media StreamingReal-time audio via WebSocket for custom analytics and transcription.
WebRTCBrowser-based calling via scoped subscriber tokens.
ConferencingMulti-party conferences mixing AI agents, phone callers, SIP, and WebRTC.
FaxT.38 fax support over SIP.

API Compatibility with Twilio

OperationTwilio APISignalWire
Make a callPOST /CallsCompatible
Send SMSPOST /MessagesCompatible
List numbersGET /IncomingPhoneNumbersCompatible
Provision numberPOST /IncomingPhoneNumbersCompatible
Update callPOST /Calls/{sid}Compatible

Get Connected

1

Sign up

Create a project and get API credentials. Test with the browser-based sandbox before provisioning numbers.

2

Provision numbers

Get numbers through the dashboard or API. Port existing numbers from your current carrier with no downtime.

3

Route to your endpoints

Point numbers at AI agents, SIP endpoints, subscribers, or declarative YAML scripts. Change routing without changing the number.

4

Connect your SIP infrastructure

Register your SIP endpoints or bring your own carrier trunks. Use platform routing, AI, and state management with your existing connectivity.

💡
Built by the team that created FreeSWITCH, the open-source telephony engine behind major carriers and contact centers worldwide. Direct carrier interconnects, not API-based intermediaries.

FAQ

Can I keep my existing carrier contracts?

Yes. Connect your SIP trunks to SignalWire. Use the platform's routing, state management, and AI capabilities with your carrier's PSTN connectivity.

How long does number porting take?

Typical timeline is 5 to 10 business days for US numbers. No downtime during the porting window. Your existing numbers continue working until the port completes.

Is the API compatible with Twilio?

Core operations (calls, messages, number provisioning) use Twilio-compatible patterns. Update credentials and endpoint to migrate. Native interfaces provide additional capabilities beyond the Twilio model.

What codecs are supported?

G.711 u-law and a-law, Opus, G.729, and GSM. Codec negotiation is standards-compliant. TLS/SRTP for encrypted media and signaling.

Can I mix AI agents with traditional telephony?

Yes. Route some numbers to AI agents, others to SIP endpoints or subscribers. Transfer between AI and human agents with full context preserved. Conferencing mixes all endpoint types.

Trusted by 2,000+ companies

One Platform for Voice, SIP, PSTN, and AI

Phone numbers, SIP trunks, PSTN connectivity, and AI agents on infrastructure built by the FreeSWITCH team.