GSM_SystemInformation: Share header (for generic matching of type)
diff --git a/sysinfo/GSM_SystemInformation.ttcn b/sysinfo/GSM_SystemInformation.ttcn
index 8413ee3..51f687b 100644
--- a/sysinfo/GSM_SystemInformation.ttcn
+++ b/sysinfo/GSM_SystemInformation.ttcn
@@ -142,7 +142,7 @@
/* 44.018 9.1.31 */
type record SystemInformationType1 {
- SystemInformationHeader header,
+ //SystemInformationHeader header,
CellChannelDescription cell_chan_desc,
RachControlParameters rach_control,
Si1RestOctets rest_octets
@@ -150,7 +150,7 @@
/* 44.018 9.1.32 */
type record SystemInformationType2 {
- SystemInformationHeader header,
+ //SystemInformationHeader header,
NeighbourCellDescription bcch_freq_list,
BIT8 ncc_permitted,
RachControlParameters rach_control
@@ -158,7 +158,7 @@
/* 44.018 9.1.33 */
type record SystemInformationType2bis {
- SystemInformationHeader header,
+ //SystemInformationHeader header,
NeighbourCellDescription extd_bcch_freq_list,
RachControlParameters rach_control,
OCT1 rest_octets
@@ -166,7 +166,7 @@
/* 44.018 9.1.34 */
type record SystemInformationType2ter {
- SystemInformationHeader header,
+ //SystemInformationHeader header,
NeighbourCellDescription2 extd_bcch_freq_list,
RachControlParameters rach_control,
OCT4 rest_octets
@@ -174,7 +174,7 @@
/* 44.018 9.1.35 */
type record SystemInformationType3 {
- SystemInformationHeader header,
+ //SystemInformationHeader header,
CellIdentity cell_id,
LocationAreaIdentification lai,
ControlChannelDescription ctrl_chan_desc,
@@ -186,7 +186,7 @@
/* 44.018 9.1.36 */
type record SystemInformationType4 {
- SystemInformationHeader header,
+ //SystemInformationHeader header,
LocationAreaIdentification lai,
CellSelectionParameters cell_sel_par,
RachControlParameters rach_control,
@@ -203,19 +203,19 @@
/* 44.018 9.1.38 */
type record SystemInformationType5bis {
- SystemInformationHeader header,
+ //SystemInformationHeader header,
NeighbourCellDescription extd_bcch_freq_list
} with { variant "" };
/* 44.018 9.1.39 */
type record SystemInformationType5ter {
- SystemInformationHeader header,
+ //SystemInformationHeader header,
NeighbourCellDescription2 extd_bcch_freq_list
} with { variant "" };
/* 44.018 9.1.40 */
type record SystemInformationType6 {
- SystemInformationHeader header,
+ //SystemInformationHeader header,
CellIdentity cell_id,
LocationAreaIdentification lai,
CellOptionsSacch cell_options,
@@ -223,8 +223,7 @@
OCT7 rest_octets
} with { variant "" };
-
- type union SystemInformation {
+ type union SystemInformationUnion {
SystemInformationType1 si1,
SystemInformationType2 si2,
SystemInformationType2bis si2bis,
@@ -235,7 +234,12 @@
SystemInformationType5bis si5bis,
SystemInformationType5ter si5ter,
SystemInformationType6 si6
- } with { variant "TAG(si1, header.message_type = SYSTEM_INFORMATION_TYPE_1;
+ } with { variant "" };
+
+ type record SystemInformation {
+ SystemInformationHeader header,
+ SystemInformationUnion payload
+ } with { variant (payload) "CROSSTAG(si1, header.message_type = SYSTEM_INFORMATION_TYPE_1;
si2, header.message_type = SYSTEM_INFORMATION_TYPE_2;
si2bis, header.message_type = SYSTEM_INFORMATION_TYPE_2bis;
si2ter, header.message_type = SYSTEM_INFORMATION_TYPE_2ter;