mgcp/rtp: Add more test cases for RTP header patching

This patch extends the existing RTP error check test by adding a
check for timestamp errors after SSRC changes and a check for a
segno delta of 2 (with a timestamp delta of 320).

To test SSRC patching too, a corresponding line will be written on
each SSRC change that has been detected in the output stream.

In addition there is now support for selectively enabling/disabling
SSRC and timestamp patching. The RTP test sequence is repeated for
all combinations thereof.

Sponsored-by: On-Waves ehf
diff --git a/openbsc/tests/mgcp/mgcp_test.ok b/openbsc/tests/mgcp/mgcp_test.ok
index 3bfd78b..57d3bfb 100644
--- a/openbsc/tests/mgcp/mgcp_test.ok
+++ b/openbsc/tests/mgcp/mgcp_test.ok
@@ -42,7 +42,8 @@
 Testing stat parsing
 Parsing result: 0
 Parsing result: 0
-Testing packet error detection.
+Testing packet error detection, patch SSRC.
+Output SSRC changed to 11223344
 TS: 0, dTS: 0, TS Errs: in 0, out 0
 TS: 160, dTS: 160, TS Errs: in 0, out 0
 TS: 320, dTS: 160, TS Errs: in 0, out 0
@@ -58,4 +59,81 @@
 TS: 1880, dTS: 160, TS Errs: in 5, out 5
 TS: 2040, dTS: 160, TS Errs: in 5, out 5
 TS: 2200, dTS: 160, TS Errs: in 5, out 5
+TS: 2320, dTS: 120, TS Errs: in 6, out 6
+TS: 2480, dTS: 160, TS Errs: in 7, out 7
+TS: 2640, dTS: 160, TS Errs: in 7, out 7
+TS: 2960, dTS: 160, TS Errs: in 7, out 7
+TS: 3120, dTS: 160, TS Errs: in 7, out 7
+TS: 3280, dTS: 160, TS Errs: in 8, out 8
+Testing packet error detection.
+Output SSRC changed to 11223344
+TS: 0, dTS: 0, TS Errs: in 0, out 0
+TS: 160, dTS: 160, TS Errs: in 0, out 0
+TS: 320, dTS: 160, TS Errs: in 0, out 0
+TS: 320, dTS: 160, TS Errs: in 1, out 1
+TS: 480, dTS: 160, TS Errs: in 1, out 1
+TS: 640, dTS: 160, TS Errs: in 1, out 1
+TS: 960, dTS: 320, TS Errs: in 2, out 2
+TS: 1120, dTS: 160, TS Errs: in 3, out 3
+TS: 1280, dTS: 160, TS Errs: in 3, out 3
+TS: 1400, dTS: 120, TS Errs: in 4, out 4
+TS: 1560, dTS: 160, TS Errs: in 5, out 5
+TS: 1720, dTS: 160, TS Errs: in 5, out 5
+Output SSRC changed to 10203040
+TS: 34688, dTS: 32968, TS Errs: in 5, out 6
+TS: 34848, dTS: 160, TS Errs: in 5, out 7
+TS: 35008, dTS: 160, TS Errs: in 5, out 7
+TS: 35128, dTS: 120, TS Errs: in 6, out 8
+TS: 35288, dTS: 160, TS Errs: in 7, out 9
+TS: 35448, dTS: 160, TS Errs: in 7, out 9
+TS: 35768, dTS: 160, TS Errs: in 7, out 9
+TS: 35928, dTS: 160, TS Errs: in 7, out 9
+TS: 36088, dTS: 160, TS Errs: in 8, out 10
+Testing packet error detection, patch timestamps.
+Output SSRC changed to 11223344
+TS: 0, dTS: 0, TS Errs: in 0, out 0
+TS: 160, dTS: 160, TS Errs: in 0, out 0
+TS: 320, dTS: 160, TS Errs: in 0, out 0
+TS: 320, dTS: 160, TS Errs: in 1, out 1
+TS: 480, dTS: 160, TS Errs: in 1, out 1
+TS: 640, dTS: 160, TS Errs: in 1, out 1
+TS: 960, dTS: 320, TS Errs: in 2, out 2
+TS: 1120, dTS: 160, TS Errs: in 3, out 3
+TS: 1280, dTS: 160, TS Errs: in 3, out 3
+TS: 1400, dTS: 120, TS Errs: in 4, out 4
+TS: 1560, dTS: 160, TS Errs: in 5, out 5
+TS: 1720, dTS: 160, TS Errs: in 5, out 5
+Output SSRC changed to 10203040
+TS: 34688, dTS: 32968, TS Errs: in 5, out 6
+TS: 34848, dTS: 160, TS Errs: in 5, out 7
+TS: 35008, dTS: 160, TS Errs: in 5, out 7
+TS: 35128, dTS: 120, TS Errs: in 6, out 8
+TS: 35288, dTS: 160, TS Errs: in 7, out 9
+TS: 35448, dTS: 160, TS Errs: in 7, out 9
+TS: 35768, dTS: 160, TS Errs: in 7, out 9
+TS: 35928, dTS: 160, TS Errs: in 7, out 9
+TS: 36088, dTS: 160, TS Errs: in 8, out 10
+Testing packet error detection, patch SSRC, patch timestamps.
+Output SSRC changed to 11223344
+TS: 0, dTS: 0, TS Errs: in 0, out 0
+TS: 160, dTS: 160, TS Errs: in 0, out 0
+TS: 320, dTS: 160, TS Errs: in 0, out 0
+TS: 320, dTS: 160, TS Errs: in 1, out 1
+TS: 480, dTS: 160, TS Errs: in 1, out 1
+TS: 640, dTS: 160, TS Errs: in 1, out 1
+TS: 960, dTS: 320, TS Errs: in 2, out 2
+TS: 1120, dTS: 160, TS Errs: in 3, out 3
+TS: 1280, dTS: 160, TS Errs: in 3, out 3
+TS: 1400, dTS: 120, TS Errs: in 4, out 4
+TS: 1560, dTS: 160, TS Errs: in 5, out 5
+TS: 1720, dTS: 160, TS Errs: in 5, out 5
+TS: 1880, dTS: 160, TS Errs: in 5, out 5
+TS: 2040, dTS: 160, TS Errs: in 5, out 5
+TS: 2200, dTS: 160, TS Errs: in 5, out 5
+TS: 2320, dTS: 120, TS Errs: in 6, out 6
+TS: 2480, dTS: 160, TS Errs: in 7, out 7
+TS: 2640, dTS: 160, TS Errs: in 7, out 7
+TS: 2960, dTS: 160, TS Errs: in 7, out 7
+TS: 3120, dTS: 160, TS Errs: in 7, out 7
+TS: 3280, dTS: 160, TS Errs: in 8, out 8
 Done