Voice quality
Introduction
Voice quality depends on:
- Network connection quality (jitter/delay/loss)
- Codecs
- Phones
Troubleshooting
- Change (soft)phone
- Check what codec device is using
- Change it to G729, retest
- Check network connection status using ping command from device's location to the server's location
- Make recording on the server with bad call, listen to it to decide which part sounds bad, localize in which part of the network problem is
- Check CLI for call log, look for line:
RTPAUDIOQOS: ssrc=1214214540;themssrc=2792486810;lp=0;rxjitter=0.000394;rxcount=1936;txjitter=0.000183;txcount=1975;rlp=0;rtt=0.000000
Check values lp and rlp, rxjitter and txjitter. If they > 0, means there are lost packets.
- lp means lost packets comming to device from the system
- rlp means lost packets comming from the device to the system
- rxjitter - jitter from the system to the device
- txjitter - jitter from the device to the system
More details: RTPAUDIOQOS Demystified
This information helps to determine quality issues in the connection between Device and the System.
Providers with poor quality codecs
Do not use G723.1, G726, GSM and similar poor quality codecs with Providers.
In worst case use G729 - it has acceptable quality.
Calls using laptop's microphone/speakers
It is not possible to test call quality using laptop's microphone/speakers, because sound loop will create distortions and echo.
In order to test sound quality using softphone from laptop, ALWAYS use microphone with headphones which are isolated from each other.
Poor internet connection with G711 codec
When server is not in the same country as clients, and clients use phones/softphones without G729 support, such as eyeBeam, xLite and so on - then you will get poor voice quality.
This is because (soft)phones will use G711 codec, which will use 80 kbps connection.
In order to fix this problem, use only GSM and G729 codecs.