AI Voice Infrastructure Overview
CloudVNO's ultra-low-latency SIP trunking and phone number infrastructure purpose-built for AI voice agents.
Built for AI Voice
CloudVNO AI Voice Infrastructure is designed specifically for AI voice agents — Vapi, Retell, Bland.ai, OpenAI Realtime API, and custom LLM-powered agents. Standard telephony wasn't built for real-time AI inference. We were.
Key Specifications
| Metric | Value |
|---|---|
| Media latency (SIP) | < 50ms (p99) |
| Media latency (WebSocket) | < 30ms (p99) |
| Concurrent calls | 1,000+ per account |
| Number provisioning | < 2 seconds |
| STIR/SHAKEN | Full attestation (A) |
| Codecs | G.711 (PCMU/PCMA), G.722, Opus |
Integration Patterns
Pattern 1: SIP Trunk (Recommended)
Connect your AI agent platform to CloudVNO via SIP trunk. Best for platforms that support SIP (Vapi, Retell, Bland).
User calls CloudVNO DID
→ CloudVNO routes to your SIP trunk
→ Your AI agent platform (Vapi/Retell)
→ LLM inference (OpenAI/Anthropic)
→ Audio back to CloudVNO
→ Delivered to caller
Pattern 2: WebSocket Audio Bridge
For custom AI agents, use CloudVNO's WebSocket bridge to stream raw audio to/from your LLM:
# When a call comes in, CloudVNO sends to your webhook
@app.route("/ai-voice-webhook", methods=["POST"])
def ai_voice():
call_sid = request.form["CallSid"]
return Response(f"""
<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Connect>
<Stream url="wss://yourapp.com/audio-stream/{call_sid}"/>
</Connect>
</Response>
""", mimetype="text/xml")
Getting Started with Vapi
- Create a CloudVNO account and provision a US phone number
- In Vapi dashboard → Phone Numbers → Buy Number → Import
- Select SIP Trunk and enter CloudVNO credentials from your dashboard
- Assign your assistant to the number
Getting Started with Retell
- Provision a CloudVNO number via API
- Set
voice_urlto your Retell SIP endpoint - Calls automatically route to your Retell agent