In my environment, the voice quality of XPhone AnyDevice / Softphone / Conferences is not optimal. What precautions can I take in my environment to improve the quality?
As one of the most important steps is the configuration of QoS for XPhone Connect. Read here in our manual how to configure it:
https://help.c4b.com/en/xphone-connect-8/admin/#4357.htm
QoS configuration for RTP packets should also be present in the rest of the network environment.
RTP is very susceptible to timing divergent systems. Therefore, both the VM host, the PBX (including SBCs, if applicable), and the XPhone Connect server should all target the same time server.
If you use the time server via W32Time, there are several command line commands to check the functionality of the time server.
First navigate to the system32 folder:
cd /Windows/system32
Then enter the following commands:
w32tm /monitor /computers:ip.addr.of.ntpserver
The offset should be as small as possible.
Further tip: The lower the stratum value of the controlled time server, the better!
Next you can check how the time behaves in the long run:
w32tm /stripchart /computer:ip.addr.of.ntpserver
Good Case
Bad Case
The values in the two columns should be constantly low. In a bad case, it can be seen that one column keeps rising. This should not happen.
In VMWare environments, further settings can be made so that the XPhone Connect Server machine is optimally configured for real-time communication.
The screenshots used here were taken in a VMWare ESXi 7.0 environment. Other versions may differ.
a) Reservation of CPU and RAM
To enable the high latency mode in step c), a reservation of system resources is required. Open the virtual machine settings and make the settings as shown in the pictures:
* The values set here must be adapted to the system requirements of the customer system. As CPU reservation you should multiply the clock speed of the processor used by the number of processor cores (for a 2GHz processor and 4 cores this would be 8000MHz).
b) If possible, select VMXNET 3 as the virtual NIC.
The VMXNET 3 adapter is best suited for real-time environments.
c) Activation of the High Latency mode and activation of the real-time perfmon counters.
(1) After the resources have been reserved, you can go to the VM Options tab and set the latency sensitivity to 'High'.
(2) The real-time perfmon counters can be made available to the system with this step. To do this, click on 'Edit configuration...'.
... and add the following parameter:
monitor_control.pseudo_perfctr = TRUE
d) Setting the -monotonic-clock parameter for XCC.
Through this parameter, XCC accesses the perfmon counters provided by step c). To do this, stop the following services:
Then navigate to this registry path:
Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\AtlasXCC.
And add the following value to the ImagePath:
-monotonic-clock
Make sure there is a space between -nonat and -monotonic-clock.
e) Starting the XPhone Connect Server
You can now start XPhone Connect Server again via XPhone Connect Server Manager. The XPhone Call Controller service is automatically started as well.
The voice quality of AnyDevice/softphone calls/conferences should be better than before after the settings have been made.
Further hints
There is also the possibility to synchronize the virtual machine time to the VM host using the VM drivers (e.g. VMWare Tools). However, generally the configuration of a time server is preferred, see: https://docs.vmware.com/en/VMware-Tools/11.3.0/com.vmware.vsphere.vmwaretools.doc/GUID-C0D8326A-B6E7-4E61-8470-6C173FDDF656.html
References: