msc: TC_ho_inter_bsc_csd: new test

Related: OS#4394
Change-Id: I391856282d046e915c374e0efb06d4da870bff1f
diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn
index 25d6a10..7c4d8ba 100644
--- a/msc/MSC_Tests.ttcn
+++ b/msc/MSC_Tests.ttcn
@@ -414,6 +414,7 @@
 		ran_is_geran := ran_is_geran,
 		use_osmux := use_osmux,
 		use_ipv6 := false,
+		use_csd := false,
 		verify_cell_id := verify_cell_id,
 		common_id_last_eutran_plmn := omit
 	};
@@ -5773,6 +5774,9 @@
 		cpars.mgw_conn_2.mgw_rtp_ip := "::2";
 		cpars.bss_rtp_ip := "::3";
 	}
+	if (pars.use_csd) {
+		f_set_cpars_csd(cpars, "BS25T", '1'B, GSM48_BCAP_TR_TRANSP, GSM48_BCAP_UR_4800);
+	}
 
 	f_init_handler(pars);
 
@@ -5949,13 +5953,14 @@
 	f_expect_clear();
 	setverdict(pass);
 }
-function f_tc_ho_inter_bsc_main(boolean use_ipv6 := false, integer a5_n := 0) runs on MTC_CT {
+function f_tc_ho_inter_bsc_main(boolean use_ipv6 := false, integer a5_n := 0, boolean use_csd := false) runs on MTC_CT {
 	var BSC_ConnHdlr vc_conn0;
 	var BSC_ConnHdlr vc_conn1;
 	f_init(2);
 
 	var BSC_ConnHdlrPars pars0 := f_init_pars(53);
 	pars0.use_ipv6 := use_ipv6;
+	pars0.use_csd := use_csd;
 	pars0.net.expect_ciph := a5_n > 0;
 	pars0.net.expect_auth := pars0.net.expect_ciph;
 	pars0.net.kc_support := bit2oct('00000001'B << a5_n);
@@ -5970,6 +5975,7 @@
 
 	var BSC_ConnHdlrPars pars1 := f_init_pars(53);
 	pars1.use_ipv6 := use_ipv6;
+	pars1.use_csd := use_csd;
 	pars1.net.expect_ciph := pars0.net.expect_ciph;
 	pars1.net.expect_auth := pars0.net.expect_ciph;
 	pars1.net.kc_support := bit2oct('00000001'B << a5_n);
@@ -6008,6 +6014,9 @@
 testcase TC_ho_inter_bsc_ipv6() runs on MTC_CT {
 	f_tc_ho_inter_bsc_main(true);
 }
+testcase TC_ho_inter_bsc_csd() runs on MTC_CT {
+	f_tc_ho_inter_bsc_main(use_csd := true);
+}
 
 function f_ML3_patch_seq_nr_MS_NW(in uint2_t seq_nr, inout octetstring enc_l3) {
 	log("MS_NW patching N(SD)=", seq_nr, " into dtap ", enc_l3);
@@ -7412,6 +7421,7 @@
 	execute( TC_ho_inter_bsc_a5_3() );
 	execute( TC_ho_inter_bsc_a5_4() );
 	execute( TC_ho_inter_bsc_ipv6() );
+	execute( TC_ho_inter_bsc_csd() );
 
 	execute( TC_ho_inter_msc_out() );
 	execute( TC_ho_inter_msc_out_a5_1() );