BSC_Tests: Add new TC_chan_rel_hard_rlsd (MSC sends hard RLSD)

This commit is contained in:
Harald Welte 2017-12-09 23:05:31 +01:00
parent 4003d11fe8
commit d8c36cda22
1 changed files with 41 additions and 0 deletions

View File

@ -434,6 +434,46 @@ testcase TC_chan_rel_hard_clear() runs on test_CT {
setverdict(pass);
}
/* Test behavior of channel release after hard RLSD from MSC */
testcase TC_chan_rel_hard_rlsd() runs on test_CT {
var RSL_Message rx_rsl;
var DchanTuple dt;
var RslLinkId main_dcch := valueof(ts_RslLinkID_DCCH(0));
f_init();
f_bssap_reset();
dt := f_est_dchan('23'O, 23, '00010203040506'O);
/* release the SCCP connection */
BSSAP.send(ts_BSSAP_DISC_req(dt.sccp_conn_id, 0));
/* Clear the queue, it might still contain stuff like IMMEDIATE ASSIGN */
IPA_RSL[0].clear;
alt {
/* ignore DEACTIVATE SACCH (if any) */
[] IPA_RSL[0].receive(tr_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0,
tr_RSL_DEACT_SACCH(dt.rsl_chan_nr))) {
repeat;
}
/* acknowledge RLL release (if any)*/
[] IPA_RSL[0].receive(tr_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0,
tr_RSL_REL_REQ(dt.rsl_chan_nr, ?))) {
/* FIXME: Why are we getting this for LinkID SACCH? */
f_ipa_tx(0, ts_RSL_REL_CONF(dt.rsl_chan_nr, main_dcch));
repeat;
}
/* Expect RF channel release from BSC on Abis */
[] IPA_RSL[0].receive(tr_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0,
tr_RSL_MsgTypeD(RSL_MT_RF_CHAN_REL))) {
/* respond with CHAN REL ACK */
f_ipa_tx(0, ts_RSL_RF_CHAN_REL_ACK(dt.rsl_chan_nr));
}
}
setverdict(pass);
}
testcase TC_ctrl_msc_connection_status() runs on test_CT {
var charstring ctrl_resp;
@ -494,6 +534,7 @@ control {
execute( TC_chan_rel_rll_rel_ind() );
execute( TC_chan_rel_conn_fail() );
execute( TC_chan_rel_hard_clear() );
execute( TC_chan_rel_hard_rlsd() );
}
}