Change in osmo-ttcn3-hacks[master]: mgw: Fix logic in test TC_two_crcx_mdcx_and_rtp

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

pespin gerrit-no-reply at lists.osmocom.org
Wed Sep 9 12:22:43 UTC 2020


pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/20034 )

Change subject: mgw: Fix logic in test TC_two_crcx_mdcx_and_rtp
......................................................................

mgw: Fix logic in test TC_two_crcx_mdcx_and_rtp

rtpem should be set to BIDIR at the same time where MDCX "sendrecv" is
sent, otherwise if MGW sends us RTP packets (because we set the conn to
sendrecv) they will be counted incorrectly in
stats[0].num_pkts_rx_err_disabled.

This issue doesn't trigger in current code because the MGW doesn't know
anyway the remote IP address of the other connection until an MDCX is
sent to it. However, if for whatever reason the IP address is known (for
instance because it is set during CRCX, which will be done in next
commits), then RTP messages would be sent and the error counter would
be > 0.

Change-Id: I653eb75439321f9a488dc56dca5d3fc5a8811547
---
M mgw/MGCP_Test.ttcn
1 file changed, 13 insertions(+), 14 deletions(-)

Approvals:
  laforge: Looks good to me, but someone else must approve
  fixeria: Looks good to me, but someone else must approve
  pespin: Looks good to me, approved
  Jenkins Builder: Verified



diff --git a/mgw/MGCP_Test.ttcn b/mgw/MGCP_Test.ttcn
index deb9f3e..429d337 100644
--- a/mgw/MGCP_Test.ttcn
+++ b/mgw/MGCP_Test.ttcn
@@ -1754,12 +1754,12 @@
 		f_sleep(0.5);
 		stats[0] := f_rtpem_stats_get(RTPEM[0]);
 		if (stats[0].num_pkts_rx_err_disabled != 0) {
-			setverdict(fail, "received packets from MGW on recvonly connection");
+			setverdict(fail, "received packets from MGW on recvonly connection 0");
 			mtc.stop;
 		}
 		stats[1] := f_rtpem_stats_get(RTPEM[1]);
 		if (stats[1].num_pkts_rx_err_disabled != 0) {
-			setverdict(fail, "received packets from MGW on recvonly connection");
+			setverdict(fail, "received packets from MGW on recvonly connection 1");
 			mtc.stop;
 		}
 
@@ -1768,40 +1768,39 @@
 		f_sleep(1.0);
 		stats[0] := f_rtpem_stats_get(RTPEM[0]);
 		if (stats[0].num_pkts_rx_err_disabled != 0) {
-			setverdict(fail, "received packets from MGW on recvonly connection");
+			setverdict(fail, "received packets from MGW on recvonly connection 0");
 			mtc.stop;
 		}
 		stats[1] := f_rtpem_stats_get(RTPEM[1]);
 		if (stats[1].num_pkts_rx_err_disabled != 0) {
-			setverdict(fail, "received packets from MGW on recvonly connection");
+			setverdict(fail, "received packets from MGW on recvonly connection 1");
 			mtc.stop;
 		}
 
 		/* The first leg will now be switched into bidirectional
 		 * mode, but we do not expect any data comming back yet. */
+		f_rtpem_mode(RTPEM[0], RTPEM_MODE_BIDIR);
+		stats[1] := f_rtpem_stats_get(RTPEM[1]);
+		num_pkts_tx[1] := stats[1].num_pkts_tx;
 		f_flow_modify(RTPEM[0], ep, call_id, "sendrecv", flow[0]);
 		f_sleep(0.5);
 		stats[0] := f_rtpem_stats_get(RTPEM[0]);
-		if (stats[1].num_pkts_rx_err_disabled != 0) {
-			setverdict(fail, "received packets from MGW on recvonly connection");
+		if (stats[0].num_pkts_rx_err_disabled != 0) {
+			setverdict(fail, "received packets from MGW on recvonly connection 0");
 			mtc.stop;
 		}
 		stats[1] := f_rtpem_stats_get(RTPEM[1]);
 		if (stats[1].num_pkts_rx_err_disabled != 0) {
-			setverdict(fail, "received packets from MGW on recvonly connection");
+			setverdict(fail, "received packets from MGW on recvonly connection 1");
 			mtc.stop;
 		}
 
 		/* When the second leg is switched into bidirectional mode
 		 * as well, then the MGW will connect the two together and
 		 * we should see RTP streams passing through from both ends. */
-		f_rtpem_mode(RTPEM[0], RTPEM_MODE_BIDIR);
 		f_rtpem_mode(RTPEM[1], RTPEM_MODE_BIDIR);
 		stats[0] := f_rtpem_stats_get(RTPEM[0]);
-		num_pkts_tx[0] := stats[0].num_pkts_tx
-		stats[1] := f_rtpem_stats_get(RTPEM[1]);
-		num_pkts_tx[1] := stats[1].num_pkts_tx
-
+		num_pkts_tx[0] := stats[0].num_pkts_tx;
 		f_flow_modify(RTPEM[1], ep, call_id, "sendrecv", flow[1]);
 		f_sleep(2.0);
 
@@ -1810,13 +1809,13 @@
 
 		temp := stats[0].num_pkts_tx - num_pkts_tx[0] - stats[1].num_pkts_rx;
 		if (temp > 3 or temp < -3) {
-			setverdict(fail, "number of packets not within normal parameters");
+			setverdict(fail, "number of packets not within normal parameters:", temp);
 			mtc.stop;
 		}
 
 		temp := stats[1].num_pkts_tx - num_pkts_tx[1] - stats[0].num_pkts_rx;
 		if (temp > 3 or temp < -3) {
-			setverdict(fail, "number of packets not within normal parameters");
+			setverdict(fail, "number of packets not within normal parameters:", temp);
 			mtc.stop;
 		}
 

-- 
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/20034
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: I653eb75439321f9a488dc56dca5d3fc5a8811547
Gerrit-Change-Number: 20034
Gerrit-PatchSet: 3
Gerrit-Owner: pespin <pespin at sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy at sysmocom.de>
Gerrit-Reviewer: laforge <laforge at osmocom.org>
Gerrit-Reviewer: pespin <pespin at sysmocom.de>
Gerrit-MessageType: merged
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20200909/3b1b14c3/attachment.htm>


More information about the gerrit-log mailing list