Ok, so here is a rundown on VoIP. VoIP uses UDP for its audio stream, meaning that there is no checking to see that packets are in the correct order or even there at all, so whatever happens to arrive in whatever order is what you hear.
Common issues with voip call quality:
Latency - high latency will often cause a delay in audio. Jumps in latency, otherwise known as jitter, will cause choppiness and issues where latter parts of the audio stream may arrive before the former parts.
Packet loss - mild packet loss (~5% and under) will just cause some small distortions in the audio. If it consistent, and not just caused from a few random utilization spikes, it will appear as choppy audio. When it gets bad, if the packet loss is in spurts, it will cause large periods of no audio or if it is just a few packets at a time consistently, it will have constant small breaks in the audio stream which will sound sorta like the other side is underwater.
When testing for latency or packet loss there are two important destinations to test to. First test to your ISP's primary DNS server, that will test your last mile for problems. Second, test to your VoIP provider's Session Border Controllers (SBCs).
ALG, SPI, Intrusion Detection - These are firewall settings that will cause random one-way or no-way audio issues as they will step in when they see something they deem as "not safe" or "malshaped" and either block or adjust the packet. This is devastating to voip. You may also see random dropped calls, either because certain signaling is not making it out and after a while when the voice servers do not receive an ACK, they drop the call, or the call will drop at 10, 20, 30 etc minutes due to ALG settings.
When checking for these settings, you will need to check your own router, your ISP's device (unless it is bridged) and your ISP's network.
NAT Traversal - Port triggering or incorrect port forwarding can cause signaling problems that will prevent a phone from registering correctly, pulling a remote config or re-registering at times. This can lead to the phone either losing connectivity after being restarted or just losing connectivity at random times throughout the day.
These will be settings in your own router and possibly your ISP's device if it is not bridged.
Now for the important part.
It does not matter how you build QoS on your network. This said, you can prioritize the packets all you want on your network and will affect only your network. In most voip setups you are then sending out all those packets along with your data on the exact same route with no prioritization for the last mile. Once you reach your ISP and all the packets are routed to wherever they are going, the voice packets are going over other networks until they hit your voice provider's SBC or reach the other end, again with no prioritization. Basically, unless your ISP and your voice provider are one in the same and they incorporate QoS for voice prioritization, you are at the mercy of their networks for how your voice is handled once it leaves your router. You can check all the issues I listed above to your heart's content, but it will not solve all your quality issues, just the most common ones.