Triggering a Conference Call with Internal Participants + External Caller via CFD

Do you mean how it gets you to create a room when you call 700?
Something like this.

Someone has to start a conference and assign a PIN for the session. In case of doubt, the first person who calls does this. Everyone else can join using this PIN. So, if makecall connects people to the conference, all participants have to use the same PIN - but how are they supposed to get the PIN?
That's the problem.

In addition: everyone who wants to participate in the conference has to laboriously enter the PIN including # (or *?) and 1.
 
No way around this using code?
 
No way around this using code?
As far as I know: no.

I don't know of an easy way to circumvent this and automate the conference registration process. Various data needs to be transferred, and that doesn't happen automatically. It also takes time. We (and other 3CX partners) have been thinking about this for a while. We haven't come up with a suitable solution yet. Even with call parking, etc., it's not fully automated.

I'm sure there's some way to implement at least a standard three-way conference call. But we don't currently have a coded solution for that either. But I admit: I haven't tried everything yet. I also don't have enough time for such tinkering. ;)
But the problem comes up again and again.

By the way: if you connect another PBX (I won't name any names) via a 3CX Bridge, for example, you can handle it through that. But that's not intuitive either.
 
  • Like
Reactions: amosm
Could you use CFD and create c# code in that like:


Code:
using System;
using System.Threading.Tasks;
using TCX.PBXAPI;
using TCX.CallControl.Scripting;

public class AutoConference : ScriptBase<AutoConference>
{
    public override async Task<bool> StartAsync()
    {
        try
        {
            // 1. Generate unique conference name and PIN
            string confName = "AutoConf_" + DateTime.Now.Ticks;
            string confPin = new Random().Next(1000, 9999).ToString();

            // 2. Create a new conference
            var conf = PhoneSystem.Root.Conferences.CreateConference(confName, confPin);

            // 3. Add the caller
            PhoneSystem.Root.MakeCall(MyCall.Caller.CallerID, conf.Number);

            // 4. Add other participants
            string[] participants = { "259", "260" };
            foreach (var ext in participants)
            {
                PhoneSystem.Root.MakeCall(ext, conf.Number);
                await Task.Delay(500); // small delay between calls
            }

            // 5. Log conference creation
            CallControlFunctions.Trace($"Conference '{confName}' created with PIN {confPin}");
        }
        catch (Exception ex)
        {
            CallControlFunctions.Trace("Error creating conference: " + ex.Message);
        }

        return true; // script finished successfully
    }
}
 
BTW this is way beyond me, but I would love input into the idea..
 
Where did you get that fancy CallControlFunctions? This does not appear anywhere in the 3CX API documentation or the 3CX examples. Don't tell me it's from ChatGPT. That's usually of little use for 3CX C# programming. It basically just produces junk.

I don't even want to talk about the other things like PhoneSystem.Root.Conferences ... :D
The call script will not compile either way.
 
Correct - AI hallucination.:(
 
As far as I know, there is no API to do this. Not sure if something new was released lately, but probably not.

If you have good programming skills, you could try creating your own SIP client and do this with SIP & RTP. No need to use a 3CX API. You could just have a single extension registered in 3CX, and use SIP & RTP to initiate the calls to the participants and bridge everything together. Definitely not an easy task, but it's a possible way assuming that there is no 3CX API to achieve it...
 
  • Like
Reactions: Evolute IT
And there is no WEB/REST API to create a conference, either I assume?
 
And there is no WEB/REST API to create a conference, either I assume?
There is an API to create webmeetings, but not for call conferences...
 
  • Like
Reactions: Evolute IT