Hi Giovani, nice to see that you remain very productive.
Few notes on the mos-lq (listening quality), it consider both losses from
jitter (discarded) and never received.
I tried to keep the equation and variables as defined in the ITU, but it is
relatively simple in the end.
One thing missing is the delay impairment to have mos-cq this would be RTT
+ jitter buffer size of both endpoints.
This way we will correctly account for jitter impairment in terms of loss
and delay.
More context on jitter, as I recently went back looking at some MOS score
computation.
Since we compute MOS in the endpoint it can be more precise when it comes
to jitter.
In most cases, when done in a relay, I found that jitter is hard (or not
accounted) for properly, since we extrapolate adaptive / static buffers
that will receive the packets.
What I found in most cases was jitter x 2 like in rtp-engine seems like the
best option but should endup underestimating the impairment as this would
mean an adaptive buffer and assume not too much jitter of jitter meaning
the size of the buffer based on estimate is always fine with the given
jitter and not dropping late packets and it must drop packets when it
shrinks.
Let's remember to keep each other posted if we improve this further.
Have fun,
Julien
On Wed, Apr 21, 2021 at 2:48 AM Giovanni Maruzzelli <gmaruzz(a)gmail.com>
wrote:
Hello fellow VoIPers and RTCers,
on GitHub there is an early release of sipnagios, opensource.
check it out:
https://github.com/gmaruzz/sipnagios
sipnagios is a Nagios Plugin to check Call Quality in SIP VoIP (compatible
with checkmk, etc)
sipnagios implements the Nagios plugin API for monitoring and performance
data.sipnagios.c is a modification of the original siprtp.c sample in
pjproject distribution. Supposedly, it works on Linux, Windows, and
anywhere you can compile pjproject on.It makes a call, checks all the
various resulting values (mos, rtt, pdd, tta, jitter, packet loss, bytes
and packets transferred, and so on). It verifies these values are included
into acceptable, warning, or critical ranges.If the call has gone well,
sipnagios print performance data for Nagios graphs, and returns 0.If the
call fails, or if its measured values are not inside acceptable ranges, it
exits with Nagios conventional WARNING or CRITICAL values.
mos calculation is scraped from Julien Chavanton work (VoIP Patrol, on
GitHub too) I can't even understand :) (merci Julien!)
Enjoy!
-giovanni
--
Sincerely,
Giovanni Maruzzelli
OpenTelecom.IT
cell: +39 347 266 56 18
_______________________________________________
Kamailio (SER) - Users Mailing List
sr-users(a)lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users