diff --git a/library/GTP_Templates.ttcn b/library/GTP_Templates.ttcn
index 22d8632..493da8f 100644
--- a/library/GTP_Templates.ttcn
+++ b/library/GTP_Templates.ttcn
@@ -139,6 +139,42 @@
 		imeisv := imeisv
 	}
 
+	// MS Time Zone  -  7.7.52
+	template (value) MS_TimeZone ts_MS_TimeZone(template (value) OCT1 timeZone := '00'O,
+						    template (value) BIT2 daylightSavingTime := '00'B) := {
+		type_gtpc := '99'O,
+		lengthf := 2,
+		timeZone := timeZone,
+		daylightSavingTime := daylightSavingTime,
+		spare1 := '000'B,
+		sgsnAttempsToUpdateMS := '0'B, /* propietary, use it as spare */
+		spare2 := '00'B
+	}
+	function f_ts_MS_TimeZone(template (omit) OCT1 timeZone, template (omit) BIT2 daylightSavingTime)
+	return template (omit) MS_TimeZone {
+		if (istemplatekind(timeZone, "omit") and istemplatekind(daylightSavingTime, "omit")) {
+			return omit;
+		}
+		if (istemplatekind(timeZone, "omit")) {
+			return ts_MS_TimeZone(daylightSavingTime := daylightSavingTime);
+		}
+		if (istemplatekind(daylightSavingTime, "omit")) {
+			return ts_MS_TimeZone(timeZone);
+		}
+		return ts_MS_TimeZone(timeZone, daylightSavingTime);
+	}
+
+	template (present) MS_TimeZone tr_MS_TimeZone(template (present) OCT1 timeZone := ?,
+						      template (present) BIT2 daylightSavingTime := ?) := {
+		type_gtpc := '99'O,
+		lengthf := 2,
+		timeZone := timeZone,
+		daylightSavingTime := daylightSavingTime,
+		spare1 := '000'B,
+		sgsnAttempsToUpdateMS := '0'B, /* propietary, use it as spare */
+		spare2 := '00'B
+	}
+
 	/* Charging Characteristics IE TS 29.060 7.7.23 */
 	template ChargingCharacteristics_GTPC ts_ChargingCharacteristics(template (value) OCT2 chargingChar) := {
 		type_gtpc := '1A'O,
@@ -400,7 +436,8 @@
 					   template (omit) OCT1 ratType := omit,
 					   template (omit) UserLocationInformation uli := omit,
 					   template (omit) OCT2 charging_char := omit,
-					   template (omit) OCT8 imeisv := omit) := {
+					   template (omit) OCT8 imeisv := omit,
+					   template(omit) MS_TimeZone ms_tz := omit) := {
 		createPDPContextRequest := {
 			imsi := ts_Imsi(imsi),
 			rai := omit,
@@ -441,7 +478,7 @@
 			aPN_Restriction := omit,
 			ratType := f_ts_RATType(ratType),
 			userLocationInformation := uli,
-			mS_TimeZone := omit,
+			mS_TimeZone := ms_tz,
 			imeisv := f_ts_IMEISV(imeisv),
 			camelChargingInformationContainer := omit,
 			additionalTraceInfo := omit,
@@ -465,13 +502,14 @@
 						 template (omit) OCT1 ratType := omit,
 						 template (omit) UserLocationInformation uli := omit,
 						 template (omit) OCT2 charging_char := omit,
-						 template (omit) OCT8 imeisv := omit) := {
+						 template (omit) OCT8 imeisv := omit,
+						 template(omit) MS_TimeZone ms_tz := omit) := {
 		peer := peer,
 		gtpc := ts_GTP1C_PDU(createPDPContextRequest, '00000000'O,
 					valueof(ts_CreatePdpPDU(imsi, restart_ctr, teid_data, teid_ctrl,
 								nsapi, eua, apn, sgsn_ip_sign,
 								sgsn_ip_data, msisdn, pco, ratType, uli,
-								charging_char, imeisv)), seq)
+								charging_char, imeisv, ms_tz)), seq)
 	}
 
 
