Connect a number to an agent
Bind a TryVox phone number to one of your AI agents. Inbound calls to that number bridge to the agent automatically.
Connect a number to an agent
A binding is the link between one TryVox phone number and one of your AI agents at the provider. Once bound:
- Inbound: calls to the number bridge straight to the agent.
- Outbound (agent → PSTN): 🚧 in progress — the trunk is provisioned on your provider so the resource exists, but the egress path through TryVox is being polished. Don't rely on outbound for production yet; coordinate with support if you need it.
- You don't need to touch your provider's "inbound phone number" or "SIP trunk" settings — TryVox manages the inbound side.
- Standard TryVox call logs, recordings, and CDRs still apply.
You can bind any TryVox number you own (Active status) to any agent that exists at the connected provider.
Steps
- AI Agents → open the integration you want to use.
- Click Connect number.
- Pick a TryVox number from the dropdown (only your active numbers appear).
- Pick the agent from your provider's agent list (we fetch this live).
- Click Connect.
After binding, the agent is reachable on that number immediately. No deploy, no SIP config to copy — the routing layer picks it up on the next call.
How routing works
When an inbound call arrives at a bound TryVox number:
- Kamailio asks voice-service: what's the destination for this DID?
- Voice-service asks aiagent-service first: is there an AI binding?
- If yes, voice-service returns the provider's SIP URI (e.g.
sip:agent_xyz@sip.vapi.ai). - Kamailio dials that URI directly through rtpengine — no FreeSWITCH leg.
- The provider answers, runs your agent, and bridges audio back to the caller.
If aiagent-service is unreachable for any reason, voice-service falls back to the normal DID lookup — non-AI customers aren't affected.
What flows to the agent
Each leg carries these headers so your provider can identify the call:
X-TryVox-Direction: inbound
X-TryVox-Route: ai-agent
X-TryVox-AI-Provider: vapi | elevenlabs | retell
X-TryVox-From: <E.164 caller>
X-TryVox-To: <E.164 TryVox number>The provider sees the original caller's E.164 in the SIP From header.
Unbinding
Click the trash icon next to a binding to disconnect. After unbinding, inbound calls to that number fall back to the rest of your routing config (Voice Application, SIP trunk, etc.). The agent in your provider account is untouched.
Limitations
- One binding per number. A TryVox number can route to at most one agent at a time. If you want time-of-day or condition-based routing, do it at your provider (most expose it).
- No simultaneous TryVox + provider inbound phone numbers. Don't also configure the same number as an inbound number in your provider's dashboard — calls would race. Pick one delivery path; we recommend TryVox so you keep the carrier-grade routing.