diff --git a/library/Osmocom_Gb_Types.ttcn b/library/Osmocom_Gb_Types.ttcn
index 2c82437..ee03a8a 100644
--- a/library/Osmocom_Gb_Types.ttcn
+++ b/library/Osmocom_Gb_Types.ttcn
@@ -829,6 +829,13 @@
 		digits := imsi
 	}
 
+	template (present) TMSI_BSSGP tr_BSSGP_TMSI(GsmTmsi tmsi) := {
+		iEI := '20'O,
+		ext := '1'B,
+		lengthIndicator := { length1 := 4 },
+		tMSI_Value := int2oct(tmsi, 4)
+	}
+
 	template TMSI_BSSGP ts_BSSGP_TMSI(GsmTmsi tmsi) := {
 		iEI := '20'O,
 		ext := '1'B,
@@ -1556,7 +1563,45 @@
 		}
 	}
 
-	template (value) Routeing_Area ts_BSSGP_RA_ID(RoutingAreaIdentification input) := {
+	template (value) Paging_Field4 ts_BssgpP4BssArea := {
+		bSS_Area_Indication := {
+			iEI := '02'O,
+			ext := '1'B,
+			lengthIndicator := {
+				length1 := 1
+			},
+			bSS_indicator := '00'O
+		}
+	}
+
+	template (value) Paging_Field4 ts_BssgpP4LAC(GSM_Types.LocationAreaIdentification lai) := {
+		location_Area := ts_BSSGP_LA_ID(lai)
+	}
+
+	template (value) Paging_Field4 ts_BssgpP4RAC(GSM_Types.RoutingAreaIdentification rai) := {
+		routeing_Area := ts_BSSGP_RA_ID(rai)
+	}
+
+	template (value) Paging_Field4 ts_BssgpP4Bvci(BssgpBvci bvci) := {
+		bVCI := t_BSSGP_BVCI(bvci)
+	}
+
+	template (value) Location_Area ts_BSSGP_LA_ID(GSM_Types.LocationAreaIdentification input) := {
+		iEI := '10'O,
+		ext := '1'B,
+		lengthIndicator := {
+			length1 := 5
+		},
+		mccDigit1 := input.mcc_mnc[0],
+		mccDigit2 := input.mcc_mnc[1],
+		mccDigit3 := input.mcc_mnc[2],
+		mncDigit3 := input.mcc_mnc[3],
+		mncDigit1 := input.mcc_mnc[4],
+		mncDigit2 := input.mcc_mnc[5],
+		lac := int2oct(input.lac, 2)
+	}
+
+	template (value) Routeing_Area ts_BSSGP_RA_ID(GSM_Types.RoutingAreaIdentification input) := {
 		iEI := '1B'O,
 		ext := '1'B,
 		lengthIndicator := {
@@ -1754,8 +1799,7 @@
 		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 {
+        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;
