Add templates for BSSGP Radio Status procedure

Change-Id: I6d49eb4907c4568d88da5d6fd7962e388a3607fb
Related: SYS#5210
diff --git a/library/Osmocom_Gb_Types.ttcn b/library/Osmocom_Gb_Types.ttcn
index 3ba3fca..8d48cb1 100644
--- a/library/Osmocom_Gb_Types.ttcn
+++ b/library/Osmocom_Gb_Types.ttcn
@@ -1746,8 +1746,62 @@
 	}
 }
 
+type enumerated BssgpRadioCause {
+	BSSGP_RADIO_CAUSE_CONTACT_LOST		('00'H),
+	BSSGP_RADIO_CAUSE_LINK_QUAL_INSUFF	('01'H),
+	BSSGP_RADIO_CAUSE_CELL_RESEL_ORDERED	('02'H),
+	BSSGP_RADIO_CAUSE_CELL_RESEL_PREPARE	('03'H),
+	BSSGP_RADIO_CAUSE_CELL_RESEL_FAILURE 	('04'H)
+} with { variant "FIELDLENGTH(8)" };
 
 
+function ts_BSSGP_RADIO_CAUSE(template (omit) BssgpRadioCause cause) return template (omit) Radio_Cause {
+	var template (omit) Radio_Cause ret;
+	if (istemplatekind(cause, "omit")) {
+		ret := omit;
+	} else {
+		ret.iEI := '19'O;
+		ret.ext := '1'B;
+		ret.lengthIndicator := { length1 := 1 };
+		ret.radio_Cause_Value := int2oct(enum2int(valueof(cause)), 1);
+	}
+	return ret;
+}
+function tr_BSSGP_RADIO_CAUSE(template BssgpRadioCause cause) return template (present) Radio_Cause {
+	var template Radio_Cause ret;
+	ret.iEI := '19'O;
+	ret.ext := '1'B;
+	ret.lengthIndicator := { length1 := 1 };
+	if (isvalue(cause)) {
+		ret.radio_Cause_Value := int2oct(enum2int(valueof(cause)), 1);
+	} else {
+		ret.radio_Cause_Value := ?
+	}
+	return ret;
+}
+
+/* 10.3.5 */
+template (value) PDU_BSSGP
+ts_BSSGP_RADIO_STATUS(GprsTlli tlli, template (value) BssgpRadioCause cause) := {
+	pDU_BSSGP_RADIO_STATUS := {
+		bssgpPduType := '0a'O,
+		tLLI := ts_BSSGP_TLLI(tlli),
+		tMSI := omit,
+		iMSI := omit,
+		radio_Cause := ts_BSSGP_RADIO_CAUSE(cause)
+	}
+}
+template (present) PDU_BSSGP
+tr_BSSGP_RADIO_STATUS(template (present) GprsTlli tlli, template (present) BssgpRadioCause cause) := {
+	pDU_BSSGP_RADIO_STATUS := {
+		bssgpPduType := '0a'O,
+		tLLI := ts_BSSGP_TLLI(tlli),
+		tMSI := omit,
+		iMSI := omit,
+		radio_Cause := tr_BSSGP_RADIO_CAUSE(cause)
+	}
+}
+
 
 
 /* PDU permitted on PTP BVC only (TS 48.018 Section 5.4.1) */