Add set_fgs_registration_type to set 5GS Registration Type according to 3GPP TS 24.501
This commit is contained in:
@@ -458,6 +458,33 @@ nr_ue_nas_t *get_ue_nas_info(module_id_t module_id)
|
|||||||
return &nr_ue_nas[module_id];
|
return &nr_ue_nas[module_id];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static FGSRegistrationType set_fgs_registration_type(nr_ue_nas_t *nas)
|
||||||
|
{
|
||||||
|
if (nas->fiveGMM_state == FGS_REGISTERED && nas->fiveGMM_mode == FGS_IDLE && nas->t3512) {
|
||||||
|
// TODO: if the timer expires, do PERIODIC_REGISTRATION_UPDATING
|
||||||
|
/** The UE shall initiate the registration procedure for
|
||||||
|
* mobility and periodic registration update according to
|
||||||
|
* 5.5.1.3.2 of 3GPP TS 24.501: Mobility and periodic
|
||||||
|
* registration update initiation */
|
||||||
|
LOG_E(NAS, "Registration type periodic registration updating is not handled\n");
|
||||||
|
return REG_TYPE_RESERVED;
|
||||||
|
} else if (nas->fiveGMM_state == FGS_REGISTERED) {
|
||||||
|
// in any other case, The UE in state 5GMM-REGISTERED shall indicate "mobility registration updating".
|
||||||
|
return MOBILITY_REGISTRATION_UPDATING;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (nas->fiveGMM_mode == FGS_CONNECTED && nas->is_rrc_inactive) {
|
||||||
|
/** the UE shall do the registration procedure for mobility
|
||||||
|
* and/or periodic registration update depending on the
|
||||||
|
* indication received from the lower layers according to
|
||||||
|
* 5.3.1.4 of 3GPP TS 24.501: 5GMM-CONNECTED mode with RRC inactive indication */
|
||||||
|
LOG_E(NAS, "RRC inactive indication not handled by NAS\n");
|
||||||
|
return REG_TYPE_RESERVED;
|
||||||
|
}
|
||||||
|
|
||||||
|
return INITIAL_REGISTRATION;
|
||||||
|
}
|
||||||
|
|
||||||
void generateRegistrationRequest(as_nas_info_t *initialNasMsg, nr_ue_nas_t *nas)
|
void generateRegistrationRequest(as_nas_info_t *initialNasMsg, nr_ue_nas_t *nas)
|
||||||
{
|
{
|
||||||
int size = sizeof(fgmm_msg_header_t);
|
int size = sizeof(fgmm_msg_header_t);
|
||||||
|
|||||||
Reference in New Issue
Block a user