Voice AI Ecosystem
Connect Exotel SIP trunking to Retell AI
9 min
this guide connects exotel sip trunking to retell ai using elastic sip per retell custom telephony, with exotel as the indian pstn provider github repo (reference) https //github com/exotel/agentstream voiceaiecosystem applicability ui driven (retell dashboard custom telephony) with optional api driven call control exotel edge use ip\ port from exotel for sip toward their gateway (network and firewall) edge hostnames you may see (india) in voip exotel com 5070 (tcp) and in voip exotel com 443 (tls) use the exact host/ip + port + transport exotel assigns see exotel trunk api snippets md acl vs digest (important) exotel trunk acl is intended for static /32 ips only (mask 32), not cidr ranges if retell provides cidr ranges (common), do not attempt to whitelist ranges on exotel—prefer digest and coordinate with exotel/provider support if you see auth/routing issues full reference retell/integrations/exotel vsip/retell exotel voice ai connector md quickstart retell/integrations/exotel vsip/quickstart md retell (from official docs) sip server sip\ sip retellai com with ;transport=tcp (or tls / udp) — https //docs retellai com/deploy/custom telephony retell publishes ip ranges for carriers to allowlist toward retell ; on exotel trunk acl , you can only add static single ips (mask 32) per exotel — not full cidr ranges on the trunk if retell gives ranges, coordinate with exotel or use digest auth flows direction what to configure outbound sip exotel create trunk → map did → credentials optional whitelisted ips only if retell provides a fixed static egress ip (one ip per post, mask 32) inbound sip exotel destination uri on trunk toward retell (sip retellai com host/port/transport per retell) connect applet sip \<trunk sid> in dial whom (value = api trunk sid, not a full uri) part a — retell configure agent; import exotel did after exotel trunk exists (custom telephony) match digest to exotel post /credentials for outbound termination part b — exotel apis auth api key\ api token\@api in exotel com · 200 requests/minute (sip trunk apis) · docid\ jq98jrrnxtzaudyogodmz outbound sip create trunk map did post /credentials (optional) whitelisted ips — only for a static ip from retell, mask 32 inbound sip post /destination uris — example shape (confirm port/transport with retell) curl s x post "https //${api key} ${api token}@${subdomain}/v2/accounts/${account sid}/trunks/${trunk sid}/destination uris" \\ h "content type application/json" \\ d '{ "destinations" \[ { "destination" "sip retellai com 5060;transport=tcp" } ] }' connect sip \<trunk sid> in dial whom dial to sip uri (alternative) https //docs retellai com/api references/register phone call → dial sip {call id}@sip retellai com within 5 minutes — https //docs retellai com/deploy/custom telephony references resource url retell dashboard https //dashboard retellai com/ retell — custom telephony https //docs retellai com/deploy/custom telephony retell — quick start https //docs retellai com/get started/quick start exotel sip api https //docs exotel com/dynamic sip trunking/detailed sip trunking api reference
Have a question?
Our super-smart AI, knowledgeable support team and an awesome community will get you an answer in a flash.
To ask a question or participate in discussions, you'll need to authenticate first.
