The dialer not working after upgrading to version 20

Status
Not open for further replies.

ndakena

SMB User
Basic Certified
Joined
Sep 19, 2022
Messages
38
Reaction score
4
Hello Team
We have 3cx pro 8SC version 20. Previously, we had a predictive dialer done using CFD. It was working perfectly but stopped working after we upgraded to version 20.

I have deleted and uploaded the dialer app again, restarted the call flow service, and started a call to the corresponding extension, but I keep receiving the 30052 error (There was no user or outbound rule found for the number that Ext.MakeCall dialed.)

1705668149570.png
Here is my outbound rule. I can dial the same numbers using an extension, but not using the dialer. I deleted and created the outbound route again, but no difference.
1705671646565.png

Can someone help?
 
Last edited:
Make sure the outbound rule isn't filtering on extensions or departments.
 
  • Like
Reactions: edossantos
Also, there is a known limitation of the Make Call procedure in v20, when you use the Make Call component, the "Origin" must be a 3CX extension (user, queue, ring group, etc.), but it can't be an external number. So you will need to call the external number only once the internal extension is connected.
 
  • Like
Reactions: ndakena
Also, there is a known limitation of the Make Call procedure in v20, when you use the Make Call component, the "Origin" must be a 3CX extension (user, queue, ring group, etc.), but it can't be an external number. So you will need to call the external number only once the internal extension is connected.
That's a problem for us. We invert them to prevent a queue or a CFD from answering the call and playing stuff while the destination is still ringing.

So we call the customer first and then connect them to the internal extension.
 
  • Like
Reactions: edossantos
That's a problem for us. We invert them to prevent a queue or a CFD from answering the call and playing stuff while the destination is still ringing.

So we call the customer first and then connect them to the internal extension.
Yes, I know this is the case for many customers, but it was a required change in the new call manager in v20.
 
  • Like
Reactions: Evolute IT
Also, there is a known limitation of the Make Call procedure in v20, when you use the Make Call component, the "Origin" must be a 3CX extension (user, queue, ring group, etc.), but it can't be an external number. So you will need to call the external number only once the internal extension is connected.
Here is what I have now done. 84 is a call queue). is this correct?
1705673872417.png
 

Attachments

  • 1705672303230.png
    1705672303230.png
    8.7 KB · Views: 40
Last edited:
Just so I understand...

Like @ConceptsWeb, we rely on the ability to call the outside party first. In V20, 3CX will first connect to the queue, then attempt to call the outside party?
  • If the outside party does not answer, what happens to the call?

  • What happens if the call continues to ring for 5 minutes or more?

  • I assume the call will not be transferred to an agent until the outside party answers the call?

  • I assume the intro prompt will not be played until the call is answered, correct?
There were very important reasons, in the past, for calling the outside party first. Maybe something has changed?
 
Just so I understand...

Like @ConceptsWeb, we rely on the ability to call the outside party first. In V20, 3CX will first connect to the queue, then attempt to call the outside party?
  • If the outside party does not answer, what happens to the call?

  • What happens if the call continues to ring for 5 minutes or more?

  • I assume the call will not be transferred to an agent until the outside party answers the call?

  • I assume the intro prompt will not be played until the call is answered, correct?
There were very important reasons, in the past, for calling the outside party first. Maybe something has changed?

Here is what I was thinking

Why not leave it up to one to choose which scenario fits best? Because both have the positive and the negative side.
For example, in the previous situation, If the dialer starts calling the external number because it found that one or more agents are idle, agents may become unavailable even before the number/customer picks up the call. What happens to the customer? Frustration because in many business settings, it does not make sense to call someone and send it to voicemail or something like that!

In the current situation, I would like to hear from @ConceptsWeb. However, I think it makes more sense. In situations where you do not need to play a prompt to customers when they pick up the call, the dialer can start the call and assign it to an agent in the queue immediately. If the customer does not pick up, the agent can drop and wait for the next call from the dialer.
 
I'm being told by my development team that in V20 they cannot perform a makecall between a queue extension and an outside party even if the internal extension is called first. THAT would be a big problem for dialers if this is true. Further testing is required to make absolutely sure this is correct. You know how it is... if you have too many issues people stop thinking and start assuming it is another issue with 3CX rather than their code.
 
  • Like
Reactions: Evolute IT
I'm being told by my development team that in V20 they cannot perform a makecall between a queue extension and an outside party even if the internal extension is called first. THAT would be a big problem for dialers if this is true. Further testing is required to make absolutely sure this is correct. You know how it is... if you have too many issues people stop thinking and start assuming it is another issue with 3CX rather than their code.
That seems to be true. I have the dialer set up to send and make calls between the call queue and the external numbers, but I only see missed calls, and the extensions in the queue not ringing. I am wondering if the team is working on something or not.
 
I'm being told by my development team that in V20 they cannot perform a makecall between a queue extension and an outside party even if the internal extension is called first. THAT would be a big problem for dialers if this is true. Further testing is required to make absolutely sure this is correct. You know how it is... if you have too many issues people stop thinking and start assuming it is another issue with 3CX rather than their code.
I have made multiple tests through the weekend to no avail. The error I see is 1706521875516.png

I am not sure if the team is working on this or not. @edossantos which scenario actually works as of now? What is the procedure?
 
I just did a workaround to isolate MakeCall calls. Just added random prefix with 3 numbers and the stripped it off while adding a outbound number.

Please note that for CFDs status will not get properly updated if you do this for v18. Haven't checked yet for v20.

1707232431439.png
 
We're currently working on a fix for the Make Call component in v20. Please wait for the final release of v20.
 
Hello forum members.
I have to do a demo to posible clients of predictive dialing with 3CX. I have tested a test environment on a V.20 based on the cfd-demos-master examples provided, (PredictiveDialer), but the outgoing calls from the Make Call module does not work.
Should I make the demo on version 18 and wait for this to be resolved or is there already a solution that allows this module to be used correctly again in V20?
Thanks and regards.
 
Hello forum members.
I have to do a demo to posible clients of predictive dialing with 3CX. I have tested a test environment on a V.20 based on the cfd-demos-master examples provided, (PredictiveDialer), but the outgoing calls from the Make Call module does not work.
Should I make the demo on version 18 and wait for this to be resolved or is there already a solution that allows this module to be used correctly again in V20?
Thanks and regards.
Hello @mjlopez,

You can also try SIP Caller, a cloud based outbound call dialer which seamlessly integrates with 3CX and you can have working with your 3CX installation in 5 minutes. SIP Caller is not just making calls, you will get a fully featured ready to use platform, with an easy to use interface to create your campaigns and upload the numbers to call, real time and historical reports, and much more. All this would have to be built from scratch if you create a dialer with the CFD, not to mention that many features provided by SIP Caller, like the answering machine detection, are impossible to achieve in that case.

We invite you to join as a partner of SIP Caller and resell our product.

Feel free to contact me if you want to learn more.
 
The make call component is keep failing, On Active call it always show initiating, but 1003 source extension never ring.

2024/06/08 12:01:31.880|471331|0013|Trac|CallPair._4595_3.Callflow.169.[C:45.2]-From script: OutboundDialer - Dialer 0 - CallFlow.CFD.MakeCallComponent 'MakeCall1' - Making call from origin='1003' to destination='9827180054'
2024/06/08 12:01:31.884|471331|0013|Trac|Starting SLOT_CA_MAKE_CALL.3CXCallFlow.MakeCallFromDeviceAsync.1
2024/06/08 12:01:31.898|471331|0009|Trac|CallManager transaciton '3CXCallFlow.MakeCallFromDeviceAsync.1' awaits for final status notification 00:00:00.0140449
2024/06/08 12:01:31.898|471331|0009|Trac|Pending CallControlRequests:1
2024/06/08 12:01:31.984|471331|0005|Trac|Call control transaction 3CXCallFlow.MakeCallFromDeviceAsync.1 has completed by notification:
Success(NotSpecified:Dialing):
Wconnection.170
AttachedData=System.Collections.Generic.Dictionary`2[System.String,System.String]
LastChangeStatus=06/08/2024 11:01:31
IsOutbound=True
IsInbound=False
DialedNumber=
ExternalParty=9827180054
InternalParty=
Status=Dialing
HistoryIDOfTheCall=6dbe82f78f010000_46
OriginatedBy=
ReferredBy=0
CallConnectionID=1
CallID=46
OnBehalfOf=
DN=Wextension.46: 1003
OtherCallParties=TCX.Configuration.Interop.Wconnection[]
RecordingState=Stop
PartyConnectionID=0
ReferredByDN=
OfferProvided=True
RouteTarget=
ID=170
HasAttached=False
AttachedData:
prevCall=0
prevLeg=0
devcontact=sip:[email protected]:5063;rinstance=13f6ce2db5c7f3d0
public_push_pickupinfo=tB3t_IUTBs6Vq85cg_OyGQ..;from-tag=9807fe76;to-tag=f3f73c3a
public_push_callerid=9827180054
public_push_callername=MakeCall
msep_id=[email protected]:5482
sip_dialog_set_id=tB3t_IUTBs6Vq85cg_OyGQ..09807fe76
extnumber=9827180054
chid=6dbe82f78f010000_46 00:00:00.1002884
2024/06/08 12:01:31.991|471331|0005|Trac|Pending CallControlRequests:0
2024/06/08 12:02:01.996|471331|0007|Trac|CallPair._4595_3.Callflow.169.[C:45.2]-From script: OutboundDialer - Dialer 0 - Dialer - OnMakeCallResult for component 'CheckQueryData' - Result: 'False'
2024/06/08 12:02:01.997|471331|0007|Trac|CallPair._4595_3.Callflow.169.[C:45.2]-From script: OutboundDialer - Dialer 0 - CallFlow.CFD.ConditionalComponent 'CheckQueryData' - OnMakeCallResult for branch 'DataExist' - Result: 'False'
2024/06/08 12:02:01.998|471331|0007|Trac|CallPair._4595_3.Callflow.169.[C:45.2]-From script: OutboundDialer - Dialer 0 - CallFlow.CFD.SequenceContainerComponent 'DataExist' - OnMakeCallResult for component 'CheckStatus' - Result: 'False'
2024/06/08 12:02:01.998|471331|0007|Trac|CallPair._4595_3.Callflow.169.[C:45.2]-From script: OutboundDialer - Dialer 0 - CallFlow.CFD.ConditionalComponent 'CheckStatus' - OnMakeCallResult for branch 'idle' - Result: 'False'
2024/06/08 12:02:01.998|471331|0007|Trac|CallPair._4595_3.Callflow.169.[C:45.2]-From script: OutboundDialer - Dialer 0 - CallFlow.CFD.SequenceContainerComponent 'idle' - OnMakeCallResult for component 'MakeCall1' - Result: 'False'
 

Attachments

  • Make_Call_rule.jpg
    Make_Call_rule.jpg
    67.4 KB · Views: 16
The make call component is keep failing, On Active call it always show initiating, but 1003 source extension never ring.

2024/06/08 12:01:31.880|471331|0013|Trac|CallPair._4595_3.Callflow.169.[C:45.2]-From script: OutboundDialer - Dialer 0 - CallFlow.CFD.MakeCallComponent 'MakeCall1' - Making call from origin='1003' to destination='9827180054'
2024/06/08 12:01:31.884|471331|0013|Trac|Starting SLOT_CA_MAKE_CALL.3CXCallFlow.MakeCallFromDeviceAsync.1
2024/06/08 12:01:31.898|471331|0009|Trac|CallManager transaciton '3CXCallFlow.MakeCallFromDeviceAsync.1' awaits for final status notification 00:00:00.0140449
2024/06/08 12:01:31.898|471331|0009|Trac|Pending CallControlRequests:1
2024/06/08 12:01:31.984|471331|0005|Trac|Call control transaction 3CXCallFlow.MakeCallFromDeviceAsync.1 has completed by notification:
Success(NotSpecified:Dialing):
Wconnection.170
AttachedData=System.Collections.Generic.Dictionary`2[System.String,System.String]
LastChangeStatus=06/08/2024 11:01:31
IsOutbound=True
IsInbound=False
DialedNumber=
ExternalParty=9827180054
InternalParty=
Status=Dialing
HistoryIDOfTheCall=6dbe82f78f010000_46
OriginatedBy=
ReferredBy=0
CallConnectionID=1
CallID=46
OnBehalfOf=
DN=Wextension.46: 1003
OtherCallParties=TCX.Configuration.Interop.Wconnection[]
RecordingState=Stop
PartyConnectionID=0
ReferredByDN=
OfferProvided=True
RouteTarget=
ID=170
HasAttached=False
AttachedData:
prevCall=0
prevLeg=0
devcontact=sip:[email protected]:5063;rinstance=13f6ce2db5c7f3d0
public_push_pickupinfo=tB3t_IUTBs6Vq85cg_OyGQ..;from-tag=9807fe76;to-tag=f3f73c3a
public_push_callerid=9827180054
public_push_callername=MakeCall
msep_id=[email protected]:5482
sip_dialog_set_id=tB3t_IUTBs6Vq85cg_OyGQ..09807fe76
extnumber=9827180054
chid=6dbe82f78f010000_46 00:00:00.1002884
2024/06/08 12:01:31.991|471331|0005|Trac|Pending CallControlRequests:0
2024/06/08 12:02:01.996|471331|0007|Trac|CallPair._4595_3.Callflow.169.[C:45.2]-From script: OutboundDialer - Dialer 0 - Dialer - OnMakeCallResult for component 'CheckQueryData' - Result: 'False'
2024/06/08 12:02:01.997|471331|0007|Trac|CallPair._4595_3.Callflow.169.[C:45.2]-From script: OutboundDialer - Dialer 0 - CallFlow.CFD.ConditionalComponent 'CheckQueryData' - OnMakeCallResult for branch 'DataExist' - Result: 'False'
2024/06/08 12:02:01.998|471331|0007|Trac|CallPair._4595_3.Callflow.169.[C:45.2]-From script: OutboundDialer - Dialer 0 - CallFlow.CFD.SequenceContainerComponent 'DataExist' - OnMakeCallResult for component 'CheckStatus' - Result: 'False'
2024/06/08 12:02:01.998|471331|0007|Trac|CallPair._4595_3.Callflow.169.[C:45.2]-From script: OutboundDialer - Dialer 0 - CallFlow.CFD.ConditionalComponent 'CheckStatus' - OnMakeCallResult for branch 'idle' - Result: 'False'
2024/06/08 12:02:01.998|471331|0007|Trac|CallPair._4595_3.Callflow.169.[C:45.2]-From script: OutboundDialer - Dialer 0 - CallFlow.CFD.SequenceContainerComponent 'idle' - OnMakeCallResult for component 'MakeCall1' - Result: 'False'
Do you have more than 1 device registered for the extension? Please note that the Make Call component will use the first device registered, which might not be the one you need. Ensure that you're registering the extension from a single phone, because there is no way to select the device.

Also, I would recommend you to try SIP Caller, you will have your dialer working in a matter of minutes, and you will enjoy many features out of the box, that you would have to build from scratch when using the CFD to create your dialer.
 
Do you have more than 1 device registered for the extension? Please note that the Make Call component will use the first device registered, which might not be the one you need. Ensure that you're registering the extension from a single phone, because there is no way to select the device.

Also, I would recommend you to try SIP Caller, you will have your dialer working in a matter of minutes, and you will enjoy many features out of the box, that you would have to build from scratch when using the CFD to create your dialer.

I am using window client and Android app.
Just to check I try use make call component to call to internal extension that also not working.
 
Status
Not open for further replies.

Forum statistics

Threads
111,973
Messages
590,070
Members
164,891
Latest member
esmo