In warm call transfer, the human agent number rings if they dont answer the call. sometimes the sip_status declined/no-answer is being delayed due to this.. the customer side ai keeps playing hold_music for morethan 2mins…
how do we fix this, i tried timeout watch dog while ringing but its not working
i already using ringing_timeout, it just sets ring duration of human agent call… its still delays sip_status
i did the custom implementation of warm transfer based on the warm transfer architecture described in docs
i did the custom implementation of warm transfer based on the warm transfer architecture described in docs
Is this also an issue with the prebuilt WarmTransfer task? https://docs.livekit.io/agents/prebuilt/tasks/warm-transfer/
This issue is not happening with us but one of our customers facing this. This is bcz sometimes the sip_status is being delayed by carrier when human decline /doesnt lift the call while ringing.
Ideally, if the create_sip_participant throws the below err immediately after the human rejects/doesnt answer, then our agent stops hold music and starts speaking the result
ervice.py", line 784, in create_sip_participant
return await self._client.request(
^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<6 lines>...
)
^
File
"C:\karthik_c\work\intern\Attack_Captial\working_folder\livekit-agent-sip\venv\Lib\site-packages\livekit\api\twirp
_client.py", line 129, in request
raise TwirpError(
...<4 lines>...
)
livekit.api.twirp_client.TwirpError: TwirpError(code=resource_exhausted, message=twirp error unknown: INVITE
failed: sip status: 486: Busy here, status=429,
I agree, the call should not continue ringing for 2 minutes, I would expect if you are setting a ringing_timeout the call should ring for that amount of time, then return.
My question was whether you (or whomever is reporting this issue) also sees this behaviour with the prebuilt WarmTransferTask, since you said you had a custom implementation of warm transfer. The prebuilt task has been developed with best practices in mind, so should be the much easier path to adopt.
we will try the prebuilt one as well,
the ringing_timeout is working correctly, it rings for the correct duration on human agent side ie… consultation room
the problem is on call room.
lets say i set ringing_timeout for 10s, the human agent phone rings for 10s correctly. but on call room the user sometimes hear hold music for few mins, eventhough the human agent ring was 10s.
I feel this is due to sip_status delay from carrier that the call was not answered/declined so the create_sip_participant throws the below err lately
livekit.api.twirp_client.TwirpError: TwirpError(code=resource_exhausted, message=twirp error unknown: INVITE
failed: sip status: 486: Busy here, status=429,