3CX Phone System on a Hyper V virtual instance - Settings required - 3CX
Take the PBX Express
Your PBX, Your Cloud, ready in minutes
Zero Admin
With the new Dashboard
Bulletproof Security
With SSL certs and NGINX
Install on $200 Appliance
Intel MiniPC architecture
New, Intuitive Windows Client
More themes, more UC
More CRM Integrations
Scripting Interface to add your own
Improved Integrated Web Conferencing
iOS and Android apps included
Run On-Premise or in the Cloud
Google, OVH, Windows & Linux

3CX Phone System on a Hyper V virtual instance – Settings required

Installing 3CX Phone System on a Hyper-V VM

When running Microsoft Hyper-V, it is important to have the following configured on your virtual server for optimal performance.

Installing 3CX Phone System on a Hyper-V VM

General Settings

Configuring a static MAC address

Broadcom NetXtreme 1-Gigabit

Windows on Hyper-V

Installation of integrated services

Verifying Integrated Services are installed

Check if network drivers are installed

Check if NTP source is set to the Hyper V server

Debian 8 on Microsoft Hyper-V

Network Adapter

Generation 2 VMs

Installation of integrated services

General Hyper-V Information

Time Sync

General Settings

Configuring a static MAC address

It is very important for the licensing that the MAC address of the host is a constant value beside it’s internal IP address. In order to set the MAC address of the VM running in a Hyper-V perform:

  1. Open a Command Prompt.
  2. Click Start > Type cmd > Press Enter.
  3. Perform an ipconfig.
  1. Type ipconfig /all and press Enter.
  2. Note down the value in the Physical Address field marked as xx-xx-xx-xx-xx-xx. You will need to enter this in the Hyper-V Manager in Step 10.
  1. Start Hyper-V Manager.
  2. Right Click Start > Click Control Panel > Double Click Administrative Tools > Click Hyper-V Manager.
  3. In the Virtual Machines section, choose the machine you want to configure, right click on it and choose settings
  4. In the Settings window select the Network Adapter (in the left pane).
  5. In the MAC Address field choose the Static toggle button.
  6. Set each of the fields to the values you got in the command prompt in step 4. Please do enter the MAC of the host where XX is used here as space holders
  7. Click Apply / OK.

Broadcom NetXtreme 1-Gigabit

If your HyperV server uses the above defined network adapters the driver must be updated to the latest version and/or VMq needs to be disabled for those. More Information can be found here: https://support.microsoft.com/en-us/kb/2986895

Windows on Hyper-V

Installation of integrated services

  1. Open your Virtual machine.
  2. In the Hyper-V Manager right click on the Virtual Machine you want to use and click Connect.
  3. Log into the Virtual Machine with local administrator credentials.
  4. In the Virtual Machine Connection application click on Action Menu and select Insert Integration Services Setup Disk.
  5. Select Install Hyper-V Integration Services in the AutoPlay dialog box and press Enter.
  6. When the installation finishes, you will be prompted to restart the virtual machine. Click OK to restart the machine.
  7. Validate after the reboot if the network adapter and the ntp source are set correctly.

Verifying Integrated Services are installed

The integrated services solve some issues related to NTP and performance of the network card adapters.

Check if network drivers are installed

  1. To verify if you have Integrated Services installed perform an ipconfig.
  2. Type ipconfig /all and press Enter.
  3. If the result of the ipconfig shows your Network Adapter as Microsoft Virtual Machine Bus Network Adapter, you will need to install the Integration Services.
  4. If the result of the ipconfig shows your Network Adapter as Hyper-V network Adapter”, you already have Integration Services installed.

Check if NTP source is set to the Hyper V server

  1. Open the Administrative Command prompt Click Start > Click Run > Type CMD
  2. When Administrative Command prompt run “w32tm /query /source”
  3. The Result should be “VM IC Time Synchronization Provider”
    image
  4. If you read “Local CMOS Clock” or a name of an NTP host you need to install integrated services
    image
  5. Refer to the Appendix to find out why keeping the time is an essential part

Debian 8 on Microsoft Hyper-V

Network Adapter

3CX on Debian does not support network adapter types “Legacy Network Adapter”. Beside all the disadvantages of those adapters in general, 3CX explicitly requires a standard “Network Adapter”.

Generation 2 VMs

On Windows Server 2012 R2 Generation 2 virtual machines have secure boot enabled by default and some Linux virtual machines will not boot unless the secure boot option is disabled. You must disable secure boot in the Firmware section of the settings for the virtual machine in Hyper-V Manager or you can disable it using Powershell:

Set-VMFirmware -VMName "VMname" -EnableSecureBoot Off

Installation of integrated services

Debian does not support the installation of integrated services.

General Hyper-V Information

Time Sync

In relation of VoIP transmission it is very important to keep track of the time and get the best possible information about time as audio needs to be fragmented into packages of exactly 20ms. If the time on the host is not accurate the audio will become jittery or extension unregister prematurely. Microsoft recommends to disable build in Hyper-V time sync for for VMs and place the time adjustment into the guest OS it self using NTP for a stable time result.

https://support.microsoft.com/en-us/help/2618634/hyper-v-time-synchronization-doesn-t-correct-the-system-clock-in-the-virtual-machine-if-it-is-more-than-5-seconds-ahead-of-the-host-clock

Microsoft statements regarding time synchronization:

When the virtual machine boots, it receives it’s time signal from the host machine’s RTC (Hardware based Real Time Clock), and uses its own internal routines to calculate how much time has passed. Depending on the load of the virtual machine, the time can sometimes lose synchronisation. Also once a virtual machine is restored from a saved state, the memory and status of the guest operating system is replaced. Both memory and state is altered with the same snapshot that was initially created. At this stage, we are reporting the correct time within the system’s RTC, even though the operating system is unable to detect the changes that took effect. Instead, it proceeds with its own internally calculated time. To attend to this matter, the Hyper-V Synchronization Integration Service is able to detect whenever it has reverted back from a saved state and thus applies the correct time.  

This process is done by issuing a time change request through the normal user mode Interface provided by Windows. Moreover, this process adjusts the time zone difference between the management operating system and the guest operating system.

You might also be interested in:

<