NAS_Templates: Allow passing old_guti and ptmsi_sig to TAU Req template

Change-Id: I5e0204e772edefc49a63b73fc4aad2fed5c14cac
diff --git a/library/NAS_Templates.ttcn b/library/NAS_Templates.ttcn
index 7652720..4b5758e 100644
--- a/library/NAS_Templates.ttcn
+++ b/library/NAS_Templates.ttcn
@@ -142,13 +142,21 @@
 }
 
 template (value) EPS_MobileIdentityV
-ts_NAS_MobileId_GUTI(hexstring mcc_mnc, OCT2 mmegi, OCT1 mmec, OCT4 tmsi) := {
+ts_NAS_MobileId_GUTI_fields(hexstring mcc_mnc, OCT2 mmegi, OCT1 mmec, OCT4 tmsi) := {
 	typeOfIdentity := '110'B,
 	oddEvenInd_identity := {
 		guti := ts_NAS_GUTI(mcc_mnc, mmegi, mmec, tmsi)
 	}
 }
 
+template (value) EPS_MobileIdentityV
+ts_NAS_MobileId_GUTI(template (value) GUTI guti) := {
+	typeOfIdentity := '110'B,
+	oddEvenInd_identity := {
+		guti := guti
+	}
+}
+
 /* 9.9.3.12 EPS mobile identity */
 template (value) EPS_MobileIdentityLV
 ts_EPS_MobileId_IMSI(hexstring imsi) := {
@@ -162,7 +170,29 @@
 
 template (value) EPS_MobileIdentityLV
 ts_EPS_MobileId_GUTI(hexstring mcc_mnc, OCT2 mmegi, OCT1 mmec, OCT4 tmsi) := {
-	 ePS_MobileIdentity := ts_NAS_MobileId_GUTI(mcc_mnc, mmegi, mmec, tmsi)
+	 ePS_MobileIdentity := ts_NAS_MobileId_GUTI_fields(mcc_mnc, mmegi, mmec, tmsi)
+}
+
+template (value) EPS_MobileIdentityLV
+ts_EPS_MobileId_GUTI_(template (value) GUTI guti) := {
+	 ePS_MobileIdentity := ts_NAS_MobileId_GUTI(guti)
+}
+
+/* 9.9.3.26 P-TMSI signature */
+template (value) P_TMSISignatureTV
+ts_PTMSI_SignatureTV(template (value) OCT3 ptmsi_sig) := {
+	 elementIdentifier := '19'O,
+	 valueField := ptmsi_sig
+}
+
+/* 9.9.3.45 GUTI Type */
+const BIT1 GUTI_TYPE_NATIVE := '0'B;
+const BIT1 GUTI_TYPE_MAPPED := '1'B;
+template (value) GUTI_TypeTV
+ts_GUTI_TypeTV(template (value) BIT1 guti_type) := {
+	gUTI_Type := guti_type,
+	spare := '000'B,
+	elementIdentifier := '1110'B
 }
 
 template (value) PDU_NAS_EPS
@@ -354,7 +384,9 @@
 
 /* 8.2.29 Tracking Area Update Request */
 template (value) PDU_NAS_EPS
-ts_PDU_NAS_EPS_TrackingAreaUpdateRequest(EPS_MobileIdentityLV old_guti) := {
+ts_PDU_NAS_EPS_TrackingAreaUpdateRequest(template (value) EPS_MobileIdentityLV old_guti,
+					 template (omit) P_TMSISignatureTV old_ptmsi_sig := omit,
+					 template (omit) GUTI_TypeTV old_guti_type := omit) := {
 	protocolDiscriminator := c_EPS_NAS_PD_EMM,
 	ePS_messages := {
 		ePS_MobilityManagement := {
@@ -366,7 +398,7 @@
 				oldGUTI := old_guti,
 				nonCurrentNative_nasKeySetId := omit,
 				gprsCipheringKeySequenceNumber := omit,
-				old_P_TMSISignature := omit,
+				old_P_TMSISignature := old_ptmsi_sig,
 				additionalGUTI := omit,
 				nonce := omit,
 				uENetworkCapability := omit,
@@ -382,7 +414,7 @@
 				supportedCodecList := omit,
 				additionalUpdateType := omit,
 				voiceDomainPrefandUEsettings := omit,
-				oldGUTI_Type := omit,
+				oldGUTI_Type := old_guti_type,
 				deviceProperties := omit,
 				mS_NetworkFeatureSupport := omit,
 				tMSIBasedNRIContainer := omit,