App new release: v1.7 — VoIP Quality

Jean-François Lévesque
Jean-François Lévesque Mar. 1, 2019

Obkio new release

Last week we released version 1.7 of the App. The new release is available on the App Store, Google Play and Web App (currently in Beta, available on request).

VoIP Quality

For the last few months, users have been able to see the VoIP Mean Opinion Score (MOS) in the Obkio App. The MOS has been a commonly-used metric to measure the overall voice call quality for decades. The MOS score is a rating from 1 to 5 of the perceived quality of a voice call, 1 being the lowest score and 5 the highest for excellent quality. It has been standardized by the International Telecommunications Union ITU-T.

Based on the MOS, the ITU-T also standardized Call Quality metrics in the documents ITU-T G.107 and ITU-T G.109 standards.

Call Quality

Over the last months, we realized that most of our customers are not very familiar with the MOS score and its interpretation. This is why we redesigned the MOS graph to create the VoIP Quality graph. Now our VoIP Quality graph categorizes, for every minute, the Call Quality as Best, High, Medium, Low or Poor. The exact MOS score is always available in the graph tooltip.

VoIP Quality Screenshot from the iOS Mobile App. The tooltip indicates the MOS from the Network Performance Metrics between 13h34 and 13h35.

This feature is a great measure of the Quality of Experience (QoE) for users using VoIP applications over their network. With Obkio, IT Pros can evaluate the impact of Network Performance on VoIP Applications.

For geeks that want to understand how we calculate the MOS from the Network Performance metrics, the standard ITU-T G.107 defines the algorithm we use to calculate the G.711 MOS score based on the Network Performance metrics (latency, jitter and packet loss). The exact algorithm is available below in pseudo-code.

# VoIP Codec Processing Delay in milliseconds (ms)

codec_delay = 10.0

# Effective Latency is the Average Latency plus the doubled
# Average Jitter plus the VoIP Codec Delays

effective_latency = average_latency + 2* average_jitter + codec_delay

# Calculate the R-Value (Transmission Rating Factor R) based on
# Effective Latency. The voice quality drops more significantly
# over 160ms so the R-Value is penalized more.

if effective_latency < 160:
    r = 93.2 - (effective_latency / 40)

else:
    r = 93.2 - ((effective_latency - 120)/ 10)


# Reduce R-Value 2.5 times the Packet Loss percentage

r = r - 2.5 * packet_loss

# Based on ITU-T G.107

if r < 0:
    mos = 1.0

else:
    mos = 1 + 0.035*r + 0.000007*r*(r-60)*(100-r)