I am having an issue with terminating an existing call for an agent, so that the agent can pick up an incoming call which is in a queue.
Here is the setup:
The agent is on an outbound call. He then sees a call come into a queue in VICI and wants to take the call. But he has to get off the current call before he can take the new call.
So he clicks a button in our CRM, which sends an "external_hangup" API call to the VICI server. This works to hang up the call as expected.
The agent then pick up the incoming call fractions of a second later from the queue. The call is then connected, but fractions of a second later, the call is hung up.
I think what is happening is that there is a delay in processing the external_hangup function. So the agent has already picked up the new call, and then both calls get terminated at the same time.
What can be done to resolve this?