Merge duplicate SI3 in GSM_RR_Types and GSM_SystemInformation

Let's have one SI3 definition rather than multiple...

Change-Id: I3c4754c9a69cb2fa51d88ef6358d5399dbb29860
diff --git a/library/GSM_SystemInformation.ttcn b/library/GSM_SystemInformation.ttcn
index b53d5f2..1d06aa1 100644
--- a/library/GSM_SystemInformation.ttcn
+++ b/library/GSM_SystemInformation.ttcn
@@ -22,11 +22,16 @@
 	type octetstring CellChannelDescription with { variant "FIELDLENGTH(16)" };
 
 	/* 44.018 10.5.2.3 */
+	type enumerated CellOptions_DTX {
+		MS_MAY_USE_UL_DTX	('00'B),
+		MS_SHALL_USE_UL_DTX	('01'B),
+		MS_SHALL_NOT_USE_UL_DTX	('10'B)
+	} with { variant "FIELDLENGTH(2)" };
 	type record CellOptions {
 		boolean		dn_ind,
 		boolean		pwrc,
-		BIT2		dtx,
-		BIT4		radio_link_timeout
+		CellOptions_DTX	dtx,
+		uint4_t		radio_link_tout_div4
 	} with { variant "" };
 
 	/* 44.018 10.5.2.3a */
@@ -39,23 +44,35 @@
 
 	/* 44.018 10.5.2.4 */
 	type record CellSelectionParameters {
-		uint3_t		cell_resel_hyst,
+		uint3_t		cell_resel_hyst_2dB,
 		uint5_t		ms_txpwr_max_cch,
-		boolean		acs,
+		BIT1		acs,
 		boolean		neci,
 		uint6_t		rxlev_access_min
 	} with { variant "" };
 
 	/* 44.018 10.5.2.11 */
+	type enumerated CtrlChanDesc_CC {
+		CCHAN_DESC_1CCCH_NOT_COMBINED	('000'B),
+		CCHAN_DESC_1CCCH_COMBINED	('001'B),
+		CCHAN_DESC_2CCCH_NOT_COMBINED	('010'B),
+		CCHAN_DESC_3CCCH_NOT_COMBINED	('100'B),
+		CCHAN_DESC_4CCCH_NOT_COMBINED	('110'B)
+	} with { variant "FIELDLENGTH(3)" };
+	type enumerated CBQ3 {
+		CBQ3_IU_MODE_NOT_SUPPORTED	('00'B),
+		CBQ3_IU_MODE_MS_BARRED		('01'B),
+		CBQ3_IU_MODE_NOT_BARRED		('10'B)
+	} with { variant "FIELDLENGTH(2)" };
 	type record ControlChannelDescription {
-		boolean		mscrr,
+		boolean		msc_r99,
 		boolean		att,
 		uint3_t		bs_ag_blks_res,
-		uint3_t		ccch_conf,
+		CtrlChanDesc_CC	ccch_conf,
 		boolean		si22ind,
-		uint2_t		cbq3,
+		CBQ3		cbq3,
 		BIT2		spare,
-		uint3_t		bs_pa_mfrms,
+		uint3_t		bs_pa_mfrms, /* off by 2 */
 		uint8_t		t3212
 	} with { variant "" };
 
@@ -77,13 +94,19 @@
 	type bitstring AccessControlClass with { variant "FIELDLENGTH(16), BYTEORDER(last)" };
 
 	/* 44.018 10.5.2.29 */
+	type enumerated RachCtrlPar_MR {
+		RACH_MAX_RETRANS_1	('00'B),
+		RACH_MAX_RETRANS_2	('01'B),
+		RACH_MAX_RETRANS_4	('10'B),
+		RACH_MAX_RETRANS_7	('11'B)
+	} with { variant "FIELDLENGTH(2)" };
 	type record RachControlParameters {
-		BIT2		max_retrans,
+		RachCtrlPar_MR	max_retrans,
 		BIT4		tx_integer,
 		boolean		cell_barr_access,
-		boolean		re,
-		AccessControlClass ac
-	} with { variant (ac) "FIELDLENGTH(16)" };
+		boolean		re_not_allowed,
+		AccessControlClass acc
+	} with { variant (acc) "FIELDLENGTH(16)" };
 
 	/* 44.018 10.5.2.32 */
 	type RestOctets Si1RestOctets with { variant "FIELDLENGTH(1)" };