Commit 87fc2c3c authored by Tien Thinh NGUYEN's avatar Tien Thinh NGUYEN

Update UE Radio Capability Id

parent fe2b5458
...@@ -68,7 +68,7 @@ ...@@ -68,7 +68,7 @@
#include "UENetworkCapability.hpp" #include "UENetworkCapability.hpp"
#include "UEUsageSetting.hpp" #include "UEUsageSetting.hpp"
#include "UESecurityCapability.hpp" #include "UESecurityCapability.hpp"
#include "UE_Radio_Capability_ID.hpp" #include "UeRadioCapabilityId.hpp"
#include "UplinkDataStatus.hpp" #include "UplinkDataStatus.hpp"
#include "_5GMM_Cause.hpp" #include "_5GMM_Cause.hpp"
#include "_5GSDeregistrationType.hpp" #include "_5GSDeregistrationType.hpp"
......
...@@ -25,9 +25,6 @@ ...@@ -25,9 +25,6 @@
#include "NasIeHeader.hpp" #include "NasIeHeader.hpp"
#include "Type4NasIe.hpp" #include "Type4NasIe.hpp"
#include <stdint.h>
#include <vector>
constexpr uint8_t kNssaiMinimumLength = 4; constexpr uint8_t kNssaiMinimumLength = 4;
constexpr uint8_t kNssaiMaximumLength = 146; constexpr uint8_t kNssaiMaximumLength = 146;
constexpr auto kNssaiIeName = "NSSAI"; constexpr auto kNssaiIeName = "NSSAI";
......
...@@ -28,6 +28,14 @@ ...@@ -28,6 +28,14 @@
#include "logger.hpp" #include "logger.hpp"
#include <optional> #include <optional>
#include <stdint.h>
#include <vector>
extern "C" {
#include "TLVDecoder.h"
#include "TLVEncoder.h"
#include "bstrlib.h"
}
namespace nas { namespace nas {
......
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
* contact@openairinterface.org * contact@openairinterface.org
*/ */
#include "UE_Radio_Capability_ID.hpp" #include "UeRadioCapabilityId.hpp"
#include "3gpp_24.501.hpp" #include "3gpp_24.501.hpp"
#include "common_defs.h" #include "common_defs.h"
...@@ -28,14 +28,14 @@ ...@@ -28,14 +28,14 @@
using namespace nas; using namespace nas;
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
UE_Radio_Capability_ID::UE_Radio_Capability_ID() UeRadioCapabilityId::UeRadioCapabilityId()
: Type4NasIe(kIeiUeRadioCapabilityId), value_() { : Type4NasIe(kIeiUeRadioCapabilityId), value_() {
SetLengthIndicator(0); SetLengthIndicator(0);
SetIeName(kUeRadioCapabilityIdIeName); SetIeName(kUeRadioCapabilityIdIeName);
} }
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
UE_Radio_Capability_ID::UE_Radio_Capability_ID(bstring value) UeRadioCapabilityId::UeRadioCapabilityId(bstring value)
: Type4NasIe(kIeiUeRadioCapabilityId) { : Type4NasIe(kIeiUeRadioCapabilityId) {
value_ = bstrcpy(value); value_ = bstrcpy(value);
SetLengthIndicator(blength(value_)); SetLengthIndicator(blength(value_));
...@@ -43,20 +43,20 @@ UE_Radio_Capability_ID::UE_Radio_Capability_ID(bstring value) ...@@ -43,20 +43,20 @@ UE_Radio_Capability_ID::UE_Radio_Capability_ID(bstring value)
} }
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
UE_Radio_Capability_ID::~UE_Radio_Capability_ID() {} UeRadioCapabilityId::~UeRadioCapabilityId() {}
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
void UE_Radio_Capability_ID::setValue(bstring value) { void UeRadioCapabilityId::setValue(bstring value) {
value_ = bstrcpy(value); value_ = bstrcpy(value);
} }
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
void UE_Radio_Capability_ID::getValue(bstring& value) const { void UeRadioCapabilityId::getValue(bstring& value) const {
value = bstrcpy(value_); value = bstrcpy(value_);
} }
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
int UE_Radio_Capability_ID::Encode(uint8_t* buf, int len) { int UeRadioCapabilityId::Encode(uint8_t* buf, int len) {
Logger::nas_mm().debug("Encoding %s", GetIeName().c_str()); Logger::nas_mm().debug("Encoding %s", GetIeName().c_str());
int encoded_size = 0; int encoded_size = 0;
int ie_len = GetIeLength(); int ie_len = GetIeLength();
...@@ -88,7 +88,7 @@ int UE_Radio_Capability_ID::Encode(uint8_t* buf, int len) { ...@@ -88,7 +88,7 @@ int UE_Radio_Capability_ID::Encode(uint8_t* buf, int len) {
} }
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
int UE_Radio_Capability_ID::Decode(uint8_t* buf, int len, bool is_iei) { int UeRadioCapabilityId::Decode(uint8_t* buf, int len, bool is_iei) {
Logger::nas_mm().debug("Decoding %s", GetIeName().c_str()); Logger::nas_mm().debug("Decoding %s", GetIeName().c_str());
int decoded_size = 0; int decoded_size = 0;
......
...@@ -23,26 +23,20 @@ ...@@ -23,26 +23,20 @@
#define _UE_RADIO_CAPABILITY_ID_H_ #define _UE_RADIO_CAPABILITY_ID_H_
#include "Type4NasIe.hpp" #include "Type4NasIe.hpp"
#include <stdint.h>
extern "C" {
#include "TLVDecoder.h"
#include "TLVEncoder.h"
#include "bstrlib.h"
}
constexpr auto kUeRadioCapabilityIdIeName = "UE Radio Capability ID"; constexpr auto kUeRadioCapabilityIdIeName = "UE Radio Capability ID";
namespace nas { namespace nas {
class UE_Radio_Capability_ID : public Type4NasIe { class UeRadioCapabilityId : public Type4NasIe {
public: public:
UE_Radio_Capability_ID(); UeRadioCapabilityId();
UE_Radio_Capability_ID(bstring value); UeRadioCapabilityId(bstring value);
~UE_Radio_Capability_ID(); ~UeRadioCapabilityId();
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 setValue(bstring value); void setValue(bstring value);
void getValue(bstring& value) const; void getValue(bstring& value) const;
......
...@@ -282,7 +282,7 @@ void RegistrationAccept::setT3324_Value(uint8_t unit, uint8_t value) { ...@@ -282,7 +282,7 @@ void RegistrationAccept::setT3324_Value(uint8_t unit, uint8_t value) {
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
void RegistrationAccept::setUE_Radio_Capability_ID(bstring value) { void RegistrationAccept::setUE_Radio_Capability_ID(bstring value) {
ie_ue_radio_capability_id = std::make_optional<UE_Radio_Capability_ID>(value); ie_ue_radio_capability_id = std::make_optional<UeRadioCapabilityId>(value);
} }
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
...@@ -896,11 +896,11 @@ int RegistrationAccept::Decode(uint8_t* buf, int len) { ...@@ -896,11 +896,11 @@ int RegistrationAccept::Decode(uint8_t* buf, int len) {
} break; } break;
case 0x67: { case 0x67: {
Logger::nas_mm().debug("Decoding IEI (0x67)"); Logger::nas_mm().debug("Decoding IEI (0x67)");
UE_Radio_Capability_ID ie_ue_radio_capability_id_tmp = {}; UeRadioCapabilityId ie_ue_radio_capability_id_tmp = {};
decoded_size += ie_ue_radio_capability_id_tmp.Decode( decoded_size += ie_ue_radio_capability_id_tmp.Decode(
buf + decoded_size, len - decoded_size, true); buf + decoded_size, len - decoded_size, true);
ie_ue_radio_capability_id = std::optional<UE_Radio_Capability_ID>( ie_ue_radio_capability_id =
ie_ue_radio_capability_id_tmp); std::optional<UeRadioCapabilityId>(ie_ue_radio_capability_id_tmp);
octet = *(buf + decoded_size); octet = *(buf + decoded_size);
Logger::nas_mm().debug("Next IEI (0x%x)", octet); Logger::nas_mm().debug("Next IEI (0x%x)", octet);
} break; } break;
......
...@@ -188,7 +188,7 @@ class RegistrationAccept : public NasMmPlainHeader { ...@@ -188,7 +188,7 @@ class RegistrationAccept : public NasMmPlainHeader {
std::optional<GprsTimer3> ie_T3447_value; // Optional std::optional<GprsTimer3> ie_T3447_value; // Optional
std::optional<GprsTimer3> ie_T3448_value; // Optional std::optional<GprsTimer3> ie_T3448_value; // Optional
std::optional<GprsTimer3> ie_T3324_value; // Optional std::optional<GprsTimer3> ie_T3324_value; // Optional
std::optional<UE_Radio_Capability_ID> std::optional<UeRadioCapabilityId>
ie_ue_radio_capability_id; // Release 16.4.1 ie_ue_radio_capability_id; // Release 16.4.1
// TODO: UE radio capability ID deletion indication // TODO: UE radio capability ID deletion indication
std::optional<NSSAI> ie_pending_nssai; // Release 16.4.1 std::optional<NSSAI> ie_pending_nssai; // Release 16.4.1
......
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