msc: new test: TC_lu_and_mt_csd

Related: OS#4394
Change-Id: Ie1701546e3dc18a5b0da4608b44a580237c979a6
diff --git a/msc/BSC_ConnectionHandler.ttcn b/msc/BSC_ConnectionHandler.ttcn
index 3d7dc07..039a97d 100644
--- a/msc/BSC_ConnectionHandler.ttcn
+++ b/msc/BSC_ConnectionHandler.ttcn
@@ -1057,10 +1057,17 @@
 /* Allocate a call reference and send SETUP via MNCC to MSC */
 function f_mt_call_initiate(inout CallParameters cpars)
 runs on BSC_ConnHdlr {
+	var template MNCC_bearer_cap bcap := ts_MNCC_bcap_voice;
+
+	if (cpars.csd) {
+		bcap := ts_MNCC_bcap_data;
+	}
+
 	cpars.mo_call := false;
 	cpars.mncc_callref := f_rnd_int(2147483648);
+
 	MNCC.send(ts_MNCC_SETUP_req(cpars.mncc_callref, hex2str(g_pars.msisdn),
-					hex2str(cpars.called_party), hex2str(g_pars.imsi)));
+					hex2str(cpars.called_party), hex2str(g_pars.imsi), bcap));
 }
 
 private template (value) SDP_Message ts_SDP_CRCX_CN(CallParameters cpars) :=
diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn
index 9650b3e..22b308e 100644
--- a/msc/MSC_Tests.ttcn
+++ b/msc/MSC_Tests.ttcn
@@ -7202,6 +7202,21 @@
 	vc_conn.done;
 }
 
+friend function f_tc_lu_and_mt_csd(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr {
+	f_init_handler(pars);
+	var CallParameters cpars := valueof(t_CallParams);
+	cpars.csd := true;
+	f_perform_lu();
+	f_mt_call(cpars);
+}
+testcase TC_lu_and_mt_csd() runs on MTC_CT {
+	var BSC_ConnHdlr vc_conn;
+	f_init();
+
+	vc_conn := f_start_handler(refers(f_tc_lu_and_mt_csd), 7);
+	vc_conn.done;
+}
+
 control {
 	execute( TC_cr_before_reset() );
 	execute( TC_lu_imsi_noauth_tmsi() );
@@ -7381,6 +7396,7 @@
 	execute( TC_auth_options_11() );
 
 	execute( TC_lu_and_mo_csd() );
+	execute( TC_lu_and_mt_csd() );
 }