fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/38913?usp=email )
Change subject: msc: fix a race condition in f_mt_call_establish() ......................................................................
msc: fix a race condition in f_mt_call_establish()
It can happen that the MSC sends a paging request quicker than function f_ran_register_imsi() returns (e.g. when a node executing the testsuite is under significant load). In this case the BSSMAP PAGING message is dropped by the RAN_Emulation CT:
CommonBssmapUnitdataCallback: IMSI/TMSI not found in table
This can be avoided by calling f_ran_register_imsi() *before* sending the MNCC SETUP.req, which is triggering paging.
This patch fixes sporadic failures of:
* TC_lu_and_mt_call * TC_lu_and_mt_call_ipv6 * TC_lu_and_mt_call_no_dlcx_resp
Change-Id: Ie8b69c3b59ea61e01adb24c71c1376335a5ddde6 --- M msc/BSC_ConnectionHandler.ttcn 1 file changed, 1 insertion(+), 1 deletion(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/13/38913/1
diff --git a/msc/BSC_ConnectionHandler.ttcn b/msc/BSC_ConnectionHandler.ttcn index b7d1b94..4444f37 100644 --- a/msc/BSC_ConnectionHandler.ttcn +++ b/msc/BSC_ConnectionHandler.ttcn @@ -1420,12 +1420,12 @@
function f_mt_call_establish(inout CallParameters cpars) runs on BSC_ConnHdlr { + f_ran_register_imsi(g_pars.imsi, g_pars.tmsi);
/* Initiate the call via MNCC */ f_mt_call_initiate(cpars);
/* BSC <- MSC: Expect paging. FIXME: By TMSI or not? */ - f_ran_register_imsi(g_pars.imsi, g_pars.tmsi); f_expect_paging()
/* Complete the call via BSSAP */