From 25e7ba5b7756107d7e8ac3253b9ffbe49a45b649 Mon Sep 17 00:00:00 2001 From: Philipp Maier Date: Thu, 15 Aug 2019 14:51:49 +0200 Subject: [PATCH] sgs_iface: do not use SGsAP-MO-CSFB-INDICATION for CSFB return When the VLR/MSC receives an SGsAP-MO-CSFB-INDICATION message it sets the RAN type back to SGs. This is wrong, the message SGsAP-MO-CSFB-INDICATION has just an informative character. It informs the VLR that the UE has initiated an MO CSFB call (service request). Change-Id: I625574fc42fc915ba483db3bb406922ad6df370d Related: SYS#4624 --- src/libmsc/sgs_iface.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/libmsc/sgs_iface.c b/src/libmsc/sgs_iface.c index 53ab8534a..b12991c77 100644 --- a/src/libmsc/sgs_iface.c +++ b/src/libmsc/sgs_iface.c @@ -886,9 +886,10 @@ static int sgs_rx_csfb_ind(struct sgs_connection *sgc, struct msgb *msg, const s { struct vlr_subscr *vsub; - /* The MME informs us with this message that the UE has returned back - * to the 4G network, so we use the SGs interface again for further - * communication with the UE. */ + /* The MME informs us with this message that the UE has initiated a + * service request for MO CS fallback. There is not much we can do with + * this information, however, we can check if the subscriber actually + * exists in the VLR and if there are any lingering connections open.*/ vsub = vlr_subscr_find_by_imsi(gsm_network->vlr, imsi, __func__); if (!vsub) @@ -897,7 +898,6 @@ static int sgs_rx_csfb_ind(struct sgs_connection *sgc, struct msgb *msg, const s /* Check for lingering connections */ subscr_conn_toss(vsub); - vsub->cs.attached_via_ran = OSMO_RAT_EUTRAN_SGS; vlr_subscr_put(vsub, __func__); return 0; }