From 2e7a848ea3b91d8eefbb1ae13d0cb88af9c05b3f Mon Sep 17 00:00:00 2001 From: Stefan Sperling Date: Mon, 12 Feb 2018 21:08:28 +0100 Subject: Add a test for OS#2714, "close RSL connections from unknown Unit ID" This is work in progress. The new test currently does not build: $ make bsc 2>&1 | grep error: BSC_Tests.ttcn:1258.41-52: error: Component type `@BSC_Tests.test_CT' does not have port with name `IPA_CODEC_PT' Change-Id: I6a947d7411a016e4d7650031396cae3575756453 --- bsc/BSC_Tests.ttcn | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 086830a6..a0fc11f0 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -1236,6 +1236,45 @@ testcase TC_rsl_drop_counter() runs on test_CT { /* TODO: Test OML link drop causes counter increment */ +/* BSC should close an RSL connection from a BTS with unknown unit ID (OS#2714). */ +testcase TC_rsl_unknown_unit_id() runs on test_CT { + timer T := 10.0; + + bts[0].rsl.id := "IPA-0-RSL"; + bts[0].rsl.vc_IPA := IPA_Emulation_CT.create(bts[0].rsl.id & "-IPA"); + bts[0].rsl.ccm_pars := c_IPA_default_ccm_pars; + bts[0].rsl.ccm_pars.name := "Osmocom TTCN-3 BTS Simulator"; + bts[0].rsl.ccm_pars.unit_id := "0/0/0"; /* value which is unknown at BTS */ + + /* Call a function of our 'parent component' BSSAP_Adapter_CT to start the + * MSC-side BSSAP emulation */ + f_bssap_init("VirtMSC", omit); + + f_ipa_ctrl_start(mp_bsc_ip, mp_bsc_ctrl_port); + + f_init_mgcp("VirtMSC"); + + /* start RSL connection */ + map(bts[0].rsl.vc_IPA:IPA_PORT, system:IPA_CODEC_PT); + connect(bts[0].rsl.vc_IPA:IPA_RSL_PORT, self:IPA_RSL[0]); + bts[0].rsl.vc_IPA.start(IPA_Emulation.main_client(mp_bsc_ip, mp_bsc_rsl_port, "", 10000, bts[0].rsl.ccm_pars)); + + /* wait for IPA RSL link to connect and then disconnect */ + T.start; + alt { + [] IPA_RSL[0].receive(ASP_IPA_Event:{up_down := ASP_IPA_EVENT_DOWN}) { + T.stop; + setverdict(pass); + } + [] IPA_RSL[0].receive { repeat } + [] T.timeout { + setverdict(fail, "Timeout RSL waiting for connection to close"); + self.stop; + } + } +} + + /*********************************************************************** * "New world" test cases using RSL_Emulation + BSSMAP_Emulation ***********************************************************************/ @@ -1594,6 +1633,7 @@ control { execute( TC_paging_imsi_load() ); execute( TC_rsl_drop_counter() ); + execute( TC_rsl_unknown_unit_id() ); execute( TC_classmark() ); execute( TC_unsol_ass_fail() ); -- cgit v1.2.3