aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeels Hofmeyr <neels@hofmeyr.de>2019-12-03 01:36:52 +0100
committerNeels Hofmeyr <neels@hofmeyr.de>2020-02-10 11:45:43 +0100
commit8d438c2ebc3936b7b8c23e020d2de630faf417c2 (patch)
treec4a50c42446dce480ccd26426b02ecf8d5142a2e
parent94c72fb6736b10ad8354a9c69e2c2d875a18270f (diff)
gsup routing error
-rw-r--r--src/libvlr/vlr.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/libvlr/vlr.c b/src/libvlr/vlr.c
index 887ceb810..3770c3cd2 100644
--- a/src/libvlr/vlr.c
+++ b/src/libvlr/vlr.c
@@ -1106,6 +1106,15 @@ int vlr_gsup_rx(struct gsup_client_mux *gcm, void *data, const struct osmo_gsup_
case OSMO_GSUP_MSGT_CHECK_IMEI_RESULT:
rc = vlr_subscr_handle_check_imei(vsub, gsup);
break;
+ case OSMO_GSUP_MSGT_ROUTING_ERROR:
+ LOGVSUBP(LOGL_ERROR, vsub,
+ "Rx GSUP Routing Error: cannot attach subscriber, because of core network problems."
+ " Either the (remote) home HLR is down, or there is a config error,"
+ " like duplicate GSUP ipa-name\n");
+ /* It is not technically an IMSI Detach, but this function does all of: cancel attach FSMs, remove the
+ * subscriber from SGs, and expire the VLR entry. */
+ vlr_subscr_rx_imsi_detach(vsub);
+ break;
default:
LOGP(DLGSUP, LOGL_ERROR, "GSUP Message type not handled by VLR: %d\n", gsup->message_type);
rc = -EINVAL;