Skip to content

Practical Implementation Guidelines#

To meet these requirements, administrators should implement the following optimisations:

CPU Optimisation#

  • Pin CPU cores to the PBX VM to avoid hypervisor scheduling conflicts.
  • Ensure PBX CPU cores are never used for host system interrupts (network, storage, or media processing).
  • Monitor CPU utilisation per core and keep it below 90% per 5 ms frame or 50% per averaged second.
  • Disable CPU power-saving features (e.g., Intel SpeedStep, AMD Cool’n’Quiet) to maintain consistent performance.
  • Use a performance CPU governor instead of an on-demand or power-saving mode.
  • Use only performance cores for PBX VM.

Virtual Machine Isolation#

  • Avoid overcommitting CPU resources across multiple VMs, even when dedicated CPU cores are assigned to the PBX, the other CPU cores should not operate at 100% for any amount of time.
  • Ensure other VMs do not generate high CPU loads on the same host.
  • If other workloads must run, schedule resource-intensive tasks (backups, disk indexing) outside peak call hours.

Network Optimisation#

  • Use server-grade NICs with hardware offloading for TCP/IP and UDP checksum, RSS and TSS.
  • Prefer SR-IOV or PCI passthrough to minimise virtualisation overhead.
  • Assign a dedicated NIC for VoIP traffic to separate it from other network activity.
  • Configure QoS (Quality of Service) on the network to prioritise VoIP traffic over other data.

Storage and Disk I/O Considerations#

  • Use dedicated RAID controllers with battery backed writecaching for spinning disks.
  • Ensure that storage workloads (e.g., backups, logging) do not impact PBX real-time processing.
  • Prefer NVME SSDs for VM storage to reduce I/O latency.

Time Synchronisation#

  • Disable time synchronisation features between host and the PBX VM.
  • Make sure TSC (CPU instruction) is available in the PBX VM and not influenced by other VMs.
  • If multiple CPUs are available in a host, only one should be assigned to the PBX. In case of Threadripper only cores from the same NUMA should be assigned to the PBX.

Hypervisor and Host System Configuration#

  • Disable live migration (e.g., vMotion) for the PBX VM to prevent processing interruptions.
  • Assign dedicated network and storage interrupts to cores not used by the PBX VM.
  • Continuously monitor system performance (CPU, network and jitter metrics) to detect and address real-time processing issues.