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));