summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPhilipp Maier <pmaier@sysmocom.de>2019-10-01 14:07:35 +0200
committerPhilipp Maier <pmaier@sysmocom.de>2019-10-01 14:07:35 +0200
commitbfaa4202060fae3693d33a6574dbe80bd8ca5f2d (patch)
tree1b971e366dd9a4fddb3707367dec4631f03527de
parent71b021ed1ddb1c3bb1808d5b7b3fe209d732a9eb (diff)
MGC_Test: test rtp directions separately in TC_ts101318_rfc5993_rtp_conversionpmaier/test_01102019
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
-rw-r--r--mgw/MGCP_Test.ttcn24
1 files changed, 19 insertions, 5 deletions
diff --git a/mgw/MGCP_Test.ttcn b/mgw/MGCP_Test.ttcn
index 86fc275..4f2d58e 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]);