sgsn: test umts aka with gsm sres response

Add ability to test UMTS AKA, by f_gmm_attach() with flags to select UMTS AKA
and to respond to it with GSM AKA SRES.

Add TC_attach_umts_aka_umts_res and TC_attach_umts_aka_gsm_sres.

Change existing TC_attach_* to also call f_gmm_attach(). (Actually,
f_gmm_attach() is almost exactly the previous TC_attach function body.)

osmo-sgsn change I36807bad3bc55c0030d4f09cb2c369714f24bec7 will implement
proper handling of GSM AKA response and make TC_attach_umts_aka_gsm_sres pass.

Related: OS#3193 OS#3224
Change-Id: I201ffeaee4439a413ab8289aceeccca9aba40a7a
diff --git a/library/L3_Common.ttcn b/library/L3_Common.ttcn
index 5b36056..2b39621 100644
--- a/library/L3_Common.ttcn
+++ b/library/L3_Common.ttcn
@@ -7,8 +7,11 @@
 type record AuthVector {
 	OCT16 rand,
 	OCT4 sres,
-	OCT8 kc
-	/* FIXME: 3G elements */
+	OCT8 kc,
+	OCT16 ik,
+	OCT16 ck,
+	OCT16 autn,
+	OCT8 res
 }
 
 private function f_rnd_oct(integer len) return octetstring {
@@ -28,6 +31,15 @@
 	return vec;
 }
 
+function f_gen_auth_vec_3g() return AuthVector {
+	var AuthVector vec := f_gen_auth_vec_2g();
+	vec.ik := f_rnd_oct(16);
+	vec.ck := f_rnd_oct(16);
+	vec.autn := f_rnd_oct(16);
+	vec.res := f_rnd_oct(8);
+	return vec;
+}
+
 /* 3GPP TS 23.003 2.6 */
 type enumerated TlliType {
 	TLLI_LOCAL,