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;