Requirements and Justification#
The following factors impact VoIP PBX performance in a virtualised environment:
CPU Performance and Real-Time Constraints#
- The PBX requires immediate CPU availability for every 5 ms processing frame.
- CPU cores assigned to the PBX must not exceed 90% utilisation per 5 ms frame, or calls may suffer from audio degradation and dropouts.
- Standard hypervisor scheduling introduces unpredictable delays, leading to degraded call quality.
Impact of Other Virtual Machines#
- Other VMs on the same host can steal CPU cycles, introducing different delays on each core, leading not only to audio problems, but also to delayed processing of SIP messages.
- Even when PBX-assigned cores appear idle, hypervisor scheduling and shared resources can cause performance fluctuations.
- Background tasks in other VMs (e.g., backups, network printing, disk-heavy operations) can negatively impact the PBX.
- Anything that introduces a high IO-load at times can cause performance problems (e.g., file-server, database server)
Network Performance Requirements#
- High-concurrency VoIP workloads require consistent, low-latency packet handling.
- Virtual firewall solutions can help to mitigate attacks but they also can cause a lot of IO-load depending on how they are used.
- Virtualised network interfaces add overhead, increasing jitter and processing delay.
- Interrupt handling from other network devices must not interfere with PBX CPU cores.
Disk I/O and Storage Considerations#
- Spinning disks, even if not used for the PBX virtual machine, can create interrupts and I/O wait times that can affect real-time processing.
- Storage controllers handling non-PBX workloads must not introduce latency into the PBX processing path.
Time Synchronisation#
- VoIP protocols require precise timing to maintain synchronisation between SIP signaling and RTP media streams.
- Standard NTP timekeeping in virtualised environments may introduce drift or competing time changes between host and guest systems. Any changes in timing control can have an effect in audio quality, dropouts or even connection loss.