diff --git a/library/GSM_RR_Types.ttcn b/library/GSM_RR_Types.ttcn
index 4d1efd7..a8b6db2 100644
--- a/library/GSM_RR_Types.ttcn
+++ b/library/GSM_RR_Types.ttcn
@@ -366,6 +366,68 @@
 		uint3_t		non_drx_timer
 	} with { variant "" };
 
+	/* 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,
+		CellOptions_DTX	dtx,
+		uint4_t		radio_link_tout_div4
+	} with { variant "" };
+
+	/* 44.018 10.5.2.4 */
+	type record CellSelectionPars {
+		uint3_t		cell_resel_hyst_2dB,
+		uint5_t		ms_txpwr_max_cch,
+		BIT1		acs,
+		boolean		neci,
+		uint6_t		rxlev_access_min
+	} with { variant "" };
+
+	/* 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 RachControlPars {
+		RachCtrlPar_MR	max_retrans,
+		BIT4		tx_integer,
+		boolean		cell_bar_access,
+		boolean		re_not_allowed,
+		BIT16		acc
+	} 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 CtrlChanDesc {
+		boolean		msc_r99,
+		boolean		att,
+		uint3_t		bs_ag_blks_res,
+		CtrlChanDesc_CC	ccch_conf,
+		boolean		si22_ind,
+		CBQ3		cbq3,
+		BIT2		spare,
+		uint3_t		bs_pa_mfrms, /* off by 2 */
+		uint8_t		t3212
+	} with { variant "" };
+
 	/* 24.008 10.5.5.15 */
 	type record RoutingAreaIdentification {
 		LocationAreaIdentification	lai,
@@ -577,6 +639,16 @@
 		RestOctets			rest_octets
 	} with { variant "" };
 
+	/* 9.1.35 */
+	type record SystemInformationType3 {
+		CellIdentity			cell_id,
+		LocationAreaIdentification	lai,
+		CtrlChanDesc			ctrl_chan_desc,
+		CellOptions			cell_opts,
+		CellSelectionPars		cell_sel_pars,
+		RachControlPars			rach_ctrl_pars,
+		RestOctets			rest_octets
+	} with { variant (rest_octets) "FIELDLENGTH(4)" };
 
 	type union RrUnion {
 /*
@@ -584,13 +656,13 @@
 		SystemInformationType2		si2,
 		SystemInformationType2bis	si2bis,
 		SystemInformationType2ter	si2ter,
-		SystemInformationType3		si3,
 		SystemInformationType4		si4,
 		SystemInformationType5		si5,
 		SystemInformationType5bis	si5bis,
 		SystemInformationType5ter	si5ter,
 		SystemInformationType6		si6,
 */
+		SystemInformationType3		si3,
 		ImmediateAssignment		imm_ass,
 		ImmediateAssignmentReject	imm_ass_rej,
 		PagingRequestType1		pag_req_1,
diff --git a/library/General_Types.ttcn b/library/General_Types.ttcn
index b404fe1..83b2a42 100644
--- a/library/General_Types.ttcn
+++ b/library/General_Types.ttcn
@@ -75,6 +75,7 @@
   type bitstring BIT16 length(16) with { variant "FIELDLENGTH(16)" };
   type bitstring BIT24 length(24) with { variant "FIELDLENGTH(24)" };
   type bitstring BIT31 length(31) with { variant "FIELDLENGTH(31)" };
+  type bitstring BIT32 length(32) with { variant "FIELDLENGTH(32)" };
   type bitstring BIT56 length(56) with { variant "FIELDLENGTH(56)" };
 
   //****************************************************
diff --git a/library/L3_Templates.ttcn b/library/L3_Templates.ttcn
index d3e021d..a614122 100644
--- a/library/L3_Templates.ttcn
+++ b/library/L3_Templates.ttcn
@@ -2093,6 +2093,8 @@
 	return f_concat_pad(12, '49123'H, suffix);
 }
 
+external function enc_MobileIdentityLV(in MobileIdentityLV si) return octetstring
+	with { extension "prototype(convert) encode(RAW)" };
 
 
 }
