diff --git a/library/GSM_RestOctets.ttcn b/library/GSM_RestOctets.ttcn
index 9aa1217..94dce04 100644
--- a/library/GSM_RestOctets.ttcn
+++ b/library/GSM_RestOctets.ttcn
@@ -693,6 +693,55 @@
 	variant "PADDING(yes), PADDING_PATTERN('00101011'B)"
 };
 
+/* 10.5.2.35a SI 6 Rest Octets */
+type record SI6RestOctets {
+	PchAndNchInfoOpt	pch_nch_info,
+	VbsVgcsOptionsOpt	vbs_vgcs_options,
+	BIT1			dtm_support, // L/H
+	uint8_t			rac optional,
+	uint3_t			max_lapdm optional,
+	BIT1			band_ind // L/H (DCS/PCS)
+	/* TODO: add more fields */
+} with {
+	variant (dtm_support) "CSN.1 L/H"
+	variant (rac) "PRESENCE(dtm_support = '1'B)"
+	variant (max_lapdm) "PRESENCE(dtm_support = '1'B)"
+	variant (band_ind) "CSN.1 L/H"
+
+	/* The TITAN's RAW encoder generates an octet-aligned octetstring,
+	 * so we should make sure that unused bits contain proper padding. */
+	variant "PADDING(yes), PADDING_PATTERN('00101011'B)"
+};
+
+/* Optional PCH and NCH info: L | H < PCH and NCH info > */
+type record PchAndNchInfoOpt {
+	BIT1			presence, // L/H
+	PchAndNchInfo		info optional
+} with {
+	variant (presence) "CSN.1 L/H"
+	variant (info) "PRESENCE(presence = '1'B)"
+};
+
+/* PCH and NCH info */
+type record PchAndNchInfo {
+	BIT1			pag_chan_restruct,
+	uint2_t			nln_sacch,
+	BIT1			call_prio_presence,
+	uint3_t			call_prio optional,
+	BIT1			nln_status_sacch
+} with {
+	variant (call_prio) "PRESENCE(call_prio_presence = '1'B)"
+};
+
+/* Optional VBS/VGCS options: L | H < VBS/VGCS options > */
+type record VbsVgcsOptionsOpt {
+	BIT1			presence, // L/H
+	BIT2			options optional
+} with {
+	variant (presence) "CSN.1 L/H"
+	variant (options) "PRESENCE(presence = '1'B)"
+};
+
 /* 10.5.2.37b SI 13 Rest Octets (O & S) */
 type record SI13RestOctets {
 	BIT1			presence, // L/H
@@ -806,6 +855,11 @@
 external function dec_SI4RestOctets(in octetstring stream) return SI4RestOctets
 	with { extension "prototype(convert) decode(RAW)" };
 
+external function enc_SI6RestOctets(in SI4RestOctets ro) return octetstring
+	with { extension "prototype(convert) encode(RAW)" };
+external function dec_SI6RestOctets(in octetstring stream) return SI6RestOctets
+	with { extension "prototype(convert) decode(RAW)" };
+
 external function enc_SI13RestOctets(in SI13RestOctets ro) return octetstring
 	with { extension "prototype(convert) encode(RAW)" };
 external function dec_SI13RestOctets(in octetstring stream) return SI13RestOctets
