• V20: 3CX Re-engineered. Get V20 for increased security, better call management, a new admin console and Windows softphone. Learn More.

disconnecting a call in the workflow

Status
Not open for further replies.

SWSDEV

Forum User
Joined
Feb 23, 2008
Messages
256
Reaction score
0
What would you suggest is the best way if I wanted an external source to disconnect a call in the IVR? Would I have to use the .Net API for that?
 
Call disconnection must be triggered from inside the callflow, so you would need to query your external source to know if it's the right moment to disconnect the call in some points in the callflow. To query your external source you have many options, like web interaction, web services, database access, socket and external code execution. You may choose the one that fits best in your scenario.
 
I should actually be little more specific. I didn't mean disconnect the call flow but return a call where 3cx is hosting the media stream externally back into the ivr while leaving the call on hold.

Querying the external source would work for the first part, I would assume I would enter an infinite loop until it received the proper response from the external source, but what about the other part?
 
I'm not sure if I understand what you need to do. Can you describe it in more detail?
Thanks.
 
If a call in the IVR was transfered to an external number (not blind transfer, but still connected) how could I have the number that was forwarded to get put on hold so the initial caller goes back to the IVR but could be sent back to the call again?

There would be external elements involved for sure, but I don't know to what degree yet.
 
Let's use an example to see if I understand.
1) Caller A calls to a VAD Callflow
2) The VAD callflow transfers the call to B using bridge mode, so the connection "A <-> IVR <-> B" is established

In that scenario, if B puts the call on hold, A will hear the music on hold. The IVR will not notice the difference.
If B drops the call, then A can continue talking to the IVR. But the IVR can not decide when the call to B ends. It must be B who ends the call.
 
But if I have an external application, I could put the call on hold using the other SDK correct?

I don't want either of them to put the call on hold, but an external timer to put it on hold.
 
What do you mean by "other SDK"? I'm not sure if there is an SDK for doing that with 3CX. Maybe you know something I dont... 8)
 
This one


http://wiki.3cx.com/api/callcontrolapi
 
I never used that API, but I think it is possible to do it.

I think that you should use an external execution component to notify your external component about the call information, and then your external component can use the call control API to put that call on hold after a period of time.

I'm not sure what information is required to do that with the call control API, but from the VAD callflow you can send the ANI, DNIS and CallID to your external component. Maybe with that information you can find the call and manipulate it.
 
Status
Not open for further replies.
Get 3CX - Absolutely Free!

Link up your team and customers Phone System Live Chat Video Conferencing

Hosted or Self-managed. Up to 10 users free forever. No credit card. Try risk free.

3CX
A 3CX Account with that email already exists. You will be redirected to the Customer Portal to sign in or reset your password if you've forgotten it.