BTS_Tests: extend TC_early_immediate_assignment: run on trx_nr=1
This patch demonstrates the problem with handling of the Early IA:
* the first part remains unchanged: assign a channel on C0 (arfcn=871);
* the second (new) part tests channel assignment on C1 (arfcn=873).
As of now, osmo-bts does not meet our expectations for the second part.
Change-Id: I7517574a8095ddfa05c34c4c3d4accf2bd07894b
Related: SYS#6655
diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn
index d667344..82a83cf 100644
--- a/bts/BTS_Tests.ttcn
+++ b/bts/BTS_Tests.ttcn
@@ -8815,10 +8815,11 @@
if (g_pars.fhp.enabled) {
ch_desc := valueof(ts_ChanDescH1(g_pars.chan_nr, g_pars.fhp.maio_hsn, g_pars.tsc));
} else {
- ch_desc := valueof(ts_ChanDescH0(g_pars.chan_nr, mp_trx_pars[0].arfcn, g_pars.tsc));
+ var GsmArfcn arfcn := mp_trx_pars[g_pars.trx_nr].arfcn;
+ ch_desc := valueof(ts_ChanDescH0(g_pars.chan_nr, arfcn, g_pars.tsc));
}
var GsmRrMessage rr_msg := valueof(ts_IMM_ASS(ra, fn, 0, ch_desc, g_pars.fhp.ma_map));
- RSL.send(ts_RSL_IMM_ASSIGN(enc_GsmRrMessage(rr_msg)));
+ RSL.send(ts_ASP_RSL_UD(ts_RSL_IMM_ASSIGN(enc_GsmRrMessage(rr_msg)))); /* force sending to TRX0 */
/* Do not expect the Immediate Assignment to show up on MS side yet. Even give it one second before the BSC
* requests Chan Activ, to make sure the RR IMM ASS is held back. */
@@ -8859,10 +8860,20 @@
testcase TC_early_immediate_assignment() runs on test_CT {
var ConnHdlr vc_conn;
- var ConnHdlrPars pars := valueof(t_Pars(t_RslChanNr_Bm(1), ts_RSL_ChanMode_SIGN));
+ var ConnHdlrPars pars;
+
f_init();
+
+ /* verify early Immediate Assignment on C0 (the BCCH carrier): TCH/F on TS1 */
+ pars := valueof(t_Pars(t_RslChanNr_Bm(1), ts_RSL_ChanMode_SIGN, trx_nr := 0));
vc_conn := f_start_handler(refers(f_TC_early_immediate_assignment), pars);
vc_conn.done;
+
+ /* verify early Immediate Assignment on C1: TCH/F on TS0 */
+ pars := valueof(t_Pars(t_RslChanNr_Bm(0), ts_RSL_ChanMode_SIGN, trx_nr := 1));
+ vc_conn := f_start_handler(refers(f_TC_early_immediate_assignment), pars);
+ vc_conn.done;
+
Misc_Helpers.f_shutdown(__BFILE__, __LINE__);
}