Has anyone been successful in integrating Exotel with LiveKit?
from nishad:
Yes we have many customers who use Exotel already. They use the same APIs listed here like creating inbound trunks, adding dispatch rules, etc. It doesn't really need an integration. Did you have any specific questions on how to do that ?
Hello, could you please give us a bit more info on how this is managed? We tried integrating with Exotel and are facing a lot of issues. At a high level if there's a list of steps or if we have to do anything specific w.r.t. Exotel.
Thank you.
I had a call with exotel team. They are asking for FQDN and Port. I provided them my SIP URI without the sip(SIP endpoint) and the port. But they face issue with it.
Next thing we tried to do is to use the wss url with voicebot applet. That doesn't work as well. Stuck in this loop since 2 months.
Please help folks.
@arjun-mavonic Yeah been stuck with the same thing, let me know if you figure this out.
@arjun-mavonic Yeah been stuck with the same thing, let me know if you figure this out.
@akash-dutta-dev yup issue got sorted. It was mistake from exotel team.
Your FQDN is the sip url and the TCP port is 5060
@arjun-mavonic Yeah been stuck with the same thing, let me know if you figure this out.
@akash-dutta-dev yup issue got sorted. It was mistake from exotel team.
Your FQDN is the sip url and the TCP port is 5060
can you let me know are you able to hear the AI Agent when you call on the number?
Have you tried using this guide -> https://support.exotel.com/support/solutions/articles/3000134145-livekit-and-exotel-sip-trunking-integration-guide ?
I have registered a SIP Trunk with them. Destination URI as SIP URI given in the livekit cloud dashboard, Transport as TCP and port as 5060. My agent is self hosted locally on my laptop. Whenever I try to call on the number, I see no job request so that agent is dispatched to some room. While I am testing via Zoiper i can see agent joining the room and continuing the conversation.
have any one figured out the integration? @arjun-mavonic did you?
have any one figured out the integration? @arjun-mavonic did you?
Yup. Our inbound and outbound is completely functional with exotel.
For outbound we use exotel api to place a call.
For call transfer there is an issue, hence we are using pipecat for exotel, because I pipecat supports websocket based agents, u could integrate it with voice bot applet from exotel.
So I am not using livekit for exotel, we use livekit for other providers who have full sip support.
Exotel doesn't support SIp based outbound and call transfer natively yet.
have any one figured out the integration? @arjun-mavonic did you?
Yup. Our inbound and outbound is completely functional with exotel.
For outbound we use exotel api to place a call.
For call transfer there is an issue, hence we are using pipecat for exotel, because I pipecat supports websocket based agents, u could integrate it with voice bot applet from exotel.
So I am not using livekit for exotel, we use livekit for other providers who have full sip support.
Exotel doesn't support SIp based outbound and call transfer natively yet.
Hey @arjun-mavonic thanks again for sharing your experience with Exotel + LiveKit earlier.
I’m trying to get inbound working and I’m stuck where only the Exotel path fails:
LiveKit Cloud telephony, one inbound trunk + dispatch rule.
Same trunk has two numbers:
a US test number (from another provider)
an Exotel DID
Calling the US number works perfectly (room + agent + audio).
Calling the Exotel DID gives a 400 on the Exotel side, and they say it’s probably my backend, but if that were the case the US number shouldn’t work either.
On Exotel, I’m using AppBazaar:
Call Start → Connect → Configure using Flow Builder
In Flow Builder, Dial phone number, where the number is the VN/DID they say is mapped to my LiveKit SIP FQDN (I also tried adding ;transport=tcp).
Since I only care about inbound for now, could you share how you wired this on your side?
Are you using vSIP / trunk alias, or directly dialling a SIP URI from Flow Builder?
In your working flow, does Dial target a phone number, a sip:... URI, or some internal alias Exotel set up?
Have you hit 400 on Exotel → LiveKit before, and what was the cause?
Even a brief example of your working Connect/Dial config would really help me see what I’m doing wrong. Thanks a lot