Hi Matt ,
This usually happens when the SIP dialog between Genesys and the external platform is not actually being terminated.
From what you described, the call flow likely looks something like this:
Caller → Genesys (TFN) → SIP to LiveKit → Bot decision → Back to Genesys (queue) or disconnect.
If the bot decides "No" and only closes the media session or the bot logic, but does not send a proper SIP BYE, Genesys will keep the call leg active. Since the original caller is still connected, the conversation will remain up until the caller hangs up.
In SIP terms, Genesys expects the external system to explicitly terminate the dialog with a BYE. If LiveKit simply ends the processing or closes RTP without sending a BYE, the call will appear "stuck" on the Genesys side.
Verify in the SIP traces whether LiveKit is actually sending a SIP BYE when the bot rejects the call.
If you can capture a SIP trace, I would specifically look for whether the BYE / 200 OK exchange is happening when the bot rejects the call. That usually points pretty quickly to where the disconnect logic is missing.
------------------------------
Kaio Oliveira
GCP - GCQM - GCS - GCA - GCD - GCO - GPE & GPR - GCWM
PS.: I apologize if there are any mistakes in my English; my primary language is Portuguese-Br.
------------------------------
Original Message:
Sent: 04-01-2026 10:35
From: Matt Bowdy
Subject: Can't Disconnect SIP Call to LiveKit
Hey all... i have an odd situation. We're making a bot to use for screening purposes. I'm receiving a call to a traditional TFN, then sending that call out via SIP to a livekit connection that engages with my bot. The bot screens the call and if its a yes, we send that call back into genesys and connect to a queue. If it is a no, we send a disconnect back into genesys. Problem is, unless the user (original caller) hangs up, the call from (and then back to at times) genesys wont hang up. Thoughts?
#Telephony
------------------------------
Matt Bowdy
n/a
------------------------------