This guide outlines how to integrate Exotel’s Virtual SIP Trunking (vSIP) with your voice application flow (e.g., IVR or agent connect) using SIP signaling. It focuses on the use case of routing inbound SIP calls from external SIP systems into Exotel Flow Applets
1. Use Case: External SIP System to Exotel Flow
This guide is meant for customers who:
Host their own SIP PBX or Bot Platform.
Want to initiate SIP calls into Exotel to trigger flows (like Connect or IVR).
Require SIP-over-TLS or TCP transport.
Example Scenarios
2. SIP Integration Requirements
What You Need to Share with Exotel
Account SID
Exophone (VN) that should route to flow
Source IP or FQDN from where SIP INVITE will originate
Transport type (TCP/TLS)
Note – vSIP Throttling
Exotel enforces a default vSIP rate-limit of 200 calls per minute (CPM) per trunk to safeguard carrier capacity and call quality.
If your traffic profile requires a higher burst rate, raise a request via your CSM or Support ticket. The capacity-planning team will review historical traffic, carrier limits, and QoS requirements and can increase the throttling threshold accordingly.
What Exotel Will Do
Provision SIP trunk mapping on the VN
Route incoming INVITE on SIP trunk to your assigned Flow (via Connect Applet)
3. SIP Configuration Reference (Customer Side)
Here is an Asterisk-style example for TLS:
[general]
externip = <your_public_ip>
localnet = 192.168.0.0/16
[exotelvsip]
type = friend
context = outgoing
fromdomain = <accountsid>.pstn.exotel.com
host = pstn.sgp1.exotel.com
port = 443
transport = tls
disallow = all
allow = ulaw
allow = alaw
nat = force_rport
insecure = port
canreinvite = no
sendrpid = yes
trustrpid = yes
relaxdtmf = yes
encryption = yes
Ports to Open
4. Sample SIP INVITE to Exotel (Flow Integration)
Sip CopyEdit
INVITE sip:+91XXXXXXXXXX@pstn.sgp1.exotel.com SIP/2.0
Via: SIP/2.0/TLS your-sbc.domain.com:5061;branch=z9hG4bK4041f853
From: "+91YYYYYYYYYY" <sip:+91YYYYYYYYYY@exotelt.pstn.exotel.com>;tag=as63e4d7f1
To: <sip:+91XXXXXXXXXX@pstn.sgp1.exotel.com>
Call-ID: abcdef1234567890@exotelt.pstn.exotel.com
CSeq: 102 INVITE
Contact: sip:+91YYYYYYYYYY@your-sbc.domain.com:5061;transport=tls
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
Supported: replaces, timer
X-Exotel-AccountSid: exotelt
Content-Type: application/sdp
Header Reference – SIP INVITE to Exotel (Flow Integration)
Important Notes
Only use X-Exotel-AccountSid for Flow routing. This is essential for Exotel to associate the call with the correct Flow.
Do not add X-Exotel-CallSid, X-Exotel-LegSid, or X-Exotel-TrunkSid. These headers are auto-injected by Exotel in the inbound leg.
Ensure your SIP infrastructure handles:
G.711 PCMA (preferred codec)
SIP over TLS (port 443)
SRTP if TLS is enabled
5. Edge PoPs and IPs to Whitelist
6. Testing Steps
Place a SIP INVITE to the Exophone you've been assigned.
Confirm that the call lands in the expected flow (e.g., Connect applet rings agent).
Use sngrep, sip set debug on, or Wireshark to validate SIP path.
Ensure RTP is established from your system to Exotel's media IP.
7. Best Practices
Ensure Exophone is mapped to a live flow before testing.
Always share your SIP signaling IP/FQDN and transport in advance.
Prefer PCMA (G.711 A-law) for better regional PSTN compatibility.
Use TLS transport when possible to ensure encryption and SRTP.
Confirm DNS resolves FQDN correctly if not using static IP.
8. Support
Contact your Exotel Account Manager with:
Account SID
Flow/Exophone ID
SIP signaling IP or FQDN
Preferred Transport (TCP or TLS)
Technical Help:
support.exotel.com
Share call samples and SIP logs for troubleshooting
Version: vSIP-to-Flow-Guide (Alpha)
Last Updated: June 2025