All fields are required
IMS compatibility, Session Timers, and two decades of SIP RFCs are prerequisites for enterprise deployments. Not roadmap items.
IMS carriers mandate periodic session refresh via re-INVITE or UPDATE. LiveKit treats every INVITE as a new call, even in-dialog requests, breaking the session timer mechanism entirely.
IMS uses preconditions to ensure quality-of-service is established before media flows. Without this, enterprise carriers reject calls or route them through degraded paths.
LiveKit's SIP implementation sent 200 OK messages to private IP addresses on Google Compute Engine, breaking UDP connectivity. The issue was closed as 'not planned.'
Incoming INVITE requests that do not match any configured trunk get routed through catch-all rules. This creates phantom rooms and potential abuse vectors.
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()
| RFC | Purpose | LiveKit | SignalWire |
|---|---|---|---|
| RFC 4028 | Session Timers | Breaks on re-INVITE | Full support |
| RFC 3312 | QoS Preconditions | Not supported | Full support |
| RFC 3261 | Core SIP | Basic support | Complete implementation |
| RFC 3263 | SIP Server Location | Partial | Complete |
| RFC 3515 | SIP REFER | Added after 9 months, fragile | Native |
| RFC 4579 | Conference Event Package | Rooms model (non-standard) | Native |
FreeSWITCH's SIP dialog state machine was built to handle in-dialog requests, not treat them as new calls. Session Timers work by default.
Cold, warm, blind, and attended transfers are core telephony primitives in the state machine, not features added nine months after launch.
Every codec in production use, including Opus, G711, G722, and more. No missing init() functions blocking enterprise integrations.
Registration authentication, IP ACLs, toll fraud prevention, and call admission control built into the network edge. Not catch-all routing.
| Requirement | LiveKit | SignalWire |
|---|---|---|
| IMS compatibility | Breaks on Session Timers | Full support |
| Carrier-grade NAT traversal | Documented issues in cloud | Production-grade |
| IP whitelisting | Dynamic IPs, not predictable | Enterprise-grade infrastructure |
| SIP edge security | Catch-all accepts unmatched trunks | Edge validation and ACLs |
| Codec range on SIP | G711 and G722 only | Full range including Opus |
| Enterprise SIP interop | Twilio/Telnyx focused | Asterisk, Genesys, Cisco, Avaya |
| Transfer types | SIP REFER (fragile) | Cold, warm, blind, attended |
| Compliance and recording | Separate setup required | Built into platform |
pip install signalwire-agents. One package with native SIP and PSTN support.
Point your existing PBX or carrier SIP trunk at SignalWire. Interoperates with Asterisk, FreePBX, Genesys, Cisco, and Avaya.
Build voice AI agents in Python with tools, state management, and transfer logic built in.
The same FreeSWITCH infrastructure that carriers trust with trillions of minutes runs your AI agents.
Yes. SignalWire interoperates with Asterisk, FreePBX, Genesys, Cisco, and Avaya through standard SIP. No proprietary protocols required.
SignalWire's FreeSWITCH heritage includes full IMS compatibility: Session Timers (RFC 4028), QoS Preconditions (RFC 3312), and correct in-dialog re-INVITE handling.
Yes. SignalWire provides stable, predictable IP ranges for SIP and RTP traffic. Enterprise firewall whitelisting works as expected.
Transfers use standard telephony primitives: cold, warm, blind, and attended. Conversation context, session state, and AI summary transfer with the call.
Trusted by 2,000+ companies
Carrier-grade SIP and IMS compatibility are not roadmap items. They are the foundation.