Call Control Events - How To Receive Notifications

Status
Not open for further replies.

AlanBSH

Free User
Joined
Sep 1, 2022
Messages
4
Reaction score
0
Hello, we have a hosted 3CX system and are integrating with an AI solution that needs to be informed of when an agent accepts a call, when an agent transfers (or conferences the call) and when an agent or customer ends a call.

Is there a way to capture these call events from our 3CX platform via 3CX placing an API call or sending a webhook or some other method in a near real-time manner?

Are there 3CX partners that can build out such an integration if required?

Thank You
 
3CX has an undocumented "3CX Call Control API". There is no support provided for this API. However, the short answer to your question is "Yes" you can subscribe to call events using this API.

The API is written in .Net Core, so your solution would need to be written in .Net Core. The one other restriction -- the API only responds to requests from "localhost", so you would need to install your application directly on the 3CX server, or implement some type of proxy that makes it appear the requests are coming from local.

I will forewarn you that interpreting the call events is extremely complicated . We have been building solutions with this API for around 14 years and we still have to be very careful when interpreting the events.

To overcome most of the challenges of working with the 3CX API, we built a "Relay" (for use by our tools) that is installed directly on the 3CX server. This Relay exposes the 3CX Call Control API (and many of our own APIs) to the outside world via REST and SignalR. Our API makes it far, far easier to communicate with 3CX and is documented and fully supported.
 
  • Like
Reactions: Evolute IT
Hey Matthew, thanks for your response. I tried to engage with the VoipTools teams via the chat widget but my understanding is the VoipTools API does not have any available documentation unless you install another VoipTools product on your 3CX server - Relay Agent. Is that true? Webchat #2488.
 
One of the challenges of building and maintaining an API is ensuring the documentation stays up-to-date. To address that challenge we decided to use "Swagger" for our documentation. The advantages of Swagger are (1) any changes to the API are immediately reflected in the documentation -- that is because the documentation is automatically generated directly from the API code, (2) the documentation is web-based so you can access it from anywhere, and (3) you can execute the API right from within the API web interface to test the results of the API.

The one requirement is that you must install our Relay (which implements our API and documentation) directly on your 3CX server. You do not need to purchase anything to download and install the Relay, and in fact a few of our APIs (needed for our free tools) will work without a license.
 
Last edited:
  • Like
Reactions: Evolute IT
If I am using the free hosted version of 3CX for testing, can it be installed there? (18.0 Update 4 (Build 965)) or does VoiPTools require a premise based installation. From the docs, it appears you needed shell access to the 3CX server to install the tools.
 
Yes, you must install the Relay directly on the 3CX server (shell access). It cannot be done if 3CX is hosting your 3CX instance. They do not provide shell access nor permit any 3rd-party tools. You would need to host a 3CX with another cloud provider, or we can schedule a web demo of the API for you
 
Status
Not open for further replies.

Members Online Now

No members online now.

Forum statistics

Threads
111,843
Messages
589,327
Members
164,679
Latest member
SamadMYK