sgsn: Reduce code duplication by introducing f_gmm_gsup_lu_isd()

Change-Id: I7a43eaa75201fc6c3afba67f6161aef872aca546
diff --git a/sgsn/SGSN_Tests.ttcn b/sgsn/SGSN_Tests.ttcn
index 248a9c3..70e8124 100644
--- a/sgsn/SGSN_Tests.ttcn
+++ b/sgsn/SGSN_Tests.ttcn
@@ -247,6 +247,7 @@
 	}
 }
 
+/* perform GMM authentication (if expected) */
 function f_gmm_auth () runs on BSSGP_ConnHdlr {
 	var BssgpDecoded bd;
 	var PDU_L3_MS_SGSN l3_mo;
@@ -314,6 +315,14 @@
 	}
 }
 
+private function f_gmm_gsup_lu_isd() runs on BSSGP_ConnHdlr {
+	/* Expect MSC to perform LU with HLR */
+	GSUP.receive(tr_GSUP_UL_REQ(g_pars.imsi));
+	GSUP.send(ts_GSUP_ISD_REQ(g_pars.imsi, g_pars.msisdn));
+	GSUP.receive(tr_GSUP_ISD_RES(g_pars.imsi));
+	GSUP.send(ts_GSUP_UL_RES(g_pars.imsi));
+}
+
 private function f_TC_attach(charstring id) runs on BSSGP_ConnHdlr {
 	var BssgpDecoded bd;
 	var RoutingAreaIdentificationV old_ra := f_random_RAI();
@@ -321,10 +330,7 @@
 	BSSGP.send(ts_GMM_ATTACH_REQ(f_mi_get_lv(), old_ra, false, false, omit, omit));
 	f_gmm_auth();
 	/* Expect MSC to perform LU with HLR */
-	GSUP.receive(tr_GSUP_UL_REQ(g_pars.imsi));
-	GSUP.send(ts_GSUP_ISD_REQ(g_pars.imsi, g_pars.msisdn));
-	GSUP.receive(tr_GSUP_ISD_RES(g_pars.imsi));
-	GSUP.send(ts_GSUP_UL_RES(g_pars.imsi));
+	f_gmm_gsup_lu_isd();
 
 	BSSGP.receive(tr_BD_L3_MT(tr_GMM_ATTACH_ACCEPT('001'B, ?, ?))) -> value bd {
 		f_process_attach_accept(bd.l3_mt.msgs.gprs_mm.attachAccept);
@@ -474,10 +480,7 @@
 	BSSGP.send(ts_GMM_ATTACH_REQ(f_mi_get_lv(), old_ra, true, false, omit, omit));
 	f_gmm_auth();
 	/* Expect MSC to perform LU with HLR */
-	GSUP.receive(tr_GSUP_UL_REQ(g_pars.imsi));
-	GSUP.send(ts_GSUP_ISD_REQ(g_pars.imsi, g_pars.msisdn));
-	GSUP.receive(tr_GSUP_ISD_RES(g_pars.imsi));
-	GSUP.send(ts_GSUP_UL_RES(g_pars.imsi));
+	f_gmm_gsup_lu_isd();
 
 	BSSGP.receive(tr_BD_L3_MT(tr_GMM_ATTACH_ACCEPT('001'B, ?, ?))) -> value bd {
 		f_process_attach_accept(bd.l3_mt.msgs.gprs_mm.attachAccept);