aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2018-03-30 12:39:05 +0200
committerHarald Welte <laforge@gnumonks.org>2018-04-04 15:34:37 +0200
commitee949696e1227abed6cb6256769181898249b0f5 (patch)
treeb99cc6e60286f9b488903920a98142f42e0f78db
parentcb782b99ff51fe55f397d7cdcb9a442ea1485e4c (diff)
WIP: L1CTL_Types: Support TRAFFIC
-rw-r--r--library/L1CTL_Types.ttcn45
1 files changed, 43 insertions, 2 deletions
diff --git a/library/L1CTL_Types.ttcn b/library/L1CTL_Types.ttcn
index 7403099e..8f50544e 100644
--- a/library/L1CTL_Types.ttcn
+++ b/library/L1CTL_Types.ttcn
@@ -150,7 +150,7 @@ module L1CTL_Types {
} with { variant "" };
type record L1ctlDataInd {
- octetstring payload length(23)
+ octetstring payload
} with {
variant (payload) "BYTEORDER(first)"
};
@@ -288,7 +288,7 @@ module L1CTL_Types {
type record L1ctlTrafficReq {
- octetstring data length(TRAFFIC_DATA_LEN)
+ octetstring data
} with {
variant (data) "BYTEORDER(first)"
}
@@ -534,6 +534,22 @@ module L1CTL_Types {
}
}
+ template (value) L1ctlUlMessage ts_L1CTL_TRAFFIC_REQ(template (value) RslChannelNr chan_nr,
+ template (value) RslLinkId link_id,
+ octetstring l2_data) := {
+ header := ts_L1ctlHeader(L1CTL_TRAFFIC_REQ),
+ ul_info := {
+ chan_nr := chan_nr,
+ link_id := link_id,
+ padding := '0000'O
+ },
+ ul_info_tbf := omit,
+ ul_info_abs := omit,
+ payload := {
+ other := l2_data
+ }
+ }
+
template (value) L1ctlUlMessage ts_L1CTL_TBF_CFG_REQ(boolean is_uplink, TfiUsfArr tfi_usf) := {
header := ts_L1ctlHeader(L1CTL_TBF_CFG_REQ),
ul_info := omit,
@@ -631,6 +647,31 @@ module L1CTL_Types {
}
};
+ /* for matching against incoming DATA_IND */
+ template L1ctlDlMessage tr_L1CTL_TRAFFIC_IND(template RslChannelNr chan_nr,
+ template RslLinkId link_id := ?,
+ template octetstring l2_data := ?,
+ template uint8_t num_biterr := 0,
+ template uint8_t fire_crc := 0) := {
+ header := tr_L1ctlHeader(L1CTL_TRAFFIC_IND),
+ dl_info := {
+ chan_nr := chan_nr,
+ link_id := link_id,
+ arfcn := ?,
+ frame_nr := ?,
+ rx_level := ?,
+ snr := ?,
+ num_biterr := num_biterr,
+ fire_crc := fire_crc
+ },
+ payload := {
+ traffic_ind := {
+ data := l2_data
+ }
+ }
+ };
+
+
template ImmediateAssignment t_IMM_ASS(uint8_t ra, GsmFrameNumber fn) := {
ded_or_tbf := ?,
page_mode := ?,