sip icon indicating copy to clipboard operation
sip copied to clipboard

Has anyone been successful in integrating Exotel with LiveKit?

Open Saloni1208 opened this issue 6 months ago • 11 comments

Saloni1208 avatar Aug 05 '25 11:08 Saloni1208

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 ?

linear[bot] avatar Aug 19 '25 03:08 linear[bot]

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.

pavan-tummala-tcgls avatar Aug 19 '25 08:08 pavan-tummala-tcgls

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 avatar Oct 07 '25 19:10 arjun-mavonic

@arjun-mavonic Yeah been stuck with the same thing, let me know if you figure this out.

akash-dutta-dev avatar Oct 26 '25 20:10 akash-dutta-dev

@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 avatar Oct 26 '25 20:10 arjun-mavonic

@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?

rahul20110 avatar Oct 28 '25 13:10 rahul20110

Have you tried using this guide -> https://support.exotel.com/support/solutions/articles/3000134145-livekit-and-exotel-sip-trunking-integration-guide ?

nishadmusthafa avatar Oct 28 '25 13:10 nishadmusthafa

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.

rahul20110 avatar Oct 28 '25 14:10 rahul20110

have any one figured out the integration? @arjun-mavonic did you?

SAHILGAWLI avatar Nov 25 '25 05:11 SAHILGAWLI

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.

arjun-mavonic avatar Nov 25 '25 09:11 arjun-mavonic

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

SAHILGAWLI avatar Nov 25 '25 12:11 SAHILGAWLI