msc: Make use of MGCP_Emulation in f_tc_lu_and_mo_call

Change-Id: Id33f17007b99776129e99625f8f6258a1653d863
diff --git a/msc_tests/MSC_Tests.ttcn b/msc_tests/MSC_Tests.ttcn
index 87e3e78..aee0165 100644
--- a/msc_tests/MSC_Tests.ttcn
+++ b/msc_tests/MSC_Tests.ttcn
@@ -547,20 +547,34 @@
 	var hexstring called := '12345'H;
 	var integer tid := 0;
 	var MNCC_PDU mncc;
+	var MgcpCommand mgcp_cmd;
 	f_create_mncc_expect(hex2str(called));
+	f_create_mgcp_expect(ExpectCriteria:{omit,omit,omit});
 
 	BSSAP.send(ts_PDU_DTAP_MO(ts_ML3_MO_CC_SETUP(tid, called)));
-	MNCC.receive(tr_MNCC_SETUP_ind(?, tr_MNCC_number(hex2str(called)))) -> value mncc;
-	/* FIXME: extract call_id */
-
-	/* Call Proceeding */
-	MNCC.send(ts_MNCC_CALL_PROC_req(mncc.u.signal.callref, ts_MNCC_bcap_voice));
-	BSSAP.receive(tr_PDU_DTAP_MT(tr_ML3_MT_CC_CALL_PROC(tid)));
+	interleave {
+	[] MNCC.receive(tr_MNCC_SETUP_ind(?, tr_MNCC_number(hex2str(called)))) -> value mncc {
+		/* FIXME: extract call_id */
+		/* Call Proceeding */
+		MNCC.send(ts_MNCC_CALL_PROC_req(mncc.u.signal.callref, ts_MNCC_bcap_voice));
+		BSSAP.receive(tr_PDU_DTAP_MT(tr_ML3_MT_CC_CALL_PROC(tid)));
+		};
+	[] MGCP.receive(tr_CRCX) -> value mgcp_cmd {
+		var SDP_Message sdp := valueof(ts_SDP("127.0.0.2", "127.0.0.1", "23", "42", 1234,
+							{ "98" },
+							{ valueof(ts_SDP_rtpmap(98, "AMR/8000")),
+							  valueof(ts_SDP_ptime(20)) }));
+		MGCP.send(ts_CRCX_ACK(mgcp_cmd.line.trans_id, '1234'H, sdp));
+		}
+	}
 
 	/* Alerting */
 	MNCC.send(ts_MNCC_ALERT_req(mncc.u.signal.callref));
 	BSSAP.receive(tr_PDU_DTAP_MT(tr_ML3_MT_CC_ALERTING(tid)));
 
+	BSSAP.receive(tr_BSSMAP_AssignmentReq);
+	BSSAP.send(ts_BSSMAP_AssignmentComplete);
+
 	/* Answer. This causes TCH assignment in case of "late assignment" */
 	MNCC.send(ts_MNCC_SETUP_COMPL_req(mncc.u.signal.callref));