Multiple calls

Status
Not open for further replies.

danielino1981

Customer
Basic Certified
Joined
Apr 14, 2021
Messages
33
Reaction score
1
Hi everyone, I'm new and I recently started using the 3cx call flow designer app to create a flow for a predictive dialer switchboard.

I created a dialer that retrieves all the numbers in 'ready' status from a database table, then starts calling them, if the recipient answers I update the status to 'called' while otherwise to 'error'. Before running the makecall also set the status to 'calling'.

All this works correctly except the Make Call. If a call receives no response, it is updated in the database with the status of 'error' but inevitably from this, i continue receive this call 3 times, including the one times (where it was not answered). The call is not repeated if I answer instead.

I added several logger blocks to understand the cause of these multiple Make Calls but it doesn't seem to be a flow problem, it's as if, somewhere in some setting, it is indicated that it will try a maximum of 3 times, but I can't find anything about that,

How can I solve it?

Thank you


Updates 1:
I'm still looking for the cause but I noticed that:

1) At time 16:19:22 flow started
2) At time 16:19:27 my mobile phone starts ringing (it was in db 'ready' status, becoming 'calling')
3) At time 16:20:27 my cell phone stopped ringing, I didn't answer, its status in the database now becomes 'error') So far everything is correct
4) At time 16:20:55 my phone rings again, but the db status was in 'error'
5) At time 16:21:55 it stops ringing again
6) At time 16:22:13 my phone rings again, but the db status was in 'error'
7) At time 16:23:13 it stops ringing again, third call, after this I won't receive any more
8) If I check the call queue, only the first call is present, the one from 16:19:27 and not the others


Update 2:
1) In the 3cxSystemService.log log file there are the logs of all three calls, but only the first, as I said earlier, is present in the call report from the 3cx panel.
I also see some lines referencing a maxConcurrency=2, but I don't know what this value is.
Also, there is this log line that confirms the duration of the makecall I encounter:
2024/04/24 16:23:13.589|5884|0102|Info|CHR: #1: Seg[1/#1] 03328d2c9347(MakeCall)=>9a250b6bf73d(300xxxxxxx) (16:19:27.970..16:23:13.585) Ringing Failed

2) I realized that if I refuse the first call (by knocking down my cell phone) I no longer receive any other calls, same thing if I answer. Only if I do not take any action will he be called back.


Update 3:
I understood where maxConcurrency=2 comes from, from my CRM template, there is an entry <Connection MaxConcurrentRequests="2" />, even by setting it to 0 the value in the logo changes from 2 to 0 but the main problem remains
 
Last edited:
Hello @danielino1981,

Those repetitive calls when no answer are the normal behavior of the Make Call component. Unfortunately there is no way to avoid it.

As you have probably noticed, creating a dialer is a very challenging task. Instead of going in that direction, you can use SIP Caller and have your dialer up and running in 5 minutes. It seamlessly integrates with 3CX, and provides many features that are not possible to achieve with a CFD app. You can check a comparison between a CFD dialer and SIP Caller here.

Feel free to give it a try and let me know in case of having any questions.
 
There should be a solution and I'm still looking for it, I don't understand why a single block of MakeCall not in loop should try to make multiple calls (3 times in my case).

Anyone else know how to fix it?
 
There should be a solution and I'm still looking for it, I don't understand why a single block of MakeCall not in loop should try to make multiple calls (3 times in my case).

Anyone else know how to fix it?
That's how the internal MakeCall API works, so the CFD component can't change what it does. You will have the same behavior if you use the Call Control API. So there is no solution for this at the moment. From SIP Caller we can avoid this because we don't use this API, we developed a completely new SIP client that connects as a remote extension.
 
However, this is not really the case and I can't explain the maximum of 3 calls I received while implementing the database part.

The fact is that now by configuring this simple dialer, if I don't answer the call I continue to receive the call indefinitely, even if I answer, how can I interrupt this call as executed from the software? On some scripts I see an "incrementCallIndex"

1715088665853.png
 
Sorry but I can't solve this problem.I moved the number selection from query to HTTP request, in order to be more secure and to be able to log everything better.

The circled box is one of my pages in .php that writes into a file every time the CDF passes through the doMakeCall, and it only passes once, continuing to make two more calls if I don't answer.

How can I solve it? I need to make sure only one call is made, multiple calls would mess up my flow

1715099528146.png
 
Status
Not open for further replies.

Forum statistics

Threads
111,973
Messages
590,070
Members
164,890
Latest member
James Hacker