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

Update UE Radio Capability Id

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