bsc: Introduce test TC_assignment_emerg_setup_allow_imei

Related: OS#5849
Change-Id: I5a95cb0cd6903801db8cfcc1542bd6147461eebe
diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn
index dd044e0..13fe723 100644
--- a/bsc/MSC_ConnectionHandler.ttcn
+++ b/bsc/MSC_ConnectionHandler.ttcn
@@ -730,7 +730,8 @@
 type record TestHdlrParams {
 	OCT1		ra,
 	GsmFrameNumber	fn,
-	hexstring	imsi,
+	hexstring	imsi optional,
+	hexstring	imei optional,
 	RslLinkId	link_id,
 	integer		media_nr, /* determins MGCP EP, port numbers */
 	BSSMAP_IE_SpeechCodecList ass_codec_list optional,
@@ -764,7 +765,8 @@
 template (value) TestHdlrParams t_def_TestHdlrPars := {
 	ra := '23'O,
 	fn := 23,
-	imsi := '001019876543210'H,
+	imsi := omit, /* set to random in f_gen_test_hdlr_pars() */
+	imei := omit, /* set to random in f_gen_test_hdlr_pars() */
 	link_id := valueof(ts_RslLinkID_DCCH(0)),
 	media_nr := 1,
 	ass_codec_list := omit,
@@ -804,12 +806,23 @@
 
 function f_create_chan_and_exp(template (present) PDU_BSSAP exp_l3_compl := ?)
 runs on MSC_ConnHdlr {
-	var MobileIdentityLV mi := valueof(ts_MI_IMSI_LV(g_pars.imsi));
-	var PDU_ML3_MS_NW l3_info := valueof(ts_CM_SERV_REQ(CM_TYPE_MO_CALL, mi));
-	var octetstring l3_enc := enc_PDU_ML3_MS_NW(l3_info);
+	var MobileIdentityLV mi;
+	var PDU_ML3_MS_NW l3_info;
+	var octetstring l3_enc;
 	var template uint3_t tsc := ?;
 	timer T;
 
+	if (ispresent(g_pars.imsi)) {
+		mi := valueof(ts_MI_IMSI_LV(g_pars.imsi));
+	} else if (ispresent(g_pars.imei)) {
+		mi := valueof(ts_MI_IMEI_LV(g_pars.imei));
+	} else {
+		Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail,
+					"Either imsi or imei must be set!");
+	}
+	l3_info := valueof(ts_CM_SERV_REQ(CM_TYPE_MO_CALL, mi));
+	l3_enc := enc_PDU_ML3_MS_NW(l3_info);
+
 	if (not istemplatekind(g_pars.expect_tsc, "omit")) {
 		tsc := g_pars.expect_tsc;
 	}