bts: Add TC_deact_sacch()
This test case checks on each logical channel if the DEACT SACCH RSL
message actually deactivates downlink SACCH as expected.
Change-Id: Id8219ffce0635071cb50669b89368de51fe82843
diff --git a/library/GSM_Types.ttcn b/library/GSM_Types.ttcn
index 0289b08..2000b4a 100644
--- a/library/GSM_Types.ttcn
+++ b/library/GSM_Types.ttcn
@@ -119,6 +119,28 @@
tn := tn
}
+ template (value) RslChannelNr ts_RslChanNr0(uint3_t tn, RslChanNr0 cht) := {
+ u := { ch0 := cht },
+ tn := tn
+ }
+ template (value) RslChannelNr ts_RslChanNr_RACH(uint3_t tn) := ts_RslChanNr0(tn, RSL_CHAN_NR_RACH);
+ template (value) RslChannelNr ts_RslChanNr_BCCH(uint3_t tn) := ts_RslChanNr0(tn, RSL_CHAN_NR_BCCH);
+ template (value) RslChannelNr ts_RslChanNr_PCH_AGCH(uint3_t tn) := ts_RslChanNr0(tn, RSL_CHAN_NR_PCH_AGCH);
+ template (value) RslChannelNr ts_RslChanNr_Bm(uint3_t tn) := ts_RslChanNr0(tn, RSL_CHAN_NR_Bm_ACCH);
+ template (value) RslChannelNr ts_RslChanNr_PDCH(uint3_t tn) := ts_RslChanNr0(tn, RSL_CHAN_NR_OSMO_PDCH);
+ template (value) RslChannelNr ts_RslChanNr_Lm(uint3_t tn, uint1_t sub_slot) := {
+ u := { lm := { tag := '0001'B, sub_chan := sub_slot } },
+ tn := tn
+ }
+ template (value) RslChannelNr ts_RslChanNr_SDCCH4(uint3_t tn, uint2_t sub_slot) := {
+ u := { sdcch4 := { tag := '001'B, sub_chan := sub_slot } },
+ tn := tn
+ }
+ template (value) RslChannelNr ts_RslChanNr_SDCCH8(uint3_t tn, uint3_t sub_slot) := {
+ u := { sdcch8 := { tag := '01'B, sub_chan := sub_slot } },
+ tn := tn
+ }
+
/* TS 48.058 9.3.2 Link ID */
type enumerated RslLinkIdC {
FACCH_SDCCH (0),
diff --git a/library/L1CTL_Types.ttcn b/library/L1CTL_Types.ttcn
index 814e7df..d883a22 100644
--- a/library/L1CTL_Types.ttcn
+++ b/library/L1CTL_Types.ttcn
@@ -609,7 +609,9 @@
/* for matching against incoming DATA_IND */
template L1ctlDlMessage tr_L1CTL_DATA_IND(template RslChannelNr chan_nr,
template RslLinkId link_id := ?,
- template octetstring l2_data := ?) := {
+ template octetstring l2_data := ?,
+ template uint8_t num_biterr := 0,
+ template uint8_t fire_crc := 0) := {
header := tr_L1ctlHeader(L1CTL_DATA_IND),
dl_info := {
chan_nr := chan_nr,
@@ -618,8 +620,8 @@
frame_nr := ?,
rx_level := ?,
snr := ?,
- num_biterr := ?,
- fire_crc := ?
+ num_biterr := num_biterr,
+ fire_crc := fire_crc
},
payload := {
data_ind := {