So my home server virtualization/consolidation project has come to a grinding halt when I noticed some very bad audio problems emanating from my FreePBX distro v16 virtual server instance running Asterisk v18 on a VMware ESXi v6.7u3 host. Below is a 20-second audio recording of when I was trying to access just the voicemail system and menus:
I can’t really describe what’s going on with the audio, but it ‘sounds’ to me like the virtual machine is struggling to playback/reproduce the audio to the phone. At times, Allison sounds like a robot (like at the very beginning of the recording), very digital. At times I have even heard some of the system recording sounds being played back twice (repeated, e.g. “…Press three for Advanced Options-Advanced Options…”) From what I can also tell is that audio voice calls might not seem to be affected as much (echo test), but I can’t confirm much since I am just one person and it is hard to talk alone.
I’ve tried multiple things to help eliminate any VM performance problems suggested in this thread here:
Out of the 12 CPU cores available (24 with Hyper-Threading) and 64GB of RAM installed in a Dell T5500 Precision Workstation, I allotted the VM to just 2 CPUs with 3.00GHz each, and about 2GB of RAM. I even went as far as to set the “sharing” values to “high” for both CPU and RAM to allow the FreePBX VM top priority to these system resources. I even went as far as dedicating all 24 cores and 56GB of RAM to the VM (I know it’s BEYOND overkill), but the audio problems still persisted; even when the FreePBX VM was the only virtual machine running on the host.
One thing I have not tried was disabling the swap file suggested on this page here:
I also made sure that it wasn’t some configuration change I made to FreePBX by backing up the VM’s FreePBX instance, and then restoring it to the original hardware-based system (a Dell OptiPlex 755) with a fresh install of FreePBX distro v16 and Asterisk v18 (identical setup and FreePBX configuration). On the hardware system, the audio problems do not exist; which is telling me that it is not a FreePBX issue but rather a configuration issue or defect in VMware ESXi.
I’ve been reading here on the forums mixed reviews about virtualizing a FreePBX instance. Some think it’s great, and it works great; while others swear that it should be installed on a dedicated and isolated system.
Is the latter true? Is there any way I can get FreePBX to work virtualized? I would like to note that the other servers I am trying to virtualize (Windows 10/Plex, Home Assistant, Windows 10 VM, pfSense, and APC PowerChute Network Shutdown virtual appliance) do not seem to be affected performance-wise with my testing so far.
Should I just start over and create another FreePBX virtual machine from scratch?
Is there anything else I can try to see what the audio problem could be?
Are there any other settings (either in the VM configuration GUI or something that manually needs to be set in the Advanced VM config) I should try to look at in ESXi?
Would using another hypervisor such as Proxmox be a better solution? I would like something that supports PCI pass-through for a Digium-branded TDM410P card; and BTW, the audio issue exists both with and without the card attached to the VM.
Again, I realize this is most likely is not a problem of FreePBX, but I am hoping someone in the FreePBX community may have more experience with virtualization that can help point me in the right direction, or to at least help me look for the smoking gun regarding the crappy system recording audio playback.
Any help is greatly appreciated, and I thank you for your time.