bts: Add RLL tests
This adds a series of test cases to BTS_Tests.ttcn implementing testing
of the RLL sub-layr of RSL, i.e. the translation between LAPDm frames
on the Um interface and the RLL frames on the Abis side (and vice vrsa).
Related: OS#3174
Change-Id: I336378de6106e5369600cbb49e0c47cc59864630
diff --git a/library/RSL_Types.ttcn b/library/RSL_Types.ttcn
index 246ea3f..2d9c92e 100644
--- a/library/RSL_Types.ttcn
+++ b/library/RSL_Types.ttcn
@@ -625,13 +625,19 @@
RSL_IPA_Codec codec
}
+ /* 9.3.20 */
+ type enumerated RSL_IE_ReleaseMode {
+ RSL_REL_MODE_NORMAL ('00'B),
+ REL_REL_MODE_LOCAL ('01'B)
+ }
+
/* union of all IE bodies */
type union RSL_IE_Body {
RslChannelNr chan_nr,
RslLinkId link_id,
RSL_L16V l3_info,
RSL_LV rlm_cause,
- uint8_t release_mode,
+ RSL_IE_ReleaseMode release_mode,
RSL_IE_ActivationType act_type,
RSL_IE_ChannelMode chan_mode,
uint8_t handover_ref,
@@ -926,25 +932,38 @@
tr_RSL_IE(RSL_IE_Body:{l3_info := tr_RSL_L16V(l3_info)})
}
}
+ template RSL_Message tr_RSL_EST_IND_NOL3(template RslChannelNr chan_nr, template RslLinkId link_id) :=
+{
+ msg_disc := tr_RSL_MsgDisc(RSL_MDISC_RLL, false),
+ msg_type := RSL_MT_EST_IND,
+ ies := {
+ tr_RSL_IE(RSL_IE_Body:{chan_nr := chan_nr}),
+ tr_RSL_IE(RSL_IE_Body:{link_id := link_id})
+ }
+ }
+
/* 8.3.7 BSC -> BTS */
template (value) RSL_Message ts_RSL_REL_REQ(template (value) RslChannelNr chan_nr,
- template (value) RslLinkId link_id) := {
+ template (value) RslLinkId link_id,
+ template (value) RSL_IE_ReleaseMode rel_mode := RSL_REL_MODE_NORMAL) := {
msg_disc := ts_RSL_MsgDisc(RSL_MDISC_RLL, false),
msg_type := RSL_MT_REL_REQ,
ies :={
t_RSL_IE(RSL_IE_CHAN_NR, RSL_IE_Body:{chan_nr := chan_nr}),
- t_RSL_IE(RSL_IE_LINK_IDENT, RSL_IE_Body:{link_id := link_id})
+ t_RSL_IE(RSL_IE_LINK_IDENT, RSL_IE_Body:{link_id := link_id}),
+ t_RSL_IE(RSL_IE_RELEASE_MODE, RSL_IE_Body:{release_mode := rel_mode})
}
}
template RSL_Message tr_RSL_REL_REQ(template RslChannelNr chan_nr,
- template RslLinkId link_id) := {
+ template RslLinkId link_id,
+ template RSL_IE_ReleaseMode rel_mode := ?) := {
msg_disc := tr_RSL_MsgDisc(RSL_MDISC_RLL, false),
msg_type := RSL_MT_REL_REQ,
ies :={
tr_RSL_IE(RSL_IE_Body:{chan_nr := chan_nr}),
tr_RSL_IE(RSL_IE_Body:{link_id := link_id}),
- *
+ tr_RSL_IE(RSL_IE_Body:{release_mode := rel_mode})
}
}
@@ -993,6 +1012,13 @@
modifies ts_RSL_DATA_REQ := {
msg_type := RSL_MT_UNIT_DATA_REQ
}
+ template RSL_Message tr_RSL_UNITDATA_REQ(template RslChannelNr chan_nr,
+ template RslLinkId link_id,
+ template octetstring l3_info)
+ modifies tr_RSL_DATA_REQ := {
+ msg_type := RSL_MT_UNIT_DATA_REQ
+ }
+
/* 8.3.11 BTS -> BSC */
template (value) RSL_Message ts_RSL_UNITDATA_IND(template (value) RslChannelNr chan_nr,
@@ -1001,6 +1027,14 @@
modifies ts_RSL_DATA_IND := {
msg_type := RSL_MT_UNIT_DATA_IND
}
+ template RSL_Message tr_RSL_UNITDATA_IND(template RslChannelNr chan_nr,
+ template (value) RslLinkId link_id,
+ template octetstring l3_info)
+ modifies tr_RSL_DATA_IND := {
+ msg_type := RSL_MT_UNIT_DATA_IND
+ }
+
+
/* DEDICATED CANNEL MANAGEMENT MESSAGES */