- 24 Oct 2024
- 9 Minutes to read
- Print
- DarkLight
Voice Quality Issues and Solutions
- Updated on 24 Oct 2024
- 9 Minutes to read
- Print
- DarkLight
Quality and clarity of voice are very important for users. There is useful information in this document about some of the problems you may encounter in voice communication. There are two types of voice problems, issues on the user side and problems on the system side. In the first part, some corrections to be made by the user are explained. In the second part, the use of Tegsoft Speed Test application, where you can get information about your connection speed, is shown. Speed Test is a feature of Tegsoft application designed for users. There are a couple of reasons that may cause voice quality issues.
In addition, the problems experienced in the system and possible solutions are analyzed.
Conditions to be Controlled by The User
Users should first check their computers and network connections. If the problem continues after these checks, they should do technical checks on the article.
Headset quality is important, we usually recommend good brand headsets with USB type for best quality.
User local environment, network quality, and internet speed are important. (like PC performance, and network quality)
Network quality between Tegsoft and user's computer. If there is VPN related or any other network issues, that needs to be monitored and fixed for best quality.
The network quality between the voice provider and Tegsoft should be checked. If there is a problem, it should be fixed.
Voice provider service quality is very important.
It is checked that the necessary permissions are given for the headset in the web service settings.
Tegsoft solution has some internal tools to monitor and identify voice quality issues. POC is the only way to activate those tools and check results.
Your Connection Speed with Tegsoft Server
If your internet is slow, your internet connection is bad, your entries on the system are not recorded, you cannot hear the customer or the customer cannot hear you, you can use Speedtest which is the new application of Tegsoft to check your connection.
Go to your URL bar and delete the part after the TegsoftCloud.com and write Speedtest as shown on the screen, and press the enter key. After accessing this page, you can start the test.
After starting the test, wait until the results appear. After starting the test, wait until the results appear. The results should take Upload and Dowland values and the jitter value should be small. These values may vary depending on your internet connection speed.
Download: Download speed for data downloaded from the internet.
Upload: Upload speed of data from your computer to another computer over the internet.
Jitter: The time it takes for the signal to leave the server and arrive at your computer. A large jitter value means delay in the incoming signal.
How to Analyze Voice Quality Issues?
Voice is transmitted from peer to peer via the network layer. There may be the following issues listed here during voice communication.
Topology
Internal
A B
192.168.47.77 < -------> 192.168.47.17
External
A Gateway / Firewall VOIP
192.168.47.77 <-------> 192.168.47.254 <------------> 85.185.11.15
One-way or No Voice
Reason for this result is usually because of non-transmitted RTP packets.
Internal
This case is usually observed in the External voice transmission case. It is not common to be faced a no voice issue if the peers are in the same network.
For example,
If two users have a voice problem while talking between themselves, the problem is internal.
Possible Cause
Hardware related issues may cause this result. Please check the microphone, headset, phone device.
There may be a network issue between switches that carries traffic between A and B.
External
This issue usually called NAT problem. As you can notice from the example SIP package below, peers send audio I/O port numbers and IP addresses to the destination. If A sends the local IP address to the destination VOIP. VOIP will not be able to send RTP packages to A.
For example,
If users have a voice problem in an inbound or outbound call, they do not hear the voice of the customers, or their voice is not going to the customer, the problem is external.
INVITE sip:1103@192.168.47.201;user=phone SIP/2.0
Via: SIP/2.0/UDP 192.168.47.72:5060;branch=z9hG4bK3fad5b24
From: "Eray GURSOY" <sip:1901@192.168.47.201>;tag=682c7b5d8f2c884f70b69c59-68ee017e To: <sip:1103@192.168.47.201>
Call-ID: 682c7b5d-8f2c01cd-5190c24c-135ea572@192.168.47.72
Max-Forwards: 70
Session-ID: 2c5e350000105000a000682c7b5d8f2c;remote=00000000000000000000000000000000
Date: Fri, 15 Nov 2019 08:15:52 GMT
CSeq: 101 INVITE
User-Agent: Cisco-CP8845/11.0.1
Contact: <sip:1901@192.168.47.72:5060;user=phone;transport=udp>;+u.sip!devicename.ccm.cisco.com ="SEP682C7B5D8F2C" Expires: 180
Accept: application/sdp
Allow: ACK,BYE,CANCEL,INVITE,NOTIFY,OPTIONS,REFER,REGISTER,UPDATE,SUBSCRIBE,INFO Remote-Party-ID: "Eray GURSOY" <sip:1901@192.168.47.201>;party=calling;id- type=subscriber;privacy=off;screen=yes Supported: replaces,join,sdp-anat,norefersub,resource- priority,extended-refer,X-cisco-callinfo,X-cisco-serviceuri,X-cisco- escapecodes,X-cisco-service- control,X-cisco-srtp-fallback,X-cisco-monrec,X-cisco-config,X-cisco-sis-7.0.0,X-cisco-xsi-8.5.1 Allow-Events: kpml,dialog
Recv-Info: conference
Recv-Info: x-cisco-conference
Authorization: Digest username="1901",realm="asterisk",uri="sip:1103@192.168.47.201;user=phone",response="a6 d395930c2976c0b16a633fef2129b0" ,nonce="73456cb7",algorithm=MD5
Content-Length: 352
Content-Type: application/sdp
Content-Disposition: session;handling=optional
v=0
o=Cisco-SIPUA 21523 0 IN IP4 192.168.47.72 s=SIP Call
b=AS:4064
t=0 0
m=audio 27480 RTP/AVP 0 8 116 18 101 c=IN IP4 192.168.47.72
b=TIAS:64000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:116 iLBC/8000
a=fmtp:116 mode=20
a=rtpmap:18 G729/8000
a=fmtp:18 annexb=yes
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=sendrecv
Possible Cause
Network definitions of Tegsoft server may be incorrect, please check NAT definitions from PBX Management / Server Settings / NAT section.
Firewall or the gateway may perform NAT operation either none or partial.
Missing Words or Some Parts in Speech
This case is noticed when you hear a speech like below.
Original speech → “I am telling you some details here about the last meeting.”
Experienced speech → “I ... tell.. you ...e details ... about the last meeting.”
RTP transmission is designed to overcome data loss. To overcome data loss peers generate statistics and use jitter buffers to deliver proper speech transmission. When jitter buffer is not enough or when the transmission is that bad peers start to lose some parts of the speech.
Possible Cause
Problem definition is “Network transmission issue”. Please check network quality and bandwidth or codec.
Digitalization in Speech
This case is noticed when you hear robotic voices or speech.
When analog (voice) to IP (RTP Package) conversion is failing because of resources on the PBX server (CPU, DSP) you may face this issue. Tegsoft support 90 channel with SMB hardware, 400 channel for Intel CPU server, 10,000 channel for IBM Power server.
Hearing Buzzy or Deep Voice During Communication
Invalid coded during transmission will cause this issue. Please check codec capability between peers.
Utilities to diagnose voice quality issues
Check channel transmission issues
Please connect Tegsoft server via SSH and then run the following command.
asterisk -rx "pjsip show channelstats"
Sample output and descriptions
...........Receive......... .........Transmit..........
BridgeId ChannelId ........ UpTime.. Codec. Count Lost Pct Jitter Count Lost Pct Jitter RTT....
===========================================================================================================
03ab92cf-2111-4fbb 00:01:03 ulaw 3136 2 0 0.000 3119 4 0 0.003 0.065
03ab92cf-2111-4fbb 00:00:43 ulaw 2173 2 0 0.000 2150 0 0 0.003 0.058
03ab92cf-2111-4fbb 00:00:43 ulaw 2124 0 0 0.000 2120 1 0 0.003 0.072
08243a8c 03ab92cf-2111-4fbb 00:02:26 ulaw 7291 0 0 0.000 7255 3 0 0.002 0.059
08243a8c 03ab92cf-2111-4fbb 00:01:03 ulaw 3134 0 0 0.000 2623 0 0 0.002 0.057
1f469ddc 03ab92cf-2111-4fbb 00:01:20 ulaw 4018 0 0 0.000 3987 4 0 0.001 0.066
1f469ddc 1016-000774bc 00:00:41 ulaw 1826 0 0 0.000 1843 6 0 0.001 0.072
248de496 03ab92cf-2111-4fbb 00:01:02 ulaw 3015 0 0 0.000 2998 1 0 0.002 0.068
248de496 1003-000774b5 00:01:02 ulaw 2998 0 0 0.000 3027 60 1 0.003 0.068
352ee6e9 03ab92cf-2111-4fbb 00:00:24 ulaw 1197 0 0 0.000 952 0 0 0.002 0.054
352ee6e9 1034-000774bf 00:00:25 ulaw 952 0 0 0.000 1200 0 0 0.004 0.073
5f9f6e5b 03ab92cf-2111-4fbb 00:00:43 ulaw 2101 0 0 0.000 2086 1 0 0.003 0.066
5f9f6e5b 1031-000774b9 00:00:43 ulaw 2086 0 0 0.000 2108 1 0 0.002 0.060
a5d3585f 03ab92cf-2111-4fbb 00:05:41 ulaw 17040 0 0 0.000 16719 8 0 0.002 0.059
a5d3585f 1034-00077491 00:04:07 ulaw 11947 7 0 0.000 4709 17 0 0.004 0.075
Objects found: 15
BridgeId: This column represents the bridge ID of the channels. Channels with the same id are speaking with each other. Those transmit and receive packages are transferred between bridged channels.
ChannelId: is the identification string of the active speaking channel.
UpTime: This represents the duration of the channel considering the time difference between the initialization of the channel and this moment.
Codec: This is the negotiated active codec of the channel. This value is good for troubleshooting codec issues.
Receive: Is the separator column for displaying package details that are received from this channel
Transmit: This is the separator column for displaying package details that are transmitted to this channel
Count: This represents the number of packages from/to server to/from remote peer
Lost: This represents the number of packages that are lost during transmission from/to server to/from remote peer. Low numbers are good for better voice quality.
Pct: This represents the percentage of the lost packages over all packages. Low numbers are good for better voice quality. If this value is 100, you may need to check the one-way voice issues topic.
Jitter: During RTP transmission buffers are responsible for recovering loss. When loss is high the buffers grow to recover better until the max buffer size. As buffers grow we start to lose quality and voice issues occur. Low numbers are good for better voice quality.
Initial Latency and WebRTC voice quality issues
You can check and troubleshoot WebRTC issues with the help of WebRTC diagnostic applications built into the browsers.
For Google Chrome, please navigate to the URL below,
chrome://webrtc-internals/
Here are the helpful links for understanding the output,
https://groups.google.com/g/discuss-webrtc/c/iEOIJAtyBrc
https://www.webrtc-developers.com/debugging-webrtc-in-the-browsers/
Check channel base signaling and port mappings
You can use sngrep tool to check all SIP packages and by pressing F3 you can activate RPT display. SNGREP article can be accessed for better understanding.