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:
Holger Hans Peter Freyther 2014-10-06 21:04:40 +02:00
parent 05d481a42c
commit 7b76f82b6e
2 changed files with 38 additions and 38 deletions

View File

@ -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;

View File

@ -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