send GMM_CAUSE_ROAMING_NOTALLOWED instead of GMM_CAUSE_IMSI_UNKNOWN HARDCODED
diff --git a/src/hlr.c b/src/hlr.c
index 6599d70..27f8b6c 100644
--- a/src/hlr.c
+++ b/src/hlr.c
@@ -320,7 +320,7 @@
 						  " Returning slightly inaccurate cause 'IMSI Unknown' via GSUP");
 			return rc;
 		case -ENOENT:
-			osmo_gsup_req_respond_err(req, GMM_CAUSE_IMSI_UNKNOWN, "IMSI unknown");
+			osmo_gsup_req_respond_err(req, GMM_CAUSE_ROAMING_NOTALLOWED, "IMSI unknown");
 			return rc;
 		default:
 			osmo_gsup_req_respond_err(req, GMM_CAUSE_NET_FAIL, "failure to look up IMSI in db");
@@ -372,7 +372,7 @@
 	if (rc == 0)
 		osmo_gsup_req_respond_msgt(req, OSMO_GSUP_MSGT_PURGE_MS_RESULT, true);
 	else if (rc == -ENOENT)
-		osmo_gsup_req_respond_err(req, GMM_CAUSE_IMSI_UNKNOWN, "IMSI unknown");
+		osmo_gsup_req_respond_err(req, GMM_CAUSE_ROAMING_NOTALLOWED, "IMSI unknown");
 	else
 		osmo_gsup_req_respond_err(req, GMM_CAUSE_NET_FAIL, "db error");
 	return rc;
diff --git a/src/lu_fsm.c b/src/lu_fsm.c
index 0b771a5..ee9e6b8 100644
--- a/src/lu_fsm.c
+++ b/src/lu_fsm.c
@@ -138,7 +138,7 @@
 	}
 
 	if (db_subscr_get_by_imsi(g_hlr->dbc, update_location_req->gsup.imsi, &lu->subscr) < 0) {
-		lu_failure(lu, GMM_CAUSE_IMSI_UNKNOWN, "Subscriber does not exist");
+		lu_failure(lu, GMM_CAUSE_ROAMING_NOTALLOWED, "Subscriber does not exist");
 		return;
 	}
 
diff --git a/src/proxy.c b/src/proxy.c
index b9cd313..c9145bd 100644
--- a/src/proxy.c
+++ b/src/proxy.c
@@ -80,7 +80,7 @@
 static void proxy_pending_req_remote_hlr_connect_result(struct osmo_gsup_req *req, struct remote_hlr *remote_hlr)
 {
 	if (!remote_hlr || !remote_hlr_is_up(remote_hlr)) {
-		osmo_gsup_req_respond_err(req, GMM_CAUSE_IMSI_UNKNOWN, "Proxy: Failed to connect to home HLR");
+		osmo_gsup_req_respond_err(req, GMM_CAUSE_ROAMING_NOTALLOWED, "Proxy: Failed to connect to home HLR");
 		return;
 	}