bsc: Test suite for CBSP (Cell Broadcast Service Protocol)
In this testsuite, we simulate BTS and CBC by attaching to RSL and CBSP
protocol interfaces of the BSC. We then issue a variety of CBSP
commands to the BSC and check for corresponding action on both the BTS-
facing RSL as well as responses on the CBSP side.
Change-Id: Ia6ffac181f50586d06d2f29bca1c57285179e861
diff --git a/library/RSL_Types.ttcn b/library/RSL_Types.ttcn
index da8c7f8..db0e231 100644
--- a/library/RSL_Types.ttcn
+++ b/library/RSL_Types.ttcn
@@ -1549,6 +1549,25 @@
t_RSL_IE(RSL_IE_FULL_BCCH_INFO, RSL_IE_Body:{other := ts_RSL_LV(full_bcch_info)})
}
}
+ template RSL_Message tr_RSL_NO_BCCH_INFO(template RSL_IE_SysinfoType si_type := ?) := {
+ msg_disc := tr_RSL_MsgDisc(RSL_MDISC_CCHAN, false),
+ msg_type := RSL_MT_BCCH_INFO,
+ ies := {
+ tr_RSL_IE(RSL_IE_Body:{chan_nr := ts_RslChanNr_BCCH(0)}),
+ tr_RSL_IE(RSL_IE_Body:{sysinfo_type := si_type})
+ }
+ }
+ template RSL_Message tr_RSL_BCCH_INFO(template RSL_IE_SysinfoType si_type := ?,
+ template octetstring full_bcch_info := ?) := {
+ msg_disc := tr_RSL_MsgDisc(RSL_MDISC_CCHAN, false),
+ msg_type := RSL_MT_BCCH_INFO,
+ ies := {
+ tr_RSL_IE(RSL_IE_Body:{chan_nr := ts_RslChanNr_BCCH(0)}),
+ tr_RSL_IE(RSL_IE_Body:{sysinfo_type := si_type}),
+ tr_RSL_IE(RSL_IE_Body:{other := tr_RSL_LV(full_bcch_info)}),
+ *
+ }
+ }
/* 8.5.2 BTS -> BSC */
template (value) RSL_Message ts_RSL_RACH_LOAD_IND(uint16_t slot_ct, uint16_t busy_ct,
@@ -1562,7 +1581,7 @@
}
template RSL_Message tr_RSL_RACH_LOAD_IND(template uint16_t slot_ct := ?,
template uint16_t busy_ct := ?,
- template uint16_t acc_ct) := {
+ template uint16_t acc_ct := ?) := {
msg_disc := tr_RSL_MsgDisc(RSL_MDISC_CCHAN, false),
msg_type := RSL_MT_CCCH_LOAD_IND,
ies := {
@@ -1761,6 +1780,24 @@
t_RSL_IE(RSL_IE_L3_INFO, RSL_IE_Body:{l3_info := ts_RSL_L16V(l3_info)})
}
}
+ template RSL_Message tr_RSL_NO_SACCH_FILL(template RSL_IE_SysinfoType si_type := ?) := {
+ msg_disc := tr_RSL_MsgDisc(RSL_MDISC_TRX_MGMT, false),
+ msg_type := RSL_MT_SACCH_FILL,
+ ies := {
+ tr_RSL_IE(RSL_IE_Body:{sysinfo_type := si_type})
+ }
+ }
+ template RSL_Message tr_RSL_SACCH_FILL(template RSL_IE_SysinfoType si_type := ?,
+ template octetstring l3_info := ?) := {
+ msg_disc := tr_RSL_MsgDisc(RSL_MDISC_TRX_MGMT, false),
+ msg_type := RSL_MT_SACCH_FILL,
+ ies := {
+ tr_RSL_IE(RSL_IE_Body:{sysinfo_type := si_type}),
+ tr_RSL_IE(RSL_IE_Body:{l3_info := tr_RSL_L16V(l3_info)}),
+ *
+ }
+ }
+
/* 8.6.4 BTS -> BSC */
template (value) RSL_Message ts_RSL_ERROR_REPORT(RSL_Cause cause) := {