May 27, 2026 · 7 min readDocumentation Index
Fetch the complete documentation index at: https://docs.unpod.dev/llms.txt
Use this file to discover all available pages before exploring further.
Telephony is the layer that connects your AI agent to the real phone network. Unpod abstracts away the complexity of SIP, PSTN, and WebRTC — but understanding how the pieces fit together helps you configure it correctly and debug issues faster.
The Three Components
Unpod telephony has three core concepts:| Component | What It Is | Example |
|---|---|---|
| Phone Number | A real PSTN/VoIP number | +1 415 555 0100 |
| Bridge | Routing config linking number + provider + agent | support-bridge |
| Provider | Voice infrastructure that handles media | LiveKit, Vapi |
Providers: The Voice Infrastructure
Providers handle the actual audio — WebRTC media servers, transcription, and TTS streaming.LiveKit
LiveKit is an open-source, WebRTC-based media server. Unpod’s real-time voice pipeline runs on LiveKit.- Sub-300ms end-to-end latency
- Can be self-hosted (cost control at scale)
- Supports SIP trunking for PSTN connectivity
- Best for: developers who want full control, self-hosted deployments
Vapi
Vapi is a hosted voice AI infrastructure platform.- Fully managed — no infrastructure to run
- Built-in SIP trunking and number management
- Simplified setup for faster time to production
- Best for: teams that want managed infra without ops overhead
Bridges: The Routing Layer
A Bridge is a named configuration that connects:- One provider (LiveKit or Vapi)
- One or more agents
- One or more phone numbers
Creating a Bridge via Dashboard
Go to Dev Platform → Telephony → Bridges → Create Bridge:Creating a Bridge via API
Phone Numbers
Unpod provisions real phone numbers through your connected SIP provider. Numbers are then assigned to bridges.Number Types
| Type | Description | Use Case |
|---|---|---|
| Local DID | Local area code number | Customer support, sales |
| Toll-Free | 800/888/877 numbers | Enterprise support lines |
| International | Non-US numbers | Global operations |
Provisioning a Number
Call Flow: What Happens on an Inbound Call
- Caller dials your number
- SIP provider receives the call, looks up the number’s bridge assignment
- Bridge routes call to the configured provider (LiveKit/Vapi)
- Provider streams audio to the Unpod voice pipeline
- Voice pipeline runs: STT → LLM (with your agent config) → TTS
- Audio streams back to caller in real time
- Call ends, transcript and metadata written to Call Logs
Outbound Calls
For outbound (agent-initiated) calls, create a Task via API:Multi-Agent Routing
One bridge can route to different agents based on custom logic. Use the API to update bridge routing dynamically:Debugging Common Issues
| Symptom | Likely Cause | Fix |
|---|---|---|
| Call connects but agent doesn’t respond | Provider not reachable or misconfigured | Check LiveKit URL and API key in env |
| Number provisioning fails | No SIP provider connected to bridge | Connect a provider first |
| High latency on first word | TTS model cold start | Use a faster TTS model (OpenAI TTS > ElevenLabs for latency) |
| Call drops after 30s | WebRTC ICE timeout | Check firewall rules for UDP 10000-60000 |
What’s Next
Telephony API Reference
Full API reference for bridges, numbers, and providers.
Dev Platform: Telephony
Dashboard walkthrough for telephony setup.
Providers Overview
Configure and manage voice infrastructure providers.
Create a Task (Outbound Call)
Trigger outbound AI calls via API.