laforge submitted this change.

View Change

Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve
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(-)

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 */

To view, visit change 38913. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-MessageType: merged
Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: Ie8b69c3b59ea61e01adb24c71c1376335a5ddde6
Gerrit-Change-Number: 38913
Gerrit-PatchSet: 2
Gerrit-Owner: fixeria <vyanitskiy@sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge@osmocom.org>
Gerrit-Reviewer: osmith <osmith@sysmocom.de>
Gerrit-Reviewer: pespin <pespin@sysmocom.de>