Cloud:IaaS:3CX: Difference between revisions

From VTX Public Wiki

m (→‎Configuration of the 3CX system: updated URL of the 3CX web installer + typo correction)
m (→‎Creating the VM: Update ISO file name)
 
(12 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{DISPLAYTITLE:Installation of 3CX system on VTXCloud IaaS/Managed Cloud Server }}
{{DISPLAYTITLE:Installation of a 3CX system on Business Cloud (IaaS)/ Managed Cloud Server }}


= Introduction =
= Introduction =


The goal of this page is to be able to setup a 3CX PBX system hosted in our VTX IaaS infrastructure.
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 ==

'''FIXME''': To be written with PM


== Prerequisites ==
== Prerequisites ==
Line 43: Line 39:
# Then click on "Mes feuilles de configuration"/"Meine Konfigurationsblätter"
# Then click on "Mes feuilles de configuration"/"Meine Konfigurationsblätter"


[[File:IaaS3CXPrerequisites1b.png|850px]]
<center>[[File:IaaS3CXPrerequisites1b.png|850px|link=]]</center>


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


[[File:IaaS3CXPrerequisites2c.png|850px]]
<center>[[File:IaaS3CXPrerequisites2c.png|850px|link=]]</center>


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


'''French version''':<br>
'''French version''':<br>
[[File:IaaS3CXPrerequisites3.png|800px]]
<center>[[File:IaaS3CXPrerequisites3.png|800px|link=]]</center>


'''German version''':<br>
'''German version''':<br>
[[File:IaaS3CXPrerequisites4b.png|800px]]
<center>[[File:IaaS3CXPrerequisites4b.png|800px|link=]]</center>


= Preparing the VM =
= Preparing and creating the VM =


== Preparing the VM ==
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''' :<br>
'''Without Edge firewall''' <br>
You can directly setup the VM with a public IP. The VM will be secured by the integrated firewall named "NFtables".<br>
You need to edit the NIC setting by clicking in the "Details" button of your VM. Then under "Hardware", click on "NICs" and "Edit".<br>
In the "IP Mode" choose "None" and then "Save".


=== With Edge firewall ===
[[File:3CX Installation Settings NIC.png|800px]]


==== Create a new internal network ====
'''With Edge firewall '''<br>


In these screenshots below, we will create a 192.168.0.0/24 private network:
* 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 [[Cloud:Business_Cloud_(IaaS)#Adding_internal_networks|guide]] if needed.
* Edit the NIC of you virtual machine and attach it to the newly created private network. You can use this [[Cloud:Business_Cloud_(IaaS)#Attach.2FChange_the_network_of_a_NIC_VM|guide]] if needed.
* Create the SNAT & DNAT rules on the Edge Gateway (you can use this [[Cloud:Business_Cloud_(IaaS)#Create_a_Firewall_rule_on_Edge|guide]] if needed):


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


==== Create the SNAT & DNAT rules on the Edge Gateway ====
SNAT - Applied on : Edge - Original IP : 10.10.0.10 - Port: Any - Translated IP: 212.40.27.35 - Port: Any - Protocal : Any - Enable : YES<br>
DNAT - Applied on : Edge - Original IP : 212.40.27.35 - Port: Any - Translated IP: 10.10.0.10 - Port: Any - Protocal : Any - Enable : YES<br>


Follow this [[Cloud:Business_Cloud_(IaaS)#Create_a_Firewall_rule_on_Edge|guide]] to create the NAT rules below.
[[File:FW Edge NATRules VoIP.png|1000px|none]]


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.<br>
* Create the Firewall rules for all VoIP services:


SNAT - Applied on : Edge - Original IP : 10.10.0.10 - Port: Any - Translated IP: 212.40.XX.XX - Port: Any - Protocal : Any - Enable : YES<br>
''In this example, '''"212.40.27.35" is the public IP''' used for the 3CX. '''''"vnic1"'' is the virtual interface''' of the 3CX vm.''<br>
DNAT - Applied on : Edge - Original IP : 212.40.XX.XX - Port: Any - Translated IP: 10.10.0.10 - Port: Any - Protocal : Any - Enable : YES<br>

<center>[[File:FW Edge NATRules VoIPHIDEDips.png|1000px|link=]]</center>

==== Create the Firewall rules for all VoIP services ====

'''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.'''<br>
''In this example, '''"212.40.XX.XX" is the public IP''' used for the 3CX. '''''"vnic1"'' is the virtual interface''' of the 3CX vm.''<br>


{| class="wikitable"
{| class="wikitable"
Line 105: Line 107:
| User
| User
| Any
| Any
| 212.40.27.35
| 212.40.XX.XX
| tcp:5060:any<br />tcp:5061:any<br />udp:5060:any<br />
| tcp:5060:any<br />tcp:5061:any<br />udp:5060:any<br />
| Accept
| Accept
Line 112: Line 114:
| User
| User
| Any
| Any
| 212.40.27.35
| 212.40.XX.XX
| tcp:5090:any<br />udp:5090:any<br />
| tcp:5090:any<br />udp:5090:any<br />
| Accept
| Accept
Line 119: Line 121:
| User
| User
| Any
| Any
| 212.40.27.35
| 212.40.XX.XX
| tcp:443:any<br />tcp:5001:any<br />
| tcp:443:any<br />tcp:5001:any<br />
| Accept
| Accept
Line 126: Line 128:
| User
| User
| Any
| Any
| 212.40.27.35
| 212.40.XX.XX
| udp:9000-10999:any<br />
| udp:9000-10999:any<br />
| Accept
| Accept
Line 133: Line 135:
| User
| User
| Any
| Any
| 212.40.27.35
| 212.40.XX.XX
| tcp:5015:any
| tcp:5015:any
| Accept
| Accept
|-
|-
| Allow everything outgoing
| '''Allow everything outgoing'''
| User
| '''User'''
| vnic-1
| '''vnic-1'''
| Any
| '''Any'''
| Any
| '''Any'''
| Accept
| '''Accept'''
|}
|}


You should have this:
You should have this:


[[File:FW Edge Rules VoIP.png|1000px|none]]
<center>[[File:FW Edge Rules VoIP HIDEDips.png|1000px|link=]]</center>

== Creating the VM ==

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''' :<br>

'''Without Edge firewall''' <br>
You can directly setup the VM with a public IP. The VM will be secured with the build-in firewall named "NFtables".<br>
* Under "Networking" click on "Customize" then under "Network" be sure to have selected the "Edge..." network. (You can use this [[Cloud:Business_Cloud_(IaaS)#Attach.2FChange_the_network_of_a_NIC_VM|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".

<center>[[File:3CX Installation Settings NIC.png|link=]]</center>

'''With Edge firewall '''<br>


* Under "Networking" click on "Customize" then under "Network" choose the newly created private network (You can use this [[Cloud:Business_Cloud_(IaaS)#Attach.2FChange_the_network_of_a_NIC_VM|guide]] if needed.). "IP mode" choose "None".
{{#lst:Cloud:Business_Cloud_(IaaS)|CreateVMStepByStep}}
* 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 =
= 3CX Installation using custom 3CX Debian ISO =
Line 155: Line 187:
Boot your VM via the vCloud panel : "Actions" -> "Power On"
Boot your VM via the vCloud panel : "Actions" -> "Power On"


[[File:IaaS3CXinstallationSteps1.png|none]]
<center>[[File:IaaS3CXinstallationSteps1.png|link=]]</center>


Press Enter when you are on « Install »
Press Enter when you are on « Install »
Line 162: Line 194:
In our case we will select « Configure network manually »
In our case we will select « Configure network manually »


[[File:IaaS3CXinstallationSteps2.png|none]]
<center>[[File:IaaS3CXinstallationSteps2.png|link=]]</center>




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


[[File:IaaS3CXinstallationSteps3.png|none]]
<center>[[File:IaaS3CXinstallationSteps3.png|link=]]</center>


Fill netmask then select « Continue » and press enter.
Fill netmask then select « Continue » and press enter.


[[File:IaaS3CXinstallationSteps4.png|none]]
<center>[[File:IaaS3CXinstallationSteps4.png|link=]]</center>


Fill gateway then select « Continue » and press enter.
Fill gateway then select « Continue » and press enter.


[[File:IaaS3CXinstallationSteps5.png|none]]
<center>[[File:IaaS3CXinstallationSteps5.png|link=]]</center>


Fill name server addresses then select « Continue » and press enter.
Fill name server addresses (212.147.10.10 212.147.10.180 212.147.10.162) then select « Continue » and press enter.


[[File:IaaS3CXinstallationSteps6b.png|none]]
<center>[[File:IaaS3CXinstallationSteps6b.png|link=]]</center>


Fill hostname then select « Continue » and press enter.
Fill hostname then select « Continue » and press enter.


[[File:IaaS3CXinstallationSteps7.png|none]]
<center>[[File:IaaS3CXinstallationSteps7.png|link=]]</center>


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


[[File:IaaS3CXinstallationSteps8.png|none]]
<center>[[File:IaaS3CXinstallationSteps8.png|link=]]</center>


Choose language and press enter.
Choose language and press enter.


[[File:IaaS3CXinstallationSteps9.png|none]]
<center>[[File:IaaS3CXinstallationSteps9.png|link=]]</center>


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


[[File:IaaS3CXinstallationSteps10.png|none]]
<center>[[File:IaaS3CXinstallationSteps10.png|link=]]</center>


Choose your locales, by default en_US.UTF-8
Choose your locales, by default en_US.UTF-8


[[File:IaaS3CXinstallationSteps11.png|none]]
<center>[[File:IaaS3CXinstallationSteps11.png|link=]]</center>


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


[[File:IaaS3CXinstallationSteps12.png|none]]
<center>[[File:IaaS3CXinstallationSteps12.png|link=]]</center>


Create the root password
Create the root password


[[File:IaaS3CXinstallationSteps13.png|none]]
<center>[[File:IaaS3CXinstallationSteps13.png|link=]]</center>


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


[[File:IaaS3CXinstallationSteps14.png|none]]
<center>[[File:IaaS3CXinstallationSteps14.png|link=]]</center>


Select the disk to partition then press enter.
Select the disk to partition then press enter.


[[File:IaaS3CXinstallationSteps15.png|none]]
<center>[[File:IaaS3CXinstallationSteps15.png|link=]]</center>


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


[[File:IaaS3CXinstallationSteps16.png|none]]
<center>[[File:IaaS3CXinstallationSteps16.png|link=]]</center>


Select YES to write changes to disks and confirm with enter
Select YES to write changes to disks and confirm with enter


[[File:IaaS3CXinstallationSteps17.png|none]]
<center>[[File:IaaS3CXinstallationSteps17.png|link=]]</center>


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


[[File:IaaS3CXinstallationSteps18.png|none]]
<center>[[File:IaaS3CXinstallationSteps18.png|link=]]</center>


Confirm the writes by selecting « YES » then press enter
Confirm the writes by selecting « YES » then press enter


[[File:IaaS3CXinstallationSteps19.png|none]]
<center>[[File:IaaS3CXinstallationSteps19.png|link=]]</center>


The system will install all components then reboot automaticaly.
The system will install all components then reboot automaticaly.
Line 240: Line 272:
After the reboot you will need to select « 3CX Stable X.X.X.X (Install for production use) and press enter
After the reboot you will need to select « 3CX Stable X.X.X.X (Install for production use) and press enter


[[File:IaaS3CXinstallationSteps20.png|none]]
<center>[[File:IaaS3CXinstallationSteps20.png|link=]]</center>


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


[[File:IaaS3CXinstallationSteps21.png|none]]
<center>[[File:IaaS3CXinstallationSteps21.png|link=]]</center>


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


[[File:IaaS3CXinstallationSteps22.png|none]]
<center>[[File:IaaS3CXinstallationSteps22.png|link=]]</center>


Choose option "1"
Choose option "1"


[[File:IaaS3CXinstallationSteps23.png|none]]
<center>[[File:IaaS3CXinstallationSteps23.png|link=]]</center>


Go to the webpage http://YOURIP:5015
Go to the webpage http://YOURIP:5015
Line 258: Line 290:
Enter the license key then click « Next ».
Enter the license key then click « Next ».


[[File:IaaS3CXinstallationSteps24.png|none]]
<center>[[File:IaaS3CXinstallationSteps24.png|link=]]</center>


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


[[File:IaaS3CXinstallationSteps25.png|none]]
<center>[[File:IaaS3CXinstallationSteps25.png|link=]]</center>


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 »
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 »


[[File:IaaS3CXinstallationSteps26.png|none]]
<center>[[File:IaaS3CXinstallationSteps26.png|link=]]</center>


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


[[File:IaaS3CXinstallationSteps27.png|none]]
<center>[[File:IaaS3CXinstallationSteps27.png|link=]]</center>


Then let by default all ports configuration
Then let by default all ports configuration


[[File:IaaS3CXinstallationSteps28.png|none]]
<center>[[File:IaaS3CXinstallationSteps28.png|link=]]</center>


Select the right network adapter
Select the right network adapter


[[File:IaaS3CXinstallationSteps29.png|none]]
<center>[[File:IaaS3CXinstallationSteps29.png|link=]]</center>


Wait until everything is automatically configured.
Wait until everything is automatically configured.


[[File:IaaS3CXinstallationSteps30.png|none]]
<center>[[File:IaaS3CXinstallationSteps30.png|link=]]</center>


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


[[File:IaaS3CXinstallationSteps31.png|none]]
<center>[[File:IaaS3CXinstallationSteps31.png|link=]]</center>


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


[[File:IaaS3CXinstallationSteps32.png|none]]
<center>[[File:IaaS3CXinstallationSteps32.png|link=]]</center>


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


[[File:IaaS3CXinstallationSteps33.png|none]]
<center>[[File:IaaS3CXinstallationSteps33.png|link=]]</center>


Create the Operator extension
Create the Operator extension


[[File:IaaS3CXinstallationSteps34.png|none]]
<center>[[File:IaaS3CXinstallationSteps34.png|link=]]</center>


Choose « International Networks » then click on « Next »
Choose « International Networks » then click on « Next »


[[File:IaaS3CXinstallationSteps35.png|none]]
<center>[[File:IaaS3CXinstallationSteps35.png|link=]]</center>


Select the language of the trunk.
Select the language of the trunk.


[[File:IaaS3CXinstallationSteps36.png|none]]
<center>[[File:IaaS3CXinstallationSteps36.png|link=]]</center>


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


[[File:IaaS3CXinstallationSteps37.png|none]]
<center>[[File:IaaS3CXinstallationSteps37.png|link=]]</center>


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


[[File:IaaS3CXinstallationSteps38.png|none]]
<center>[[File:IaaS3CXinstallationSteps38.png|link=]]</center>


== Setup 3CX Trunk using VTX SIP Trunk Template ==
== Setup 3CX Trunk using VTX SIP Trunk Template ==

Latest revision as of 08:46, 20 April 2022


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