BSC_Tests: Change test-expectation of TC_paging_resp_unsol

The testcase TC_paging_resp_unsol expects the BSC to close the channel
when an unsolicit paging response is received. This expectation is due
to the fact that osmo-bsc supports multiple MSC, which is not specified
in 3gpp specs. Therefore the BSC needs to know which MSC is in charge.

However, with MT-CSFB calls it is a normal situation that the BSC
receives a paging response on abis without sending a paging first since
the MSC has paged the UE via the SGs interface. In those cases we expect
the BSC to forward the paging response to the first configured MSC.

Related: SYS#4624
Change-Id: I5562cbf61a2aa42e6950860bc0f9c6c20c61a9fe
This commit is contained in:
Philipp Maier 2019-08-14 14:44:10 +02:00 committed by laforge
parent 26fbb6e017
commit f45824ad0e
1 changed files with 23 additions and 6 deletions

View File

@ -1604,17 +1604,22 @@ 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.
/* Verify how we handle unsolicited Paging Response. In case of an unsolicit
* paging response we can not know which MSC is in charge, so we will blindly
* pick the first configured MSC. This behavior is required in order to make
* MT-CSFB calls working because in those cases the BSC can not know that the
* MSC has already paged the subscriver via SGs. So any MT-CSFB call will look
* like an unsolicited Paging Response to the MSC.
*/
testcase TC_paging_resp_unsol() runs on test_CT {
f_init(1);
timer T := 5.0;
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))));
var octetstring rr_pag_resp := enc_PDU_ML3_MS_NW(l3);
/* Send CHAN RQD and wait for allocation; acknowledge it */
dt.rsl_chan_nr := f_chreq_act_ack();
@ -1622,10 +1627,22 @@ testcase TC_paging_resp_unsol() runs on test_CT {
/* 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, expect_rll_rel_req := false);
setverdict(pass);
/* Expevct a CR with a matching Paging response on the A-Interface */
T.start;
alt {
[] BSSAP.receive(tr_BSSAP_CONNECT_ind(?, ?, tr_BSSMAP_ComplL3(rr_pag_resp))) {
setverdict(pass);
}
[] BSSAP.receive {
setverdict(fail, "Received unexpected message on A-Interface!");
}
[] T.timeout {
setverdict(fail, "Received nothing on A-Interface!");
}
}
setverdict(pass);
}
/* Test RSL link drop causes counter increment */