VLR: send CHECK-IMEI to EIR/HLR

When check-imei-req is enabled in the VTY config, do not accept IMEIs
sent by the ME directly anymore. Send the IMEI to the EIR/HLR and wait
for its ACK or NACK.

OsmoHLR also accepts all IMEIs at this point, but this allows to
optionally store the IMEI in the HLR DB.

Depends: Ib240474b0c3c603ba840cf26babb38a44dfc9364 (osmo-hlr)
Related: OS#3733
Change-Id: Ife868ed71c36cdd02638072abebf61fc949080a7
diff --git a/tests/msc_vlr/msc_vlr_test_gsm_ciph.c b/tests/msc_vlr/msc_vlr_test_gsm_ciph.c
index a641ec2..31b5f5d 100644
--- a/tests/msc_vlr/msc_vlr_test_gsm_ciph.c
+++ b/tests/msc_vlr/msc_vlr_test_gsm_ciph.c
@@ -553,9 +553,15 @@
 	EXPECT_ACCEPTED(false);
 	thwart_rx_non_initial_requests();
 
-	btw("MS replies with an Identity Response");
-	expect_bssap_clear();
+	btw("MS replies with an Identity Response, VLR sends the IMEI to HLR");
+	gsup_expect_tx("30010809710000004026f050090824433224433224f0");
 	ms_sends_msg("0559084a32244332244302");
+	EXPECT_ACCEPTED(false);
+	thwart_rx_non_initial_requests();
+
+	btw("HLR accepts the IMEI");
+	expect_bssap_clear();
+	gsup_rx("32010809710000004026f0510100", NULL);
 	VERBOSE_ASSERT(bssap_clear_sent, == true, "%d");
 
 	btw("LU was successful, and the conn has already been closed");
@@ -758,8 +764,14 @@
 	EXPECT_ACCEPTED(false);
 	thwart_rx_non_initial_requests();
 
-	btw("MS replies with an Identity Response");
+	btw("MS replies with an Identity Response, VLR sends the IMEI to HLR");
+	gsup_expect_tx("30010809710000004026f050090824433224433224f0");
 	ms_sends_msg("0559084a32244332244302");
+	EXPECT_ACCEPTED(false);
+	thwart_rx_non_initial_requests();
+
+	btw("HLR accepts the IMEI");
+	gsup_rx("32010809710000004026f0510100", NULL);
 
 	btw("a LU Accept with a new TMSI was sent, waiting for TMSI Realloc Compl");
 	EXPECT_CONN_COUNT(1);