Voice Quality Issues and Solutions
  • 24 Oct 2024
  • 9 Minutes to read
  • Dark
    Light

Voice Quality Issues and Solutions

  • Dark
    Light

Article summary

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.

Screen Shot 2021-04-28 at 13.49.18.png

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.


Was this article helpful?

Changing your password will log you out immediately. Use the new password to log back in.
First name must have atleast 2 characters. Numbers and special characters are not allowed.
Last name must have atleast 1 characters. Numbers and special characters are not allowed.
Enter a valid email
Enter a valid password
Your profile has been successfully updated.