neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/29024 )
Change subject: msc: f_tc_mt_t310: allow CRCX in either order ......................................................................
msc: f_tc_mt_t310: allow CRCX in either order
continued from Id0c98bc267daff352fc7db7712f967111970fd4d
Upcoming changes to osmo-msc move the CN side CRCX to an earlier point in time, reversing that order. Introduce an 'interleave' to not care about the ordering of MGCP and BSSAP messages.
Related: SYS#5066 Related: Ie433db1ba0c46d4b97538a969233c155cefac21c (osmo-msc) Change-Id: I0ec348df08aa49ed58b3465de51b259fb74c0aea --- M msc/MSC_Tests.ttcn 1 file changed, 18 insertions(+), 12 deletions(-)
Approvals: laforge: Looks good to me, but someone else must approve daniel: Looks good to me, approved Jenkins Builder: Verified
diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index 79221d7..d6e0aba 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -1771,25 +1771,31 @@
/* NOTE: MSC is expected to start T310 here */
+ interleave { /* MSC->MGW: CRCX (first) */ - MGCP.receive(tr_CRCX) -> value mgcp_cmd; - f_handle_crcx(cpars, mgcp_cmd); /* MSC<-MGW: OK */ + [] MGCP.receive(tr_CRCX) -> value mgcp_cmd { + f_handle_crcx(cpars, mgcp_cmd); /* MSC<-MGW: OK */ + }
/* BSC->BSC: BSSMAP ASSIGNMENT REQ */ - BSSAP.receive(tr_BSSMAP_AssignmentReq(omit, ?)) -> value bssap; - BSSAP.send(ts_BSSMAP_AssignmentComplete(omit, - aoip := f_ts_BSSMAP_IE_AoIP_TLA(cpars.bss_rtp_ip, cpars.bss_rtp_port), - speechCodec := ts_BSSMAP_IE_SpeechCodec({ ts_CodecFR }))); + [] BSSAP.receive(tr_BSSMAP_AssignmentReq(omit, ?)) -> value bssap { + BSSAP.send(ts_BSSMAP_AssignmentComplete(omit, + aoip := f_ts_BSSMAP_IE_AoIP_TLA(cpars.bss_rtp_ip, cpars.bss_rtp_port), + speechCodec := ts_BSSMAP_IE_SpeechCodec({ ts_CodecFR }))); + }
/* MSC->MGW: MDCX */ - MGCP.receive(tr_MDCX) -> value mgcp_cmd; - MGCP.send(ts_MDCX_ACK(mgcp_cmd.line.trans_id, cpars.mgw_conn_1.mgcp_connection_id, - sdp := omit)); + [] MGCP.receive(tr_MDCX) -> value mgcp_cmd { + MGCP.send(ts_MDCX_ACK(mgcp_cmd.line.trans_id, cpars.mgw_conn_1.mgcp_connection_id, + sdp := omit)); + }
/* MSC->MGW: CRCX (second) */ - MGCP.receive(tr_CRCX) -> value mgcp_cmd; - f_handle_crcx(cpars, mgcp_cmd); /* MSC<-MGW: OK */ - MNCC.receive(tr_MNCC_RTP_CREATE(cpars.mncc_callref)); + [] MGCP.receive(tr_CRCX) -> value mgcp_cmd { + f_handle_crcx(cpars, mgcp_cmd); /* MSC<-MGW: OK */ + MNCC.receive(tr_MNCC_RTP_CREATE(cpars.mncc_callref)); + } + }
/* Reschedule the guard timeout */ g_Tguard.start(30.0 + 10.0);