Solved Makecall result check CFD

Status
Not open for further replies.

nextcx

Customer
Joined
Apr 20, 2022
Messages
33
Reaction score
3
Hello All,
I am working on a callflow project:

A summary of the call flow:

1. Inbound call on external number
2. Ring queue #1
3. If nobody pickup the call ring queue #2
4. If nobody pickup the call park the call and trigger a IVR.
5. The IVR will start the callflow app which will:

Dial an external number
If the dialed number pickup it plays a prompt: "Press 1 to accept the call, 2 to reject"
When 1 is pressed it pulls the parked call, if 2 is pressed or disconnected it should dial the next number in list, etc. etc. until someone presses 1.

What is the problem is when a external caller rejects the call the callflow will exit. And if the call is picked up the other external callers in line will be called. How can this be solved?

Many thanks
Call flow.jpegCall flow.jpeg
 
@VoIPTools @edossantos I can't think of a way to monitor a parking using CFD.
That's already working by using an IVR for that part. The question is how to properly failover in case of a disconnected call (or 2). Currently it drops the main flow and goes to disconnect handler flow.

And also if the call is picked up the other external callers in line will be called, which need to be caller picks up = exit callflow.
 
You're probably making all the calls in sequence. The CFD app will do what you tell it to do....

You should probably start the call to the first number only. Then in the callflow that asks the user to press 1 or 2, when the user presses 2, the callflow can trigger a new call to the next destination with the Make Call component....
 
The problem is that when the called number doesn't press 2 but drops the call it will hit the exit sequence.
 
Yes, but if we call the 2nd external number there and that one fails as well there is no new disconnect handler flow in order to call the 3th user, because we're already there.
 
Yes, but if we call the 2nd external number there and that one fails as well there is no new disconnect handler flow in order to call the 3th user, because we're already there.
This is incorrect. The second call will start a new callflow instance. The callflow will be executed from the beginning, and when the call ends for this call, the Disconnect Handler Flow will be executed. Each call starts from the beginning of the callflow.
 
@edossantos @ConceptsWeb
Thank you for your answer, the problem is when it starts from the beginning that the other external numbers will also be called.

I need a callflow where there is a Make call check to check if the call is answered. And after that the callflow will exit.
And if the call is not picked up that it calls the other external numbers in sequence.

Can you maybe built me a CFD demo so I can understand your opinion better?

Thanks again
 
The Make Call component will tell you if the call is established or not. You can use the Result property which is a boolean (true/false) for this. You need to use a Loop, and when the Result is false, you call the next number, until some call gets connected.

Once a call is connected, you can leave the control to the next CFD app. This CFD app will interact with the user, and when the call ends, if the user didn't accept the call, you do this procedure again, using a Loop, making calls to the following numbers in your list.....
 
  • Like
Reactions: nextcx
@edossantos @ConceptsWeb
Thank you, I have build what you said, almost everything is working.
Only the part where if the call is picked up the callflow will Exit. This doesnt work yet. It will still follow the callflow.

Do I need to create a and Boolean with Variable + Constant Boolean = True
To get this to work?

CFD:
 

Attachments

  • 1651234071153.png
    1651234071153.png
    19.9 KB · Views: 54
  • 2022-04-29 14_11_03-Expression Editor.png
    2022-04-29 14_11_03-Expression Editor.png
    4.4 KB · Views: 48
Last edited:
No, that's wrong. In the Loop you need to:
1) Make a call to a number.
2) Check the result
3) If the result is True, then exit, otherwise increment a counter or something, so in the next iteration you call a different number.

The Make Call should consider this counter, so it knows which number it has to call....
 
  • Like
Reactions: nextcx
No, that's wrong. In the Loop you need to:
1) Make a call to a number.
2) Check the result
3) If the result is True, then exit, otherwise increment a counter or something, so in the next iteration you call a different number.

The Make Call should consider this counter, so it knows which number it has to call....
@edossantos
Ok, I will change that part. This is the condition right to check if true?
1651241295987.png
 
Hi thank you,

I have built this loop:
1) Make a call to a number.
2) Check the result
3) If the result is True, then exit, otherwise increment a counter

But still the callflow will not exit if external number picks up.

I have checked the 3CXCallFlow.log:
Callflow - OnMakeCallResult for component 'MakeCall' - Result: 'False

Looks like that the result from MakeCall is false, how can I fix this? Because the call is being answered.
 
Last edited:
I have fixed the issue, I did not create a outbound rule for + extension.

This post can be closed.
 
Status
Not open for further replies.

Forum statistics

Threads
111,972
Messages
590,068
Members
164,888
Latest member
Tim Cook