pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/32804 )
Change subject: layer23: modem: pass SIM-stored PTMSI (signature) & RAI to GMM ......................................................................
layer23: modem: pass SIM-stored PTMSI (signature) & RAI to GMM
Depends: libosmo-gprs.git Change-Id Ia69b6f885d612c42ab015822031e4c7262f4714e Change-Id: If0eef0a60b310539f2e668238314481ad5b7a5fa --- M src/host/layer23/src/modem/gmm.c M src/host/layer23/src/modem/sm.c 2 files changed, 14 insertions(+), 0 deletions(-)
Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved
diff --git a/src/host/layer23/src/modem/gmm.c b/src/host/layer23/src/modem/gmm.c index d3851e0..5445672 100644 --- a/src/host/layer23/src/modem/gmm.c +++ b/src/host/layer23/src/modem/gmm.c @@ -193,10 +193,12 @@ gmm_prim = osmo_gprs_gmm_prim_alloc_gmmreg_attach_req(); gmm_prim->gmmreg.attach_req.attach_type = OSMO_GPRS_GMM_ATTACH_TYPE_GPRS; gmm_prim->gmmreg.attach_req.ptmsi = subscr->gprs.ptmsi; + gmm_prim->gmmreg.attach_req.ptmsi_sig = subscr->gprs.ptmsi_sig; gmm_prim->gmmreg.attach_req.attach_with_imsi = (subscr->gprs.ptmsi == GSM_RESERVED_TMSI); memcpy(gmm_prim->gmmreg.attach_req.imsi, subscr->imsi, ARRAY_SIZE(subscr->imsi)); memcpy(gmm_prim->gmmreg.attach_req.imei, ms->settings.imei, ARRAY_SIZE(ms->settings.imei)); memcpy(gmm_prim->gmmreg.attach_req.imeisv, ms->settings.imeisv, ARRAY_SIZE(ms->settings.imeisv)); + memcpy(&gmm_prim->gmmreg.attach_req.old_rai, &subscr->gprs.rai, sizeof(subscr->gprs.rai)); rc = osmo_gprs_gmm_prim_upper_down(gmm_prim); if (rc < 0) LOGP(DMM, LOGL_ERROR, "Failed submitting GMMREG-ATTACH.req\n"); diff --git a/src/host/layer23/src/modem/sm.c b/src/host/layer23/src/modem/sm.c index e6591a9..9b3a35b 100644 --- a/src/host/layer23/src/modem/sm.c +++ b/src/host/layer23/src/modem/sm.c @@ -258,9 +258,11 @@ sm_prim->smreg.pdp_act_req.pco_len = apn->pdp.pco_len; OSMO_STRLCPY_ARRAY(sm_prim->smreg.pdp_act_req.apn, apn->cfg.name); sm_prim->smreg.pdp_act_req.gmm.ptmsi = subscr->gprs.ptmsi; + sm_prim->smreg.pdp_act_req.gmm.ptmsi_sig = subscr->gprs.ptmsi; OSMO_STRLCPY_ARRAY(sm_prim->smreg.pdp_act_req.gmm.imsi, subscr->imsi); OSMO_STRLCPY_ARRAY(sm_prim->smreg.pdp_act_req.gmm.imei, ms->settings.imei); OSMO_STRLCPY_ARRAY(sm_prim->smreg.pdp_act_req.gmm.imeisv, ms->settings.imeisv); + memcpy(&sm_prim->smreg.pdp_act_req.gmm.old_rai, &subscr->gprs.rai, sizeof(subscr->gprs.rai));
rc = osmo_gprs_sm_prim_upper_down(sm_prim); if (rc < 0)