No API at ALL for getting Presence of other peers?

Status
Not open for further replies.

jroozee

Premier Customer
Joined
Jul 10, 2019
Messages
32
Reaction score
3
So I see 3CX used to have a an API but its no longer available. Is there ANY API or way at all to get the presence of other peers? Seems very disappointing that 3CX doesn't have this anymore.
 
The 3CX Call Control API still exists, but it seems 3CX has pulled the API documentation (I don't know why).

The 3CX API is not simple to use nor is it REST-based. Further, it only responds to requests from localhost. To access the API from your applications, you will need to learn how to reliably connect to the API (not at all straightforward) and then expose the API to your remote application via some type of web service.

3CX support doesn't want any non-3CX software running directly on the 3CX server (that's a bit of a catch-22 given that the API only responds to requests from localhost). To further complicate things, 3CX has limited the number of 3rd party applications that can simultaneously communicate with the API to 1 connection.

Given the prohibition of installing anything on the 3CX server, the best you can do is minimize the footprint of the portion of your application running on the 3CX server. We handled this by building a web-based Relay agent. The Relay makes the one permitted connection to the API, then exposes the 3CX API via our REST API wrapper. Our actual add-on tools are installed on a separate server (per the request of 3CX) and communicate with 3CX via the Relay.

If you build something similar, here are some benefits you may not have considered to this approach.

1. Because only one application actually connects to the 3CX API, and your applications talk to your relay, you can have multiple applications communicating with the 3CX API simultaneously.

2. When 3CX makes changes to the API, in theory, you only need to update the relay and then all your applications simply work. That's not always true if your applications are dependent on the Call Flow Designer, but this approach certainly helps respond to 3CX changes quickly.

3. Because the API is now REST-based, you can install 3CX and your application anywhere in the cloud or on-prem, or any combination of the two.

Building and maintaining our Relay has required a herculean effort. 3CX and Microsoft are constantly making changes. But we have a very extensive REST API that goes far beyond the 3CX Call Control API as well as a websockets/SignalR API for subscribing to phone and operating events. The Relay approach has worked well for us.

All that said, there have been indications that 3CX will release a REST API in the future, but I've not heard anything recently about a release date.
 
Status
Not open for further replies.

Forum statistics

Threads
112,325
Messages
591,898
Members
165,479
Latest member
Senergia