I've heard couple of questions on how VNQM computes values for VoIP UDP Jitter operation. And I think it would be good to publish that here so everyone can understand values in VNQM:
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
-------------
PacketLoss:
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
-------------
Delay:
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