Guide

Voice quality in VoIP: MOS, MOS-LQO and ViSQOL in practice

A call can connect, have audio in both directions and still sound choppy. The MOS score is the standard way to say how much, but there is more than one MOS, and they don't measure the same thing. This guide explains the scale, the ITU-T acronyms, what jitter, loss and delay do to voice, and what to do when the score drops.

Summary

  • The ITU-T P.800 MOS scale runs from 5 (excellent) to 1 (bad) and was born from tests with human listeners.
  • Under ITU-T P.800.1, MOS-LQO is listening quality calculated by an objective model; the output of the G.107 E-model is MOS-CQE, an estimate.
  • A measured MOS compares the received audio with a reference recording, as ViSQOL and P.863 (POLQA) do; P.862 (PESQ) was withdrawn on January 5, 2024.
  • In the E-model, the default values give R ≈ 93.2; R 80 corresponds to MOS 4.03, R 60 to 3.10, and the maximum MOS-CQE is 4.5.
  • G.114 recommends at most 400 ms of one-way delay for planning; below 150 ms, delay is essentially transparent.
  • In Monitor, a circuit is healthy with MOS-LQO from 3.8 up and degraded below 3.0, thresholds 2N5 adjusts per circuit.

What is MOS in VoIP?

MOS in VoIP is the Mean Opinion Score of a call’s quality, on a scale from 1 to 5. The score was born from tests in which listeners rated audio samples, using the methods of ITU-T P.800. Today almost every MOS score is calculated by a model that tries to predict what those listeners would say.

Searching for “MOS score” gets you the same thing: the S already stands for score, and the phrase is simply how the acronym gets used in practice. What changes from one tool to another is what goes into the calculation. A PBX can show 4.2 for a call that a listening model rates at 3.1, and both numbers can be right, because they measure different things: one estimates quality from the network, the other listens to the audio that arrived. Before comparing two scores, you need to know what kind each one is.

What does the ITU-T P.800 MOS scale look like?

The ITU-T P.800 MOS scale has five categories, from 5 (excellent) to 1 (bad). In the absolute category rating method, each listener hears a sample and picks a category; the average of all the listeners’ scores is the MOS for that sample. It is an average of opinions, not a physical measurement of the signal.

Score Category Label in P.800
5 Excellent Excellent
4 Good Good
3 Fair Fair
2 Poor Poor
1 Bad Bad

Two practical consequences. First, because it is an average, the score rarely reaches the extremes: it only takes some listeners not giving a 5 for the average to fall below that, even with flawless audio. Second, each model that predicts MOS has its own useful range. The E-model’s estimated MOS, for example, tops out at 4.5. That is why a “4.3” from one tool and a “4.3” from another are not automatically the same quality.

What do MOS-LQO, MOS-CQE and the other acronyms mean?

MOS-LQO, MOS-CQE and the rest come from ITU-T P.800.1, which names each type of MOS by two questions: what was assessed, listening or conversation, and how the score was obtained, with listeners, with a model working on the signal or with a model working on network parameters. Each combination has its own acronym.

Subjective: listeners Objective: model on the audio Estimated: model on parameters
Listening quality (LQ) MOS-LQS MOS-LQO MOS-LQE
Conversational quality (CQ) MOS-CQS MOS-CQO MOS-CQE

The difference between listening and conversation matters more than it seems. Listening quality assesses audio in one direction: whether the voice arrived clearly. It doesn’t see delay, because a listener who only listens can’t tell whether the reply was slow. Conversational quality includes what gets in the way of a real conversation, such as delay and echo. A high MOS-LQO with 500 ms of delay is possible: the voice sounds clean and the conversation is poor.

The output of the ITU-T G.107 E-model is a MOS-CQE: an estimate of conversational quality, made from parameters. A measurement such as ViSQOL’s or P.863’s is a MOS-LQO: listening quality, calculated on the audio. Calling both of them just “MOS” is the source of most arguments about voice scores.

What is the difference between measured MOS and estimated MOS?

The difference between measured MOS and estimated MOS is what goes into the calculation. Measured MOS, a MOS-LQO, comes from the audio the call received, compared with the expected recording. Estimated MOS, a MOS-CQE, comes from network figures, such as packet loss, jitter and delay, fed into a model that never hears the call.

Measured MOS: the audio against the reference

Reference-based models take two signals, the reference and the degraded one, and calculate how far the second has drifted from the first in a way a listener would notice. The most cited:

  • P.863 (POLQA): the ITU-T recommendation for objective listening quality, which returns a MOS-LQO.
  • P.862 (PESQ): the previous recommendation, withdrawn by the ITU-T on January 5, 2024 and replaced by P.863. It still shows up in older equipment and reports. See POLQA and PESQ.
  • ViSQOL: an open perceptual quality model published by Google. In speech mode, it works on 16 kHz audio and returns a MOS-LQO from 1 to 5.

Because they listen to the audio, these models see what the network doesn’t report: voice clipped at the source, noise, botched codec transcoding, the real effect of packet loss after the phone tried to conceal it, and even a wrong message in place of the greeting, because the comparison with the reference fails.

Estimated MOS: the E-model and the R-factor

The ITU-T G.107 E-model is a transmission planning tool. It adds up a route’s impairments into an index, the R-factor:

R = Ro − Is − Id − Ie,eff + A

Ro is the basic signal-to-noise ratio, Is the impairments simultaneous with the voice signal, Id the impairments caused by delay and echo, Ie,eff the equipment impairment, which includes the codec and packet loss, and A the advantage factor, the user’s tolerance in exchange for mobility, for example. With all of G.107’s default values, R ≈ 93.2.

G.107 converts R into MOS-CQE with a formula valid for R between 0 and 100: MOS = 1 + 0.035 × R + R × (R − 60) × (100 − R) × 7 × 10⁻⁶. For R of 100 and above, MOS-CQE is 4.5, the maximum. For the default R: 1 + 0.035 × 93.2 + 93.2 × 33.2 × 6.8 × 7 × 10⁻⁶ = 1 + 3.262 + 0.147 ≈ 4.41.

R-factor MOS-CQE
100 or more 4.50
93.2 (default values) 4.41
90 4.34
80 4.03
70 3.60
60 3.10
50 2.58

Note that the E-model’s top score for a perfect route sits at 4.41 with the default values. Equipment that shows a MOS of 4.4 for every call on a lossless network is showing the model’s ceiling, not a measured quality.

When to use each

Measured MOS-LQO Estimated MOS-CQE
Input The received audio and the reference recording The route’s loss, jitter, delay and codec
Needs a reference Yes No
Sees delay No: it is listening quality Yes, through the Id term
Sees audio clipped at the source or a wrong message Yes No
Good for Knowing whether the voice reached the caller clearly Planning a route and tracking the network

Both have their place. A network estimate is cheap and works for looking at every call on the system. A call that is actually listened to tells you whether the voice got through.

What MOS score is good in VoIP?

A good MOS score in VoIP, on a measured MOS-LQO, is around 4: the voice sounds clear and nobody has to strain to understand. Below 3, people start to complain. These figures apply to measured listening quality; an estimated MOS-CQE uses a different calculation and shouldn’t be compared with them directly.

The table describes, roughly, what you hear in each MOS-LQO band, and how Monitor reads each band with the default thresholds:

MOS-LQO What you hear How Monitor reads it
4.0 or more Clear voice, effortless; differences only show side by side with the reference Healthy
3.8 to 4.0 Clear, with some loss of crispness noticeable if you pay attention Healthy
3.0 to 3.8 Intelligible, with short dropouts, hiss or a metallic voice; the conversation takes attention In service, with the score flagged as below ideal
2.0 to 3.0 Lost words and requests to repeat; this is the complaint zone Degraded
Below 2.0 Conversation is hard or impossible Degraded

The right threshold depends on the use. An IVR that only plays a greeting tolerates less degradation than it seems, because the customer can’t ask it to repeat itself; an internal trunk between branches can live with a slightly lower score. That is why Monitor’s thresholds are set per circuit.

How much jitter is acceptable?

Acceptable jitter is whatever the phone’s or the PBX’s jitter buffer can absorb without discarding packets and without adding too much delay. The recommendations cited here don’t set a single number: the same jitter that a large buffer absorbs without loss turns into choppiness in a small buffer, and the large buffer charges its price in delay.

Jitter is the variation in delay from one packet to the next. Voice packets leave at regular intervals, for example one every 20 ms, and arrive at irregular ones. The jitter buffer holds packets for a few milliseconds and plays them out at the right pace. A packet that arrives after the buffer’s deadline is discarded, and to the listener that is the same as a lost packet.

RFC 3550 defines how RTP calculates interarrival jitter: with each packet, the estimate moves 1/16 of the difference between the measured variation and the previous estimate, J = J + (|D| − J) ÷ 16. This is the value RTCP reports carry and many devices display. It is a smoothed average: short jitter spikes, which are the ones that overflow the buffer, barely show up in it.

The math that matters is total delay. An example, with illustrative values: 40 ms of network, 20 ms of packetization and a 60 ms jitter buffer add up to 40 + 20 + 60 = 120 ms one way. Doubling the buffer to absorb more jitter takes the total to 180 ms, above G.114’s essentially transparent range. A measured MOS-LQO shows the result of that trade-off in the audio; the jitter figure alone doesn’t.

In Monitor, the jitter of each site’s internet link is measured by the data circuit agent, along with latency, packet loss, DNS time and speed.

How much packet loss can voice take?

The packet loss voice can take depends on the codec, on the phone’s ability to conceal the missing packet and on how the loss happens. Scattered loss, a packet here and a packet there, is concealed better than burst loss, when several packets in a row vanish and a whole syllable disappears.

The G.107 E-model captures this in the Ie,eff term, the equipment impairment with loss: Ie,eff = Ie + (95 − Ie) × Ppl ÷ (Ppl ÷ BurstR + Bpl). Ie is the codec’s impairment without loss, Ppl the percentage of packets lost, Bpl the codec’s robustness to loss and BurstR how concentrated the loss is in bursts. The higher BurstR, the greater the impairment for the same percentage of packet loss. The formula makes it clear that the same loss weighs differently on different codecs, which is why a single “acceptable loss” rule is misleading.

A reference-based measurement sidesteps the argument: it listens to the result after concealment, the buffer and the codec, and scores what arrived. The choice of voice codec also counts: each codec transcoding along the path degrades the audio a little, and a low-bitrate codec starts with a lower score before any loss.

How much delay is acceptable on a VoIP call?

Acceptable delay on a VoIP call, under ITU-T G.114, is up to 400 ms one way for network planning purposes. Below 150 ms, delay is essentially transparent for most applications. Between the two values, the conversation works, but people start talking over each other and waiting for replies.

Delay doesn’t spoil the sound, it spoils the conversation. The voice arrives clean and late. That is why a MOS-LQO, which is listening quality, doesn’t see delay, and the E-model, which estimates conversational quality, does, through the Id term. Delay also makes echo more annoying: an echo that arrives quickly blends with your own voice, and one that arrives late is heard as a second voice.

The components of one-way delay, so you can do the math for your route:

  • packetization: the amount of audio in each packet, for example 20 ms;
  • codec processing on both sides;
  • network: transit time, which the data circuit agent measures as latency on the site’s link;
  • jitter buffer: the time the receiver holds packets;
  • transcoding along the path: each SBC or PBX that decodes and re-encodes adds its own time.

Why does the reference recording matter?

The reference recording matters because a reference-based model compares two signals: what should have been heard and what was heard. Without the reference, there is nothing to compare against, and the score becomes an estimate. With it, the same comparison that measures quality also shows when the wrong message answered.

The reference has to be what should actually play: the IVR greeting, recorded clean, or a known test tone. If the IVR changes its greeting on purpose, the reference has to change too, or every call starts to look wrong. In Monitor, 2N5 records each number’s reference during setup. The audio kept is that of the recording or the IVR, never a person’s voice, and it is deleted after 90 days.

How do I measure the voice quality of a SIP trunk, 0800 or IVR?

You measure the voice quality of a SIP trunk, an 0800 (toll-free) number or an IVR by calling the number and listening to the audio that arrives, compared with the reference. A real call sees the whole path, carrier, trunk, PBX and IVR, which no single piece of equipment sees.

That is what Monitor does on every test call for each voice circuit, the monitored SIP trunk, 0800 or support number. 2N5 records the audio the call received and compares it with the expected recording using ViSQOL in speech mode, which returns a MOS-LQO. Quality is measured on the audio; Monitor does not estimate the score from the network.

With the default thresholds, a circuit is healthy with MOS-LQO from 3.8 up and degraded below 3.0; 2N5 sets the thresholds with you, per circuit, during setup. A score below the threshold marks the test call as degraded, and it goes through the same retries as any failure. If it persists, a quality incident opens, the escalation ladder is alerted, and the customer’s contacts also hear about the problem and its resolution.

Each call’s score appears on the circuit’s page, with the threshold lines, on the dashboard next to the circuit’s status and in the SLA reports. See the details in measured voice quality.

What should I do when the MOS score drops?

When the MOS score drops, the first step is to confirm that the drop repeats and to see its reach: a single circuit, several at the same site or several on the same carrier. The reach tells you where to look, and the evidence from each call is what gets the problem to whoever can fix it.

What you see Likely cause What to check
Low score on every circuit at the same site The site’s internet link: loss, jitter or congestion Latency, loss and jitter on the data circuit at the same time
Low score only on one carrier’s circuits The carrier’s route or codec The negotiated codec and the evidence from each call
Low score at peak hours Saturated outbound link, with no priority for voice Link usage and voice traffic prioritization
Constantly low score, with no network loss Low-bitrate codec, codec transcoding, level or noise at the source The codecs along the path and the IVR recording itself
Suddenly very low score, with the call connecting A message different from the reference, or one-way audio The call’s audio and the silent calls guide

In practice, the sequence:

  1. Confirm. A single low score is not a trend. In Monitor, a degraded call is retried before any incident.
  2. Check the reach. Compare the circuits at the same site and those on the same carrier at the same time.
  3. Look at the link. If the site has a monitored data circuit, the charts for the last 100 hours show latency, loss and jitter at the moment of the drop.
  4. Check codecs and transcoding. Every decode and re-encode along the path costs score. See whether the call goes through transcoding that could be avoided.
  5. Check voice priority. On a shared link, voice needs priority over the rest of the traffic, especially in the upload direction, which is usually the narrowest.
  6. Take it to the carrier with evidence. The time of each call, the number called, each call’s score and the last healthy call.

What should I ask for in a voice quality contract?

In a voice quality contract, ask for the score to be defined by its full name: which MOS, in P.800.1 terminology, which model and version, against which reference, measured where and how often. Without that, “a minimum MOS of 4” applies just as well to a network estimate as to a listening measurement, and they give different numbers.

The items that make the target verifiable:

  1. The type of MOS: measured MOS-LQO or estimated MOS-CQE.
  2. The model: P.863, ViSQOL or another, and the version; P.862 has been withdrawn and shouldn’t be the basis of a new contract.
  3. The reference: which recording or tone is compared.
  4. The measurement point: a call from outside, like a customer’s, or equipment inside the network.
  5. The violation rule: how many below-threshold scores in a row count as degradation, and whether degradation enters the SLA calculation as partial unavailability or as a separate target. The telephony SLA guide shows how each choice changes the math.

Frequently asked questions

What is a good MOS in VoIP?

It depends on which MOS. On a measured MOS-LQO, voice sounds clear at around 4, and below 3 people start to complain. In Monitor, the default is healthy from 3.8 up and degraded below 3.0. On an E-model estimated MOS, the maximum is 4.5, and the values are not comparable with a measured score.

What is MOS-LQO?

It is the listening quality score, from 1 to 5, calculated by an objective model from the received audio. The acronym comes from ITU-T P.800.1: MOS, mean opinion score; LQ, listening quality; O, objective. Models such as ViSQOL and P.863 (POLQA) compare the received audio with a reference and return a MOS-LQO.

How much jitter is acceptable on a VoIP call?

Whatever the jitter buffer can absorb without discarding packets and without pushing total delay past the budget. The recommendations cited here do not set a single jitter figure. G.114 gives the ceiling for one-way delay, 400 ms for planning, and the buffer's delay counts toward it.

ViSQOL or POLQA: which should I use?

Both are reference-based models that return a listening quality score. P.863 (POLQA) is the ITU-T recommendation that replaced P.862 (PESQ). ViSQOL is an open model published by Google, with a speech mode that works on 16 kHz audio. What matters is stating which model was used when comparing scores.

Why is my PBX's MOS different from the measured MOS?

Because the PBX usually estimates the score from network figures, such as packet loss, jitter and delay, using the G.107 E-model. That estimate doesn't listen to the audio. It can't see audio clipped at the source, poor codec transcoding or a wrong message, all of which a reference-based measurement sees.

See it on your own circuits

2N5 prepares the demo with the numbers you choose. Three questions, about a minute.