mgcp: Count the incoming data instead of the modified one
For jitter, transit and packet loss we should count the data that arrived and not the data we send towards the remote. This is changing the jitter timings to what they were before the re-factoring. For forced timing we might willingly add jumps in the sequence number but for jitter and packet loss we are more interested in the data that traveled through the wire/air.
This commit is contained in:
parent
05d481a42c
commit
7b76f82b6e
|
@ -415,6 +415,8 @@ void mgcp_patch_and_count(struct mgcp_endpoint *endp, struct mgcp_rtp_state *sta
|
||||||
ssrc = ntohl(rtp_hdr->ssrc);
|
ssrc = ntohl(rtp_hdr->ssrc);
|
||||||
transit = arrival_time - timestamp;
|
transit = arrival_time - timestamp;
|
||||||
|
|
||||||
|
mgcp_rtp_annex_count(endp, state, seq, transit, ssrc);
|
||||||
|
|
||||||
if (!state->initialized) {
|
if (!state->initialized) {
|
||||||
state->initialized = 1;
|
state->initialized = 1;
|
||||||
state->in_stream.last_seq = seq - 1;
|
state->in_stream.last_seq = seq - 1;
|
||||||
|
@ -520,8 +522,6 @@ void mgcp_patch_and_count(struct mgcp_endpoint *endp, struct mgcp_rtp_state *sta
|
||||||
addr, seq, timestamp, "output",
|
addr, seq, timestamp, "output",
|
||||||
&state->out_stream.last_tsdelta);
|
&state->out_stream.last_tsdelta);
|
||||||
|
|
||||||
mgcp_rtp_annex_count(endp, state, seq, transit, ssrc);
|
|
||||||
|
|
||||||
/* Save output values */
|
/* Save output values */
|
||||||
state->out_stream.last_seq = seq;
|
state->out_stream.last_seq = seq;
|
||||||
state->out_stream.last_timestamp = timestamp;
|
state->out_stream.last_timestamp = timestamp;
|
||||||
|
|
|
@ -142,58 +142,58 @@ Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
|
||||||
Stats: Jitter = 15, Transit = 40
|
Stats: Jitter = 15, Transit = 40
|
||||||
In TS: 34688, dTS: 0, Seq: 12
|
In TS: 34688, dTS: 0, Seq: 12
|
||||||
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
|
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
|
||||||
Stats: Jitter = 2065, Transit = -32768
|
Stats: Jitter = 0, Transit = -32768
|
||||||
In TS: 34848, dTS: 160, Seq: 13
|
In TS: 34848, dTS: 160, Seq: 13
|
||||||
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
|
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
|
||||||
Stats: Jitter = 1935, Transit = -32768
|
Stats: Jitter = 0, Transit = -32768
|
||||||
In TS: 35008, dTS: 160, Seq: 14
|
In TS: 35008, dTS: 160, Seq: 14
|
||||||
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
|
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
|
||||||
Stats: Jitter = 1814, Transit = -32768
|
Stats: Jitter = 0, Transit = -32768
|
||||||
In TS: 35128, dTS: 120, Seq: 15
|
In TS: 35128, dTS: 120, Seq: 15
|
||||||
Out TS change: 120, dTS: 120, Seq change: 1, TS Err change: in +1, out +1
|
Out TS change: 120, dTS: 120, Seq change: 1, TS Err change: in +1, out +1
|
||||||
Stats: Jitter = 1704, Transit = -32728
|
Stats: Jitter = 2, Transit = -32728
|
||||||
In TS: 35288, dTS: 160, Seq: 16
|
In TS: 35288, dTS: 160, Seq: 16
|
||||||
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
|
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
|
||||||
Stats: Jitter = 1597, Transit = -32728
|
Stats: Jitter = 2, Transit = -32728
|
||||||
In TS: 35448, dTS: 160, Seq: 17
|
In TS: 35448, dTS: 160, Seq: 17
|
||||||
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
|
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
|
||||||
Stats: Jitter = 1497, Transit = -32728
|
Stats: Jitter = 2, Transit = -32728
|
||||||
In TS: 35768, dTS: 160, Seq: 19
|
In TS: 35768, dTS: 160, Seq: 19
|
||||||
Out TS change: 320, dTS: 160, Seq change: 2, TS Err change: in +0, out +0
|
Out TS change: 320, dTS: 160, Seq change: 2, TS Err change: in +0, out +0
|
||||||
Stats: Jitter = 1414, Transit = -32888
|
Stats: Jitter = 12, Transit = -32888
|
||||||
In TS: 35928, dTS: 160, Seq: 20
|
In TS: 35928, dTS: 160, Seq: 20
|
||||||
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
|
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
|
||||||
Stats: Jitter = 1325, Transit = -32888
|
Stats: Jitter = 11, Transit = -32888
|
||||||
In TS: 36088, dTS: 160, Seq: 21
|
In TS: 36088, dTS: 160, Seq: 21
|
||||||
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
|
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
|
||||||
Stats: Jitter = 1252, Transit = -33048
|
Stats: Jitter = 20, Transit = -33048
|
||||||
In TS: 36088, dTS: 160, Seq: 21
|
In TS: 36088, dTS: 160, Seq: 21
|
||||||
Out TS change: 0, dTS: 160, Seq change: 0, TS Err change: in +0, out +0
|
Out TS change: 0, dTS: 160, Seq change: 0, TS Err change: in +0, out +0
|
||||||
Stats: Jitter = 1184, Transit = -32888
|
Stats: Jitter = 29, Transit = -32888
|
||||||
In TS: 36248, dTS: 160, Seq: 22
|
In TS: 36248, dTS: 160, Seq: 22
|
||||||
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
|
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
|
||||||
Stats: Jitter = 1110, Transit = -32888
|
Stats: Jitter = 27, Transit = -32888
|
||||||
In TS: 36408, dTS: 160, Seq: 23
|
In TS: 36408, dTS: 160, Seq: 23
|
||||||
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
|
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
|
||||||
Stats: Jitter = 1041, Transit = -32888
|
Stats: Jitter = 25, Transit = -32888
|
||||||
In TS: 36568, dTS: 160, Seq: 23
|
In TS: 36568, dTS: 160, Seq: 23
|
||||||
Out TS change: 160, dTS: 160, Seq change: 0, TS Err change: in +1, out +1
|
Out TS change: 160, dTS: 160, Seq change: 0, TS Err change: in +1, out +1
|
||||||
Stats: Jitter = 976, Transit = -32888
|
Stats: Jitter = 24, Transit = -32888
|
||||||
In TS: 36728, dTS: 160, Seq: 24
|
In TS: 36728, dTS: 160, Seq: 24
|
||||||
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
|
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
|
||||||
Stats: Jitter = 915, Transit = -32888
|
Stats: Jitter = 22, Transit = -32888
|
||||||
In TS: 36888, dTS: 160, Seq: 25
|
In TS: 36888, dTS: 160, Seq: 25
|
||||||
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
|
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
|
||||||
Stats: Jitter = 857, Transit = -32888
|
Stats: Jitter = 21, Transit = -32888
|
||||||
In TS: 160000, dTS: 0, Seq: 1000
|
In TS: 160000, dTS: 0, Seq: 1000
|
||||||
Out TS change: 12000, dTS: 12000, Seq change: 1, TS Err change: in +0, out +0
|
Out TS change: 12000, dTS: 12000, Seq change: 1, TS Err change: in +0, out +0
|
||||||
Stats: Jitter = 7748, Transit = -144000
|
Stats: Jitter = 0, Transit = -144000
|
||||||
In TS: 160160, dTS: 160, Seq: 1001
|
In TS: 160160, dTS: 160, Seq: 1001
|
||||||
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
|
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
|
||||||
Stats: Jitter = 7264, Transit = -144000
|
Stats: Jitter = 0, Transit = -144000
|
||||||
In TS: 160320, dTS: 160, Seq: 1002
|
In TS: 160320, dTS: 160, Seq: 1002
|
||||||
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
|
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
|
||||||
Stats: Jitter = 6810, Transit = -144000
|
Stats: Jitter = 0, Transit = -144000
|
||||||
Testing packet error detection.
|
Testing packet error detection.
|
||||||
Output SSRC changed to 11223344
|
Output SSRC changed to 11223344
|
||||||
In TS: 0, dTS: 0, Seq: 0
|
In TS: 0, dTS: 0, Seq: 0
|
||||||
|
@ -422,58 +422,58 @@ Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
|
||||||
Stats: Jitter = 15, Transit = 40
|
Stats: Jitter = 15, Transit = 40
|
||||||
In TS: 34688, dTS: 0, Seq: 12
|
In TS: 34688, dTS: 0, Seq: 12
|
||||||
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
|
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
|
||||||
Stats: Jitter = 2065, Transit = -32768
|
Stats: Jitter = 0, Transit = -32768
|
||||||
In TS: 34848, dTS: 160, Seq: 13
|
In TS: 34848, dTS: 160, Seq: 13
|
||||||
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
|
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
|
||||||
Stats: Jitter = 1935, Transit = -32768
|
Stats: Jitter = 0, Transit = -32768
|
||||||
In TS: 35008, dTS: 160, Seq: 14
|
In TS: 35008, dTS: 160, Seq: 14
|
||||||
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
|
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
|
||||||
Stats: Jitter = 1814, Transit = -32768
|
Stats: Jitter = 0, Transit = -32768
|
||||||
In TS: 35128, dTS: 120, Seq: 15
|
In TS: 35128, dTS: 120, Seq: 15
|
||||||
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +1, out +0
|
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +1, out +0
|
||||||
Stats: Jitter = 1704, Transit = -32728
|
Stats: Jitter = 2, Transit = -32728
|
||||||
In TS: 35288, dTS: 160, Seq: 16
|
In TS: 35288, dTS: 160, Seq: 16
|
||||||
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
|
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
|
||||||
Stats: Jitter = 1597, Transit = -32728
|
Stats: Jitter = 2, Transit = -32728
|
||||||
In TS: 35448, dTS: 160, Seq: 17
|
In TS: 35448, dTS: 160, Seq: 17
|
||||||
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
|
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
|
||||||
Stats: Jitter = 1497, Transit = -32728
|
Stats: Jitter = 2, Transit = -32728
|
||||||
In TS: 35768, dTS: 160, Seq: 19
|
In TS: 35768, dTS: 160, Seq: 19
|
||||||
Out TS change: 320, dTS: 160, Seq change: 2, TS Err change: in +0, out +0
|
Out TS change: 320, dTS: 160, Seq change: 2, TS Err change: in +0, out +0
|
||||||
Stats: Jitter = 1414, Transit = -32888
|
Stats: Jitter = 12, Transit = -32888
|
||||||
In TS: 35928, dTS: 160, Seq: 20
|
In TS: 35928, dTS: 160, Seq: 20
|
||||||
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
|
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
|
||||||
Stats: Jitter = 1325, Transit = -32888
|
Stats: Jitter = 11, Transit = -32888
|
||||||
In TS: 36088, dTS: 160, Seq: 21
|
In TS: 36088, dTS: 160, Seq: 21
|
||||||
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
|
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
|
||||||
Stats: Jitter = 1252, Transit = -33048
|
Stats: Jitter = 20, Transit = -33048
|
||||||
In TS: 36088, dTS: 160, Seq: 21
|
In TS: 36088, dTS: 160, Seq: 21
|
||||||
Out TS change: 0, dTS: 160, Seq change: 0, TS Err change: in +0, out +0
|
Out TS change: 0, dTS: 160, Seq change: 0, TS Err change: in +0, out +0
|
||||||
Stats: Jitter = 1184, Transit = -32888
|
Stats: Jitter = 29, Transit = -32888
|
||||||
In TS: 36248, dTS: 160, Seq: 22
|
In TS: 36248, dTS: 160, Seq: 22
|
||||||
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
|
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
|
||||||
Stats: Jitter = 1110, Transit = -32888
|
Stats: Jitter = 27, Transit = -32888
|
||||||
In TS: 36408, dTS: 160, Seq: 23
|
In TS: 36408, dTS: 160, Seq: 23
|
||||||
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
|
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
|
||||||
Stats: Jitter = 1041, Transit = -32888
|
Stats: Jitter = 25, Transit = -32888
|
||||||
In TS: 36568, dTS: 160, Seq: 23
|
In TS: 36568, dTS: 160, Seq: 23
|
||||||
Out TS change: 160, dTS: 160, Seq change: 0, TS Err change: in +1, out +1
|
Out TS change: 160, dTS: 160, Seq change: 0, TS Err change: in +1, out +1
|
||||||
Stats: Jitter = 976, Transit = -32888
|
Stats: Jitter = 24, Transit = -32888
|
||||||
In TS: 36728, dTS: 160, Seq: 24
|
In TS: 36728, dTS: 160, Seq: 24
|
||||||
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
|
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
|
||||||
Stats: Jitter = 915, Transit = -32888
|
Stats: Jitter = 22, Transit = -32888
|
||||||
In TS: 36888, dTS: 160, Seq: 25
|
In TS: 36888, dTS: 160, Seq: 25
|
||||||
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
|
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
|
||||||
Stats: Jitter = 857, Transit = -32888
|
Stats: Jitter = 21, Transit = -32888
|
||||||
In TS: 160000, dTS: 0, Seq: 1000
|
In TS: 160000, dTS: 0, Seq: 1000
|
||||||
Out TS change: 12000, dTS: 12000, Seq change: 1, TS Err change: in +0, out +0
|
Out TS change: 12000, dTS: 12000, Seq change: 1, TS Err change: in +0, out +0
|
||||||
Stats: Jitter = 7748, Transit = -144000
|
Stats: Jitter = 0, Transit = -144000
|
||||||
In TS: 160160, dTS: 160, Seq: 1001
|
In TS: 160160, dTS: 160, Seq: 1001
|
||||||
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
|
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
|
||||||
Stats: Jitter = 7264, Transit = -144000
|
Stats: Jitter = 0, Transit = -144000
|
||||||
In TS: 160320, dTS: 160, Seq: 1002
|
In TS: 160320, dTS: 160, Seq: 1002
|
||||||
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
|
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
|
||||||
Stats: Jitter = 6810, Transit = -144000
|
Stats: Jitter = 0, Transit = -144000
|
||||||
Testing multiple payload types
|
Testing multiple payload types
|
||||||
Testing no sequence flow on initial packet
|
Testing no sequence flow on initial packet
|
||||||
Done
|
Done
|
||||||
|
|
Loading…
Reference in New Issue