lynxis lazus has uploaded this change for review.
RFC: libvlr: introduce lfp variable hlr_update_req
The HLR don't have to be notificed for every Location Update.
Instead it is good enough to only update the HLR when needed.
Change-Id: Ic959c13695c2cfd4e0bfeef336efac1eb4a3418e
---
M src/libvlr/vlr_lu_fsm.c
1 file changed, 3 insertions(+), 1 deletion(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/67/43467/1
diff --git a/src/libvlr/vlr_lu_fsm.c b/src/libvlr/vlr_lu_fsm.c
index 4150fbd..4bde280 100644
--- a/src/libvlr/vlr_lu_fsm.c
+++ b/src/libvlr/vlr_lu_fsm.c
@@ -771,6 +771,7 @@
bool is_r99;
bool is_utran;
bool assign_tmsi;
+ bool hlr_update_req;
/*! count times timer T timed out */
int N;
@@ -874,7 +875,7 @@
/* FIXME: Delete subscriber record */
/* LU REJ: Roaming not allowed */
lu_fsm_failure(fi, GSM48_REJECT_ROAMING_NOT_ALLOWED);
- } else {
+ } else { /* Correct would be if (lfp->lu_type == VLR_LU_TYPE_IMSI_ATTACH || lfp->hlr_update_req) */
/* Update_HLR_VLR */
osmo_fsm_inst_state_chg(fi, VLR_ULA_S_WAIT_HLR_UPD,
LU_TIMEOUT_LONG, 0);
@@ -1200,6 +1201,7 @@
struct lu_fsm_priv *lfp = lu_fsm_fi_priv(fi);
struct vlr_instance *vlr = lfp->vlr;
+ lfp->hlr_update_req = true;
vlr->ops.tx_pvlr_request(lfp->msc_conn_ref, &lfp->old_rai);
}
To view, visit change 43467. To unsubscribe, or for help writing mail filters, visit settings.