Network Management

Calculating jitter, packet loss, and latency in VNQM

This article details how VoIP and Network Quality Manager calculates jitter, packet loss, and latency.

First published date

10/12/2018 8:40 PM

Last published date

9/22/2019 3:21 PM

Overview

This article details how VoIP and Network Quality Manager calculates jitter, packet loss, and latency.

Product section

VoIP & Network Quality Manager

Cause

The below are the calculations that are conducted within VNQM for Jitter, Packet Loss and Latency:

Resolution

Jitter

jitterSD = (rttMonLatestJitterOperSumOfPositivesSD + rttMonLatestJitterOperSumOfNegativesSD ) / (rttMonLatestJitterOperNumOfPositivesSD + rttMonLatestJitterOperNumOfNegativesSD)

jitterDS = (rttMonLatestJitterOperSumOfPositivesDS + rttMonLatestJitterOperSumOfNegativesDS) / (rttMonLatestJitterOperNumOfPositivesDS + rttMonLatestJitterOperNumOfNegativesDS)

Jitter = (rttMonLatestJitterOperSumOfPositivesSD + rttMonLatestJitterOperSumOfNegativesSD + rttMonLatestJitterOperSumOfPositivesDS + rttMonLatestJitterOperSumOfNegativesDS) / (rttMonLatestJitterOperNumOfPositivesSD + rttMonLatestJitterOperNumOfNegativesSD + rttMonLatestJitterOperNumOfPositivesDS + rttMonLatestJitterOperNumOfNegativesDS
 
rttMonLatestJitterOperSumOfPositivesSD	1.3.6.1.4.1.9.9.42.1.5.2.1.9
rttMonLatestJitterOperSumOfNegativesSD	1.3.6.1.4.1.9.9.42.1.5.2.1.14
rttMonLatestJitterOperNumOfPositivesSD	1.3.6.1.4.1.9.9.42.1.5.2.1.8
rttMonLatestJitterOperNumOfNegativesSD	1.3.6.1.4.1.9.9.42.1.5.2.1.13
rttMonLatestJitterOperSumOfPositivesDS	1.3.6.1.4.1.9.9.42.1.5.2.1.19
rttMonLatestJitterOperSumOfNegativesDS	1.3.6.1.4.1.9.9.42.1.5.2.1.24
rttMonLatestJitterOperNumOfPositivesDS	1.3.6.1.4.1.9.9.42.1.5.2.1.18
rttMonLatestJitterOperNumOfNegativesDS	1.3.6.1.4.1.9.9.42.1.5.2.1.23

Packet loss

if (rttMonLatestJitterOperPacketLossSD + rttMonLatestJitterOperPacketLossDS + rttMonLatestJitterOperPacketMIA <> 0)

packetLoss =
((rttMonLatestJitterOperPacketLossSD + rttMonLatestJitterOperPacketLossDS + rttMonLatestJitterOperPacketMIA) * 100) / (rttMonLatestJitterOperPacketLossSD + rttMonLatestJitterOperPacketLossDS + rttMonLatestJitterOperPacketMIA + rttMonLatestJitterOperPacketLateArrival + rttMonLatestJitterOperPacketOutOfSequence + rttMonLatestJitterOperNumOfRTT)

else

packetLoss = 0
if (rttMonLatestJitterOperPacketLossSD + (rttMonLatestJitterOperPacketMIA/2) + ((rttMonLatestJitterOperPacketLateArrival + rttMonLatestJitterOperPacketOutOfSequence + rttMonLatestJitterOperNumOfRTT)/2) <> 0)

packetLossSD = (rttMonLatestJitterOperPacketLossSD + (rttMonLatestJitterOperPacketMIA/2) + ((rttMonLatestJitterOperPacketLateArrival + rttMonLatestJitterOperPacketOutOfSequence + rttMonLatestJitterOperNumOfRTT)/2)) * 100 / (rttMonLatestJitterOperPacketLossSD + (rttMonLatestJitterOperPacketMIA/2))
 
else

packetLossSD = 0
if (rttMonLatestJitterOperPacketLossDS + (rttMonLatestJitterOperPacketMIA/2) + ((rttMonLatestJitterOperPacketLateArrival + rttMonLatestJitterOperPacketOutOfSequence + rttMonLatestJitterOperNumOfRTT)/2) <> 0)

packetLossDS = (rttMonLatestJitterOperPacketLossDS + (rttMonLatestJitterOperPacketMIA/2) + ((rttMonLatestJitterOperPacketLateArrival + rttMonLatestJitterOperPacketOutOfSequence + rttMonLatestJitterOperNumOfRTT)/2)) * 100 / (rttMonLatestJitterOperPacketLossDS + (rttMonLatestJitterOperPacketMIA/2))

else

packetLossDS = 0
 
rttMonLatestJitterOperPacketLossSD	1.3.6.1.4.1.9.9.42.1.5.2.1.26
rttMonLatestJitterOperPacketLossDS 	1.3.6.1.4.1.9.9.42.1.5.2.1.27
rttMonLatestJitterOperPacketMIA	1.3.6.1.4.1.9.9.42.1.5.2.1.29
rttMonLatestJitterOperPacketLateArrival	1.3.6.1.4.1.9.9.42.1.5.2.1.30
rttMonLatestJitterOperPacketOutOfSequence	1.3.6.1.4.1.9.9.42.1.5.2.1.28
rttMonLatestJitterOperNumOfRTT	1.3.6.1.4.1.9.9.42.1.5.2.1.1

Latency

if (rttMonLatestJitterOperNumOfRTT <> 0)

delay = (convert rttMonLatestJitterOperRTTSum to milli/microseconds depending on rttMonEchoAdminPrecision) / rttMonLatestJitterOperNumOfRTT

else

delay = 0
if (micro/milli second convert value of rttMonLatestJitterOperOWSumSD and rttMonLatestJitterOperNumOfOW has value and rttMonLatestJitterOperNumOfOW <> 0)

delaySD = micro/milli second convert value of rttMonLatestJitterOperOWSumSD / rttMonLatestJitterOperNumOfOW

else

if (micro/milli second convert value of rttMonLatestJitterOperOWSumDS and rttMonLatestJitterOperNumOfOW has value and rttMonLatestJitterOperNumOfOW <> 0)

delayDS = micro/milli second convert value of rttMonLatestJitterOperOWSumDS / rttMonLatestJitterOperNumOfOW

else

delaySD & delayDS = null
 
rttMonLatestJitterOperNumOfRTT	1.3.6.1.4.1.9.9.42.1.5.2.1.1
rttMonLatestJitterOperRTTSum 	1.3.6.1.4.1.9.9.42.1.5.2.1.2
rttMonEchoAdminPrecision	1.3.6.1.4.1.9.9.42.1.2.2.1.37
rttMonLatestJitterOperOWSumSD 	1.3.6.1.4.1.9.9.42.1.5.2.1.33
rttMonLatestJitterOperNumOfOW 	1.3.6.1.4.1.9.9.42.1.5.2.1.41
rttMonLatestJitterOperOWSumDS	 1.3.6.1.4.1.9.9.42.1.5.2.1.37