sgsn: add TC_geran_attach_iu_rau

MS <-> SGSN: Successful Attach over Geran
MS <-> SGSN: Routing Area Update over Iu

The test case will crash the SGSN and is not included
in the default run.

Change-Id: Id23244aa6ca329579300b66b73ce238bd4d01eef
diff --git a/sgsn/SGSN_Tests_Iu.ttcn b/sgsn/SGSN_Tests_Iu.ttcn
index c0a6729..64d829d 100644
--- a/sgsn/SGSN_Tests_Iu.ttcn
+++ b/sgsn/SGSN_Tests_Iu.ttcn
@@ -59,10 +59,35 @@
 	f_cleanup();
 }
 
+private function f_TC_geran_attach_iu_rau(charstring id) runs on BSSGP_ConnHdlr {
+	var PdpActPars apars := valueof(t_PdpActPars(mp_ggsn_ip));
+
+	/* first perform regular attach */
+	f_gmm_attach(umts_aka_challenge := true, force_gsm_sres := false, gb_idx := 0);
+
+	/* do a routing area update */
+	f_routing_area_update(g_pars.ra, bssgp := 3);
+	setverdict(pass);
+}
+
+testcase TC_geran_attach_iu_rau() runs on test_CT {
+	/* MS <-> SGSN: Successful Attach over Geran
+	 * MS <-> SGSN: Routing Area Update over Iu
+	 */
+	var BSSGP_ConnHdlr vc_conn;
+	g_ranap_enable := true;
+	f_init();
+	f_sleep(1.0);
+	vc_conn := f_start_handler(refers(f_TC_geran_attach_iu_rau), testcasename(), g_gb, 1003);
+	vc_conn.done;
+	f_cleanup();
+}
+
 control {
 	execute( TC_iu_attach() );
 	/* FIXME: will crash the sgsn
-	 * execute( TC_iu_attach_geran_rau() ); */
+	 * execute( TC_iu_attach_geran_rau() );
+	 * execute( TC_geran_attach_iu_rau() ); */
 }