Discover how the engineers at the IT company Okam relied on Infomaniak’s Public Cloud to deploy the 3CX corporate telephony platform automatically for their customers in order to achieve the following results:

  • Deployment of 3CX in the Public Cloud with a limited number of human interventions.
  • Implementation of 3CX instances in 2-3 minutes (compared to 15 minutes before) by less specialised technical operators.
  • Improved security by streamlining firewall and component installation rules.

3CX is a flexible communication platform that replaces traditional telephone systems. All calls, even to separate locations, can be centralised and e.g. redirected to a teleworking team while queuing incoming calls can be arranged. Employees can use their private mobile phone with a company landline number.

Okam is an IT company with 20 employees based in Geneva, Switzerland. Its engineers provide technologies that are often reserved for key accounts and SMEs with 2 to 200 employees at affordable costs. Some customers based in Switzerland in the banking, financial, medical, pharmaceutical and logistics sectors have subsidiaries around the world and work in several languages.  

Technical challenges

  1. Automate the provisioning of resources and the deployment of virtual servers on OpenStack (in the Infomaniak Public Cloud).
  2. Automate the installation and configuration of the 3CX solution on the virtual machine in OpenStack.

Choosing Infomaniak

According to Alexandre Molliex, CTO at Okam,

hosting 3CX in Infomaniak’s Public Cloud guarantees data sovereignty and control along the entire communication chain for all our customers’ counterparts, wherever they are in the world.

The attractive price of Infomaniak’s Public Cloud makes our solution very competitive for our core target group.

Infomaniak Premium Support provides quick access to Infomaniak’s engineers. This is an added value for an integrator.

Infomaniak communicates very well on the features: this allows us to keep a close eye on developments such as the opening of a new region and PaaS services (DNS, Database or Kubernetes as a service), for example.

Implementation of the Public Cloud

1. Automatic provisioning of resources to deploy 3CX instances

The first step is to design the automated creation of virtual machines on the Infomaniak stack.

Creating a Linux virtual machine requires numerous manual steps, with the corresponding risks of misconfiguring it. To prevent this, Okam engineers use OpenStack’s HEAT orchestration service. This service makes it possible to provision the resources of the Public Cloud from a .YAML configuration file. It is a model that contains all the data required to boot a perfectly configured virtual machine (VM) with:

  • the correct version of Debian Linux
  • the right number of core CPUs
  • the right amount of RAM and storage
  • a public IP address
  • the right firewall rules

Okam engineers have developed several templates depending on the type of project.

As a result, an operator simply has to name a new stack, choose from a predefined selection of machines intended to host 3CX and enter the customer code to apply the naming convention to the server, hard drive and network port group. When the stack configuration is validated, the machine is created and installed. The base for the 3CX application is ready in a few clicks.

This automation of OpenStack is very well documented as it is an open platform, a community with thousands of examples to build on.

Guillaume Bottollier, Senior IT Specialist at Okam

2. “Industrialised” deployment of 3CX instances

When the Debian Linux VM is configured and started, it can be given instructions to install the 3CX solution. Again, the OpenStack HEAT orchestrator automates the process. A second part of the .YAML file contains the command lines to be executed.

We had to adapt the 3CX installation so that the OpenStack orchestrator could control it completely. The documentation does cover command line installation, but not in an automated way. We proceeded empirically to find the right parameters. As far as we know, this is the first time that a full automation of the deployment of 3CX has been brought to OpenStack in Switzerland.

Guillaume Bottollier, Senior IT Specialist at Okam

To configure the 3CX appliance, the Okam team generates an XML file from the 3CX management interface. The 3CX installer then retrieves this file, previously uploaded to Infomaniak’s S3 storage, in order to finalise the creation of the instance with the correct customer number, licence number, address, etc.

During the development process, Okam’s engineers faced a challenge:

The IPV6 layer of Debian 10 seemed to pose a problem at the network level, with long response times or even timeouts when installing 3CX. We disabled IPV6 to allow us to move forward quickly and return to the troubleshooting later. So we had a smooth deployment, but a VM shutdown every day.

It took us a long time to go all the way through the chain and understand where the problem lay. By talking to Olivier Chaze, a cloud expert in the Infomaniak team, and with the help of the very active 3CX community, we realised that Debian 10 contains a bug when deactivating IPV6. We finally restored IPV6, configured the OpenStack firewall for IPV6 accordingly and fixed the issue.

Guillaume Bottollier, Senior IT Specialist at Okam

The result: simplified and streamlined deployment of 3CX in OpenStack

A non-technical operator can now launch a 3CX instance simply by taking the automation file to start the instance. He receives an email with the credentials and that’s it. The orchestrator replicates the configuration and naming conventions, all without having to document the operation internally, because everything is validated upstream.

Guillaume Bottollier, Senior IT Specialist at Okam

This automation eliminates manual wizards, configuration windows, “Next,” misclicks, copy-paste errors, etc.

The investment to achieve the proof of concept (PoC) (of a few dozen hours) is largely profitable through 3 main gains:

  • Time-saving: 20% of the 3CX deployment process, no documentation required.
  • Double technical gain: simplified deployment of 3CX and innovative use of Infomaniak’s Public Cloud.
  • Improved security: streamlining and elimination of manual steps and human errors. Mastery of the entire configuration chain.

And this is just the beginning: this project has shown Okam’s engineers that Infomaniak’s Public Cloud is an opportunity to develop new approaches and skills.

Even though we are familiar with proprietary solutions, it didn’t take us long to become familiar with OpenStack. This experience with the Public Cloud has a liberating effect. We can easily plan with this technology, especially as the product will continue to evolve, with the opening of a new region and new PaaS services such as DNS, Database or Kubernetes as a service.

Alexandre Molliex, CTO at Okam

Find out more