When you upgrade your 3CX server to V16 Update 6, you MUST also update the VoIPTools Relay. 3CX made breaking changes to the Call Control API which required an update to our Relay. If you are having trouble starting the Relay service, and you recently upgraded 3CX to Update 6, this is a good indicator that you have not updated your Relay.
One of the significant advantages of our VoIPTools Relay is the ability to quickly respond to changes made by 3CX. With 3CX V16 Update 6, 3CX made some breaking changes to the 3CX Call Control API. However, because our applications do not talk directly to the Call Control API, but instead talk to our Relay, the only application we needed to update to accommodate Update 6 was our Relay. The result is nearly instant support for this new release of 3CX.
Tools –> Relay –> 3CX
Whenever 3CX releases a new version, we validate the compatibility of our tools by testing with both Linux and Windows. This testing starts as soon as an alpha version of 3CX is released and continues through the 3CX beta process. The final version of 3CX V16 Update 6 was released yesterday. Currently, we are validating this release and thus far have not found any issues. We should have the validation process completed for all of our tools by the end of next week (it takes a long time to thoroughly test over 30 commercial tools!).
While we perform the compatibility tests on each of our tools, the Relay download link for 3CX V16 Update 6 (V16.0.6) will be listed as BETA. When we have completed all the required testing, the “BETA” designation will be removed.
Because the Call Control API has changed, there is now a separate version of the Relay for 3CX V16 update 5 and earlier versions of V16, and a new Relay for Update 6. This new Relay is NOT compatible with update 5 and earlier versions of 3CX.
As of July 1, 2020, 3CX is no longer supporting version 15.5 of their PBX. At VoIPTools we follow the support policies of 3CX. As a result, we have discontinued primary support for our 15.5 tools.
This means no further development will be made for these older versions of our tools. We strongly urge you to upgrade your 3CX server and our tools to the latest versions (as of this post, V16 update 5). You can continue to use your VoIPTools V15.5 tools (provided your license is active), but we will only provide a best-effort level of support for V15.5.
From my perspective, this is a significant change in direction on the part of 3CX.
On October 4th, 2019, Nick Galea, CTO and Founder of 3CX said on the 3CX forums:
The Windows client will not always exist. A windows softphone will, thats a different thing. Client side CRM integration has been deprecated already.
On March 25, 2020 Nick Galea, CTO and Founder of 3CX had this to say about 3CX Phone for Windows:
The links are going back in Update 5. It was never the intention to discontinue a windows softphone but rather make the client more like a softphone. That said, in update 5 we have put a lot of work into the current Windows client – updating its libraries, fixing issues and making it more efficient, with a view to keeping it as a client for the coming years.
On March 31, 2020, a 3CX newsletter stated:
We also decided to update and improve the Windows client. We integrated our new APIs, updated its libraries, fixed outstanding issues and made it much more efficient. All with a view to keep it as a client for the coming years. More improvements are planned such as bringing CSTA support to it.
Update 5 should be released by the end of the month and it’s important to update as soon as possible this time. Plan for it now.
In reply to Nick’s post, I asked for further clarification regarding whether 3CX would also continue to support CRM plugins for Windows and whether they will re-release the 3CX plugins that were removed from their website and flagged as unsupported.
It is unclear whether 3CX Phone will be stripped down to just a soft phone, or whether it will continue to have wallboard, manager, and reception views or support CRM plugins. There are some CRM plugins that 3CX never ported over to the server-side integration simply because it wasn’t possible. That includes: Outlook, DATEV and TAPI. Maybe that will encourage 3CX to continue to support plugins, or perhaps more accurately … not kill the feature.
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.
When we started building tools for 3CX we were strongly urged by 3CX to focus on and build CRM plugins, which we did with considerable investment in both dollars and effort. Our CRM Plugins to this day far exceed the capabilities of the 3CX provided plugins. However, it’s clear that in spite of what 3CX is saying publically, 3CX Phone for Windows (and the associated plugins) is going to go away. And that means our CRM Plugins will no longer be useful.
I believe 3CX Phone for Windows will slowly fade away because 3CX has publically announced that no further development will be made to the product. This became abundantly clear recently when I saw questions on the 3CX forums about missing features in the latest release of 3CX Phone. The response from 3CX was that they had made changes to 3CX that were incompatible with 3CX Phone for Windows and that this necessitated the removal of the feature from 3CX Phone.
Further, 3CX has for some time been pushing people to start migrating to the web client, and they have publicly stated that all future development will be for the web client. The inclusion of a web-based phone into the web client pretty much sealed the fate of 3CX Phone in my mind. Also, we are told that V16 web client will have all the capabilities of the 3CX Phone for Windows plugins (and more!).
All these enhancements to the web client are good news for 3CX users, but bad news for the future of 3CX Phone for Windows (and MAC) and the associated plugins. It makes complete sense for 3CX to take this approach. Now rather than having to support a Windows, MAC, and Web client, 3CX can consolidate their efforts on one platform (the web) and even expand the supported platforms to include Linux clients, after all, web browsers are available on just about every conceivable platform.
The direction is clear. 3CX has pulled their own 3CX Phone For Windows plugins from their website and publically stated that they are no longer supported. As a result of this shift in focus away from 3CX Phone for Windows we have decided to End-of-life our CRM plugins and have removed them from our website as well. This includes our plugins for AutoTask, ConnectWise, and Zendesk. We will continue to support our Hubspot plugin for now simply because we use Hubspot internally and we need it for our internal purposes.
I’m a little uncomfortable about retiring several very useful tools. In the 10+ years we have been building tools for 3CX we have never dropped support for any of our tools, but I don’t think it is in our customers’ best interest for us to continue to sell and promote products for a platform that clearly is going away. I am sure that our efforts can be better spent keeping up with the changes to 3CX and ensuring compatibility with their ever-changing products. Frankly, it was a lot of work building and maintaining CRM plugins since the CRM companies are also making regular changes to their platforms and APIs.
When 3CX releases more information about the V16 integration capabilities for the web client, we will eagerly look at how we can add value to the 3CX community through custom CRM integrations, but for now we don’t have any plans to create new commercial CRM integrations as part of our Universal suite of tools. I’m not happy about the change, but we have to evolve as 3CX evolves their platform and unfortunately, 3CX Phone for Windows is going away and so too are our plugins for that platform.
We are committed to supporting all our tools for the long run. 10 years is a pretty good track record in my opinion. I’m excited to see how we can add value to the 3CX community when V16 is released. I’ll watch closely at what’s new for the web client and look for opportunities for us to add value. That’s our whole purpose for existing as a company.
I received some really good news today from 3CX. Initially when 3CX V16 was first announced we were told the Call Flow Designer (CFD) would no longer be included. In its place, we would write code using some type of scripting language… no more CFD. A month or so later we were told that the CFD would be released for V16 around the Service Pack 1 timeframe (That’s still the estimated release timeframe), but that significant changes would be required. Here is the good news we received today from 3CX:
From the tests we have been doing, the migration to v16 should be straightforward. Just open the CFD v15.5 project, build it, and you should be ready to upload the output to 3CX, no changes required… To be honest, we had to add that warning (changes would be required) because we can’t be 100% sure that we’re backward compatible, especially when you use the Call Control API, as there are some breaking changes there (deprecated methods). But all the projects we had from v15.5 work without changes in v16. So, don’t worry, everything will go smoothly.
The last time 3CX retooled the Voice Application Designer (VAD) and renamed it the Call Flow Designer, it required a total rewrite of all our VAD applications and a complete retooling of our application publishing process. It took about 6 months to retool and convert all our applications at an estimated cost of around $100,000.00. This latest news from 3CX has given me hope that the transition, while delayed until SP1, will be less painful than I had envisioned.
We do know, for sure, that the CFD applications will no longer be associated with Queues, rather, they will be their own object type separate from any dependency on queues (or previously digital receptionists). That is going to have an impact on our current CFD publishing process but sounds a whole lot better than what we were initially told. There will certainly be changes required, but I’m hopeful that we can make the transition quickly… although we don’t know what we don’t know.
The reason for the delayed release of the CFD was explained by 3CX as follows:
Actually, the bottleneck is not in the CFD tool. In fact, it is almost ready… But the server team still needs to work on the service that will execute the scripts generated by the CFD (or the scripts that you can create manually yourself). So, as soon as the server is ready, we will be able to release the CFD…
For those fretting over the fact that the new CFD won’t be released until around SP1, I submit this is not a big deal. I typically don’t recommend implementing a new version of 3CX until around the SP3 timeframe anyway to ensure the kinks are all worked out and all the previous version features are included in the new release. But my recommendations fluctuate from one 3CX release to the next. Still, waiting for a SP1 release before implementing a new version of 3CX is a good idea and strongly encouraged by me.
Yesterday we had our first Alpha install of our new Linux relay at a customer site. I was pretty pleased with the results because the Relay worked flawlessly.
Our new Linux Relay is written in C# (.Net Core — same as 3CX). It doesn’t require any special SDKs or .Net installs because our Relay is “self-contained” (for those of you who know what that means in the .Net Core world). Essentially, you copy the files to your 3CX server (hosted or on-prem), set a couple of permissions, register the license key, and start the daemon (service). With a little practice, I think you could probably perform the install in about 5 minutes.
Here is what we have ready so far:
The setup tool automates about 95% of the installation process including:
The new Relay requires a license key. Why? Because we’ve baked into the Relay a REST API which enables developers to leverage our 10+ years of 3CX development experience to easily build their own solutions. So, if you can call a REST-based API, you can now integrate your solutions with 3CX without needing to know the intricacies of the 3CX Call Control API. This new API will replace our HTTP API and will have far, far, more methods because all our tools will use this new API. While the example screen capture below may look a little complicated, this is exactly what a programmer would expect to receive from an API (json object of a 3CX extension).
Previously you had to install our 3CX Exporter tool directly on the 3CX server. That’s no longer required because we have included in the Relay installer an optional database proxy. The proxy makes it possible for 3CX Exporter to run on a separate server (in the cloud or on-prem) and synchronize the data in the 3CX database with Microsoft SQL or MySQL.
We’ve been pounding away on adding support for Linux into our tools, and we’ve made some excellent progress.
Let’s be honest, it’s a little early to call this a Beta, but the Relay has already proven to be very stable. Still, if you would like to tinker with some of our early work, get in contact with our team +1 801-642-4655. My support staff will likely complain a little about the added workload, but they better get used to it because the flood gates will be opening very soon. While there is a ton of work left to do before we can even call this a beta, we are looking for people who are willing to tinker and offer suggestions. If you would like to take a peek, I suggest you navigate to our website and select “Contact Us” and then “Waiting for Linux”. Put in the notes that you are interested in beta testing, and also be sure to list which applications you want to see released with Linux compatibility first. That will help us prioritize our work.
This blog post will get out of date very quickly as we release more of our tools with Linux compatibility.Today, 3CX Caller ID, and 3CX Exporter are the first applications that can take advantage of the new Relay. However, I’m traveling to India tomorrow and will be with our development team for the entire month of January. The purpose of the visit is to train our team on how to work with 3CX running on Linux and to walk through converting ALL our applications over to the new Relay. I expect you will see several more Linux compatible tools being released over the next couple of weeks. As you might expect, we are going to start with some less-complex applications first, then move to some of the more complicated applications once the team is comfortable with the process.
If you are a real nerd and want a peek at the User Guide, you can see it here. Keep in mind that this is a working document and will change frequently. It’s not been proofed either guys, so don’t be too critical. If you have suggestions, feel free to make a comment.
3CX has effectively made it necessary for all 3CX customers to upgrade to 3CX 15.5 SP6. While it is “possible” to continue to run older versions of 3CX, the risk of doing so makes it infeasible for a production environment.
For those who have not heard, 3CX had to make changes to their activation servers (for security reasons). The changes mean that you can no longer activate 3CX servers older than V15.5 SP6. Because there are many common reasons why a 3CX server might need to reactivate, older versions of 3CX could fail unexpectedly. You really have no choice but to upgrade.
Since EVERYONE MUST upgrade to 3CX 15.5 SP6, and 3CX announced V16 yesterday, we have decided to drop further development for older versions of 3CX. While our tools will continue to work on older versions of 3CX, we will not be releasing any updates for versions older than 15.5. This is the first time we have stopped supporting older versions of 3CX (we still have products available for download for V10).
Pragmatically, this change in our support policy will probably not impact any of our customers since we have not seen an activation on an older 3CX server in a long time. Regardless, here at VoIPTools are committed to supporting all our customers, and providing regular updates to all our products.
We were asked by a call center customer if Recording Manager could be configured to only record inbound external calls. The answer now is “yes”. While 3CX may still record all the calls, behind the scenes, Recording Manager can delete any recordings made of calls that are not inbound external calls.
In large 3CX deployments, storage can quickly be consumed by recordings. This feature deletes unwanted recordings in real-time. This is different from a retention policy that deletes ALL recordings older than a specified date. With this feature, Recording Manager only deletes recordings that are internal or outbound external calls.
3CX really only provides two choices when it comes to Recording calls: (1) all calls for an extension, or (2) on-demand manual recordings. This new feature offers additional flexibility for deciding what recordings are important, and because the removal of unwanted recordings happens in real-time, disk utilization is minimized.
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