Change in osmo-ttcn3-hacks[master]: bsc: add TC_reassignment_fr()

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/.

neels gerrit-no-reply at lists.osmocom.org
Thu May 27 00:38:23 UTC 2021


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

Change subject: bsc: add TC_reassignment_fr()
......................................................................

bsc: add TC_reassignment_fr()

osmo-bsc does now support intra-cell re-Assignment of lchans with active
voice. Test re-Assignment of TCH/F, triggered by VTY command.

Change-Id: I05fecefb9d6f9f23a0362f133170bca4da92e308
---
M bsc/BSC_Tests.ttcn
1 file changed, 89 insertions(+), 0 deletions(-)

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



diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn
index 889a64d..abcfece 100644
--- a/bsc/BSC_Tests.ttcn
+++ b/bsc/BSC_Tests.ttcn
@@ -8671,6 +8671,93 @@
 	}
 }
 
+private function f_TC_reassignment_codec(charstring id) runs on MSC_ConnHdlr {
+	/* First fully set up a speech lchan */
+	f_TC_assignment_codec(id);
+
+	/* Trigger re-assignment to another lchan */
+	var AssignmentState assignment_st := valueof(ts_AssignmentStateInit);
+
+	/* Re-Assignment should tell the MGW endpoint the new lchan's RTP address and port, so expecting to see exactly
+	 * one MDCX on MGCP. */
+	g_media.mgcp_conn[0].mdcx_seen_exp := g_media.mgcp_conn[0].mdcx_seen_exp + 1;
+
+	/* The new lchan will see all-new IPAC_CRCX and IPAC_MDCX messages telling the BTS the same RTP address and port
+	 * as the old lchan used. */
+	g_media.bts.ipa_crcx_seen := false;
+	g_media.bts.ipa_mdcx_seen := false;
+
+	/* Send different BTS side RTP port number for the new lchan */
+	g_media.bts.bts.port_nr := 4223;
+
+	f_rslem_register(0, valueof(ts_RslChanNr_Bm(2))); /* <-- FIXME: can we somehow infer the timeslot that will be used? */
+
+	/* Trigger re-assignment. */
+	f_vty_transceive(BSCVTY, "bts 0 trx 0 timeslot " & int2str(g_chan_nr.tn) & " sub-slot 0 assignment");
+
+	timer T := 5.0;
+	T.start;
+	alt {
+	[] as_assignment(assignment_st);
+	[] as_Media();
+	[] T.timeout {
+			break;
+		}
+	}
+
+	if (not assignment_st.assignment_done) {
+		setverdict(fail, "Assignment did not complete");
+		mtc.stop;
+	}
+
+	f_check_mgcp_expectations()
+	setverdict(pass);
+
+	f_sleep(2.0);
+	log("show lchan summary: ", f_vty_transceive_ret(BSCVTY, "show lchan summary"));
+
+	/* Instruct BSC to clear channel */
+	var BssmapCause cause := 0;
+	BSSAP.send(ts_BSSMAP_ClearCommand(cause));
+	interleave {
+	[] MGCP.receive(tr_DLCX) {}
+	[] MGCP.receive(tr_DLCX) {}
+	[] RSL.receive(tr_RSL_DATA_REQ(g_chan_nr, ?, decmatch tr_RRM_RR_RELEASE)) {}
+	[] RSL.receive(tr_RSL_DEACT_SACCH(g_chan_nr)) {}
+	[] RSL.receive(tr_RSL_MsgTypeD(RSL_MT_RF_CHAN_REL)) {
+			RSL.send(ts_RSL_RF_CHAN_REL_ACK(g_chan_nr));
+		}
+	[] BSSAP.receive(tr_BSSMAP_ClearComplete) {
+			BSSAP.send(RAN_Conn_Prim:MSC_CONN_PRIM_DISC_REQ);
+		}
+	}
+
+	f_sleep(0.5);
+}
+
+testcase TC_reassignment_fr() runs on test_CT {
+	var TestHdlrParams pars := f_gen_test_hdlr_pars();
+	var MSC_ConnHdlr vc_conn;
+
+	f_init(1, true);
+	f_sleep(1.0);
+
+	f_ctrs_bsc_and_bts_init();
+
+	pars.ass_codec_list := valueof(ts_BSSMAP_IE_CodecList({ts_CodecFR}));
+	vc_conn := f_start_handler(refers(f_TC_reassignment_codec), pars);
+	vc_conn.done;
+
+	/* from f_establish_fully() */
+	f_ctrs_bsc_and_bts_add(0, "assignment:attempted");
+	f_ctrs_bsc_and_bts_add(0, "assignment:completed");
+	/* from re-assignment */
+	f_ctrs_bsc_and_bts_add(0, "assignment:attempted");
+	f_ctrs_bsc_and_bts_add(0, "assignment:completed");
+	f_ctrs_bsc_and_bts_verify();
+	f_shutdown_helper();
+}
+
 
 control {
 	/* CTRL interface testing */
@@ -8935,6 +9022,8 @@
 
 	execute( TC_refuse_chan_act_to_vamos() );
 	execute( TC_refuse_mode_modif_to_vamos() );
+
+	execute( TC_reassignment_fr() );
 }
 
 }

-- 
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24408
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: I05fecefb9d6f9f23a0362f133170bca4da92e308
Gerrit-Change-Number: 24408
Gerrit-PatchSet: 1
Gerrit-Owner: neels <nhofmeyr at sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy at sysmocom.de>
Gerrit-Reviewer: neels <nhofmeyr at sysmocom.de>
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/20210527/20d80276/attachment.htm>


More information about the gerrit-log mailing list