diff options
author | Neels Hofmeyr <neels@hofmeyr.de> | 2019-12-26 16:56:14 +0100 |
---|---|---|
committer | Neels Hofmeyr <neels@hofmeyr.de> | 2020-05-12 13:52:24 +0200 |
commit | b63e19d7d2cee4b6a8255d7e2fbc7e47ed557552 (patch) | |
tree | 654e528c83e5509e4374e4ebef9335df0a53e61f /src/sgsn/gprs_subscriber.c | |
parent | c6548bbaab1a8767fdfe1d337faf061e9523f0ba (diff) |
gsup: send RAT type on LU
At 36c3, osmo-hlr was run with a patch that records the RAN type of attached
subscribers. Even though this is not in osmo-hlr master, it is nice information
to send along.
Change-Id: I5dbe610738aed7ea1edf6b33543b1c03818cc274
Diffstat (limited to 'src/sgsn/gprs_subscriber.c')
-rw-r--r-- | src/sgsn/gprs_subscriber.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/src/sgsn/gprs_subscriber.c b/src/sgsn/gprs_subscriber.c index 484c7ef4e..c23b332f3 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,18 @@ 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.current_rat_type = OSMO_RAT_GERAN_A; + break; + case MM_CTX_T_UTRAN_Iu: + gsup_msg.current_rat_type = OSMO_RAT_UTRAN_IU; + break; + default: + break; + } + return gprs_subscr_tx_gsup_message(subscr, &gsup_msg); } @@ -884,7 +896,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; } |