line: 'one CR' line: 'two CR' line: '' line: 'one CRLF' line: 'two CRLF' line: '' line: 'one LF' line: 'two LF' line: '' line: 'mixed (4 lines)' line: '' line: '' line: '' ================================================ Testing AUEP1 creating message from statically defined input: ---------8<--------- AUEP 158663169 ds/e1-1/2@mgw MGCP 1.0 ---------8<--------- checking response: using message as statically defined for comparison Response matches our expectations. (response does not contain a connection id) ================================================ Testing AUEP2 creating message from statically defined input: ---------8<--------- AUEP 18983213 ds/e1-2/1@mgw MGCP 1.0 ---------8<--------- checking response: using message as statically defined for comparison Response matches our expectations. (response does not contain a connection id) ================================================ Testing MDCX1 creating message from statically defined input: ---------8<--------- MDCX 18983213 ds/e1-3/1@mgw MGCP 1.0 ---------8<--------- checking response: using message as statically defined for comparison Response matches our expectations. (response does not contain a connection id) ================================================ Testing MDCX2 creating message from statically defined input: ---------8<--------- MDCX 18983214 ds/e1-1/2@mgw MGCP 1.0 ---------8<--------- checking response: using message as statically defined for comparison Response matches our expectations. (response does not contain a connection id) ================================================ Testing CRCX creating message from statically defined input: ---------8<--------- CRCX 2 1@mgw MGCP 1.0 m: recvonly C: 2 L: p:20 v=0 c=IN IP4 123.12.12.123 m=audio 5904 RTP/AVP 97 a=rtpmap:97 GSM-EFR/8000 a=ptime:40 ---------8<--------- checking response: using message with patched conn_id for comparison Response matches our expectations. (response contains a connection id) Dummy packets: 2 ================================================ Testing MDCX3 creating message from statically defined input: ---------8<--------- MDCX 18983215 1@mgw MGCP 1.0 I: %s ---------8<--------- checking response: using message with patched conn_id for comparison Response matches our expectations. (response contains a connection id) Dummy packets: 2 ================================================ Testing MDCX4_ADDR000 creating message from statically defined input: ---------8<--------- MDCX 18983216 1@mgw MGCP 1.0 M: sendrecv C: 2 I: %s L: p:20, a:AMR, nt:IN v=0 o=- %s 23 IN IP4 0.0.0.0 c=IN IP4 0.0.0.0 t=0 0 m=audio 4441 RTP/AVP 99 a=rtpmap:99 AMR/8000 a=ptime:40 ---------8<--------- checking response: using message as statically defined for comparison Response matches our expectations. (response does not contain a connection id) ================================================ Testing MDCX4 creating message from statically defined input: ---------8<--------- MDCX 18983217 1@mgw MGCP 1.0 M: sendrecv C: 2 I: %s L: p:20, a:AMR, nt:IN v=0 o=- %s 23 IN IP4 5.6.7.8 c=IN IP4 5.6.7.8 t=0 0 m=audio 4441 RTP/AVP 99 a=rtpmap:99 AMR/8000 a=ptime:40 ---------8<--------- checking response: using message with patched conn_id for comparison Response matches our expectations. (response contains a connection id) Dummy packets: 2 ================================================ Testing MDCX4_PT1 creating message from statically defined input: ---------8<--------- MDCX 18983218 1@mgw MGCP 1.0 M: SENDRECV C: 2 I: %s L: p:20-40, a:AMR, nt:IN v=0 o=- %s 23 IN IP4 5.6.7.8 c=IN IP4 5.6.7.8 t=0 0 m=audio 4441 RTP/AVP 99 a=rtpmap:99 AMR/8000 a=ptime:40 ---------8<--------- checking response: using message with patched conn_id for comparison Response matches our expectations. (response contains a connection id) Dummy packets: 2 ================================================ Testing MDCX4_PT2 creating message from statically defined input: ---------8<--------- MDCX 18983219 1@mgw MGCP 1.0 M: sendrecv C: 2 I: %s L: p:20-20, a:AMR, nt:IN v=0 o=- %s 23 IN IP4 5.6.7.8 c=IN IP4 5.6.7.8 t=0 0 m=audio 4441 RTP/AVP 99 a=rtpmap:99 AMR/8000 a=ptime:40 ---------8<--------- checking response: using message with patched conn_id for comparison Response matches our expectations. (response contains a connection id) Dummy packets: 2 ================================================ Testing MDCX4_PT3 creating message from statically defined input: ---------8<--------- MDCX 18983220 1@mgw MGCP 1.0 M: sendrecv C: 2 I: %s L: a:AMR, nt:IN v=0 o=- %s 23 IN IP4 5.6.7.8 c=IN IP4 5.6.7.8 t=0 0 m=audio 4441 RTP/AVP 99 a=rtpmap:99 AMR/8000 a=ptime:40 ---------8<--------- checking response: using message with patched conn_id for comparison Response matches our expectations. (response contains a connection id) Dummy packets: 2 ================================================ Testing MDCX4_PT4 creating message from statically defined input: ---------8<--------- MDCX 18983221 1@mgw MGCP 1.0 m: sendrecv c: 2 i: %s l: A:amr, NT:IN v=0 o=- %s 23 IN IP4 5.6.7.8 c=IN IP4 5.6.7.8 t=0 0 m=audio 4441 RTP/AVP 99 a=rtpmap:99 AMR/8000 a=ptime:40 ---------8<--------- checking response: using message with patched conn_id for comparison Response matches our expectations. (response contains a connection id) Dummy packets: 2 ================================================ Testing MDCX4_SO creating message from statically defined input: ---------8<--------- MDCX 18983222 1@mgw MGCP 1.0 M: sendonly C: 2 I: %s L: p:20, a:AMR, nt:IN v=0 o=- %s 23 IN IP4 5.6.7.8 c=IN IP4 5.6.7.8 t=0 0 m=audio 4441 RTP/AVP 99 a=rtpmap:99 AMR/8000 a=ptime:40 ---------8<--------- checking response: using message with patched conn_id for comparison Response matches our expectations. (response contains a connection id) ================================================ Testing MDCX4_RO creating message from statically defined input: ---------8<--------- MDCX 18983223 1@mgw MGCP 1.0 M: recvonly C: 2 I: %s L: p:20, a:AMR, nt:IN ---------8<--------- checking response: using message with patched conn_id for comparison Response matches our expectations. (response contains a connection id) Dummy packets: 2 ================================================ Testing DLCX creating message from statically defined input: ---------8<--------- DLCX 7 1@mgw MGCP 1.0 I: %s C: 2 ---------8<--------- checking response: using message as statically defined for comparison Response matches our expectations. (response does not contain a connection id) ================================================ Testing CRCX_ZYN creating message from statically defined input: ---------8<--------- CRCX 2 1@mgw MGCP 1.0 M: recvonly C: 2 v=0 c=IN IP4 123.12.12.123 m=audio 5904 RTP/AVP 97 a=rtpmap:97 GSM-EFR/8000 ---------8<--------- checking response: using message with patched conn_id for comparison Response matches our expectations. (response contains a connection id) Dummy packets: 2 ================================================ Testing EMPTY creating message from statically defined input: ---------8<--------- ---------8<--------- ================================================ Testing SHORT1 creating message from statically defined input: ---------8<--------- CRCX ---------8<--------- checking response: using message as statically defined for comparison Response matches our expectations. (response does not contain a connection id) ================================================ Testing SHORT2 creating message from statically defined input: ---------8<--------- CRCX 1 ---------8<--------- checking response: using message as statically defined for comparison Response matches our expectations. (response does not contain a connection id) ================================================ Testing SHORT3 creating message from statically defined input: ---------8<--------- CRCX 1 1@mgw ---------8<--------- checking response: using message as statically defined for comparison Response matches our expectations. (response does not contain a connection id) ================================================ Testing SHORT4 creating message from statically defined input: ---------8<--------- CRCX 1 1@mgw MGCP ---------8<--------- checking response: using message as statically defined for comparison Response matches our expectations. (response does not contain a connection id) ================================================ Testing RQNT1 creating message from statically defined input: ---------8<--------- RQNT 186908780 1@mgw MGCP 1.0 X: B244F267488 S: D/9 ---------8<--------- checking response: using message as statically defined for comparison Response matches our expectations. (response does not contain a connection id) ================================================ Testing RQNT2 creating message from statically defined input: ---------8<--------- RQNT 186908781 1@mgw MGCP 1.0 X: ADD4F26746F R: D/[0-9#*](N), G/ft, fxr/t38 ---------8<--------- checking response: using message as statically defined for comparison Response matches our expectations. (response does not contain a connection id) ================================================ Testing DLCX creating message from statically defined input: ---------8<--------- DLCX 7 1@mgw MGCP 1.0 I: %s C: 2 ---------8<--------- checking response: using message as statically defined for comparison Response matches our expectations. (response does not contain a connection id) ================================================ Testing CRCX creating message from statically defined input: ---------8<--------- CRCX 2 1@mgw MGCP 1.0 m: recvonly C: 2 L: p:20 v=0 c=IN IP4 123.12.12.123 m=audio 5904 RTP/AVP 97 a=rtpmap:97 GSM-EFR/8000 a=ptime:40 ---------8<--------- checking response: using message with patched conn_id for comparison Response matches our expectations. (response contains a connection id) Dummy packets: 2 ================================================ Testing MDCX3 creating message from statically defined input: ---------8<--------- MDCX 18983215 1@mgw MGCP 1.0 I: %s ---------8<--------- checking response: using message with patched conn_id for comparison Response matches our expectations. (response contains a connection id) Dummy packets: 2 ================================================ Testing DLCX creating message from statically defined input: ---------8<--------- DLCX 7 1@mgw MGCP 1.0 I: %s C: 2 ---------8<--------- checking response: using message as statically defined for comparison Response matches our expectations. (response does not contain a connection id) ================================================ Testing CRCX creating message from statically defined input: ---------8<--------- CRCX 2 6@mgw MGCP 1.0 M: recvonly C: 2 ---------8<--------- checking response: using message with patched conn_id for comparison Response matches our expectations. (response contains a connection id) ================================================ Testing CRCX creating message from statically defined input: ---------8<--------- CRCX 2 1@mgw MGCP 1.0 M: recvonly C: 2 L: p:20 X-Osmo-IGN: C foo v=0 c=IN IP4 123.12.12.123 m=audio 5904 RTP/AVP 97 a=rtpmap:97 GSM-EFR/8000 a=ptime:40 ---------8<--------- checking response: using message with patched conn_id for comparison Response matches our expectations. (response contains a connection id) Dummy packets: 2 ================================================ Testing MDCX_TOO_LONG_CI creating message from statically defined input: ---------8<--------- MDCX 18983224 1@mgw MGCP 1.0 I: 123456789012345678901234567890123 ---------8<--------- checking response: using message as statically defined for comparison Response matches our expectations. (response does not contain a connection id) ================================================ Testing CRCX creating message from statically defined input: ---------8<--------- CRCX 2 7@mgw MGCP 1.0 M: recvonly C: 2 X L: p:20 v=0 c=IN IP4 123.12.12.123 m=audio 5904 RTP/AVP 111 a=rtpmap:111 AMR/8000/1 a=ptime:20 a=fmtp:111 mode-change-capability=2; octet-align=1 ---------8<--------- checking response: using message with patched conn_id for comparison Response matches our expectations. (response contains a connection id) Dummy packets: 2 ================================================ Testing AUEP_NULL creating message from statically defined input: ---------8<--------- AUEP 18983215 null@mgw MGCP 1.0 ---------8<--------- checking response: using message as statically defined for comparison Response matches our expectations. (response does not contain a connection id) ================================================ Testing CRCX_NULL creating message from statically defined input: ---------8<--------- CRCX 2 null@mgw MGCP 1.0 m: recvonly C: 2 L: p:20 v=0 c=IN IP4 123.12.12.123 m=audio 5904 RTP/AVP 97 a=rtpmap:97 GSM-EFR/8000 a=ptime:40 ---------8<--------- checking response: using message as statically defined for comparison Response matches our expectations. (response does not contain a connection id) ================================================ Testing MDCX_NULL creating message from statically defined input: ---------8<--------- MDCX 9 null@mgw MGCP 1.0 I: %s ---------8<--------- checking response: using message as statically defined for comparison Response matches our expectations. (response does not contain a connection id) ================================================ Testing DLCX_NULL creating message from statically defined input: ---------8<--------- DLCX 8 null@mgw MGCP 1.0 I: %s C: 2 ---------8<--------- checking response: using message as statically defined for comparison Response matches our expectations. (response does not contain a connection id) ================================================ Testing RQNT_NULL creating message from statically defined input: ---------8<--------- RQNT 186908782 null@mgw MGCP 1.0 X: B244F267488 S: D/9 ---------8<--------- checking response: using message as statically defined for comparison Response matches our expectations. (response does not contain a connection id) ================================================ Testing CRCX_PORT_0 creating message from statically defined input: ---------8<--------- CRCX 3 1@mgw MGCP 1.0 m: recvonly C: 2 L: p:20 v=0 c=IN IP4 123.12.12.123 m=audio 0 RTP/AVP 97 a=rtpmap:97 GSM-EFR/8000 a=ptime:40 ---------8<--------- checking response: using message with patched conn_id for comparison Response matches our expectations. (response contains a connection id) ================================================ Testing CRCX_PORT_0_IUFP creating message from statically defined input: ---------8<--------- CRCX 4 1@mgw MGCP 1.0 m: recvonly C: 2 L: p:20 v=0 c=IN IP4 123.12.12.123 m=audio 0 RTP/AVP 96 a=rtpmap:96 VND.3GPP.IUFP/16000 a=ptime:40 ---------8<--------- checking response: using message with patched conn_id for comparison Response matches our expectations. (response contains a connection id) ================================================ Testing CRCX creating message from statically defined input: ---------8<--------- CRCX 2 1@mgw MGCP 1.0 m: recvonly C: 2 L: p:20 v=0 c=IN IP4 123.12.12.123 m=audio 5904 RTP/AVP 97 a=rtpmap:97 GSM-EFR/8000 a=ptime:40 ---------8<--------- checking response: using message with patched conn_id for comparison Response matches our expectations. Re-transmitting CRCX creating message from statically defined input: ---------8<--------- CRCX 2 1@mgw MGCP 1.0 m: recvonly C: 2 L: p:20 v=0 c=IN IP4 123.12.12.123 m=audio 5904 RTP/AVP 97 a=rtpmap:97 GSM-EFR/8000 a=ptime:40 ---------8<--------- checking response: using message with patched conn_id for comparison Response matches our expectations. ================================================ Testing RQNT1 creating message from statically defined input: ---------8<--------- RQNT 186908780 1@mgw MGCP 1.0 X: B244F267488 S: D/9 ---------8<--------- checking response: using message as statically defined for comparison Response matches our expectations. Re-transmitting RQNT1 creating message from statically defined input: ---------8<--------- RQNT 186908780 1@mgw MGCP 1.0 X: B244F267488 S: D/9 ---------8<--------- checking response: using message as statically defined for comparison Response matches our expectations. ================================================ Testing RQNT2 creating message from statically defined input: ---------8<--------- RQNT 186908781 1@mgw MGCP 1.0 X: ADD4F26746F R: D/[0-9#*](N), G/ft, fxr/t38 ---------8<--------- checking response: using message as statically defined for comparison Response matches our expectations. Re-transmitting RQNT2 creating message from statically defined input: ---------8<--------- RQNT 186908781 1@mgw MGCP 1.0 X: ADD4F26746F R: D/[0-9#*](N), G/ft, fxr/t38 ---------8<--------- checking response: using message as statically defined for comparison Response matches our expectations. ================================================ Testing MDCX3 creating message from statically defined input: ---------8<--------- MDCX 18983215 1@mgw MGCP 1.0 I: %s ---------8<--------- checking response: using message with patched conn_id for comparison Response matches our expectations. Re-transmitting MDCX3 creating message from statically defined input: ---------8<--------- MDCX 18983215 1@mgw MGCP 1.0 I: %s ---------8<--------- checking response: using message with patched conn_id for comparison Response matches our expectations. ================================================ Testing DLCX creating message from statically defined input: ---------8<--------- DLCX 7 1@mgw MGCP 1.0 I: %s C: 2 ---------8<--------- checking response: using message as statically defined for comparison Response matches our expectations. Re-transmitting DLCX creating message from statically defined input: ---------8<--------- DLCX 7 1@mgw MGCP 1.0 I: %s C: 2 ---------8<--------- checking response: using message as statically defined for comparison Response matches our expectations. Testing packet loss calculation. creating message from statically defined input: ---------8<--------- CRCX 2 1@mgw MGCP 1.0 m: recvonly C: 2 L: p:20 v=0 c=IN IP4 123.12.12.123 m=audio 5904 RTP/AVP 97 a=rtpmap:97 GSM-EFR/8000 a=ptime:40 ---------8<--------- creating message from statically defined input: ---------8<--------- RQNT 186908780 1@mgw MGCP 1.0 X: B244F267488 S: D/9 ---------8<--------- creating message from statically defined input: ---------8<--------- DLCX 7 1@mgw MGCP 1.0 I: %s C: 2 ---------8<--------- Testing stat parsing creating message from statically defined input: ---------8<--------- 250 7 OK P: PS=0, OS=0, PR=0, OR=0, PL=0, JI=0 ---------8<--------- Parsing result: 0 creating message from statically defined input: ---------8<--------- 250 7 OK P: PS=10, OS=20, PR=30, OR=40, PL=-3, JI=40 ---------8<--------- Parsing result: 0 Testing packet error detection, patch SSRC. Output SSRC changed to 11223344 In TS: 0, dTS: 0, Seq: 0 Out TS change: 0, dTS: 0, Seq change: 0, TS Err change: in +0, out +0 Stats: Jitter = 0, Transit = 0 In TS: 160, dTS: 160, Seq: 1 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 0, Transit = 0 In TS: 320, dTS: 160, Seq: 2 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 0, Transit = 0 In TS: 320, dTS: 160, Seq: 3 Out TS change: 0, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 10, Transit = 160 In TS: 480, dTS: 160, Seq: 4 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 9, Transit = 160 In TS: 640, dTS: 160, Seq: 5 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 8, Transit = 160 In TS: 960, dTS: 320, Seq: 6 Out TS change: 320, dTS: 320, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 18, Transit = 0 In TS: 1120, dTS: 160, Seq: 7 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 17, Transit = 0 In TS: 1280, dTS: 160, Seq: 8 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 16, Transit = 0 In TS: 1400, dTS: 120, Seq: 9 Out TS change: 120, dTS: 120, Seq change: 1, TS Err change: in +1, out +1 Stats: Jitter = 17, Transit = 40 In TS: 1560, dTS: 160, Seq: 10 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 16, Transit = 40 In TS: 1720, dTS: 160, Seq: 11 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 15, Transit = 40 In TS: 34688, dTS: 0, Seq: 12 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 0, Transit = -32768 In TS: 34848, dTS: 160, Seq: 13 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 0, Transit = -32768 In TS: 35008, dTS: 160, Seq: 14 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 0, Transit = -32768 In TS: 35128, dTS: 120, Seq: 15 Out TS change: 120, dTS: 120, Seq change: 1, TS Err change: in +1, out +1 Stats: Jitter = 2, Transit = -32728 In TS: 35288, dTS: 160, Seq: 16 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 2, Transit = -32728 In TS: 35448, dTS: 160, Seq: 17 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 2, Transit = -32728 In TS: 35768, dTS: 160, Seq: 19 Out TS change: 320, dTS: 160, Seq change: 2, TS Err change: in +0, out +0 Stats: Jitter = 12, Transit = -32888 In TS: 35928, dTS: 160, Seq: 20 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 11, Transit = -32888 In TS: 36088, dTS: 160, Seq: 21 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 20, Transit = -33048 In TS: 36088, dTS: 160, Seq: 21 Out TS change: 0, dTS: 160, Seq change: 0, TS Err change: in +0, out +0 Stats: Jitter = 29, Transit = -32888 In TS: 36248, dTS: 160, Seq: 22 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 27, Transit = -32888 In TS: 36408, dTS: 160, Seq: 23 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 25, Transit = -32888 In TS: 36568, dTS: 160, Seq: 23 Out TS change: 160, dTS: 160, Seq change: 0, TS Err change: in +1, out +1 Stats: Jitter = 24, Transit = -32888 In TS: 36728, dTS: 160, Seq: 24 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 22, Transit = -32888 In TS: 36888, dTS: 160, Seq: 25 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 21, Transit = -32888 In TS: 160000, dTS: 0, Seq: 1000 Out TS change: 12000, dTS: 12000, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 0, Transit = -144000 In TS: 160160, dTS: 160, Seq: 1001 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 0, Transit = -144000 In TS: 160320, dTS: 160, Seq: 1002 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 0, Transit = -144000 In TS: 180320, dTS: 0, Seq: 1003 Out TS change: 20000, dTS: 0, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 0, Transit = -163840 In TS: 180480, dTS: 160, Seq: 1004 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 0, Transit = -163840 In TS: 180640, dTS: 160, Seq: 1005 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 5, Transit = -163760 Testing packet error detection. Output SSRC changed to 11223344 In TS: 0, dTS: 0, Seq: 0 Out TS change: 0, dTS: 0, Seq change: 0, TS Err change: in +0, out +0 Stats: Jitter = 0, Transit = 0 In TS: 160, dTS: 160, Seq: 1 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 0, Transit = 0 In TS: 320, dTS: 160, Seq: 2 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 0, Transit = 0 In TS: 320, dTS: 160, Seq: 3 Out TS change: 0, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 10, Transit = 160 In TS: 480, dTS: 160, Seq: 4 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 9, Transit = 160 In TS: 640, dTS: 160, Seq: 5 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 8, Transit = 160 In TS: 960, dTS: 320, Seq: 6 Out TS change: 320, dTS: 320, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 18, Transit = 0 In TS: 1120, dTS: 160, Seq: 7 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 17, Transit = 0 In TS: 1280, dTS: 160, Seq: 8 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 16, Transit = 0 In TS: 1400, dTS: 120, Seq: 9 Out TS change: 120, dTS: 120, Seq change: 1, TS Err change: in +1, out +1 Stats: Jitter = 17, Transit = 40 In TS: 1560, dTS: 160, Seq: 10 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 16, Transit = 40 In TS: 1720, dTS: 160, Seq: 11 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 15, Transit = 40 Output SSRC changed to 10203040 In TS: 34688, dTS: 0, Seq: 12 Out TS change: 32968, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 0, Transit = -32768 In TS: 34848, dTS: 160, Seq: 13 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 0, Transit = -32768 In TS: 35008, dTS: 160, Seq: 14 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 0, Transit = -32768 In TS: 35128, dTS: 120, Seq: 15 Out TS change: 120, dTS: 120, Seq change: 1, TS Err change: in +1, out +1 Stats: Jitter = 2, Transit = -32728 In TS: 35288, dTS: 160, Seq: 16 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 2, Transit = -32728 In TS: 35448, dTS: 160, Seq: 17 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 2, Transit = -32728 In TS: 35768, dTS: 160, Seq: 19 Out TS change: 320, dTS: 160, Seq change: 2, TS Err change: in +0, out +0 Stats: Jitter = 12, Transit = -32888 In TS: 35928, dTS: 160, Seq: 20 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 11, Transit = -32888 In TS: 36088, dTS: 160, Seq: 21 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 20, Transit = -33048 In TS: 36088, dTS: 160, Seq: 21 Out TS change: 0, dTS: 160, Seq change: 0, TS Err change: in +0, out +0 Stats: Jitter = 29, Transit = -32888 In TS: 36248, dTS: 160, Seq: 22 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 27, Transit = -32888 In TS: 36408, dTS: 160, Seq: 23 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 25, Transit = -32888 In TS: 36568, dTS: 160, Seq: 23 Out TS change: 160, dTS: 160, Seq change: 0, TS Err change: in +1, out +1 Stats: Jitter = 24, Transit = -32888 In TS: 36728, dTS: 160, Seq: 24 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 22, Transit = -32888 In TS: 36888, dTS: 160, Seq: 25 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 21, Transit = -32888 Output SSRC changed to 50607080 In TS: 160000, dTS: 0, Seq: 1000 Out TS change: 123112, dTS: 160, Seq change: 975, TS Err change: in +0, out +0 Stats: Jitter = 0, Transit = -144000 In TS: 160160, dTS: 160, Seq: 1001 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 0, Transit = -144000 In TS: 160320, dTS: 160, Seq: 1002 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 0, Transit = -144000 In TS: 180320, dTS: 0, Seq: 1003 Out TS change: 20000, dTS: 0, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 0, Transit = -163840 In TS: 180480, dTS: 160, Seq: 1004 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 0, Transit = -163840 In TS: 180640, dTS: 160, Seq: 1005 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 5, Transit = -163760 Testing packet error detection, patch timestamps. Output SSRC changed to 11223344 In TS: 0, dTS: 0, Seq: 0 Out TS change: 0, dTS: 0, Seq change: 0, TS Err change: in +0, out +0 Stats: Jitter = 0, Transit = 0 In TS: 160, dTS: 160, Seq: 1 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 0, Transit = 0 In TS: 320, dTS: 160, Seq: 2 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 0, Transit = 0 In TS: 320, dTS: 160, Seq: 3 Out TS change: 0, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 10, Transit = 160 In TS: 480, dTS: 160, Seq: 4 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 9, Transit = 160 In TS: 640, dTS: 160, Seq: 5 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 8, Transit = 160 In TS: 960, dTS: 320, Seq: 6 Out TS change: 320, dTS: 320, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 18, Transit = 0 In TS: 1120, dTS: 160, Seq: 7 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 17, Transit = 0 In TS: 1280, dTS: 160, Seq: 8 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 16, Transit = 0 In TS: 1400, dTS: 120, Seq: 9 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +1, out +0 Stats: Jitter = 17, Transit = 40 In TS: 1560, dTS: 160, Seq: 10 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 16, Transit = 40 In TS: 1720, dTS: 160, Seq: 11 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 15, Transit = 40 Output SSRC changed to 10203040 In TS: 34688, dTS: 0, Seq: 12 Out TS change: 32968, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 0, Transit = -32768 In TS: 34848, dTS: 160, Seq: 13 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 0, Transit = -32768 In TS: 35008, dTS: 160, Seq: 14 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 0, Transit = -32768 In TS: 35128, dTS: 120, Seq: 15 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +1, out +0 Stats: Jitter = 2, Transit = -32728 In TS: 35288, dTS: 160, Seq: 16 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 2, Transit = -32728 In TS: 35448, dTS: 160, Seq: 17 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 2, Transit = -32728 In TS: 35768, dTS: 160, Seq: 19 Out TS change: 320, dTS: 160, Seq change: 2, TS Err change: in +0, out +0 Stats: Jitter = 12, Transit = -32888 In TS: 35928, dTS: 160, Seq: 20 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 11, Transit = -32888 In TS: 36088, dTS: 160, Seq: 21 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 20, Transit = -33048 In TS: 36088, dTS: 160, Seq: 21 Out TS change: 0, dTS: 160, Seq change: 0, TS Err change: in +0, out +0 Stats: Jitter = 29, Transit = -32888 In TS: 36248, dTS: 160, Seq: 22 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 27, Transit = -32888 In TS: 36408, dTS: 160, Seq: 23 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 25, Transit = -32888 In TS: 36568, dTS: 160, Seq: 23 Out TS change: 160, dTS: 160, Seq change: 0, TS Err change: in +1, out +1 Stats: Jitter = 24, Transit = -32888 In TS: 36728, dTS: 160, Seq: 24 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 22, Transit = -32888 In TS: 36888, dTS: 160, Seq: 25 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 21, Transit = -32888 Output SSRC changed to 50607080 In TS: 160000, dTS: 0, Seq: 1000 Out TS change: 123112, dTS: 160, Seq change: 975, TS Err change: in +0, out +0 Stats: Jitter = 0, Transit = -144000 In TS: 160160, dTS: 160, Seq: 1001 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 0, Transit = -144000 In TS: 160320, dTS: 160, Seq: 1002 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 0, Transit = -144000 In TS: 180320, dTS: 0, Seq: 1003 Out TS change: 20000, dTS: 0, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 0, Transit = -163840 In TS: 180480, dTS: 160, Seq: 1004 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 0, Transit = -163840 In TS: 180640, dTS: 160, Seq: 1005 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 5, Transit = -163760 Testing packet error detection, patch SSRC, patch timestamps. Output SSRC changed to 11223344 In TS: 0, dTS: 0, Seq: 0 Out TS change: 0, dTS: 0, Seq change: 0, TS Err change: in +0, out +0 Stats: Jitter = 0, Transit = 0 In TS: 160, dTS: 160, Seq: 1 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 0, Transit = 0 In TS: 320, dTS: 160, Seq: 2 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 0, Transit = 0 In TS: 320, dTS: 160, Seq: 3 Out TS change: 0, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 10, Transit = 160 In TS: 480, dTS: 160, Seq: 4 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 9, Transit = 160 In TS: 640, dTS: 160, Seq: 5 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 8, Transit = 160 In TS: 960, dTS: 320, Seq: 6 Out TS change: 320, dTS: 320, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 18, Transit = 0 In TS: 1120, dTS: 160, Seq: 7 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 17, Transit = 0 In TS: 1280, dTS: 160, Seq: 8 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 16, Transit = 0 In TS: 1400, dTS: 120, Seq: 9 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +1, out +0 Stats: Jitter = 17, Transit = 40 In TS: 1560, dTS: 160, Seq: 10 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 16, Transit = 40 In TS: 1720, dTS: 160, Seq: 11 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 15, Transit = 40 In TS: 34688, dTS: 0, Seq: 12 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 0, Transit = -32768 In TS: 34848, dTS: 160, Seq: 13 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 0, Transit = -32768 In TS: 35008, dTS: 160, Seq: 14 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 0, Transit = -32768 In TS: 35128, dTS: 120, Seq: 15 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +1, out +0 Stats: Jitter = 2, Transit = -32728 In TS: 35288, dTS: 160, Seq: 16 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 2, Transit = -32728 In TS: 35448, dTS: 160, Seq: 17 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 2, Transit = -32728 In TS: 35768, dTS: 160, Seq: 19 Out TS change: 320, dTS: 160, Seq change: 2, TS Err change: in +0, out +0 Stats: Jitter = 12, Transit = -32888 In TS: 35928, dTS: 160, Seq: 20 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 11, Transit = -32888 In TS: 36088, dTS: 160, Seq: 21 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 20, Transit = -33048 In TS: 36088, dTS: 160, Seq: 21 Out TS change: 0, dTS: 160, Seq change: 0, TS Err change: in +0, out +0 Stats: Jitter = 29, Transit = -32888 In TS: 36248, dTS: 160, Seq: 22 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 27, Transit = -32888 In TS: 36408, dTS: 160, Seq: 23 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 25, Transit = -32888 In TS: 36568, dTS: 160, Seq: 23 Out TS change: 160, dTS: 160, Seq change: 0, TS Err change: in +1, out +1 Stats: Jitter = 24, Transit = -32888 In TS: 36728, dTS: 160, Seq: 24 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 22, Transit = -32888 In TS: 36888, dTS: 160, Seq: 25 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 21, Transit = -32888 In TS: 160000, dTS: 0, Seq: 1000 Out TS change: 12000, dTS: 12000, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 0, Transit = -144000 In TS: 160160, dTS: 160, Seq: 1001 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 0, Transit = -144000 In TS: 160320, dTS: 160, Seq: 1002 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 0, Transit = -144000 In TS: 180320, dTS: 0, Seq: 1003 Out TS change: 20000, dTS: 0, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 0, Transit = -163840 In TS: 180480, dTS: 160, Seq: 1004 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 0, Transit = -163840 In TS: 180640, dTS: 160, Seq: 1005 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 5, Transit = -163760 Testing multiple payload types creating message from statically defined input: ---------8<--------- CRCX 2 1@mgw MGCP 1.0 M: recvonly C: 2 X L: p:20 v=0 c=IN IP4 123.12.12.123 m=audio 5904 RTP/AVP 18 97 a=rtpmap:18 G729/8000 a=rtpmap:97 GSM-EFR/8000 a=ptime:40 ---------8<--------- creating message from statically defined input: ---------8<--------- CRCX 2 2@mgw MGCP 1.0 M: recvonly C: 2 X L: p:20 v=0 c=IN IP4 123.12.12.123 m=audio 5904 RTP/AVP 18 97 101 a=rtpmap:18 G729/8000 a=rtpmap:97 GSM-EFR/8000 a=rtpmap:101 FOO/8000 a=ptime:40 ---------8<--------- creating message from statically defined input: ---------8<--------- CRCX 2 3@mgw MGCP 1.0 M: recvonly C: 2 X L: p:20 v=0 c=IN IP4 123.12.12.123 m=audio 5904 RTP/AVP a=rtpmap:18 G729/8000 a=rtpmap:97 GSM-EFR/8000 a=rtpmap:101 FOO/8000 a=ptime:40 ---------8<--------- creating message from statically defined input: ---------8<--------- CRCX 2 4@mgw MGCP 1.0 M: recvonly C: 2 X L: p:20 v=0 c=IN IP4 123.12.12.123 m=audio 5904 RTP/AVP 18 a=rtpmap:18 G729/8000 a=rtpmap:97 GSM-EFR/8000 a=rtpmap:101 FOO/8000 a=ptime:40 ---------8<--------- creating message from statically defined input: ---------8<--------- CRCX 259260421 5@mgw MGCP 1.0 C: 1355c6041e L: p:20, a:GSM, nt:IN M: recvonly v=0 o=- 1439038275 1439038275 IN IP4 192.168.181.247 s=- c=IN IP4 192.168.181.247 t=0 0 m=audio 29084 RTP/AVP 0 8 3 18 4 96 97 101 a=rtpmap:0 PCMU/8000 a=rtpmap:8 PCMA/8000 a=rtpmap:3 gsm/8000 a=rtpmap:18 G729/8000 a=fmtp:18 annexb=no a=rtpmap:4 G723/8000 a=rtpmap:96 iLBC/8000 a=fmtp:96 mode=20 a=rtpmap:97 iLBC/8000 a=fmtp:97 mode=30 a=rtpmap:101 telephone-event/8000 a=fmtp:101 0-15 a=recvonly ---------8<--------- creating message from statically defined input: ---------8<--------- MDCX 23 5@mgw MGCP 1.0 C: 1355c6041e I: %s c=IN IP4 8.8.8.8 m=audio 16434 RTP/AVP 3 ---------8<--------- creating message from statically defined input: ---------8<--------- CRCX 259260421 5@mgw MGCP 1.0 C: 1355c6041e L: p:20, a:GSM, nt:IN M: recvonly v=0 o=- 1439038275 1439038275 IN IP4 192.168.181.247 s=- c=IN IP4 192.168.181.247 t=0 0 m=audio 29084 RTP/AVP 0 8 3 18 4 96 97 101 a=rtpmap:0 PCMU/8000 a=rtpmap:8 PCMA/8000 a=rtpmap:3 gsm/8000 a=rtpmap:18 G729/8000 a=fmtp:18 annexb=no a=rtpmap:4 G723/8000 a=rtpmap:96 iLBC/8000 a=fmtp:96 mode=20 a=rtpmap:97 iLBC/8000 a=fmtp:97 mode=30 a=rtpmap:101 telephone-event/8000 a=fmtp:101 0-15 a=recvonly ---------8<--------- Testing no sequence flow on initial packet Testing no rtpmap name creating message from statically defined input: ---------8<--------- CRCX 2 1@mgw MGCP 1.0 m: recvonly C: 2 L: p:20 v=0 c=IN IP4 123.12.12.123 m=audio 5904 RTP/AVP 97 a=rtpmap:97 GSM-EFR/8000 a=ptime:40 ---------8<--------- checking response: using message with patched conn_id for comparison Response matches our expectations. Testing get_lco_identifier() p:10, a:PCMU -> p:10, a:PCMU p:10, a:PCMU -> p:10, a:PCMU 'XXXX, p:10, a:PCMU' -> 'p:10, a:PCMU' 'XXXX,p:10,a:PCMU' -> 'p:10,a:PCMU' '10,a:PCMU' -> 'a:PCMU' '10, a:PCMU' -> 'a:PCMU' '10,a: PCMU' -> 'a: PCMU' '10 ,a: PCMU' -> 'a: PCMU' ', a:PCMU' -> 'a:PCMU' ' a:PCMU' -> 'a:PCMU' '' -> '(null)' p10, aPCMU -> (null) '10,a :PCMU' -> '(null)' Testing mgcp_codec_find_convertible() #0: same order, but differing payload type numbers - add codecs on conn0: 0: 112 AMR/8000/1 octet-aligned=1 -> rc=0 1: 0 PCMU/8000/1 -> rc=0 2: 111 GSM-HR-08/8000/1 -> rc=0 - add codecs on conn1: 0: 96 AMR/8000/1 octet-aligned=1 -> rc=0 1: 0 PCMU/8000/1 -> rc=0 2: 97 GSM-HR-08/8000/1 -> rc=0 - mgcp_codec_decide(&conn[0], &conn[1]): Codec decision result: conn[0]: codec:AMR, pt:112 conn[1]: codec:AMR, pt:96 - mgcp_codec_decide(&conn[1], &conn[0]): Codec decision result: conn[1]: codec:AMR, pt:96 conn[0]: codec:AMR, pt:112 ===> SUCCESS: codec decision as expected! #1: different order and different payload type numbers - add codecs on conn0: 0: 0 PCMU/8000/1 -> rc=0 1: 111 GSM-HR-08/8000/1 -> rc=0 2: 112 AMR/8000/1 octet-aligned=1 -> rc=0 - add codecs on conn1: 0: 97 GSM-HR-08/8000/1 -> rc=0 1: 0 PCMU/8000/1 -> rc=0 2: 96 AMR/8000/1 octet-aligned=1 -> rc=0 - mgcp_codec_decide(&conn[0], &conn[1]): Codec decision result: conn[0]: codec:PCMU, pt:0 conn[1]: codec:PCMU, pt:0 - mgcp_codec_decide(&conn[1], &conn[0]): Codec decision result: conn[1]: codec:GSM-HR-08, pt:97 conn[0]: codec:GSM-HR-08, pt:111 ===> SUCCESS: codec decision as expected! #2: both sides have the same payload_type numbers assigned to differing codecs - add codecs on conn0: 0: 0 PCMU/8000/1 -> rc=0 1: 96 GSM-HR-08/8000/1 -> rc=0 2: 97 AMR/8000/1 octet-aligned=1 -> rc=0 - add codecs on conn1: 0: 97 GSM-HR-08/8000/1 -> rc=0 1: 0 PCMU/8000/1 -> rc=0 2: 96 AMR/8000/1 octet-aligned=1 -> rc=0 - mgcp_codec_decide(&conn[0], &conn[1]): Codec decision result: conn[0]: codec:PCMU, pt:0 conn[1]: codec:PCMU, pt:0 - mgcp_codec_decide(&conn[1], &conn[0]): Codec decision result: conn[1]: codec:GSM-HR-08, pt:97 conn[0]: codec:GSM-HR-08, pt:96 ===> SUCCESS: codec decision as expected! #3: conn0 has no codecs - add codecs on conn0: (none) - add codecs on conn1: 0: 96 AMR/8000/1 octet-aligned=1 -> rc=0 1: 0 PCMU/8000/1 -> rc=0 2: 97 GSM-HR-08/8000/1 -> rc=0 - mgcp_codec_decide(&conn[0], &conn[1]): codec decision failed (expected)! - mgcp_codec_decide(&conn[1], &conn[0]): Codec decision result: conn[1]: codec:AMR, pt:96 conn[0]: codec:none, pt:none ===> SUCCESS: codec decision as expected! #4: conn1 has no codecs - add codecs on conn0: 0: 112 AMR/8000/1 octet-aligned=1 -> rc=0 1: 0 PCMU/8000/1 -> rc=0 2: 111 GSM-HR-08/8000/1 -> rc=0 - add codecs on conn1: (none) - mgcp_codec_decide(&conn[0], &conn[1]): Codec decision result: conn[0]: codec:AMR, pt:112 conn[1]: codec:none, pt:none - mgcp_codec_decide(&conn[1], &conn[0]): codec decision failed (expected)! ===> SUCCESS: codec decision as expected! #5: test AMR with differing octet-aligned settings (both <-> both) - add codecs on conn0: 0: 111 AMR/8000 octet-aligned=1 -> rc=0 1: 112 AMR/8000 octet-aligned=0 -> rc=0 - add codecs on conn1: 0: 122 AMR/8000 octet-aligned=0 -> rc=0 1: 121 AMR/8000 octet-aligned=1 -> rc=0 - mgcp_codec_decide(&conn[0], &conn[1]): Codec decision result: conn[0]: codec:AMR, pt:111 conn[1]: codec:AMR, pt:121 - mgcp_codec_decide(&conn[1], &conn[0]): Codec decision result: conn[1]: codec:AMR, pt:122 conn[0]: codec:AMR, pt:112 ===> SUCCESS: codec decision as expected! #6: test AMR with differing octet-aligned settings (oa <-> both) - add codecs on conn0: 0: 111 AMR/8000 octet-aligned=1 -> rc=0 - add codecs on conn1: 0: 122 AMR/8000 octet-aligned=0 -> rc=0 1: 121 AMR/8000 octet-aligned=1 -> rc=0 - mgcp_codec_decide(&conn[0], &conn[1]): Codec decision result: conn[0]: codec:AMR, pt:111 conn[1]: codec:AMR, pt:121 - mgcp_codec_decide(&conn[1], &conn[0]): Codec decision result: conn[1]: codec:AMR, pt:121 conn[0]: codec:AMR, pt:111 ===> SUCCESS: codec decision as expected! #7: test AMR with differing octet-aligned settings (bwe <-> both) - add codecs on conn0: 0: 112 AMR/8000 octet-aligned=0 -> rc=0 - add codecs on conn1: 0: 122 AMR/8000 octet-aligned=0 -> rc=0 1: 121 AMR/8000 octet-aligned=1 -> rc=0 - mgcp_codec_decide(&conn[0], &conn[1]): Codec decision result: conn[0]: codec:AMR, pt:112 conn[1]: codec:AMR, pt:122 - mgcp_codec_decide(&conn[1], &conn[0]): Codec decision result: conn[1]: codec:AMR, pt:122 conn[0]: codec:AMR, pt:112 ===> SUCCESS: codec decision as expected! #8: test AMR with missing octet-aligned settings (oa <-> unset) - add codecs on conn0: 0: 111 AMR/8000 octet-aligned=1 -> rc=0 - add codecs on conn1: 0: 122 AMR/8000 octet-aligned=unset -> rc=0 - mgcp_codec_decide(&conn[0], &conn[1]): Codec decision result: conn[0]: codec:AMR, pt:111 conn[1]: codec:AMR, pt:122 - mgcp_codec_decide(&conn[1], &conn[0]): Codec decision result: conn[1]: codec:AMR, pt:122 conn[0]: codec:AMR, pt:111 ===> SUCCESS: codec decision as expected! #9: test AMR with missing octet-aligned settings (bwe <-> unset) - add codecs on conn0: 0: 111 AMR/8000 octet-aligned=0 -> rc=0 - add codecs on conn1: 0: 122 AMR/8000 octet-aligned=unset -> rc=0 - mgcp_codec_decide(&conn[0], &conn[1]): Codec decision result: conn[0]: codec:AMR, pt:111 conn[1]: codec:AMR, pt:122 - mgcp_codec_decide(&conn[1], &conn[0]): Codec decision result: conn[1]: codec:AMR, pt:122 conn[0]: codec:AMR, pt:111 ===> SUCCESS: codec decision as expected! #10: test AMR with NULL param (oa <-> null) - add codecs on conn0: 0: 112 AMR/8000 octet-aligned=1 -> rc=0 - add codecs on conn1: 0: 122 AMR/8000 -> rc=0 - mgcp_codec_decide(&conn[0], &conn[1]): Codec decision result: conn[0]: codec:AMR, pt:112 conn[1]: codec:AMR, pt:122 - mgcp_codec_decide(&conn[1], &conn[0]): Codec decision result: conn[1]: codec:AMR, pt:122 conn[0]: codec:AMR, pt:112 ===> SUCCESS: codec decision as expected! #11: test AMR with NULL param (bwe <-> null) - add codecs on conn0: 0: 112 AMR/8000 octet-aligned=0 -> rc=0 - add codecs on conn1: 0: 122 AMR/8000 -> rc=0 - mgcp_codec_decide(&conn[0], &conn[1]): Codec decision result: conn[0]: codec:AMR, pt:112 conn[1]: codec:AMR, pt:122 - mgcp_codec_decide(&conn[1], &conn[0]): Codec decision result: conn[1]: codec:AMR, pt:122 conn[0]: codec:AMR, pt:112 ===> SUCCESS: codec decision as expected! #12: match FOO/8000/1 and FOO/8000 as identical, single channel is implicit - add codecs on conn0: 0: 0 PCMU/8000/1 -> rc=0 1: 111 GSM-HR-08/8000/1 -> rc=0 2: 112 AMR/8000/1 octet-aligned=1 -> rc=0 - add codecs on conn1: 0: 97 GSM-HR-08/8000 -> rc=0 1: 0 PCMU/8000 -> rc=0 2: 96 AMR/8000 octet-aligned=1 -> rc=0 - mgcp_codec_decide(&conn[0], &conn[1]): Codec decision result: conn[0]: codec:PCMU, pt:0 conn[1]: codec:PCMU, pt:0 - mgcp_codec_decide(&conn[1], &conn[0]): Codec decision result: conn[1]: codec:GSM-HR-08, pt:97 conn[0]: codec:GSM-HR-08, pt:111 ===> SUCCESS: codec decision as expected! #13: match FOO/8000/1 and FOO as identical, 8k and single channel are implicit - add codecs on conn0: 0: 0 PCMU/8000/1 -> rc=0 1: 111 GSM-HR-08/8000/1 -> rc=0 2: 112 AMR/8000/1 octet-aligned=1 -> rc=0 - add codecs on conn1: 0: 97 GSM-HR-08 -> rc=0 1: 0 PCMU -> rc=0 2: 96 AMR octet-aligned=1 -> rc=0 - mgcp_codec_decide(&conn[0], &conn[1]): Codec decision result: conn[0]: codec:PCMU, pt:0 conn[1]: codec:PCMU, pt:0 - mgcp_codec_decide(&conn[1], &conn[0]): Codec decision result: conn[1]: codec:GSM-HR-08, pt:97 conn[0]: codec:GSM-HR-08, pt:111 ===> SUCCESS: codec decision as expected! #14: test whether channel number matching is waterproof - add codecs on conn0: 0: 111 GSM-HR-08/8000 -> rc=0 1: 112 GSM-HR-08/8000/2 -> rc=-22 2: 113 GSM-HR-08/8000/3 -> rc=-22 - add codecs on conn1: 0: 122 GSM-HR-08/8000/2 -> rc=-22 1: 121 GSM-HR-08/8000/1 -> rc=0 - mgcp_codec_decide(&conn[0], &conn[1]): Codec decision result: conn[0]: codec:GSM-HR-08, pt:111 conn[1]: codec:GSM-HR-08, pt:121 - mgcp_codec_decide(&conn[1], &conn[0]): Codec decision result: conn[1]: codec:GSM-HR-08, pt:121 conn[0]: codec:GSM-HR-08, pt:111 ===> SUCCESS: codec decision as expected! Testing test_conn_id_matching needle='23AB' found '000023AB' needle='0023AB' found '000023AB' needle='000023AB' found '000023AB' needle='00000023AB' found '000023AB' needle='23ab' found '000023AB' needle='0023ab' found '000023AB' needle='000023ab' found '000023AB' needle='00000023ab' found '000023AB' Done