New Relay / New Architecture

New Relay / New Architecture


With the release of 3CX version 16, a ton of changes were made to the 3CX Call Control API. One of the biggest changes was the removal of most of the multi-tenant features held over from earlier versions of 3CX. But they have removed a large number of other methods our tools use. After looking at all the changes that would be required to get our current Relay to work with the new API, I’ve decided it’s time to focus all our efforts on our new .Net Core Relay.

Hat’s off to Shahzad, our chief architect of the original Relay. The Relay has proven to be far, far more reliable and flexible than I could have ever hoped for. He did an extraordinary job building a foundational part of our VoIPTools platform. “Wow”, is about the best thing I can say about his work. He is AWESOME!

But, as with all software, the technologies change and new capabilities mean we can do even more. When 3CX released the Linux version, we had to look at how to build one codebase to support both the Windows and Linux versions of the 3CX. Trust me, having two separate versions of the Relay would be a nightmare to maintain. Fortunately, .Net Core makes it possible to write one application that runs on both Windows and Linux (with some small platform-specific modifications).

The primary push for a new relay was the need to support Linux, but the intent was always to unify our Relay into one product that supports both Windows and Linux. With the release of 3CX V16, it makes sense to shift our development focus over to the new Relay rather than investing more in a product that was in the process of being phased out anyway. We have had beta testers using the new .Net Core Relay for several months now and the positive results have encouraged me to move forward with the new Relay for both platforms.

The Relay makes it possible (among many other things) to install our tools on a separate server from 3CX (something 3CX requested). The former Relay was based on WCF which is/was Microsoft’s enterprise-level approach to secure communications over the web. It’s been a great approach, but it has been a little tricky when it comes to security. Some customers in complex environments found it a bit challenging to get permissions setup correctly. The new Relay is based on REST and SignalR (for event publishing). I suspect a bunch of programmers out there probably just sat up in your chairs… REST? Yup, that means you have access to a full REST API, the same API our tools use to communicate with 3CX. I can hear cheers from all the programmers around the world saying “finally!”.

As with all big platform changes, there will be a period of “kicking the tires” to see how well the new Relay works in a broad release. While the technologies employed by the new Relay are not all that new (based on technology timelines), Microsoft only released SignalR as a native part of .Net Core last September. This was the one missing piece we needed to dive in and build the new Relay.

I’m personally very involved in writing code for the new Relay. It’s been one of those projects that really makes one stretch since so much of what is required is new to me — supporting Linux, building cross-platform solutions, and rearchitecting a very complex platform to support new technologies. It’s fun, for sure, and I’m excited to see my code running on servers around the world, but it has been a ton of work.

Your last question is probably “when can I get my hands on the new Relay?”. The answer is now! While the new Relay is in beta, we will work closely with you to get it installed. No doubt we will see many new platforms (AWS, Lightsail, Google, Azure, OVH and private hosting platforms) and we need more experience “helping you” implement our softwre on platforms that may be new to you. There are a large number of 3CX Partners who install 3CX on Linux using 3CX’s Express setup, and they have little or no experience managing Linux directly. Not-to-worry, we will help you implement our technologies on your platform of choice. You don’t need to be a Linux Guru to install our tools because we are here to help!

We still have a huge amount of work to do to fully support 3CX V16 and Linux but we are releasing pieces on a regular basis. You can see what’s available now by browsing to “Products –> Product Downloads” on our website. It’s a little sparse at the moment, but keep watch because you will see new things popping up on a regular basis starting now. By the way, we are quietly releasing four new products today — 3CX Auto Logout, 3CX Do-Not-Call, 3CX Active Directory Sync, and 3CX Recording Beep. So hang on tight, because things are changing pretty quickly!


posted on  April 9, 2019

Leave a Reply

Get the Best Solution for your Business

Whether through one of our commercial products, or a custom solution built to meet your specific needs, we can help you get the most out of your 3CX investment. Call us today!

Contact Us