aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOliver Smith <osmith@sysmocom.de>2023-07-10 15:03:31 +0200
committerOliver Smith <osmith@sysmocom.de>2023-07-18 09:45:26 +0200
commitbf0858869aa7e425a43f401f997c304f87a41daf (patch)
tree2e1beff6d414ee113bee240e3f1e80d85289a1b7
parentf1219aa47ed43b0f93d961680f6142208af9c998 (diff)
msc: f_call_hangup: add missing rx MNCC_REL_cnf
Add the missing rx of MNCC_REL_cnf to f_call_hangup for the MO case (called with release_by_ms = false, see f_mo_call()). This is in preparation for running f_mo_call several times in a row to test multiple bearer services in a CSD test (follow up patch). Without this patch, calling f_mo_call_establish() for the second time fails to rx the MNCC_RTP_CREATE because the REL cnf is still in the port. This leads to a timeout of X2 and OsmoMSC sending a CC RELEASE. Adjust the log numbers next to f_call_hangup to re-use numbers 2 and 3 from above, as only one of the two code paths gets executed (similar to numbers 5 and 6 below). Related: OS#4394 Change-Id: Ia2ed7ce092e73e17c4243e83bfd239ead8266b49
-rw-r--r--msc/BSC_ConnectionHandler.ttcn4
1 files changed, 3 insertions, 1 deletions
diff --git a/msc/BSC_ConnectionHandler.ttcn b/msc/BSC_ConnectionHandler.ttcn
index 1359dc77..996f54a9 100644
--- a/msc/BSC_ConnectionHandler.ttcn
+++ b/msc/BSC_ConnectionHandler.ttcn
@@ -1801,8 +1801,10 @@ runs on BSC_ConnHdlr {
/* A-side (PLMN) Release of call */
MNCC.send(ts_MNCC_REL_req(cpars.mncc_callref, valueof(ts_MNCC_cause(42))));
BSSAP.receive(tr_PDU_DTAP_MT(tr_ML3_MT_CC_RELEASE(cpars.transaction_id)));
- log("f_call_hangup 4: rx DTAP CC RELEASE");
+ log("f_call_hangup 2.a: rx DTAP CC RELEASE");
BSSAP.send(ts_PDU_DTAP_MO(ts_ML3_MO_CC_REL_COMPL(cpars.transaction_id)));
+ log("f_call_hangup 3.a: rx MNCC REL cnf");
+ MNCC.receive(tr_MNCC_REL_cnf(cpars.mncc_callref, cause := *));
}
respond_to_dlcx := not (isbound(cpars.mgw_drop_dlcx) and valueof(cpars.mgw_drop_dlcx));