msc: check IMEI: move reject LU into new function

Change-Id: Ifad259e21df035a89e97831a57c0675502308eb6
diff --git a/msc/BSC_ConnectionHandler.ttcn b/msc/BSC_ConnectionHandler.ttcn
index e951400..fb2d888 100644
--- a/msc/BSC_ConnectionHandler.ttcn
+++ b/msc/BSC_ConnectionHandler.ttcn
@@ -642,6 +642,24 @@
 	setverdict(pass);
 }
 
+function f_expect_lu_reject() runs on BSC_ConnHdlr {
+	var PDU_DTAP_MT dtap_mt;
+	timer T := 5.0;
+
+	T.start;
+	alt {
+	[] BSSAP.receive(tr_PDU_DTAP_MT(tr_ML3_MT_LU_Rej)) {
+		setverdict(pass);
+		}
+	[] BSSAP.receive(tr_PDU_DTAP_MT(?)) -> value dtap_mt {
+		setverdict(fail, "Expected LU reject BSSAP message, got: ", dtap_mt);
+		}
+	[] T.timeout {
+		setverdict(fail, "Timeout waiting for LU reject");
+		}
+	}
+}
+
 function f_foo() runs on BSC_ConnHdlr{
 	/* SCCP CC handled by RAN_Emulation_CT.main() */
 	/* Expect auth, if enabled */
diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn
index 15ff17c..c463dd5 100644
--- a/msc/MSC_Tests.ttcn
+++ b/msc/MSC_Tests.ttcn
@@ -5601,7 +5601,6 @@
 
 private function f_tc_lu_imsi_auth_tmsi_check_imei_nack(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr {
 	var PDU_ML3_MS_NW l3_lu;
-	var PDU_DTAP_MT dtap_mt;
 
 	pars.net.expect_auth := true;
 	pars.net.expect_imei := true;
@@ -5617,17 +5616,7 @@
 	f_mm_common();
 	f_msc_lu_hlr();
 	f_mm_imei();
-
-	/* Expect reject */
-	alt {
-	[] BSSAP.receive(tr_PDU_DTAP_MT(tr_ML3_MT_LU_Rej)) {
-		setverdict(pass);
-		}
-	[] BSSAP.receive(tr_PDU_DTAP_MT(?)) -> value dtap_mt {
-		setverdict(fail, "Expected LU reject BSSAP message, got: ", dtap_mt);
-		mtc.stop;
-		}
-	}
+	f_expect_lu_reject();
 	f_expect_clear();
 }
 testcase TC_lu_imsi_auth_tmsi_check_imei_nack() runs on MTC_CT {
@@ -5642,7 +5631,6 @@
 
 private function f_tc_lu_imsi_auth_tmsi_check_imei_err(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr {
 	var PDU_ML3_MS_NW l3_lu;
-	var PDU_DTAP_MT dtap_mt;
 
 	pars.net.expect_auth := true;
 	pars.net.expect_imei := true;
@@ -5658,17 +5646,7 @@
 	f_mm_common();
 	f_msc_lu_hlr();
 	f_mm_imei();
-
-	/* Expect reject */
-	alt {
-	[] BSSAP.receive(tr_PDU_DTAP_MT(tr_ML3_MT_LU_Rej)) {
-		setverdict(pass);
-		}
-	[] BSSAP.receive(tr_PDU_DTAP_MT(?)) -> value dtap_mt {
-		setverdict(fail, "Expected LU reject BSSAP message, got: ", dtap_mt);
-		mtc.stop;
-		}
-	}
+	f_expect_lu_reject();
 	f_expect_clear();
 }
 testcase TC_lu_imsi_auth_tmsi_check_imei_err() runs on MTC_CT {
@@ -5746,7 +5724,6 @@
 
 private function f_tc_lu_imsi_auth_tmsi_check_imei_early_nack(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr {
 	var PDU_ML3_MS_NW l3_lu;
-	var PDU_DTAP_MT dtap_mt;
 
 	pars.net.expect_auth := true;
 	pars.net.expect_imei_early := true;
@@ -5760,17 +5737,7 @@
 	BSSAP.send(ts_BSSMAP_ClassmarkUpd(g_pars.cm2, g_pars.cm3));
 
 	f_mm_imei_early();
-
-	/* Expect reject */
-	alt {
-	[] BSSAP.receive(tr_PDU_DTAP_MT(tr_ML3_MT_LU_Rej)) {
-		setverdict(pass);
-		}
-	[] BSSAP.receive(tr_PDU_DTAP_MT(?)) -> value dtap_mt {
-		setverdict(fail, "Expected LU reject BSSAP message, got: ", dtap_mt);
-		mtc.stop;
-		}
-	}
+	f_expect_lu_reject();
 	f_expect_clear();
 }
 testcase TC_lu_imsi_auth_tmsi_check_imei_early_nack() runs on MTC_CT {
@@ -5785,7 +5752,6 @@
 
 private function f_tc_lu_imsi_auth_tmsi_check_imei_early_err(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr {
 	var PDU_ML3_MS_NW l3_lu;
-	var PDU_DTAP_MT dtap_mt;
 
 	pars.net.expect_auth := true;
 	pars.net.expect_imei_early := true;
@@ -5799,17 +5765,7 @@
 	BSSAP.send(ts_BSSMAP_ClassmarkUpd(g_pars.cm2, g_pars.cm3));
 
 	f_mm_imei_early();
-
-	/* Expect reject */
-	alt {
-	[] BSSAP.receive(tr_PDU_DTAP_MT(tr_ML3_MT_LU_Rej)) {
-		setverdict(pass);
-		}
-	[] BSSAP.receive(tr_PDU_DTAP_MT(?)) -> value dtap_mt {
-		setverdict(fail, "Expected LU reject BSSAP message, got: ", dtap_mt);
-		mtc.stop;
-		}
-	}
+	f_expect_lu_reject();
 	f_expect_clear();
 }
 testcase TC_lu_imsi_auth_tmsi_check_imei_early_err() runs on MTC_CT {