diff options
Diffstat (limited to 'openbsc/src/libvlr')
-rw-r--r-- | openbsc/src/libvlr/vlr.c | 1 | ||||
-rw-r--r-- | openbsc/src/libvlr/vlr_access_req_fsm.c | 8 | ||||
-rw-r--r-- | openbsc/src/libvlr/vlr_lu_fsm.c | 8 |
3 files changed, 17 insertions, 0 deletions
diff --git a/openbsc/src/libvlr/vlr.c b/openbsc/src/libvlr/vlr.c index a8404b246..65d43f4d0 100644 --- a/openbsc/src/libvlr/vlr.c +++ b/openbsc/src/libvlr/vlr.c @@ -945,6 +945,7 @@ struct vlr_instance *vlr_alloc(void *ctx, const struct vlr_ops *ops) OSMO_ASSERT(ops->tx_cm_serv_acc); OSMO_ASSERT(ops->tx_cm_serv_rej); OSMO_ASSERT(ops->set_ciph_mode); + OSMO_ASSERT(ops->tx_common_id); OSMO_ASSERT(ops->subscr_update); OSMO_ASSERT(ops->subscr_assoc); diff --git a/openbsc/src/libvlr/vlr_access_req_fsm.c b/openbsc/src/libvlr/vlr_access_req_fsm.c index 96ded2aca..5c0822e60 100644 --- a/openbsc/src/libvlr/vlr_access_req_fsm.c +++ b/openbsc/src/libvlr/vlr_access_req_fsm.c @@ -250,6 +250,14 @@ static void _proc_arq_vlr_node2_post_ciph(struct osmo_fsm_inst *fi) LOGPFSM(fi, "%s()\n", __func__); + if (par->is_utran) { + int rc; + rc = par->vlr->ops.tx_common_id(par->msc_conn_ref); + if (rc) + LOGPFSML(fi, LOGL_ERROR, + "Error while sending Common ID (%d)\n", rc); + } + vsub->conf_by_radio_contact_ind = true; if (vsub->loc_conf_in_hlr_ind == false) { /* start Update_Location_Child_VLR. WE use diff --git a/openbsc/src/libvlr/vlr_lu_fsm.c b/openbsc/src/libvlr/vlr_lu_fsm.c index d034f4b0f..c7fa8dca3 100644 --- a/openbsc/src/libvlr/vlr_lu_fsm.c +++ b/openbsc/src/libvlr/vlr_lu_fsm.c @@ -776,6 +776,14 @@ static void vlr_loc_upd_post_ciph(struct osmo_fsm_inst *fi) OSMO_ASSERT(vsub); + if (lfp->is_utran) { + int rc; + rc = lfp->vlr->ops.tx_common_id(lfp->msc_conn_ref); + if (rc) + LOGPFSML(fi, LOGL_ERROR, + "Error while sending Common ID (%d)\n", rc); + } + vsub->conf_by_radio_contact_ind = true; /* Update LAI */ vsub->cgi.lai = lfp->new_lai; |