LiveKit dispatches jobs to workers. SignalWire answers calls. That distinction determines whether your caller waits 50 seconds or under one.
Sigmond is a voice AI agent running on the SignalWire infrastructure this page is about. Ask him about anything you just read.

Every inbound call creates a room, evaluates dispatch rules, queues a job, selects a worker, and initializes an agent process before conversation begins. Ten steps to say hello.
LiveKit Cloud shuts down deployed agents after inactivity. Developers report 10 to 20 second cold starts even on paid plans. A caller who waits that long hangs up.
At 50 concurrent users on the Scale plan, documented p90 latency reached 245 seconds (over four minutes). LiveKit's recommendation: stagger connections with one-second delays.
Each phone call negotiates ICE candidates, STUN discovery, and track subscriptions. These solve NAT traversal for browsers, not for server-side telephony.
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()
| Percentile | LiveKit Latency | SignalWire Latency |
|---|---|---|
| p50 | 13,498ms (~13 seconds) | <1200ms |
| p90 | 245,331ms (~4 minutes) | <1200ms |
| p99 | 276,611ms (~4.6 minutes) | <1200ms |
No job dispatch, no room creation, no track subscription. The agent answers the call. Sub-second response, every time.
Phone numbers, SIP endpoints, AI agents, and subscribers are all addressable the same way. No separate APIs per type.
SIP and PSTN handled natively. No WebRTC bridge, no ICE candidates, no STUN discovery, no TURN relay. Media stays on the platform.
Transfer between agents, numbers, and endpoints using standard telephony primitives. No participant migration between rooms.
| Aspect | LiveKit | SignalWire |
|---|---|---|
| Call model | Room with participants | First-class call object |
| Agent model | Worker dispatched to room | Addressable endpoint |
| Call answering | Job dispatch (10-50s documented) | Sub-second |
| Media transport | SIP-to-WebRTC bridge + ICE/STUN/TURN | Native SIP/PSTN |
| Cold start | 10-50 seconds documented | None (HTTP server) |
| Burst handling | p90 of 245s at 50 concurrent | HTTP endpoint scaling |
| Transfer | Participant migration between rooms | Standard telephony primitives |
pip install signalwire-agents. One package, one version, zero dependency coordination.
Inherit AgentBase, set a prompt, add skills and tools with Python decorators.
Configure a SignalWire number to route to your agent. No rooms, no dispatch, no workers.
The same code runs on a server, Lambda, Cloud Functions, or Azure. No platform lock-in.
LiveKit creates a room, evaluates dispatch rules, queues a job, assigns a worker, and initializes an agent for every call. Each step adds time. Under load, jobs queue behind each other.
SignalWire supports WebRTC for browser-based use cases. For phone calls, media flows through the native SIP/PSTN stack with no bridge conversion.
SignalWire agents are HTTP endpoints. They scale the same way any web service scales. No job queue, no worker pool bottleneck.
Yes. SignalWire handles SIP trunking natively. You can route specific numbers to SignalWire agents while keeping other traffic on existing infrastructure.
Trusted by 2,000+ companies
Build voice AI on infrastructure designed for phone calls, not job queues.
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.