bsc: Introduce test TC_paging_resp_unsol

With this test we want to verify that channels are released if BSC fails
to complete an L3 request, for instance because no pending Paging
CMD is found for a received Paging Response.

Related: OS#3680
Change-Id: Iabe8a51aa13d2fcfec4500cf7aab47d60cc138ce
This commit is contained in:
Pau Espin 2018-11-05 12:41:05 +01:00 committed by Harald Welte
parent a14a8af5fd
commit 3466cc53d8
2 changed files with 27 additions and 1 deletions

View File

@ -1466,6 +1466,30 @@ testcase TC_paging_imsi_a_reset() runs on test_CT {
f_shutdown_helper();
}
/* Verify how we handle unsolicited Paging Response, for instance because we
* receive a Paging Response after T3113 expired (and subscriber information was
* dropped). See OS#3680.
*/
testcase TC_paging_resp_unsol() runs on test_CT {
f_init(1);
var BSSAP_N_CONNECT_ind rx_c_ind;
var DchanTuple dt;
var PDU_ML3_MS_NW l3 := valueof(ts_PAG_RESP(valueof(ts_MI_IMSI_LV('001010008880018'H))));
/* Send CHAN RQD and wait for allocation; acknowledge it */
dt.rsl_chan_nr := f_chreq_act_ack();
/* Send unsolicited Paging response (no matching Paging CMD stored in BSC) */
f_ipa_tx(0, ts_RSL_EST_IND(dt.rsl_chan_nr, valueof(ts_RslLinkID_DCCH(0)), enc_PDU_ML3_MS_NW(l3)));
/* expect BSC to disable the channel */
f_expect_chan_rel(0, dt.rsl_chan_nr);
setverdict(pass);
}
/* Test RSL link drop causes counter increment */
testcase TC_rsl_drop_counter() runs on test_CT {
var integer rsl_fail;
@ -3407,6 +3431,7 @@ control {
execute( TC_paging_imsi_a_reset() );
execute( TC_paging_imsi_load() );
execute( TC_paging_counter() );
execute( TC_paging_resp_unsol() );
execute( TC_rsl_drop_counter() );
execute( TC_rsl_unknown_unit_id() );

View File

@ -1,5 +1,5 @@
<?xml version="1.0"?>
<testsuite name='BSC_Tests' tests='94' failures='0' errors='0' skipped='0' inconc='0' time='MASKED'>
<testsuite name='BSC_Tests' tests='95' failures='0' errors='0' skipped='0' inconc='0' time='MASKED'>
<testcase classname='BSC_Tests' name='TC_ctrl_msc_connection_status' time='MASKED'/>
<testcase classname='BSC_Tests' name='TC_ctrl_msc0_connection_status' time='MASKED'/>
<testcase classname='BSC_Tests' name='TC_ctrl' time='MASKED'/>
@ -59,6 +59,7 @@
<testcase classname='BSC_Tests' name='TC_paging_imsi_a_reset' time='MASKED'/>
<testcase classname='BSC_Tests' name='TC_paging_imsi_load' time='MASKED'/>
<testcase classname='BSC_Tests' name='TC_paging_counter' time='MASKED'/>
<testcase classname='BSC_Tests' name='TC_paging_resp_unsol' time='MASKED'/>
<testcase classname='BSC_Tests' name='TC_rsl_drop_counter' time='MASKED'/>
<testcase classname='BSC_Tests' name='TC_rsl_unknown_unit_id' time='MASKED'/>
<testcase classname='BSC_Tests' name='TC_oml_unknown_unit_id' time='MASKED'/>