Introduction
This document describes the process to identify whether the audio quality issues are a network issue, or an issue with the virtualized application.
Problem
As more real-time voice applications are virtualized, it becomes much more complex to troubleshoot audio quality issues. Use Unity Connection as the subject for this "real-time voice application".
Gather Information
- The first step is to determine if the prompts are distorted when you leave the Unity Connection. In order to gather a packet, capture "utils network capture eth0 file capture1 size all count 100000".
Note: Cisco Unified Communication (CUC) prompts are a good base line to determine undesirable quality. Do not use user recorded greetings as they can be an unreliable baseline.
- Analyze the packet capture: Wireshark, supports G.711 A-law or G.711 mu-law.
- Check the quality of outgoing Routing Table Protocol (RTP) stream with Wireshark:
- Decode with the default settings.
- Decode with the option "use RTP timestamp" in Wireshark.
Possible Causes
If both decoded streams experience voice quality issues, the problem might be with the prompt (WAV file) or Unity Connection.
If the default recording is distorted, but the use of RTP timestamps is fine, the problem might be with resources/VMware.
If the quality is acceptable when you listen to the RTP stream using the default decoding, the problem might be with the network connectivity between the CUC and the phone.
Note: A suggestion is take a packet capture from the switch where the ESXi server is connected and check for quality. If it is bad, it is probable that the drivers are checked on the ESXi host itself.
Solution
If the problem indicates the issue is with Unity Connection or the WAV file, first verify the quality of the recording:
- Check the Network Time Protocol (NTP).
- If the customer has multiple NTPs configured, ensure the CUC does not switch between the two frequently.
- Check to see if NTP servers have NTPv4 (packet capture): "utils ntp status".
- Use the web GUI to verify the quality.
- Ensure there are no coredumps on CUC. Look for known bug: "utils core active list".
- Use Cobra's Backup Editor to verify the quality.
If the problem indicates the issue is with VMware verify, follow these steps:
- Verify that the proper Reservation is made on the Unity Connection Virtual Machines: verify CPU and RAM reservations as in Supported Platforms.
- Ensure that the Large Receive Offload (LRO) is turned off for the ESXi host (not an issue with ESXi 5.1+). See Disable LRO on UCS/UC Application Deployments for more information.
- Take a snapshot of the CUC VM. See VMware Snapshots for more information.
Note: Snapshots of the Unity Connection VMs are not supported and might cause issues with voice quality.
- Ensure the VMware Tools are installed. See VMware Tools for more information.
Note: VMware Tools installs the Network Interface Card (NIC) drivers onto the VM to improve network performance.
- Ensure that Sync VM with host is not checked. This option syncs the virtual machine's time with the ESXi host. In the Sphere client, navigate to Select the virtual machine and right-click the virtual machine's Edit settings. From the Options tab, choose VMware tools > Advanced. Ensure that the Synchronize guest time with host check box is unchecked.