bsc: TC_assignment_csd: test more transp data rates

Related: OS#4393
Change-Id: I9a5f0e630fefcafb1b26eabba73de7e76d9e7e5d
diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn
index ecd9953..0844955 100644
--- a/bsc/BSC_Tests.ttcn
+++ b/bsc/BSC_Tests.ttcn
@@ -1849,7 +1849,7 @@
 	return dt;
 }
 
-private function f_tc_assignment_csd(charstring id) runs on MSC_ConnHdlr {
+private function f_tc_assignment_csd(charstring data_rate_str, OCT1 data_rate) runs on MSC_ConnHdlr {
 	var template PDU_BSSAP exp_compl := f_gen_exp_compl();
 	var PDU_BSSAP ass_cmd := f_gen_ass_req();
 	var SDP_FIELD_PayloadType pt_csd := PT_CSD;
@@ -1857,7 +1857,11 @@
 	ass_cmd.pdu.bssmap.assignmentRequest.channelType := valueof(ts_BSSMAP_IE_ChannelTypeCSD);
 	ass_cmd.pdu.bssmap.assignmentRequest.codecList := valueof(ts_BSSMAP_IE_CodecList({ts_CodecCSData}));
 
-	ass_cmd.pdu.bssmap.assignmentRequest.channelType.speechId_DataIndicator := GSM0808_DATA_RATE_TRANSP_4k8;
+	ass_cmd.pdu.bssmap.assignmentRequest.channelType.speechId_DataIndicator := data_rate;
+
+	log("-----------------------------------------------");
+	log("Assignment req with data rate: " & data_rate_str);
+	log("-----------------------------------------------");
 
 	f_establish_fully(ass_cmd, exp_compl);
 
@@ -1867,15 +1871,26 @@
 
 	f_perform_clear();
 }
+private function f_tc_assignment_csd_all(charstring id) runs on MSC_ConnHdlr {
+	/* Data rates that require multi-slot HSCSD assignment are not tested
+	 * on purpuse (not supported): T_32k0, T_28k8 */
+	f_tc_assignment_csd("T_14k4", GSM0808_DATA_RATE_TRANSP_14k4);
+	f_tc_assignment_csd("T_9k6", GSM0808_DATA_RATE_TRANSP_9k6);
+	f_tc_assignment_csd("T_4k8", GSM0808_DATA_RATE_TRANSP_4k8);
+	f_tc_assignment_csd("T_2k4", GSM0808_DATA_RATE_TRANSP_2k4);
+	f_tc_assignment_csd("T_1k2", GSM0808_DATA_RATE_TRANSP_1k2);
+	f_tc_assignment_csd("T_600", GSM0808_DATA_RATE_TRANSP_600);
+	f_tc_assignment_csd("T_1200_75", GSM0808_DATA_RATE_TRANSP_1200_75);
+}
 testcase TC_assignment_csd() runs on test_CT {
 	if (Misc_Helpers.f_osmo_repo_is("nightly")) { /* osmo-bsc > 1.10.0 */
 		var MSC_ConnHdlr vc_conn;
 		var TestHdlrParams pars := f_gen_test_hdlr_pars();
 		pars.encr := valueof(t_EncrParams('01'O, f_rnd_octstring(8)));
 
-		f_init(1, true);
+		f_init(1, true, guard_timeout := 90.0);
 		f_sleep(1.0);
-		vc_conn := f_start_handler(refers(f_tc_assignment_csd), pars);
+		vc_conn := f_start_handler(refers(f_tc_assignment_csd_all), pars);
 		vc_conn.done;
 	} else {
 		var template PDU_BSSAP exp_fail := tr_BSSMAP_AssignmentFail;