MGCP_Test: test rtp directions separately in TC_ts101318_rfc5993_rtp_conversion

The testcase TC_ts101318_rfc5993_rtp_conversion tests the RTP packet
format conversion of ts101318 to rfc5993 and vice versa. At the moment
the testcase sends RTP packets in both directions at the same time. In
order to simplify the test and to make race conditions less likely, lets
test both directions separately and add some guard time.

Change-Id: Id9b69587f7fb5f6b0da072ac5f4863fd4111e597
This commit is contained in:
Philipp Maier 2019-10-01 14:07:35 +02:00 committed by laforge
parent 42b17cc5f2
commit faa1d2fd9a
1 changed files with 20 additions and 6 deletions

View File

@ -1968,7 +1968,7 @@ module MGCP_Test {
f_vty_transceive(MGWVTY, "mgcp");
f_vty_transceive(MGWVTY, "rtp-patch rfc5993hr");
/* from us to MGW */
/* Connection #0 (Bidirectional) */
flow[0] := valueof(t_RtpFlow(mp_local_ip, mp_remote_ip, 111, "GSM-HR-08/8000"));
/* bind local RTP emulation sockets */
flow[0].em.portnr := 10000;
@ -1978,7 +1978,7 @@ module MGCP_Test {
flow[0].rtp_cfg.tx_fixed_payload := '0b11b3eede60be4e3ec68838c7b5'O;
f_flow_create(RTPEM[0], ep, call_id, "sendrecv", flow[0]);
/* from MGW back to us */
/* Connection #1 (Bidirectional) */
flow[1] := valueof(t_RtpFlow(mp_local_ip, mp_remote_ip, 111, "GSM-HR-08/8000"));
flow[1].em.portnr := 20000;
flow[1].rtp_cfg := c_RtpemDefaultCfg;
@ -1987,17 +1987,31 @@ module MGCP_Test {
flow[1].rtp_cfg.tx_fixed_payload := '000b11b3eede60be4e3ec68838c7b5'O;
f_flow_create(RTPEM[1], ep, call_id, "sendrecv", flow[1]);
f_rtpem_mode(RTPEM[1], RTPEM_MODE_BIDIR);
f_rtpem_mode(RTPEM[0], RTPEM_MODE_BIDIR);
/* Send RTP packets to connection #0, receive on connection #1 */
f_rtpem_mode(RTPEM[1], RTPEM_MODE_RXONLY);
f_sleep(0.5);
f_rtpem_mode(RTPEM[0], RTPEM_MODE_TXONLY);
f_sleep(1.0);
f_rtpem_mode(RTPEM[0], RTPEM_MODE_NONE);
f_sleep(0.5);
f_rtpem_mode(RTPEM[1], RTPEM_MODE_NONE);
/* Send RTP packets to connection #1, receive on connection #0 */
f_rtpem_mode(RTPEM[0], RTPEM_MODE_RXONLY);
f_sleep(0.5);
f_rtpem_mode(RTPEM[1], RTPEM_MODE_TXONLY);
f_sleep(1.0);
f_rtpem_mode(RTPEM[1], RTPEM_MODE_NONE);
f_sleep(0.5);
f_rtpem_mode(RTPEM[0], RTPEM_MODE_NONE);
/* Remove RTP flows and check statistics */
f_flow_delete(RTPEM[0]);
f_flow_delete(RTPEM[1], ep, call_id);
/* Check for errors */
stats[0] := f_rtpem_stats_get(RTPEM[0]);
stats[1] := f_rtpem_stats_get(RTPEM[1]);
f_rtpem_stats_err_check(stats[0]);
f_rtpem_stats_err_check(stats[1]);