l1ctl: Add L1CTL_DATA_ABS_REQ for PACKET UPLINK ACK
Change-Id: If2109ea87b15a0ed21b39ab7502813acb1d5dd1e
diff --git a/library/L1CTL_Types.ttcn b/library/L1CTL_Types.ttcn
index 61d80cf..f853057 100644
--- a/library/L1CTL_Types.ttcn
+++ b/library/L1CTL_Types.ttcn
@@ -43,7 +43,8 @@
L1CTL_TBF_CFG_REQ,
L1CTL_TBF_CFG_CONF,
L1CTL_DATA_TBF_REQ,
- L1CTL_DATA_TBF_CONF
+ L1CTL_DATA_TBF_CONF,
+ L1CTL_DATA_ABS_REQ
} with { variant "FIELDLENGTH(8)" };
type enumerated L1ctlCcchMode {
@@ -190,6 +191,16 @@
OCT2 padding
} with { variant "" };
+ type record L1ctlUlAbsInfo {
+ uint8_t tbf_nr,
+ L1ctlGprsCs cs,
+ uint8_t ts_nr,
+ OCT1 padding,
+ uint32_t fn,
+ Arfcn arfcn,
+ OCT2 padding2
+ } with { variant "" };
+
type record L1ctlFbsbFlags {
BIT5 padding,
boolean sb,
@@ -295,6 +306,7 @@
L1ctlHeader header,
L1ctlUlInfo ul_info optional,
L1ctlUlTbfInfo ul_info_tbf optional,
+ L1ctlUlAbsInfo ul_info_abs optional,
L1ctlUlPayload payload
} with { variant (ul_info) "PRESENCE(header.msg_type = L1CTL_RACH_REQ,
header.msg_type = L1CTL_PARAM_REQ,
@@ -305,6 +317,7 @@
header.msg_type = L1CTL_DM_REL_REQ,
header.msg_type = L1CTL_TRAFFIC_REQ)"
variant (ul_info_tbf) "PRESENCE(header.msg_type = L1CTL_DATA_TBF_REQ)"
+ variant (ul_info_abs) "PRESENCE(header.msg_type = L1CTL_DATA_ABS_REQ)"
variant (payload) "CROSSTAG(fbsb_req, header.msg_type = L1CTL_FBSB_REQ;
ccch_mode_req, header.msg_type = L1CTL_CCCH_MODE_REQ;
tch_mode_req, header.msg_type = L1CTL_TCH_MODE_REQ;
@@ -350,6 +363,7 @@
header := t_L1ctlHeader(L1CTL_RESET_REQ),
ul_info := omit,
ul_info_tbf := omit,
+ ul_info_abs := omit,
payload := {
reset_req := {
reset_type := rst_type,
@@ -363,6 +377,7 @@
header := t_L1ctlHeader(L1CTL_FBSB_REQ),
ul_info := omit,
ul_info_tbf := omit,
+ ul_info_abs := omit,
payload := {
fbsb_req := {
arfcn := arfcn,
@@ -399,6 +414,7 @@
padding := '0000'O
},
ul_info_tbf := omit,
+ ul_info_abs := omit,
payload := {
rach_req := {
ra := ra,
@@ -416,6 +432,7 @@
padding := '0000'O
},
ul_info_tbf := omit,
+ ul_info_abs := omit,
payload := {
dm_est_req := {
tsc := tsc,
@@ -436,6 +453,7 @@
padding := '0000'O
},
ul_info_tbf := omit,
+ ul_info_abs := omit,
payload := {
other := ''O
}
@@ -449,6 +467,7 @@
padding := '0000'O
},
ul_info_tbf := omit,
+ ul_info_abs := omit,
payload := {
other := l2_data
}
@@ -458,6 +477,7 @@
header := t_L1ctlHeader(L1CTL_TBF_CFG_REQ),
ul_info := omit,
ul_info_tbf := omit,
+ ul_info_abs := omit,
payload := {
tbf_cfg_req := {
tbf_nr := 0,
@@ -489,11 +509,34 @@
cs := cs,
padding := '0000'O
},
+ ul_info_abs := omit,
payload := {
other := l2_data
}
}
+ template L1ctlUlMessage t_L1CTL_DATA_ABS_REQ(octetstring l2_data, Arfcn arfcn,
+ uint8_t ts, GsmFrameNumber fn,
+ L1ctlGprsCs cs := L1CTL_CS1,
+ uint8_t tbf_nr := 0) := {
+ header := t_L1ctlHeader(L1CTL_DATA_ABS_REQ),
+ ul_info := omit,
+ ul_info_tbf := omit,
+ ul_info_abs := {
+ tbf_nr := tbf_nr,
+ cs := cs,
+ ts_nr := ts,
+ padding := '00'O,
+ fn := fn,
+ arfcn := arfcn,
+ padding2 := '0000'O
+ },
+ payload := {
+ other := l2_data
+ }
+ }
+
+
/* for matching against incoming RACH_CONF */
template L1ctlDlMessage t_L1CTL_RACH_CONF := {
header := t_L1ctlHeader(L1CTL_RACH_CONF),