diff options
author | Harald Welte <laforge@gnumonks.org> | 2018-12-03 11:00:04 +0100 |
---|---|---|
committer | Philipp Maier <pmaier@sysmocom.de> | 2019-02-04 13:36:26 +0100 |
commit | 0df904dea9106587f40ec379e9cc05ea251beb7e (patch) | |
tree | 02ccf5ec37b6633677153892dee6b73a1724465f /src/libvlr/vlr_lu_fsm.c | |
parent | c7de62cc53fa6ad985015403dd9af8f1627136a0 (diff) |
Add SGs Interface
Add an SGs interface (3GPP TS 29.118) to osmo-msc in order to support
SMS tunneling and Circuit Switched Fallback (CSFB)
Change-Id: I73359925fc1ca72b33a1466e6ac41307f2f0b11d
Related: OS#3615
Diffstat (limited to 'src/libvlr/vlr_lu_fsm.c')
-rw-r--r-- | src/libvlr/vlr_lu_fsm.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/libvlr/vlr_lu_fsm.c b/src/libvlr/vlr_lu_fsm.c index a97e97ada..8152d20e8 100644 --- a/src/libvlr/vlr_lu_fsm.c +++ b/src/libvlr/vlr_lu_fsm.c @@ -27,6 +27,7 @@ #include "vlr_core.h" #include "vlr_auth_fsm.h" #include "vlr_lu_fsm.h" +#include "vlr_sgs_fsm.h" #define S(x) (1 << (x)) @@ -362,6 +363,7 @@ static void vlr_lu_compl_fsm_success(struct osmo_fsm_inst *fi) vlr_subscr_get(vsub); } _vlr_lu_compl_fsm_done(fi, VLR_FSM_RESULT_SUCCESS, 0); + vlr_sgs_fsm_update_id(vsub); } static void vlr_lu_compl_fsm_failure(struct osmo_fsm_inst *fi, uint8_t cause) @@ -1055,6 +1057,11 @@ static void lu_fsm_idle(struct osmo_fsm_inst *fi, uint32_t event, OSMO_ASSERT(lfp->vsub); + /* At this point we know for which subscriber the location update is, + * we now must inform SGs-UE FSM that we received a location update + * via A, IU or Gs interface. */ + osmo_fsm_inst_dispatch(lfp->vsub->sgs_fsm, SGS_UE_E_RX_LU_FROM_A_IU_GS, NULL); + /* See 3GPP TS 23.012, procedure Retrieve_IMEISV_If_Required */ if ((!vlr->cfg.retrieve_imeisv_early) || (lfp->type == VLR_LU_TYPE_PERIODIC && lfp->vsub->imeisv[0])) { |