From af6ba27c2a809bd8dc571edf144df8541707b6cb Mon Sep 17 00:00:00 2001 From: Neels Hofmeyr Date: Thu, 26 Dec 2019 16:56:14 +0100 Subject: gsup: send RAT type on LU Change-Id: I5dbe610738aed7ea1edf6b33543b1c03818cc274 --- src/sgsn/gprs_subscriber.c | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/src/sgsn/gprs_subscriber.c b/src/sgsn/gprs_subscriber.c index 484c7ef4e..d19ee56ce 100644 --- a/src/sgsn/gprs_subscriber.c +++ b/src/sgsn/gprs_subscriber.c @@ -812,7 +812,7 @@ static int gprs_subscr_query_auth_info(struct gprs_subscr *subscr, return gprs_subscr_tx_gsup_message(subscr, &gsup_msg); } -int gprs_subscr_location_update(struct gprs_subscr *subscr) +int gprs_subscr_location_update(struct gprs_subscr *subscr, enum sgsn_ran_type ran_type) { struct osmo_gsup_message gsup_msg = {0}; @@ -820,6 +820,20 @@ int gprs_subscr_location_update(struct gprs_subscr *subscr) "subscriber data is not available\n"); gsup_msg.message_type = OSMO_GSUP_MSGT_UPDATE_LOCATION_REQUEST; + + switch (ran_type) { + case MM_CTX_T_GERAN_Gb: + gsup_msg.supported_rat_types[0] = OSMO_RAT_GERAN_A; + gsup_msg.supported_rat_types_len = 1; + break; + case MM_CTX_T_UTRAN_Iu: + gsup_msg.supported_rat_types[0] = OSMO_RAT_UTRAN_IU; + gsup_msg.supported_rat_types_len = 1; + break; + default: + break; + } + return gprs_subscr_tx_gsup_message(subscr, &gsup_msg); } @@ -884,7 +898,7 @@ int gprs_subscr_request_update_location(struct sgsn_mm_ctx *mmctx) subscr->flags |= GPRS_SUBSCRIBER_UPDATE_LOCATION_PENDING; - rc = gprs_subscr_location_update(subscr); + rc = gprs_subscr_location_update(subscr, mmctx->ran_type); gprs_subscr_put(subscr); return rc; } -- cgit v1.2.3