Cloud:IaaS:3CX

From VTX Public Wiki

Revision as of 14:04, 11 November 2021 by Aal (talk | contribs) (→‎Preparing the VM: Correction typos)


Introduction[edit | edit source]

The goal of this page is to be able to setup a 3CX PBX system hosted in our VTX IaaS infrastructure.

Presentation of the Product[edit | edit source]

FIXME: To be written with PM

Prerequisites[edit | edit source]

  1. Have subscribed to a "Connect_PABX-IP*" service at VTX.
  2. Have subscribed to a "Business Cloud-IaaS" service at VTX.
  3. Have downloaded the "configsheet" PDF file who contains the "Business Cloud-IaaS" credentials.
  4. If the option with "Edge Gateway" has been ordered, define a private network subnet (Wikipedia.org - Private IPv4 addresses).
  5. Choose a size of "VM Sizing Policy" according to your needs using the chart below:
Size of the organization Requirements VM Sizing Policy
Small (up to 10 ext.) 1vCPU - 1GB RAM - 30GB Storage Small 3CX
Medium (up to 50 ext.) 4vCPU - 4GB RAM - 100GB Storage Medium 3CX
Large (up to 250 ext.) 6vCPU - 8GB RAM - 300GB Storage Large 3CX

Retrieve the credentials of the "Business Cloud-IaaS" service[edit | edit source]

First you have to connect to the VTX Kiosk : https://kiosk.vtx.ch.

  1. Click on "Mes Services"/"Meine Dienste"
  2. Then click on "Mes feuilles de configuration"/"Meine Konfigurationsblätter"

IaaS3CXPrerequisites1b.png

  1. Search for the right service "Business Cloud-IaaS".
  2. Click on the PDF icon in the right to download it.

IaaS3CXPrerequisites2c.png

Then open this file. You can found the credentials there :

French version:
IaaS3CXPrerequisites3.png

German version:
IaaS3CXPrerequisites4b.png

Preparing the VM[edit | edit source]

Connect to the URL of your vtxcloud.ch account (ex. : https://vcd01.vtxcloud.ch/tenant/XXXXXX/) and follow all steps of section "Creating the first VM step-by-step" by using these settings :

  • For Type : New.
  • For OS family : Linux.
  • For Operating System : Debian GNU/Linux 10 (64-bit).
  • For Boot image : debian-amd64-netinst-3cx.iso.
  • For Sizing Policy : Use the chart from Cloud:IaaS:3CX#Prerequisites to choose the good VM Sizing Policy fitting your needs.
  • For Storage : Choose "IaaS SSD" and use the chart from Cloud:IaaS:3CX#Prerequisites to know requirements in terms of storage size (30GB/100GB/300GB) matching your VM Sizing Policy.
  • For Network Configuration :

Without Edge firewall
You can directly setup the VM with a public IP. The VM will be secured by the integrated firewall named "NFtables".
You need to edit the NIC setting by clicking in the "Details" button of your VM. Then under "Hardware", click on "NICs" and "Edit".
In the "IP Mode" choose "None" and then "Save".

3CX Installation Settings NIC.png

With Edge firewall

  • Be sure that there is no DHCP activated on the network of your VM to avoid IP config issues.
  • Create a new internal network: Network Type: Routed. Interface Type: Internal. You can use this guide if needed.
  • Edit the NIC of you virtual machine and attach it to the newly created private network. You can use this guide if needed.
  • Create the SNAT & DNAT rules on the Edge Gateway (you can use this guide if needed):

In this example, "10.10.0.10" is the local IP of the 3CX Debian VM and "212.40.27.35" is the public IP used.

SNAT - Applied on : Edge - Original IP : 10.10.0.10 - Port: Any - Translated IP: 212.40.27.35 - Port: Any - Protocal : Any - Enable : YES
DNAT - Applied on : Edge - Original IP : 212.40.27.35 - Port: Any - Translated IP: 10.10.0.10 - Port: Any - Protocal : Any - Enable : YES

FW Edge NATRules VoIP.png
  • Create the Firewall rules for all VoIP services:

In this example, "212.40.27.35" is the public IP used for the 3CX. "vnic1" is the virtual interface of the 3CX vm.

Name Type Source Destination Service Action
VoIP - SIP Communications User Any 212.40.27.35 tcp:5060:any
tcp:5061:any
udp:5060:any
Accept
VoIP - 3CX Tunnel for Push User Any 212.40.27.35 tcp:5090:any
udp:5090:any
Accept
VoIP - HTTPs for Presence and Provisioning User Any 212.40.27.35 tcp:443:any
tcp:5001:any
Accept
VoIP - RTP Audio Communications User Any 212.40.27.35 udp:9000-10999:any
Accept
3CX Web Interface User Any 212.40.27.35 tcp:5015:any Accept
Allow everything outgoing User vnic-1 Any Any Accept

You should have this:

FW Edge Rules VoIP.png


Creating the first VM step-by-step[edit | edit source]

To create a VM, go to your vDC then click on the New VM link

  • Name: Choose a name for your VM on vCloud Director
  • Computer name: Chose the hostname for your VM. This settings will have no effect on the VM itself if you don't use VMware Tools and don't enable the Guest Optimization.
  • Description: Choose a description of your VM
  • Type: If you have a VM template you can choose it. If not choose New and uncheck the box Power on.
  • OS family: Choose the kernel OS, Windows, Linux or other
  • Operating System: Choose the OS and version that you will install
  • Boot image: Choose the ISO, if you created a custom library you will be able to see your own ISO
  • Select a Size: By default, you can choose some default ressources (Small, Medium, Large) or if needed you can check the Custom Sizing Options case and configure the ressources that you want.
  • On the Storage table, choose the IaaS SSD on the Storage Policy column then choose the SSD
  • On the Networking table, choose your internal network created previously.
  • IP Mode: You can choose for example Manual IP to assign the VM a static IP manually. Select Static IP Pool to assign the VM the next available IP from the previously configure Static IP Pool. This settings will have no effect on the VM if you don't use VMware Tools and don't enable the Guest Optimization.
  • When all settings has been done, click on the OK button, VM will be created in few seconds.

Network configuration:

Iaas Network configuration.png


Connecting VMs to external network with outgoing NAT rule

By default access to the public internet is blocked. You'll need to create a SNAT rule to enable internet access for your VMs.

Go to Edges, select your Edge gateway and click to the Services link then click on the NAT tab.

  • Click on the + SNAT Rule button
  • Applied On: Select our Edge gateway
  • Original Source IP/Range: Select the local IP of your VM
  • Translated Source IP/Range: Click on the Select button, you should be able to choose one of our public IP provided by VTX
  • Destination IP Address: Put any
  • Destination Port: Put any
  • Description: If needed you can choose a description

By default the rule will be enabled by the toggle button Enabled, if you want you can enable the log with toggle button Enable logging. When is done, you can create the rule by clicking on the Keep button.

When the rule is created, click on the Save changes link at the top right of the screen, it will reload the Edge rule to apply the new configuration.


3CX Installation using custom 3CX Debian ISO[edit | edit source]

Boot your VM via the vCloud panel : "Actions" -> "Power On"

IaaS3CXinstallationSteps1.png

Press Enter when you are on « Install »

First you will start with the network configuration. In our case we will select « Configure network manually »

IaaS3CXinstallationSteps2.png


Enter the IP then select « Continue » and press enter.

IaaS3CXinstallationSteps3.png

Fill netmask then select « Continue » and press enter.

IaaS3CXinstallationSteps4.png

Fill gateway then select « Continue » and press enter.

IaaS3CXinstallationSteps5.png

Fill name server addresses then select « Continue » and press enter.

IaaS3CXinstallationSteps6b.png

Fill hostname then select « Continue » and press enter.

IaaS3CXinstallationSteps7.png

Fill domain name then select « Continue » and press enter.

IaaS3CXinstallationSteps8.png

Choose language and press enter.

IaaS3CXinstallationSteps9.png

Choose the location, go to « other », « Europe » then « Switzerland »

IaaS3CXinstallationSteps10.png

Choose your locales, by default en_US.UTF-8

IaaS3CXinstallationSteps11.png

Choose your keyboard layout, in our case « Swiss french ».

IaaS3CXinstallationSteps12.png

Create the root password

IaaS3CXinstallationSteps13.png

Choose partitioning method, we will choose « Guided - use entire disk and set up LVM »

IaaS3CXinstallationSteps14.png

Select the disk to partition then press enter.

IaaS3CXinstallationSteps15.png

Choose the partitioning scheme « Separate /home, /var, and /tmp partitions » and press enter

IaaS3CXinstallationSteps16.png

Select YES to write changes to disks and confirm with enter

IaaS3CXinstallationSteps17.png

Review the partitioning then select « Finish partitioning and write changes to disk » then press enter

IaaS3CXinstallationSteps18.png

Confirm the writes by selecting « YES » then press enter

IaaS3CXinstallationSteps19.png

The system will install all components then reboot automaticaly.

Configuration[edit | edit source]

Configuration of the 3CX system[edit | edit source]

After the reboot you will need to select « 3CX Stable X.X.X.X (Install for production use) and press enter

IaaS3CXinstallationSteps20.png

After installation you need to accept the 3CX License Agreement.

IaaS3CXinstallationSteps21.png

After that the system will reboot into 3CX Configuration Tool.

IaaS3CXinstallationSteps22.png

Choose option "1"

IaaS3CXinstallationSteps23.png

Go to the webpage YOURIP:5015 Then choose the installation type. In our case « Create new install of 3CX Phone System ». Enter the licence key then click « Next ».

IaaS3CXinstallationSteps24.png

Then create the credentials for your 3CX Management Console then click on « Next »

IaaS3CXinstallationSteps25.png

Then the tool will detect your public IP (if it is not correct choose « No, i want to enter it manually ») then click on « Next »

IaaS3CXinstallationSteps26.png

Then choose your type of Public IP and click on « Next »

IaaS3CXinstallationSteps27.png

Then let by default all ports configuration

IaaS3CXinstallationSteps28.png

Select the right network adapter

IaaS3CXinstallationSteps29.png

Wait until everything is automaticaly configured.

IaaS3CXinstallationSteps30.png

Choose the extension length, in our case "3 Digits"

IaaS3CXinstallationSteps31.png

Then enter your admin email address and click on « Next »

IaaS3CXinstallationSteps32.png

Choose your Country and Time Zone then click on « Next »

IaaS3CXinstallationSteps33.png

Create the Operator extension

IaaS3CXinstallationSteps34.png

Choose « International Networks » then click on « Next »

IaaS3CXinstallationSteps35.png

Select the language of the trunk.

IaaS3CXinstallationSteps36.png

Confirm the registration details at 3CX and click « Finish »

IaaS3CXinstallationSteps37.png

Then you will see this confirmation of the 3CX installation with all useful information

IaaS3CXinstallationSteps38.png

Setup 3CX Trunk using VTX SIP Trunk Template[edit | edit source]

FIXME: To be added