Quality of Service and MoS Scores
Voice over IP (VoIP) has transformed how we communicate, enabling calls to travel over the internet instead of traditional phone lines. While this brings flexibility and cost savings, it also introduces a new challenge: network quality directly affects call quality. Unlike regular data (like emails or file downloads), voice communication is real-time. If a packet arrives late, out of order, or not at all, the impact is immediately noticeable. This is where Quality of Service (QoS) comes into play. QoS is a set of techniques and measurements used to ensure that voice traffic gets the priority and consistency it needs to sound clear and natural.
The Building Blocks of VoIP Quality
To understand QoS, it helps to look at the key metrics that define call quality.
Latency (RTT)
Latency, often measured as Round Trip Time (RTT), represents delay.
- Under 150 msec: feels natural
- Between 150–300 msec: noticeable delay
- Above 300 msec: conversation becomes difficult
Jitter
Jitter measures how consistent packet delivery is.
- Low jitter (< 20 msec): smooth audio
- High jitter (> 50 msec): broken or distorted speech
Packet Loss
Packet loss occurs when data simply never arrives.
- Less than 1%: usually unnoticeable
- Between 1–3%: minor glitches
- Above 3%: clear degradation
What Is MOS (Mean Opinion Score)?
MOS stands for Mean Opinion Score, and it provides a single number (1–5) representing call quality.
| MOS | Quality | Meaning |
|---|---|---|
| 5 | Excellent | Crystal clear |
| 4 | Good | Minor issues |
| 3 | Fair | Noticeable problems |
| 2 | Poor | Hard to understand |
| 1 | Bad | Unusable |
MOS is typically calculated from latency, jitter, and packet loss.
QoS Metrics Reference
Below is a reference table of common QoS metrics you may encounter in VoIP systems:
| Metric | Description | Unit | Details |
|---|---|---|---|
| avgrtt | Average Round Trip Time | msec | Time for a packet to travel to the remote endpoint and back. < 150 msec is ideal, > 300 msec can impact conversation |
| avgrxjitter | Average Receive Jitter | msec | Variation in arrival timing of received packets. < 20 msec is good, >50 msec may cause audio issues |
| avgrxlost | Average Receive Packet Loss | % | Percentage of incoming packets lost. < 1% is good, >3% degrades audio |
| avgrxmes | Average Receive MOS Estimate | mos | Estimated perceived audio quality. MOS: 5 excellent, 4 good, 3 fair, < 3 poor |
| avgtxjitter | Average Transmit Jitter | msec | Variation in timing of transmitted packets. Same thresholds as receive jitter |
| avgtxlost | Average Transmit Packet Loss | % | Percentage of outgoing packets lost. Same thresholds as receive packet loss |
| avgtxmes | Average Transmit MOS Estimate | mos | Estimated transmitted audio quality. Same MOS scale applies |
| lp | Local Packet Loss Indicator | Boolean | Indicates if packet loss was detected locally (true = loss detected) |
| rlp | Remote Packet Loss Indicator | Boolean | Indicates if packet loss was reported by remote side |
| rtt | Current Round Trip Time | msec | Latest latency measurement. High values introduce delay |
| maxrtt | Maximum Round Trip Time | msec | Highest observed latency. Spikes indicate instability |
| minrtt | Minimum Round Trip Time | msec | Lowest observed latency. Represents best condition |
| stdevrtt | RTT Variability | msec | Variation in latency. High values indicate unstable network |
| rxjitter | Current Receive Jitter | msec | Current variation in packet arrival timing |
| maxrxjitter | Maximum Receive Jitter | msec | Highest jitter observed. Can correlate with audio glitches |
| minrxjitter | Minimum Receive Jitter | msec | Lowest jitter observed. Indicates stable timing |
| stdevrxjitter | Receive Jitter Variability | msec | Variation in jitter over time |
| txjitter | Current Transmit Jitter | msec | Current variation in outgoing packet timing |
| maxtxjitter | Maximum Transmit Jitter | msec | Highest transmit jitter. May indicate congestion |
| mintxjitter | Minimum Transmit Jitter | msec | Lowest transmit jitter observed |
| stdevtxjitter | Transmit Jitter Variability | msec | Variation in transmit jitter |
| rxlost | Current Receive Packet Loss | % | Current packet loss. Even small spikes affect clarity |
| maxrxlost | Maximum Receive Packet Loss | % | Highest observed loss. High peaks cause dropouts |
| minrxlost | Minimum Receive Packet Loss | % | Lowest observed loss. Ideally near 0% |
| stdevrxlost | Receive Packet Loss Variability | % | Variation in packet loss. High values indicate instability |
| txlost | Current Transmit Packet Loss | % | Current outgoing packet loss affecting remote audio |
| maxtxlost | Maximum Transmit Packet Loss | % | Highest transmit loss observed |
| mintxlost | Minimum Transmit Packet Loss | % | Lowest transmit loss observed |
| stdevtxlost | Transmit Packet Loss Variability | % | Variation in transmit loss |
| rxmes | Current Receive MOS Estimate | mos | Current estimated audio quality (1–5 scale) |
| maxrxmes | Maximum Receive MOS Estimate | mos | Best observed receive quality |
| minrxmes | Minimum Receive MOS Estimate | mos | Worst observed receive quality |
| stdevrxmes | Receive MOS Variability | mos | Variation in audio quality over time |
| txmes | Current Transmit MOS Estimate | mos | Current transmitted audio quality |
| maxtxmes | Maximum Transmit MOS Estimate | mos | Best transmit quality observed |
| mintxmes | Minimum Transmit MOS Estimate | mos | Worst transmit quality observed |
| stdevtxmes | Transmit MOS Variability | mos | Variation in transmit quality |
| rx_mos | Receive MOS | mos | Overall receive quality. Above 4 - excellent, below 3 - poor |
| tx_mos | Transmit MOS | mos | Overall transmit quality. Same MOS interpretation |
| rxcount | Received Packets Count | packets | Total packets received. Indicates session size/activity |
| txcount | Transmitted Packets Count | packets | Total packets sent |
| ssrc | Local Stream Identifier | Unique RTP stream identifier for local side | |
| themssrc | Remote Stream Identifier | Unique RTP stream identifier for remote side |
How QoS Impacts MOS
MOS is directly influenced by QoS metrics:
- High latency → delays
- High jitter → choppy audio
- Packet loss → missing audio
QoS metrics are the cause, MOS is the result.
Why QoS Is Critical for Modern Voice Applications
In modern systems such as:
- AI voice agents
- Real-time transcription
- Automated call systems
QoS affects not only human perception but also machine understanding.
Poor QoS can:
- Break speech recognition
- Reduce AI accuracy
- Interrupt conversational flow
Monitoring QoS in Practice
VoIP systems expose metrics like:
rtt,avgrttrxjitter,txjitterrxlost,txlostrx_mos,tx_mos
Understanding whether an issue is on the receive (rx) or transmit (tx) side helps isolate problems quickly.
Final Thoughts
Quality of Service is the foundation of VoIP reliability.
At the end of the day, all these metrics answer one question:
“Does the call sound good?”
MOS gives you a quick answer. QoS metrics tell you why.