This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.
pespin gerrit-no-reply at lists.osmocom.orgpespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/16687 )
Change subject: pcu: Introduce test TC_rach_egprs_only
......................................................................
pcu: Introduce test TC_rach_egprs_only
Change-Id: I96e0d28bed749ef657f0b68d0beee3f8471ab3e0
---
M library/GSM_RR_Types.ttcn
M pcu/PCU_Tests_RAW.ttcn
2 files changed, 74 insertions(+), 4 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/87/16687/1
diff --git a/library/GSM_RR_Types.ttcn b/library/GSM_RR_Types.ttcn
index f5eeda5..4c2874a 100644
--- a/library/GSM_RR_Types.ttcn
+++ b/library/GSM_RR_Types.ttcn
@@ -911,6 +911,26 @@
}
};
+ template GsmRrMessage tr_IMM_ASS_REJ(template uint8_t ra := ?, template GsmFrameNumber fn := ?) := {
+ header := t_RrHeader(IMMEDIATE_ASSIGNMENT_REJECT, ?),
+ payload := {
+ imm_ass_rej := {
+ feature_ind := {
+ spare := '00'B,
+ cs_ir := false,
+ ps_ir := true
+ },
+ page_mode := PAGE_MODE_NORMAL,
+ payload := {
+ {req_ref := tr_compute_ReqRef(ra, fn), wait_ind := ?},
+ ?,
+ ?,
+ ?
+ }
+ }
+ }
+ };
+
template GsmRrMessage tr_PAG_REQ1(template MobileIdentityLV mi1 := ?) := {
header := t_RrHeader(PAGING_REQUEST_TYPE_1, ?),
payload := {
diff --git a/pcu/PCU_Tests_RAW.ttcn b/pcu/PCU_Tests_RAW.ttcn
index d19093c..d2c4e2a 100644
--- a/pcu/PCU_Tests_RAW.ttcn
+++ b/pcu/PCU_Tests_RAW.ttcn
@@ -170,13 +170,19 @@
f_vty_config2(PCUVTY, {"pcu"}, cmd);
}
-private function f_init_vty(charstring id) runs on RAW_PCU_Test_CT {
+private function f_init_vty(charstring id, boolean egprs_only := false) runs on RAW_PCU_Test_CT {
map(self:PCUVTY, system:PCUVTY);
f_vty_set_prompts(PCUVTY);
f_vty_transceive(PCUVTY, "enable");
+
+ if (egprs_only) {
+ f_vty_config2(PCUVTY, {"pcu"}, "egprs only");
+ } else {
+ f_vty_config2(PCUVTY, {"pcu"}, "no egprs");
+ }
}
-private function f_init_raw(charstring id, template (value) PCUIF_info_ind info_ind := ts_PCUIF_INFO_default)
+private function f_init_raw(charstring id, boolean egprs_only := false, template (value) PCUIF_info_ind info_ind := ts_PCUIF_INFO_default)
runs on RAW_PCU_Test_CT {
var RAW_PCUIF_CT vc_PCUIF;
var RAW_PCU_BTS_CT vc_BTS;
@@ -195,7 +201,7 @@
connect(vc_BTS:PCUIF, vc_PCUIF:BTS);
connect(vc_BTS:TC, self:BTS);
- f_init_vty(id);
+ f_init_vty(id, egprs_only);
vc_PCUIF.start(f_PCUIF_CT_handler(mp_pcu_sock_path));
vc_BTS.start(f_BTS_CT_handler(0, valueof(info_ind)));
@@ -1041,7 +1047,7 @@
info_ind.t3169 := 1;
/* Initialize the PCU interface abstraction */
- f_init_raw(testcasename(), info_ind);
+ f_init_raw(testcasename(), false, info_ind);
/* Establish BSSGP connection to the PCU */
f_bssgp_establish();
@@ -1400,6 +1406,48 @@
f_tc_paging_ps_from_sgsn(mp_gb_cfg.bvci);
}
+/* Reproduce osmo-pcu rejects 8-bit RACH req when in "egprs only" mode. */
+testcase TC_rach_egprs_only() runs on RAW_PCU_Test_CT {
+ var PCUIF_Message pcu_msg;
+ var GsmRrMessage rr_imm_ass_rej;
+ var uint32_t fn;
+ var uint16_t ra := oct2int('3A'O);
+ timer T;
+
+ /* Initialize the PCU interface abstraction with EGPRS-only */
+ f_init_raw(testcasename(), egprs_only := true);
+
+ /* FIXME: ask the BTS component to give us the current TDMA fn */
+ fn := 1337;
+
+ /* Send RACH.ind (8 bit) */
+ BTS.send(ts_PCUIF_RACH_IND(bts_nr := 0, trx_nr := 0, ts_nr := 0,
+ ra := ra, is_11bit := 0,
+ burst_type := BURST_TYPE_0,
+ fn := fn, arfcn := 871,
+ qta := 0));
+
+ /* Expect Immediate (TBF) Assignment Reject on TS0/AGCH */
+ T.start(2.0);
+ alt {
+ [] BTS.receive(tr_PCUIF_DATA_REQ(bts_nr := 0, trx_nr := 0, ts_nr := 0,
+ sapi := PCU_IF_SAPI_AGCH, data := ?))
+ -> value pcu_msg {
+ rr_imm_ass_rej := dec_GsmRrMessage(pcu_msg.u.data_req.data);
+ log("Rx Immediate Assignment Reject: ", rr_imm_ass_rej);
+
+ if (match(rr_imm_ass_rej, tr_IMM_ASS_REJ(ra, fn))) {
+ setverdict(pass);
+ } else {
+ setverdict(fail, "IMM ASS REJ didn't match");
+ }
+ }
+ [] T.timeout {
+ setverdict(fail, "Timeout waiting for Immediate Assignment Reject");
+ }
+ }
+}
+
control {
execute( TC_pcuif_suspend() );
execute( TC_ta_ptcch_idle() );
@@ -1417,6 +1465,8 @@
execute (TC_paging_cs_from_sgsn_ptp() );
execute (TC_paging_ps_from_sgsn_sign() );
execute (TC_paging_ps_from_sgsn_ptp() );
+
+ execute( TC_rach_egprs_only() );
}
--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/16687
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: I96e0d28bed749ef657f0b68d0beee3f8471ab3e0
Gerrit-Change-Number: 16687
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin at sysmocom.de>
Gerrit-MessageType: newchange
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20191230/9e12bb27/attachment.htm>