Voice AI Ecosystem
Connect Exotel SIP trunking to Rapida AI
12 min
this guide aligns exotel with rapida ai for voice assistants rapida documents two relevant patterns github repo (reference) https //github com/exotel/agentstream voiceaiecosystem applicability hybrid — ui driven native exotel integration (webhook/streaming) or sip driven sip trunk path native exotel integration — exotel app / flow calls rapida’s webhook + bidirectional media stream (no exotel sip trunk api required for this path) sip trunk — exotel as sip carrier (sip trunking) ↔ rapida’s sip server at sip 01 in rapida ai 5060 — same trunk / credentials / destination uris patterns as other articles in this repo primary rapida reference exotel integration · sip trunk integration · phone deployment engineering detail rapida/integrations/exotel vsip/rapida exotel voice ai connector md quickstart rapida/integrations/exotel vsip/quickstart md choose a path path best when exotel work rapida work a — native exotel you want rapida’s documented streaming integration configure app / flow webhook to rapida; assign did integration → tools → exotel credentials; phone deployment with app id + number b — sip trunk (sip trunking) you need sip toward rapida from exotel (or digest toward exotel for outbound) create trunk → map did → credentials ; destination uris toward rapida sip host; connect sip \<trunk sid> sip trunk credential + phone deployment with sip as provider if you use path a , you may not need post …/trunks at all — follow rapida’s exotel guide first path a — native exotel (webhook + media stream) from rapida — exotel rapida — credentials integration → tools → exotel → setup credential fields (per rapida) account sid , client id , client secret — sourced from the exotel dashboard (api / app settings) exotel india often labels credentials api key and api token ; map them to whatever rapida’s form expects (exotel api credentials for india) rapida — phone deployment assistant → deploy → phone telephony provider exotel , select credential, phone number (exotel virtual number), app id (exotel applet / flow id that will hit rapida) exotel — applet / flow set the inbound url rapida documents (replace placeholders) https //websocket 01 in rapida ai/v1/talk/exotel/call/{your assistant id}?x api key={your api key} assign your exotel number to this app confirm the exact hostname and path in rapida’s exotel guide if it changes outbound use rapida sdk or rest (post https //api rapida ai/v1/talk/call) — examples in rapida — exotel path b — exotel sip trunking + rapida sip trunk from https //doc rapida ai/integrations/telephony/sip rapida sip endpoint (for routing to rapida) sip\ sip 01 in rapida ai 5060 transport udp or tcp ; codecs g 711 pcmu (preferred) / pcma allow rtp per rapida + your firewall docs exotel — inbound pstn → rapida create trunk → map did → (optional) post …/credentials if your design requires digest on the exotel side post …/destination uris toward rapida, e g 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 01 in rapida ai 5060;transport=udp" } ] }' flow → connect dial whom = sip \<trunk sid> (voice ai / sip trunking) rapida — sip trunk credential integration → tools → sip trunk set sip uri to your exotel edge ip\ port (and digest if used) for outbound from rapida toward exotel — mirror elevenlabs style termination use exotel network and firewall for edge values optional exotel acl post …/whitelisted ips only if rapida publishes fixed static sip egress ips to allow — one ip per post , mask 32 (exotel trunk does not support arbitrary cidr ranges) docid\ jq98jrrnxtzaudyogodmz troubleshooting symptom what to check inbound never hits rapida (path a) webhook url, assistant id , x api key , number linked to correct app sip failures (path b) sip 01 in rapida ai reachability, udp/tcp , codec ; destination uris format outbound fails rapida credential + deployment; from number is your exotel did connect misrouted sip \<trunk sid> only in dial whom (path b) references resource url rapida — exotel https //doc rapida ai/integrations/telephony/exotel rapida — sip trunk https //doc rapida ai/integrations/telephony/sip rapida — phone deployment https //doc rapida ai/voice deployment options/phone rapida — credentials https //doc rapida ai/credential/rapida credentials rapida — overview https //doc rapida ai/introduction/overview 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.
