diff options
author | Pau Espin Pedrol <pespin@sysmocom.de> | 2023-05-19 19:14:16 +0200 |
---|---|---|
committer | Pau Espin Pedrol <pespin@sysmocom.de> | 2023-05-22 16:12:09 +0200 |
commit | 2dfa84e73dca455900e6522f61f5c610077783b7 (patch) | |
tree | f4bab101fc188c06d1b86b997f72086afc5a00f9 | |
parent | 8bd2e644b5d1a65544979bcd38fc3c7373dbdb2f (diff) |
layer23: modem: pass SIM-stored PTMSI (signature) & RAI to GMM
Depends: libosmo-gprs.git Change-Id Ia69b6f885d612c42ab015822031e4c7262f4714e
Change-Id: If0eef0a60b310539f2e668238314481ad5b7a5fa
-rw-r--r-- | src/host/layer23/src/modem/gmm.c | 2 | ||||
-rw-r--r-- | src/host/layer23/src/modem/sm.c | 2 |
2 files changed, 4 insertions, 0 deletions
diff --git a/src/host/layer23/src/modem/gmm.c b/src/host/layer23/src/modem/gmm.c index d3851e0a..5445672d 100644 --- a/src/host/layer23/src/modem/gmm.c +++ b/src/host/layer23/src/modem/gmm.c @@ -193,10 +193,12 @@ int modem_gmm_gmmreg_attach_req(const struct osmocom_ms *ms) 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 e6591a9c..9b3a35b6 100644 --- a/src/host/layer23/src/modem/sm.c +++ b/src/host/layer23/src/modem/sm.c @@ -258,9 +258,11 @@ int modem_sm_smreg_pdp_act_req(const struct osmocom_ms *ms, const struct osmobb_ 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) |