From bfaa4202060fae3693d33a6574dbe80bd8ca5f2d Mon Sep 17 00:00:00 2001 From: Philipp Maier Date: Tue, 1 Oct 2019 14:07:35 +0200 Subject: MGC_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 --- mgw/MGCP_Test.ttcn | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/mgw/MGCP_Test.ttcn b/mgw/MGCP_Test.ttcn index 86fc275a..4f2d58e2 100644 --- a/mgw/MGCP_Test.ttcn +++ b/mgw/MGCP_Test.ttcn @@ -1961,7 +1961,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; @@ -1971,7 +1971,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; @@ -1980,17 +1980,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]); -- cgit v1.2.3