Cloud:IaaS:3CX

From VTX Public Wiki


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.

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 and creating the VM[edit | edit source]

Preparing the VM[edit | edit source]

With Edge firewall[edit | edit source]

Create a new internal network[edit | edit source]

In these screenshots below, we will create a 192.168.0.0/24 private network:

  • In your vDC click on "Networks" under "Networking" in the left panel. Then click on "New".
IaaS 3CX CreatePrivateNertwork.png
  • Choose Network type : "Routed" and click "Next".
IaaS 3CX CreatePrivateNertwork2.png
  • Give a name to your Internal Network, enter the gateway in CIDR format then click on "Next".
IaaS 3CX CreatePrivateNertwork3.png
  • Select the Edge Gateway then choose interface type: "Internal" and click on "Next".
IaaS 3CX CreatePrivateNertwork4.png
  • Add the gateway full CIDR IP and the IP pool (without the gateway). Then click "Next".
IaaS 3CX CreatePrivateNertwork5.png
  • Let by default "Use Edge DNS" -> This option will use VTX DNS servers. Then click on "Next".
IaaS 3CX CreatePrivateNertwork6.png
  • Review if everything is OK then click "Finish".
IaaS 3CX CreatePrivateNertwork7.png

Create the SNAT & DNAT rules on the Edge Gateway[edit | edit source]

Follow this guide to create the NAT rules below.

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

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

FW Edge NATRules VoIPHIDEDips.png

Create the Firewall rules for all VoIP services[edit | edit source]

The rule "Allow everything outgoing" has to be setup after VM creation as it needs to be attached to the virtual NIC of the VM.
In this example, "212.40.XX.XX" 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.XX.XX tcp:5060:any
tcp:5061:any
udp:5060:any
Accept
VoIP - 3CX Tunnel for Push User Any 212.40.XX.XX tcp:5090:any
udp:5090:any
Accept
VoIP - HTTPs for Presence and Provisioning User Any 212.40.XX.XX tcp:443:any
tcp:5001:any
Accept
VoIP - RTP Audio Communications User Any 212.40.XX.XX udp:9000-10999:any
Accept
3CX Web Interface User Any 212.40.XX.XX tcp:5015:any Accept
Allow everything outgoing User vnic-1 Any Any Accept

You should have this:

FW Edge Rules VoIP HIDEDips.png

Creating the VM[edit | edit source]

Connect to the URL of your vtxcloud.ch account (ex. : https://vcd01.vtxcloud.ch/tenant/XXXXXX/).

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. Example : 3cxServer
  • Description: Choose a description of your VM
  • Type : Choose New.
  • OS family: Choose Linux.
  • Operating System: Choose Debian GNU/Linux 10 (64-bit).
  • Boot image: Choose the ISO debian10-amd64-netinst-3cx.iso.
  • Sizing Policy : Use the chart from Cloud:IaaS:3CX#Prerequisites to choose the good VM Sizing Policy fitting your needs.
  • Storage : Choose "IaaS SSD" under "Storage Policy" 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.
  • Network Configuration :

Without Edge firewall
You can directly setup the VM with a public IP. The VM will be secured with the build-in firewall named "NFtables".

  • Under "Networking" click on "Customize" then under "Network" be sure to have selected the "Edge..." network. (You can use this guide if needed.). "IP mode" choose "None".
  • Confirm the creation of the VM by clicking "OK".
  • After creation of the VM, you will need to setup the public IP directly on the VM during the next step "3CX Installation using custom 3CX Debian ISO".
3CX Installation Settings NIC.png

With Edge firewall

  • Under "Networking" click on "Customize" then under "Network" choose the newly created private network (You can use this guide if needed.). "IP mode" choose "None".
  • Confirm the creation of the VM by clicking "OK".
  • After creation of the VM, you need to create the last firewall rule on the Edge Gateway "Allow everything outgoing" using the firewall rules tables in the "preparing the VM" section.
  • You will need to setup the private IP on the VM during the next step "3CX Installation using custom 3CX Debian ISO".

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 (212.147.10.10 212.147.10.180 212.147.10.162) 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 http://YOURIP:5015 Then choose the installation type. In our case « Create new install of 3CX Phone System ». Enter the license 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 automatically 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