lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/43467?usp=email )
Change subject: RFC: libvlr: introduce lfp variable hlr_update_req ......................................................................
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); }