1. Background & Objective
Voice AI and Contact Center (CC) platforms often operate robust SIP-based (vSIP) infrastructures for AI-led and agent-assisted conversations. However, they typically lack direct access to India’s PSTN (landline and mobile networks) due to licensing and regulatory restrictions.
Exotel, operating as a Unified License (UL) Virtual Network Operator (VNO), bridges this gap by offering compliant PSTN ingress/egress via its Virtual SIP Trunking (vSIP) solution.
Objective:
To provide a plug-and-play, regulatory-compliant PSTN connectivity layer for both Voice AI and CC platforms without disrupting their current SIP infrastructure, bot orchestration logic, or agent workflow.
Enable Voice AI and Contact Center platforms to access Indian PSTN via Exotel’s UL VNO.
Provide a plug-and-play SIP trunking layer without disrupting existing bot or agent logic.
Support both inbound and outbound PSTN call flows using Exotel’s vSIP infrastructure.
Streamline onboarding via APIs for trunk creation, DID mapping, and IP whitelisting.
This solution is ideal for:
Voice AI platforms using SIP-based infrastructure (e.g., FreeSWITCH, Kamailio, Asterisk, custom SBCs)
Contact Center platforms with on-prem or cloud SIP setups requiring PSTN termination or origination
Companies seeking elastic and compliant PSTN connectivity without managing telco licensing
AI-led and hybrid inbound/outbound voice workflows
2. Solution Overview
2.1 Architecture
Partner Side: Existing vSIP Endpoint / SBC / PBX (Voice AI or CC layer)
Exotel Side: UL VNO SIP Gateway connected to Indian PSTN via multiple telcos
Connectivity Options:
Public Internet (default)
MPLS or VPN (optional for BFSI/secure deployments; contact CSM)
Media: RTP/SRTP, supporting PCMA (G.711 A-law) and PCMU (G.711 μ-law)
Signaling: SIP over TCP or TLS
Call Flow:
Outbound: Partner SBC sends SIP INVITE (only from static IP) → Exotel SIP Gateway → Indian PSTN → Customer Phone
Inbound: PSTN Call → Exotel DID → SIP INVITE (from static IP or FQDN) to Partner SBC (for bot or agent)
Exotel Virtual SIP Trunking – TCP Integration Guide
Exotel Virtual SIP Trunking – TLS Integration Guide
2.2 Key Capabilities
Dynamic Channel Allocation for scale management
Multi-Telco Failover with 100% connectivity SLA
DID Management: Purchase & KYC compliant with Indian regulations
Secure Interconnects: IP whitelisting, TLS support
Regulatory Compliance: SDCA mapping, lawful interception readiness
Exotel Virtual SIP Trunking – To-Flow Guide
3. Onboarding & Integration
3.1 Exotel Account Setup & KYC
Create Account – Sign up on Exotel and select Browser Calling during setup
Complete KYC/CAF – Upload KYC Documents
3.2 SIP Trunk Enablement
Enable SIP Trunking – Email hello@exotel.com to activate trunking & provision a Virtual Number/Exophone
Retrieve API Credentials – Visit API Settings to get account_sid, key, and token
To configure silence ring or remove ring duration, contact your Exotel CSM or email hello@exotel.com
3.3 Trunk Configuration via API
Use:
API Steps:
Create Trunk (/trunks)
Map DIDs (/trunks/{trunk_sid}/phone-numbers)
Whitelist IPs (/trunks/{trunk_sid}/whitelisted-ips)
Add Destination URIs ( TCP, TLS)
Set trunk_external_alias for VN–FQDN mapping if required (for VAPI, LiveKit, etc.)
4. Inbound Call Setup (PSTN → SIP Platform)
Create a Flow using Connect Applet in App Bazaar
Use sip:<TrunkID> in the Dial Whom field
For custom routing, use a Dynamic URL to fetch destination URI and pass headers
Supports up to 3 custom SIP headers, e.g., X-param1=value1 (max 200 bytes total)
Headers prefixed with Exotel- or Veeno- are platform-reserved
Connect Applet – Dynamic URL Response Example:
{
"fetch_after_attempt": false,
"destination": { "trunk": "trunk-2134" },
"custom_params": "param1=value1¶m2=value2",
"record": true,
"recording_channels": "dual"
}
Reference: Connect Applet – Dynamic URL
5. Outbound Call Setup (Platform → PSTN)
5.1 Static IP Setup
Request IP whitelisting via Exotel Support or use above repo to get it done.
Once approved, initiate SIP outbound calls to Indian PSTN
5.2 FQDN-based Setup (API-triggered)
Configure trunk destination via API (only for FQDN-based use cases)
Set destination as sip:<TrunkID> in Connect Applet
6. Voicebot to Agent Handoff (vSIP Flow)
Flow:
Voicebot runs on Connect Applet over vSIP
Bot disconnects → Flow moves to Passthru Applet → calls webhook
Webhook Response:
200 OK: Route to Connect Applet (agent group or SIP trunk)
302/404: Move to Hangup Applet
Example:
User says “Talk to human” → Bot ends → Passthru Applet → webhook (200 OK) → SwitchCase → Connect Applet (sip:<TrunkID>)
7. Benefits for Voice AI and CC Platforms
Plug-and-play PSTN access via Exotel’s UL VNO
Elastic scaling with dynamic channel allocation
Regulatory assurance with lawful interception readiness
TLS security for sensitive verticals
Real-time programmable call routing
8. Example Use Cases
AI-led outbound campaigns (sales/NPS)
Inbound IVR bots or reception assistants
Agent-bot hybrid support models
KYC calls and OTP verification for BFSI
Order confirmations and fraud checks for e-commerce
9. Next Steps
Share SIP endpoint details: IP/FQDN, transport type, supported codecs
Exotel team initiates CAF/KYC validation
Integration testing with live traffic
Commercial onboarding & production go-live
Contact: hello@exotel.com or your Exotel CSM