Hi fellow Asterisk users,
I use Asterisk 18.23.1. When I try to fetch call stats I get something like this:
sip show channelstats
Peer Call ID Duration Recv: Pack Lost ( %) Jitter Send: Pack Lost ( %) Jitter
192.168.222.1 OA26B27F844 01065 00000 ( 0.00%) 0.000 00000 00000 ( 0.00%) 0.0084
First question is how do I get a jitter of 0.0084 when I am not even sending packets to the peer.
Second question is how can I interpret those numbers. When running this command during an active call I understand it is the current jitter at the moment. But when the call is not active anymore what does the jitter values represent? The maximum or the averaged jitter for the previous active call?
Would be of great help. Thank you in advance.
You’d have to ask the peer, as that information will be taken from RTCP messages sent by the peer.
Jitter is computed over a period of time. In fact, it is computed using an IIR (infinite impulse response) filter, specifically an exponential average, so is computed over the whole time from when the stream started. See: RFC 3550 - RTP: A Transport Protocol for Real-Time Applications
What do you mean by asking the peer? Bare with me please, I am new to the topic.
I initiate calls using the pyVoIP library to call my asterisk server and I need to provide a jitter value for each call (of a duration of 16 seconds). The library does not provide a jitter calculation possibility, that’s why I was trying to do so using asterisk (the receiver).
Can you please guide me maybe in the right direction? Thank you in advance.
If Asterisk is reporting a sent jitter figure, your client is calculating a jitter value, as Asterisk relies on the RTCP frames it sends to know that value. Asterisk does not know the arrival times at the remote end, so can’t calculate the value, itself.
All the information on how the statistics are calculated is in the RFC I referenced.