BSC_Tests/hopping: add TC_fh_params_si4_cbch
This test case verifies presence and correctness of the hopping parameters in (RR) System Information Type 4 (CBCH description). Since the C0/TS0 (BCCH+SDCCH4+CBCH) shall not be hopping, let's temporarily re-configure TS0 as BCCH, and TS1 as SDCCH8+CBCH. According to 3GPP TS 44.018, section 9.1.36.1, if CBCH is active in the cell, the CBCH Channel Description IE indicates where to find it (physical channel description). According to section 9.1.36.2, the CBCH Mobile Allocation IE shall be included if CBCH Channel Description IE indicates that frequency hopping is in use. Change-Id: Ibc3b73697a1d2c8dbb27274e48f5e5ba21fdd540 Related: SYS#4868, OS#4545
This commit is contained in:
parent
aeb54a2f29
commit
ca97403ec3
|
@ -7151,6 +7151,85 @@ testcase TC_fh_params_assignment_cmd() runs on test_CT {
|
|||
setverdict(pass);
|
||||
}
|
||||
|
||||
/* Verify the hopping parameters in System Information Type 4 */
|
||||
testcase TC_fh_params_si4_cbch() runs on test_CT {
|
||||
var FHParamsTrx fhp := f_TC_fh_params_gen(tr_tn := 1);
|
||||
var ASP_RSL_Unitdata rx_rsl_ud;
|
||||
timer T := 5.0;
|
||||
|
||||
f_init_vty();
|
||||
|
||||
/* (Re)configure TS0 as BCCH and TS1 as SDCCH8+CBCH */
|
||||
f_vty_enter_cfg_trx(BSCVTY, trx := 0);
|
||||
|
||||
f_vty_transceive(BSCVTY, "timeslot 0");
|
||||
f_vty_transceive(BSCVTY, "phys_chan_config ccch");
|
||||
f_vty_transceive(BSCVTY, "exit"); /* go back */
|
||||
|
||||
f_vty_transceive(BSCVTY, "timeslot 1");
|
||||
f_vty_transceive(BSCVTY, "phys_chan_config sdcch8+cbch");
|
||||
f_vty_transceive(BSCVTY, "end"); /* we're done */
|
||||
|
||||
f_TC_fh_params_set(fhp); /* Enable frequency hopping */
|
||||
f_vty_transceive(BSCVTY, "drop bts connection 0 oml");
|
||||
|
||||
f_init(1);
|
||||
|
||||
T.start;
|
||||
alt {
|
||||
[] IPA_RSL[0].receive(tr_ASP_RSL_UD(tr_RSL_BCCH_INFO(RSL_SYSTEM_INFO_4))) -> value rx_rsl_ud {
|
||||
var RSL_IE_Body ie := rx_rsl_ud.rsl.ies[2].body; /* FULL BCCH Information IE */
|
||||
var SystemInformation si := dec_SystemInformation(ie.other.payload);
|
||||
|
||||
/* Make sure that what we decoded is System Information Type 4 */
|
||||
if (si.header.message_type != SYSTEM_INFORMATION_TYPE_4) {
|
||||
setverdict(fail, "RSL FULL BCCH Information IE contains: ", si);
|
||||
repeat;
|
||||
}
|
||||
|
||||
/* Make sure that CBCH Channel Description IE is present */
|
||||
if (not ispresent(si.payload.si4.cbch_chan_desc)) {
|
||||
setverdict(fail, "CBCH Channel Description IE is absent");
|
||||
break;
|
||||
}
|
||||
|
||||
/* Finally, check the hopping parameters (HSN, MAIO) */
|
||||
var ChannelDescription chan_desc := si.payload.si4.cbch_chan_desc.v;
|
||||
f_TC_fh_params_match_chan_desc(fhp, chan_desc);
|
||||
|
||||
/* 3GPP TS 44.018, section 9.1.36.2 "CBCH Mobile Allocation":
|
||||
* The CBCH Mobile Allocation IE *shall* be present if FH is enabled. */
|
||||
if (chan_desc.h and not ispresent(si.payload.si4.cbch_mobile_alloc)) {
|
||||
setverdict(fail, "FH enabled, but Mobile Allocation IE is absent");
|
||||
break;
|
||||
} else if (chan_desc.h and ispresent(si.payload.si4.cbch_mobile_alloc)) {
|
||||
f_TC_fh_params_match_ma(fhp, chan_desc.chan_nr.tn,
|
||||
si.payload.si4.cbch_mobile_alloc.v);
|
||||
}
|
||||
}
|
||||
[] IPA_RSL[0].receive { repeat; }
|
||||
[] T.timeout {
|
||||
setverdict(fail, "Timeout waiting for RSL BCCH INFOrmation (SI4)");
|
||||
}
|
||||
}
|
||||
|
||||
/* Disable frequency hopping */
|
||||
f_TC_fh_params_unset(fhp);
|
||||
|
||||
/* (Re)configure TS0 as CCCH+SDCCH4 and TS1 as TCH/F */
|
||||
f_vty_enter_cfg_trx(BSCVTY, trx := 0);
|
||||
|
||||
f_vty_transceive(BSCVTY, "timeslot 0");
|
||||
f_vty_transceive(BSCVTY, "phys_chan_config ccch+sdcch4");
|
||||
f_vty_transceive(BSCVTY, "exit"); /* go back */
|
||||
|
||||
f_vty_transceive(BSCVTY, "timeslot 1");
|
||||
f_vty_transceive(BSCVTY, "phys_chan_config tch/f");
|
||||
f_vty_transceive(BSCVTY, "end"); /* we're done */
|
||||
|
||||
setverdict(pass);
|
||||
}
|
||||
|
||||
/* Dyn PDCH todo:
|
||||
* activate OSMO as TCH/F
|
||||
* activate OSMO as TCH/H
|
||||
|
@ -7383,6 +7462,7 @@ control {
|
|||
execute( TC_fh_params_chan_activ() );
|
||||
execute( TC_fh_params_imm_ass() );
|
||||
execute( TC_fh_params_assignment_cmd() );
|
||||
execute( TC_fh_params_si4_cbch() );
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue