aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src/libmsc/gsm_04_08.c
diff options
context:
space:
mode:
authorIvan Kluchnikov <kluchnikovi@gmail.com>2016-12-15 13:02:10 +0300
committerIvan Kluchnikov <kluchnikovi@gmail.com>2017-02-07 18:59:56 +0300
commit362a757f5604213abde8e6ce75875dde8428e632 (patch)
tree236c8ee6fc87edb000aae204f56b9ebb9f55038f /openbsc/src/libmsc/gsm_04_08.c
parent444a9b93045dd29a3521005cfa862170930e04c9 (diff)
osmo-nitb: Send purge ms to reg-proxy and handle response
Diffstat (limited to 'openbsc/src/libmsc/gsm_04_08.c')
-rw-r--r--openbsc/src/libmsc/gsm_04_08.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/openbsc/src/libmsc/gsm_04_08.c b/openbsc/src/libmsc/gsm_04_08.c
index 79a094c29..a6baf4eea 100644
--- a/openbsc/src/libmsc/gsm_04_08.c
+++ b/openbsc/src/libmsc/gsm_04_08.c
@@ -1081,6 +1081,12 @@ static int gsm48_rx_mm_serv_req(struct gsm_subscriber_connection *conn, struct m
_gsm48_rx_mm_serv_req_sec_cb, NULL);
}
+void gsm0408_purge_ms(struct gsm_subscriber *subscr) {
+ if (subscr->group->net->auth_policy == GSM_AUTH_POLICY_REMOTE) {
+ subscr_purge_ms(subscr);
+ }
+}
+
static int gsm48_rx_mm_imsi_detach_ind(struct gsm_subscriber_connection *conn, struct msgb *msg)
{
struct gsm_network *network = conn->network;
@@ -1119,6 +1125,7 @@ static int gsm48_rx_mm_imsi_detach_ind(struct gsm_subscriber_connection *conn, s
}
if (subscr) {
+ gsm0408_purge_ms(subscr);
subscr_update(subscr, conn->bts,
GSM_SUBSCRIBER_UPDATE_DETACHED);
DEBUGP(DMM, "Subscriber: %s\n", subscr_name(subscr));