Commit 6017dac1 authored by Tien Thinh NGUYEN's avatar Tien Thinh NGUYEN

Update Registration Accept

parent 360eb958
...@@ -96,6 +96,7 @@ constexpr uint8_t kIei5gmmCapability = 0x10; ...@@ -96,6 +96,7 @@ constexpr uint8_t kIei5gmmCapability = 0x10;
constexpr uint8_t kIeiUeUsageSetting = 0x18; constexpr uint8_t kIeiUeUsageSetting = 0x18;
constexpr uint8_t kIeiAuthenticationParameterAutn = 0x20; constexpr uint8_t kIeiAuthenticationParameterAutn = 0x20;
constexpr uint8_t kIeiAuthenticationParameterRand = 0x21; constexpr uint8_t kIeiAuthenticationParameterRand = 0x21;
constexpr uint8_t kIei5gsNetworkFeatureSupport = 0x21;
constexpr uint8_t kIeiAllowedPduSessionStatus = 0x25; constexpr uint8_t kIeiAllowedPduSessionStatus = 0x25;
constexpr uint8_t kIeiUeStatus = 0x2b; constexpr uint8_t kIeiUeStatus = 0x2b;
...@@ -121,6 +122,7 @@ constexpr uint8_t kIeiRejectedNssaiRr = 0x69; ...@@ -121,6 +122,7 @@ constexpr uint8_t kIeiRejectedNssaiRr = 0x69;
constexpr uint8_t kIeiEpsNasMessageContainer = 0x70; constexpr uint8_t kIeiEpsNasMessageContainer = 0x70;
constexpr uint8_t kIeiNasMessageContainer = 0x71; constexpr uint8_t kIeiNasMessageContainer = 0x71;
constexpr uint8_t kIeiLadnIndication = 0x74; constexpr uint8_t kIeiLadnIndication = 0x74;
constexpr uint8_t kIeiLadnInformation = 0x79;
constexpr uint8_t kIei5gGuti = 0x77; constexpr uint8_t kIei5gGuti = 0x77;
constexpr uint8_t kIeiImeisv = 0x77; constexpr uint8_t kIeiImeisv = 0x77;
constexpr uint8_t kIeiNonImeisvPei = 0x78; constexpr uint8_t kIeiNonImeisvPei = 0x78;
......
...@@ -40,8 +40,10 @@ class NSSAI : public Type4NasIe { ...@@ -40,8 +40,10 @@ class NSSAI : public Type4NasIe {
NSSAI(uint8_t iei); NSSAI(uint8_t iei);
NSSAI(uint8_t iei, const std::vector<struct SNSSAI_s>& nssai); NSSAI(uint8_t iei, const std::vector<struct SNSSAI_s>& nssai);
~NSSAI(); ~NSSAI();
int Encode(uint8_t* buf, int len); int Encode(uint8_t* buf, int len);
int Decode(uint8_t* buf, int len, bool is_iei); int Decode(uint8_t* buf, int len, bool is_iei);
void GetValue(std::vector<struct SNSSAI_s>& nssai) const; void GetValue(std::vector<struct SNSSAI_s>& nssai) const;
private: private:
......
This diff is collapsed.
...@@ -151,39 +151,48 @@ class RegistrationAccept : public NasMmPlainHeader { ...@@ -151,39 +151,48 @@ class RegistrationAccept : public NasMmPlainHeader {
std::optional<_5GSMobileIdentity> ie_5g_guti; // Optional std::optional<_5GSMobileIdentity> ie_5g_guti; // Optional
std::optional<PlmnList> ie_equivalent_plmns; // Optional std::optional<PlmnList> ie_equivalent_plmns; // Optional
std::optional<_5GSTrackingAreaIdList> ie_tai_list; // Optional std::optional<_5GSTrackingAreaIdList> ie_tai_list; // Optional
NSSAI* ie_allowed_nssai; // Optional std::optional<NSSAI> ie_allowed_nssai; // Optional
Rejected_NSSAI* ie_rejected_nssai; // Optional std::optional<Rejected_NSSAI> ie_rejected_nssai; // Optional
NSSAI* ie_configured_nssai; // Optional std::optional<NSSAI> ie_configured_nssai; // Optional
_5GS_Network_Feature_Support* ie_5gs_network_feature_support; // Optional std::optional<_5GS_Network_Feature_Support>
ie_5gs_network_feature_support; // Optional
PDUSessionStatus* ie_PDU_session_status; // Optional
PDU_Session_Reactivation_Result* std::optional<PDUSessionStatus> ie_PDU_session_status; // Optional
std::optional<PDU_Session_Reactivation_Result>
ie_pdu_session_reactivation_result; // Optional ie_pdu_session_reactivation_result; // Optional
PDU_Session_Reactivation_Result_Error_Cause* std::optional<PDU_Session_Reactivation_Result_Error_Cause>
ie_pdu_session_reactivation_result_error_cause; // Optional ie_pdu_session_reactivation_result_error_cause; // Optional
// TODO: LADN information // TODO: std::optional<LadnInformation> ie_ladn_information; //
MicoIndication* ie_MICO_indication; // Optional // Optional
NetworkSlicingIndication* ie_network_slicing_indication; // Optional std::optional<MicoIndication> ie_MICO_indication; // Optional
std::optional<NetworkSlicingIndication>
ie_network_slicing_indication; // Optional
// TODO: Service Area List // TODO: Service Area List
GPRS_Timer_3* ie_T3512_value; // Optional std::optional<GPRS_Timer_3> ie_T3512_value; // Optional
GPRS_Timer_2* ie_Non_3GPP_de_registration_timer_value; // Optional std::optional<GPRS_Timer_2>
GPRS_Timer_2* ie_T3502_value; // Optional ie_Non_3GPP_de_registration_timer_value; // Optional
std::optional<GPRS_Timer_2> ie_T3502_value; // Optional
// TODO: Emergency number list // TODO: Emergency number list
// TODO: Extended emergency number list // TODO: Extended emergency number list
SOR_Transparent_Container* ie_sor_transparent_container; // Optional std::optional<SOR_Transparent_Container>
EAP_Message* ie_eap_message; // Optional ie_sor_transparent_container; // Optional
NSSAI_Inclusion_Mode* ie_nssai_inclusion_mode; // Optional std::optional<EAP_Message> ie_eap_message; // Optional
std::optional<NSSAI_Inclusion_Mode> ie_nssai_inclusion_mode; // Optional
// TODO: Operator-defined access category definitions // TODO: Operator-defined access category definitions
_5GS_DRX_Parameters* ie_negotiated_drx_parameters; // Optional std::optional<_5GS_DRX_Parameters> ie_negotiated_drx_parameters; // Optional
Non_3GPP_NW_Provided_Policies* ie_non_3gpp_nw_policies; // Optional std::optional<Non_3GPP_NW_Provided_Policies>
EpsBearerContextStatus* ie_eps_bearer_context_status; // Optional ie_non_3gpp_nw_policies; // Optional
Extended_DRX_Parameters* ie_extended_drx_parameters; // Optional std::optional<EpsBearerContextStatus>
GPRS_Timer_3* ie_T3447_value; // Optional ie_eps_bearer_context_status; // Optional
GPRS_Timer_3* ie_T3448_value; // Optional std::optional<Extended_DRX_Parameters>
GPRS_Timer_3* ie_T3324_value; // Optional ie_extended_drx_parameters; // Optional
UE_Radio_Capability_ID* ie_ue_radio_capability_id; // Which Release 16.x.x? std::optional<GPRS_Timer_3> ie_T3447_value; // Optional
NSSAI* ie_pending_nssai; // Which Release 16.x.x? std::optional<GPRS_Timer_3> ie_T3448_value; // Optional
std::optional<GPRS_Timer_3> ie_T3324_value; // Optional
std::optional<UE_Radio_Capability_ID>
ie_ue_radio_capability_id; // Which Release 16.x.x?
std::optional<NSSAI> ie_pending_nssai; // Which Release 16.x.x?
}; };
} // namespace nas } // namespace nas
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment