GSUP/L3: Add templates related to authentication

Change-Id: Id9566e3e075a8837e2e77a7c2b9d8f0f6e9b7554
diff --git a/library/L3_Templates.ttcn b/library/L3_Templates.ttcn
index be9386a..d652873 100644
--- a/library/L3_Templates.ttcn
+++ b/library/L3_Templates.ttcn
@@ -474,6 +474,62 @@
 	}
 }
 
+template PDU_ML3_NW_MS tr_ML3_MT_MM_AUTH_REQ(template OCT16 rand := ?) := {
+	discriminator := '0101'B,
+	tiOrSkip := {
+		skipIndicator := '0000'B
+	},
+	msgs := {
+		mm := {
+			authenticationRequest := {
+				messageType := '010010'B,
+				nsd := '00'B,
+				cipheringKeySequenceNumber := ?,
+				spare2_4 := ?,
+				authenticationParRAND := rand,
+				authenticationParAUTN := *
+			}
+		}
+	}
+}
+
+template (value) PDU_ML3_MS_NW ts_ML3_MT_MM_AUTH_RESP_2G(OCT4 sres) := {
+	discriminator := '0101'B,
+	tiOrSkip := {
+		skipIndicator := '0000'B
+	},
+	msgs := {
+		mm := {
+			authenticationResponse := {
+				messageType := '010100'B,
+				nsd := '00'B,
+				authenticationParSRES := sres,
+				authenticationParSRESext := omit
+			}
+		}
+	}
+}
+
+template (value) PDU_ML3_MS_NW ts_ML3_MT_MM_AUTH_RESP_3G(OCT4 sres, octetstring res) := {
+	discriminator := '0101'B,
+	tiOrSkip := {
+		skipIndicator := '0000'B
+	},
+	msgs := {
+		mm := {
+			authenticationResponse := {
+				messageType := '010100'B,
+				nsd := '00'B,
+				authenticationParSRES := sres,
+				authenticationParSRESext := {
+					elementIdentifier := '21'O,
+					lengthIndicator := 0, /* overwritten */
+					valueField := res
+				}
+			}
+		}
+	}
+}
 
 
 }