aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeels Hofmeyr <neels@hofmeyr.de>2019-12-03 01:36:52 +0100
committerNeels Hofmeyr <neels@hofmeyr.de>2019-12-23 19:02:34 +0100
commitbe93e0418f65e92864107f23d914d0c51687b8fa (patch)
treeabaf37f8222ca5d1a1c09cebd4c48c86efc4482c
parent1a83605c82a40d29bda81a8e3dd0db8d537971e8 (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 14c2952a8..ad978e781 100644
--- a/src/libvlr/vlr.c
+++ b/src/libvlr/vlr.c
@@ -1111,6 +1111,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;