aboutsummaryrefslogtreecommitdiffstats
path: root/msc
diff options
context:
space:
mode:
authorNeels Hofmeyr <nhofmeyr@sysmocom.de>2022-07-25 22:07:24 +0200
committerneels <nhofmeyr@sysmocom.de>2022-08-12 02:30:54 +0000
commitd8a4aee1c6a80350791507b09343e8e89e8beb35 (patch)
tree52d651ceac8b38fe1b3f262c207d938de28f50df /msc
parent9b94149ef9e5bbe5a630ef0037eb603c8d2818dc (diff)
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
Diffstat (limited to 'msc')
-rw-r--r--msc/MSC_Tests.ttcn30
1 files changed, 18 insertions, 12 deletions
diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn
index 79221d7c..d6e0aba8 100644
--- a/msc/MSC_Tests.ttcn
+++ b/msc/MSC_Tests.ttcn
@@ -1771,25 +1771,31 @@ friend function f_tc_mt_t310(charstring id, BSC_ConnHdlrPars pars) runs on BSC_C
/* 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);