forked from acouzens/open5gs
GUTI is suppressed in Attach accept if GUTI is not changed.
This commit is contained in:
parent
21a130bc16
commit
762431cb6f
|
@ -53,17 +53,22 @@ status_t emm_build_attach_accept(
|
|||
attach_accept->esm_message_container.buffer = esmbuf->payload;
|
||||
attach_accept->esm_message_container.length = esmbuf->len;
|
||||
|
||||
attach_accept->presencemask |= NAS_ATTACH_ACCEPT_GUTI_PRESENT;
|
||||
guti->length = sizeof(nas_eps_mobile_identity_guti_t);
|
||||
guti->guti.odd_even = NAS_EPS_MOBILE_IDENTITY_EVEN;
|
||||
guti->guti.type = NAS_EPS_MOBILE_IDENTITY_GUTI;
|
||||
memcpy(&guti->guti.plmn_id, &mme_ue->guti.plmn_id, PLMN_ID_LEN);
|
||||
guti->guti.mme_gid = mme_ue->guti.mme_gid;
|
||||
guti->guti.mme_code = mme_ue->guti.mme_code;
|
||||
guti->guti.m_tmsi = mme_ue->guti.m_tmsi;
|
||||
d_trace(5, " GUTI[G:%d,C:%d,M_TMSI:0x%x] IMSI:[%s]\n",
|
||||
guti->guti.mme_gid, guti->guti.mme_code, guti->guti.m_tmsi,
|
||||
mme_ue->imsi_bcd);
|
||||
d_trace(5, " %s GUTI[G:%d,C:%d,M_TMSI:0x%x] IMSI:[%s]\n",
|
||||
mme_ue->new_guti ? "# NEW #" : "# Not Changed #",
|
||||
mme_ue->guti.mme_gid, mme_ue->guti.mme_code,
|
||||
mme_ue->guti.m_tmsi, mme_ue->imsi_bcd);
|
||||
if (mme_ue->new_guti)
|
||||
{
|
||||
attach_accept->presencemask |= NAS_ATTACH_ACCEPT_GUTI_PRESENT;
|
||||
guti->length = sizeof(nas_eps_mobile_identity_guti_t);
|
||||
guti->guti.odd_even = NAS_EPS_MOBILE_IDENTITY_EVEN;
|
||||
guti->guti.type = NAS_EPS_MOBILE_IDENTITY_GUTI;
|
||||
memcpy(&guti->guti.plmn_id, &mme_ue->guti.plmn_id, PLMN_ID_LEN);
|
||||
guti->guti.mme_gid = mme_ue->guti.mme_gid;
|
||||
guti->guti.mme_code = mme_ue->guti.mme_code;
|
||||
guti->guti.m_tmsi = mme_ue->guti.m_tmsi;
|
||||
}
|
||||
mme_ue->new_guti = 0;
|
||||
|
||||
attach_accept->presencemask |= NAS_ATTACH_ACCEPT_T3402_VALUE_PRESENT;
|
||||
t3402_value->unit = NAS_GRPS_TIMER_UNIT_MULTIPLES_OF_1_MM;
|
||||
|
|
|
@ -2152,6 +2152,8 @@ static status_t mme_ue_new_guti(mme_ue_t *mme_ue)
|
|||
mme_ue->guti.m_tmsi = *(mme_ue->m_tmsi);
|
||||
hash_set(self.guti_ue_hash, &mme_ue->guti, sizeof(guti_t), mme_ue);
|
||||
|
||||
mme_ue->new_guti = 1;
|
||||
|
||||
return CORE_OK;
|
||||
}
|
||||
|
||||
|
|
|
@ -209,6 +209,7 @@ struct _mme_ue_t {
|
|||
c_int8_t imsi_bcd[MAX_IMSI_BCD_LEN+1];
|
||||
mme_m_tmsi_t *m_tmsi;
|
||||
guti_t guti;
|
||||
int new_guti;
|
||||
|
||||
c_uint32_t mme_s11_teid; /* MME-S11-TEID is derived from INDEX */
|
||||
c_uint32_t sgw_s11_teid; /* SGW-S11-TEID is received from SGW */
|
||||
|
|
Loading…
Reference in New Issue