BSSGP_Types: Add IMSI and TMSI IE + related templates
diff --git a/gprs_gb/BSSGP_Types.ttcn b/gprs_gb/BSSGP_Types.ttcn
index aef111a..e084b0e 100644
--- a/gprs_gb/BSSGP_Types.ttcn
+++ b/gprs_gb/BSSGP_Types.ttcn
@@ -234,6 +234,7 @@
 		BssgpCause		cause,		/* 11.3.8 */
 		BssgpCellId		cell_id,	/* 11.3.9 */
 		DrxParameter		drx_parameter,	/* 11.3.11 */
+		MobileIdentity		imsi,		/* 11.3.14 */
 		LocationAreaIdentification lai,		/* 11.3.17 */
 		MobileIdentity		mobile_id,	/* 11.3.20 */
 		BssgpPduLifetime	pdu_lifetime,	/* 11.3.25 */
@@ -241,6 +242,7 @@
 		BssgpQosProfile		qos_profile,	/* 11.3.28 */
 		BssgpTlli		tlli,		/* 11.3.25 */
 		uint16_t		r_default_ms,	/* 11.3.32 */
+		GsmTmsi			tmsi,		/* 11.3.36 */
 		BssgpServiceUtranCco	svc_utran_cco,	/* 11.3.47 */
 		BssgpFeatureBitmap	feature_bitmap,	/* 11.3.40 */
 		BssgpExtendedFeatureBitmap ext_feature_bitmap,	/* 11.3.84 */
@@ -264,6 +266,7 @@
 					cause,			iei = CAUSE;
 					cell_id,		iei = CELL_ID;
 					drx_parameter,		iei = DRX_PARAMETERS;
+					imsi,			iei = IMSI;
 					lai,			iei = LOCATION_AREA;
 					priority,		iei = PRIORITY;
 					mobile_id,		iei = MOBILE_IDENTITY;
@@ -271,6 +274,7 @@
 					qos_profile,		iei = QOS_PROFILE;
 					tlli,			iei = TLLI;
 					r_default_ms,		iei = R_DEFAULT_MS;
+					tmsi,			iei = TMSI;
 					svc_utran_cco,		iei = SERVICE_UTRAN_CCO;
 					feature_bitmap,		iei = FEATURE_BITMAP;
 					ext_feature_bitmap,	iei = EXTENDED_FEATURE_BITMAP;
@@ -356,6 +360,39 @@
 		u := { cell_id := cid }
 	}
 
+	template BssgpTLV t_BSSGP_IE_Lifetime(uint16_t time) := {
+		iei := PDU_LIFETIME,
+		len := 2,
+		u := { pdu_lifetime := time }
+	}
+
+	template BssgpTLV t_BSSGP_IE_Tmsi(template GsmTmsi tmsi) := {
+		iei := TMSI,
+		len := 4,
+		u := { tmsi := tmsi }
+	}
+
+	template BssgpTLV t_BSSGP_IE_Imsi(template hexstring imsi) := {
+		iei := IMSI,
+		len := 4,
+		u := {
+			imsi := {
+				imsi := {
+					mi_type := MI_TYPE_IMSI,
+					odd := true, /* IMSI has 15 digits */
+					digits := imsi
+				}
+			}
+		}
+	}
+
+	template BssgpTLV t_BSSGP_IE_Qos(BssgpQosProfile qos) := {
+		iei := QOS_PROFILE,
+		len := 0,
+		u := {
+			qos_profile := qos
+		}
+	}
 
 	template BssgpTLV t_BssgpIE(template BssgpIEI iei, template BssgpIeUnion u) := {
 		iei := iei,