CFD not triggered

Status
Not open for further replies.

goran.s

Forum User
Joined
Apr 13, 2022
Messages
4
Reaction score
0
Hi guys!
I'm new with CFD, but it seems that no CFD works or is not triggered. I tried demo samples, that comes with installation, and also the most simple CFD ("Write something into the file"), but it doesn't work. Do I need anything to enable/disabled on the 3CX system to work or not?
I also look in the activity log (versbose mode on), but nothing seems to be triggered by CFD.

I have 2 things to do with CFD:
- active calls
- make call

Because 3CX Call Control API does not work for me on 3cx v18 (or I don't see what I'm doing wrong). As I saw on some threads, if someone has working call control api, I would appreciate the help to make it work.


Kind regards,
Goran
 
Hi guys!
I'm new with CFD, but it seems that no CFD works or is not triggered. I tried demo samples, that comes with installation, and also the most simple CFD ("Write something into the file"), but it doesn't work. Do I need anything to enable/disabled on the 3CX system to work or not?
I also look in the activity log (versbose mode on), but nothing seems to be triggered by CFD.

I have 2 things to do with CFD:
- active calls
- make call

Because 3CX Call Control API does not work for me on 3cx v18 (or I don't see what I'm doing wrong). As I saw on some threads, if someone has working call control api, I would appreciate the help to make it work.


Kind regards,
Goran
First of, you're doing this the wrong way. The CFD CANNOT check active calls. It CAN make calls, but only when it's a dialer. A dialer has to be started after each server reboot or service restart, and can only make calls based on a list of numbers from a DB, CRM or file, for example. See here: https://www.3cx.com/docs/cfd-creating-outbound-dialer/

What you need is @VoIPTools REST API, until 3CX releases their own. That talks with the Call Control API and can do what you need. I believe the MakeCall is even free.

The CC API only takes requests from localhost, and to be honest, if you are new to CFD, don't even touch the CC API or you risk breaking something. This API is NOT supported and NOT documented as it is used internally and can change anytime without warnings or even a changelog.
 
To activate a Call Flow Designer application, you always have to call the assigned extension at least once after each reboot of 3CX.

You have not mentioned what problem you are having with the Call Control API, so I will make a guess. To use the Call Control API, you must use a .Net Core project -- NOT a .Net Framework project. Make sure your project uses the correct version of .Net.
 
  • Like
Reactions: Evolute IT
To activate a Call Flow Designer application, you always have to call the assigned extension at least once after each reboot of 3CX.
What if extension has assigned global number, does this count, if I call global number?

You have not mentioned what problem you are having with the Call Control API, so I will make a guess.
I've updated current project to newest Framework (4.8), replaced 3cxpscomcpp2.dll with newest file on 3CX v.18 and nothing else was changed. Build was succeful, but error came up when application was launched:
Unhandled Exception: System.ArgumentException: The pointer passed in as a String must not be in the bottom 64K of the process's address space.
at System.String..ctor(SByte* value)

at System.StubHelpers.CSTRMarshaler.ConvertToManaged(IntPtr cstr)

To use the Call Control API, you must use a .Net Core project -- NOT a .Net Framework project. Make sure your project uses the correct version of .Net.
As I see, I wasn't doing it the right way. But now I'm struggling with migration to .NET Core 3.1. Any suggestions, how to do it the easiest way?

Thank you all for your help/comments...
 
First of, you're doing this the wrong way. The CFD CANNOT check active calls. It CAN make calls, but only when it's a dialer. A dialer has to be started after each server reboot or service restart, and can only make calls based on a list of numbers from a DB, CRM or file, for example. See here: https://www.3cx.com/docs/cfd-creating-outbound-dialer/
My question regarding 'active calls' is: when call is established (state ringing, regardeless of call type [in-out]), can I get this info through CFD? In that case I would record this call to my own database and that is the idea how to track 'active calls' by myself.
 
  • I don't think you can get the active phone calls from a CFD application without some C# code in an external library.

  • You must manually activate a CFD by dialing the assigned extension number after each 3CX reboot. This cannot be automated

  • You must upgrade to .Net Core (We are currently using .Net 5)

  • You may want to look at our .Net client library. It will make this whole process 1000 times easier.
 
  • Like
Reactions: Evolute IT
  • You must manually activate a CFD by dialing the assigned extension number after each 3CX reboot. This cannot be automated
It means, if I have multiple extensions, which can make outbound calls with MakeCall function, I have to call every extension separately to enable CFD? Or there is any other solution?
 
You have lost me. I don't understand the question.
 
Status
Not open for further replies.

Latest Posts

Forum statistics

Threads
111,973
Messages
590,075
Members
164,895
Latest member
jasonkkrause