Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG-AMF
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
1
Issues
1
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
OpenXG
OpenXG-AMF
Commits
ed645fdd
Commit
ed645fdd
authored
Jan 09, 2023
by
Tien Thinh NGUYEN
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update GS_DRX_Parameters
parent
90bc9a46
Changes
7
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
122 additions
and
107 deletions
+122
-107
src/nas/common/Ie_Const.hpp
src/nas/common/Ie_Const.hpp
+2
-1
src/nas/ies/UEUsageSetting.cpp
src/nas/ies/UEUsageSetting.cpp
+43
-37
src/nas/ies/UEUsageSetting.hpp
src/nas/ies/UEUsageSetting.hpp
+13
-11
src/nas/ies/_5GS_DRX_Parameters.cpp
src/nas/ies/_5GS_DRX_Parameters.cpp
+36
-30
src/nas/ies/_5GS_DRX_Parameters.hpp
src/nas/ies/_5GS_DRX_Parameters.hpp
+13
-11
src/nas/msgs/RegistrationAccept.cpp
src/nas/msgs/RegistrationAccept.cpp
+5
-5
src/nas/msgs/RegistrationRequest.cpp
src/nas/msgs/RegistrationRequest.cpp
+10
-12
No files found.
src/nas/common/Ie_Const.hpp
View file @
ed645fdd
...
...
@@ -26,7 +26,7 @@ constexpr uint8_t kIeIsNotOptional = false;
constexpr
uint8_t
kIei5gmmCause
=
0x58
;
constexpr
uint8_t
kIei5gsmCapability
=
0x28
;
constexpr
uint8_t
kIei5gsDrxParameters
=
0x51
;
// OK
constexpr
uint8_t
kIei5gsDrxParameters
=
0x51
;
constexpr
uint8_t
kIei5gsmCongestionReAttemptIndicator
=
0x61
;
constexpr
uint8_t
kIei5gsmNetworkFeatureSupport
=
0x17
;
constexpr
uint8_t
kIei5gsMobileIdentityImeiSv
=
0x77
;
...
...
@@ -91,6 +91,7 @@ constexpr uint8_t kIeiNetworkSlicingIndication = 0x09; // 9-(4 higher bits)
constexpr
uint8_t
kIeiMicoIndication
=
0x0B
;
// B-(4 higher bits)
constexpr
uint8_t
kIei5gmmCapability
=
0x10
;
constexpr
uint8_t
kIeiUeUsageSetting
=
0x18
;
constexpr
uint8_t
kIeiAllowedPduSessionStatus
=
0x25
;
constexpr
uint8_t
kIeiUeStatus
=
0x2b
;
...
...
src/nas/ies/UEUsageSetting.cpp
View file @
ed645fdd
...
...
@@ -21,6 +21,7 @@
#include "UEUsageSetting.hpp"
#include "Ie_Const.hpp"
#include "3gpp_24.501.hpp"
#include "common_defs.h"
#include "logger.hpp"
...
...
@@ -28,77 +29,82 @@
using
namespace
nas
;
//------------------------------------------------------------------------------
UEUsageSetting
::
UEUsageSetting
(
uint8_t
iei
)
{
_iei
=
iei
;
_ues_usage_setting
=
false
;
UEUsageSetting
::
UEUsageSetting
()
:
Type4NasIe
(
kIeiUeUsageSetting
)
{
ues_usage_setting_
=
false
;
SetLengthIndicator
(
1
);
SetIeName
(
kUeUsageSettingIeName
);
}
//------------------------------------------------------------------------------
UEUsageSetting
::
UEUsageSetting
(
const
uint8_t
iei
,
bool
ues_usage_setting
)
{
_iei
=
iei
;
_ues_usage_setting
=
ues_usage_setting
;
}
//------------------------------------------------------------------------------
UEUsageSetting
::
UEUsageSetting
()
{
_iei
=
0
;
_ues_usage_setting
=
false
;
UEUsageSetting
::
UEUsageSetting
(
bool
ues_usage_setting
)
:
Type4NasIe
(
kIeiUeUsageSetting
)
{
ues_usage_setting_
=
ues_usage_setting
;
SetLengthIndicator
(
1
);
SetIeName
(
kUeUsageSettingIeName
);
}
//------------------------------------------------------------------------------
UEUsageSetting
::~
UEUsageSetting
()
{}
//------------------------------------------------------------------------------
void
UEUsageSetting
::
s
etValue
(
bool
value
)
{
_ues_usage_setting
=
value
;
void
UEUsageSetting
::
S
etValue
(
bool
value
)
{
ues_usage_setting_
=
value
;
}
//------------------------------------------------------------------------------
bool
UEUsageSetting
::
getValue
()
{
return
_ues_usage_setting
;
bool
UEUsageSetting
::
GetValue
()
const
{
return
ues_usage_setting_
;
}
//------------------------------------------------------------------------------
int
UEUsageSetting
::
encode2Buffer
(
uint8_t
*
buf
,
int
len
)
{
Logger
::
nas_mm
().
debug
(
"Encoding
UEUsageSetting (iei 0x%x)"
,
_iei
);
int
UEUsageSetting
::
Encode
(
uint8_t
*
buf
,
int
len
)
{
Logger
::
nas_mm
().
debug
(
"Encoding
%s"
,
GetIeName
().
c_str
()
);
if
(
(
len
<
kUEUsageSettingLength
)
or
(
len
<
length
+
2
)
)
{
if
(
len
<
kUeUsageSettingLength
)
{
Logger
::
nas_mm
().
error
(
"Buffer length is less than the minimum length of this IE (%d octet)"
,
kU
E
UsageSettingLength
);
kU
e
UsageSettingLength
);
return
KEncodeDecodeError
;
}
int
encoded_size
=
0
;
if
(
_iei
)
{
ENCODE_U8
(
buf
+
encoded_size
,
_iei
,
encoded_size
);
}
// IEI and Length
int
encoded_header_size
=
Type4NasIe
::
Encode
(
buf
+
encoded_size
,
len
);
if
(
encoded_header_size
==
KEncodeDecodeError
)
return
KEncodeDecodeError
;
encoded_size
+=
encoded_header_size
;
ENCODE_U8
(
buf
+
encoded_size
,
length
,
encoded_size
);
ENCODE_U8
(
buf
+
encoded_size
,
0x01
&
_ues_usage_setting
,
encoded_size
);
ENCODE_U8
(
buf
+
encoded_size
,
0x01
&
ues_usage_setting_
,
encoded_size
);
Logger
::
nas_mm
().
debug
(
"Encoded UEUsageSetting (len %d)"
,
encoded_size
);
Logger
::
nas_mm
().
debug
(
"Encoded %s, len (%d)"
,
GetIeName
().
c_str
(),
encoded_size
);
return
encoded_size
;
}
//------------------------------------------------------------------------------
int
UEUsageSetting
::
decodeFromBuffer
(
uint8_t
*
buf
,
int
len
,
bool
is_option
)
{
Logger
::
nas_mm
().
debug
(
"Decoding
UEUsageSetting"
);
int
UEUsageSetting
::
Decode
(
uint8_t
*
buf
,
int
len
,
bool
is_iei
)
{
Logger
::
nas_mm
().
debug
(
"Decoding
%s"
,
GetIeName
().
c_str
()
);
int
decoded_size
=
0
;
if
(
is_option
)
{
DECODE_U8
(
buf
+
decoded_size
,
_iei
,
decoded_size
);
if
(
len
<
kUeUsageSettingLength
)
{
Logger
::
nas_mm
().
error
(
"Buffer length is less than the minimum length of this IE (%d octet)"
,
kUeUsageSettingLength
);
return
KEncodeDecodeError
;
}
DECODE_U8
(
buf
+
decoded_size
,
length
,
decoded_size
);
int
decoded_size
=
0
;
// IEI and Length
int
decoded_header_size
=
Type4NasIe
::
Decode
(
buf
+
decoded_size
,
len
,
true
);
if
(
decoded_header_size
==
KEncodeDecodeError
)
return
KEncodeDecodeError
;
decoded_size
+=
decoded_header_size
;
uint8_t
octet
=
0
;
DECODE_U8
(
buf
+
decoded_size
,
octet
,
decoded_size
);
_ues_usage_setting
=
octet
&
0x01
;
ues_usage_setting_
=
octet
&
0x01
;
Logger
::
nas_mm
().
debug
(
"Decoded UE's Usage Setting, UE's Usage Setting 0x%x, IEI 0x%x, decoded "
"len %d"
,
_ues_usage_setting
,
_iei
,
decoded_size
);
"Decoded %s, UE's Usage Setting 0x%x, len %d"
,
GetIeName
().
c_str
(),
ues_usage_setting_
,
decoded_size
);
return
decoded_size
;
}
src/nas/ies/UEUsageSetting.hpp
View file @
ed645fdd
...
...
@@ -22,27 +22,29 @@
#ifndef _UES_USAGE_SETTING_H_
#define _UES_USAGE_SETTING_H_
#include "Type4NasIe.hpp"
#include <stdint.h>
constexpr
uint8_t
kUEUsageSettingLength
=
3
;
constexpr
uint8_t
kUeUsageSettingLength
=
3
;
constexpr
auto
kUeUsageSettingIeName
=
"UE's Usage Setting"
;
namespace
nas
{
class
UEUsageSetting
{
class
UEUsageSetting
:
public
Type4NasIe
{
public:
UEUsageSetting
();
UEUsageSetting
(
uint8_t
iei
);
UEUsageSetting
(
const
uint8_t
iei
,
bool
ues_usage_setting
);
UEUsageSetting
(
bool
ues_usage_setting
);
~
UEUsageSetting
();
int
encode2Buffer
(
uint8_t
*
buf
,
int
len
);
int
decodeFromBuffer
(
uint8_t
*
buf
,
int
len
,
bool
is_option
);
void
setValue
(
bool
value
);
bool
getValue
();
int
Encode
(
uint8_t
*
buf
,
int
len
);
int
Decode
(
uint8_t
*
buf
,
int
len
,
bool
is_iei
=
true
);
void
SetValue
(
bool
value
);
bool
GetValue
()
const
;
private:
uint8_t
_iei
;
uint8_t
length
;
bool
_ues_usage_setting
;
bool
ues_usage_setting_
;
};
}
// namespace nas
...
...
src/nas/ies/_5GS_DRX_Parameters.cpp
View file @
ed645fdd
...
...
@@ -21,6 +21,7 @@
#include "_5GS_DRX_Parameters.hpp"
#include "Ie_Const.hpp"
#include "3gpp_24.501.hpp"
#include "common_defs.h"
#include "logger.hpp"
...
...
@@ -28,40 +29,35 @@
using
namespace
nas
;
//------------------------------------------------------------------------------
_5GS_DRX_Parameters
::
_5GS_DRX_Parameters
(
uint8_t
iei
)
{
_iei
=
iei
;
length
=
1
;
_value
=
0
;
}
//------------------------------------------------------------------------------
_5GS_DRX_Parameters
::
_5GS_DRX_Parameters
(
const
uint8_t
iei
,
uint8_t
value
)
{
_iei
=
iei
;
length
=
1
;
_5GS_DRX_Parameters
::
_5GS_DRX_Parameters
(
uint8_t
value
)
:
Type4NasIe
(
kIei5gsDrxParameters
)
{
_value
=
value
&
0x0F
;
SetLengthIndicator
(
1
);
SetIeName
(
k5gsDrxParametersIeName
);
}
//------------------------------------------------------------------------------
_5GS_DRX_Parameters
::
_5GS_DRX_Parameters
()
{
_iei
=
0
;
length
=
1
;
_value
=
0
;
SetLengthIndicator
(
1
);
SetIeName
(
k5gsDrxParametersIeName
);
}
_5GS_DRX_Parameters
::~
_5GS_DRX_Parameters
()
{}
//------------------------------------------------------------------------------
void
_5GS_DRX_Parameters
::
s
etValue
(
uint8_t
value
)
{
void
_5GS_DRX_Parameters
::
S
etValue
(
uint8_t
value
)
{
_value
=
value
&
0x0F
;
}
//------------------------------------------------------------------------------
uint8_t
_5GS_DRX_Parameters
::
getValue
()
{
uint8_t
_5GS_DRX_Parameters
::
GetValue
()
const
{
return
_value
;
}
//------------------------------------------------------------------------------
int
_5GS_DRX_Parameters
::
encode2Buffer
(
uint8_t
*
buf
,
int
len
)
{
Logger
::
nas_mm
().
debug
(
"encoding _5GS_DRX_Parameters iei(0x%x)"
,
_iei
);
int
_5GS_DRX_Parameters
::
Encode
(
uint8_t
*
buf
,
int
len
)
{
Logger
::
nas_mm
().
debug
(
"Encoding %s"
,
GetIeName
().
c_str
());
if
(
len
<
k5gsDrxParametersLength
)
{
Logger
::
nas_mm
().
error
(
"Buffer length is less than the minimum length of this IE (%d octet)"
,
...
...
@@ -70,32 +66,42 @@ int _5GS_DRX_Parameters::encode2Buffer(uint8_t* buf, int len) {
}
int
encoded_size
=
0
;
if
(
_iei
)
{
ENCODE_U8
(
buf
+
encoded_size
,
_iei
,
encoded_size
);
}
ENCODE_U8
(
buf
+
encoded_size
,
length
,
encoded_size
);
// IEI and Length
int
encoded_header_size
=
Type4NasIe
::
Encode
(
buf
+
encoded_size
,
len
);
if
(
encoded_header_size
==
KEncodeDecodeError
)
return
KEncodeDecodeError
;
encoded_size
+=
encoded_header_size
;
ENCODE_U8
(
buf
+
encoded_size
,
_value
,
encoded_size
);
Logger
::
nas_mm
().
debug
(
"Encoded _5GS_DRX_Parameters (len %d)"
,
encoded_size
);
Logger
::
nas_mm
().
debug
(
"Encoded %s, len (%d)"
,
GetIeName
().
c_str
(),
encoded_size
);
return
encoded_size
;
}
//------------------------------------------------------------------------------
int
_5GS_DRX_Parameters
::
decodeFromBuffer
(
uint8_t
*
buf
,
int
len
,
bool
is_option
)
{
Logger
::
nas_mm
().
debug
(
"Decoding _5GS_DRX_Parameters"
);
int
_5GS_DRX_Parameters
::
Decode
(
uint8_t
*
buf
,
int
len
,
bool
is_iei
)
{
Logger
::
nas_mm
().
debug
(
"Decoding %s"
,
GetIeName
().
c_str
());
int
decoded_size
=
0
;
if
(
is_option
)
{
DECODE_U8
(
buf
+
decoded_size
,
_iei
,
decoded_size
);
if
(
len
<
k5gsDrxParametersLength
)
{
Logger
::
nas_mm
().
error
(
"Buffer length is less than the minimum length of this IE (%d octet)"
,
k5gsDrxParametersLength
);
return
KEncodeDecodeError
;
}
DECODE_U8
(
buf
+
decoded_size
,
length
,
decoded_size
);
int
decoded_size
=
0
;
// IEI and Length
int
decoded_header_size
=
Type4NasIe
::
Decode
(
buf
+
decoded_size
,
len
,
true
);
if
(
decoded_header_size
==
KEncodeDecodeError
)
return
KEncodeDecodeError
;
decoded_size
+=
decoded_header_size
;
uint8_t
octet
=
0
;
DECODE_U8
(
buf
+
decoded_size
,
octet
,
decoded_size
);
_value
=
octet
&
0x0f
;
Logger
::
nas_mm
().
debug
(
"Decoded
_5GS_DRX_Parameters DRX (value 0x%x)"
,
_value
);
Logger
::
nas_mm
().
debug
(
"Decoded _5GS_DRX_Parameters (len %d)"
,
decoded_size
);
"Decoded
%s, DRX value 0x%x, len %d"
,
GetIeName
().
c_str
(),
_value
,
decoded_size
);
return
decoded_size
;
}
src/nas/ies/_5GS_DRX_Parameters.hpp
View file @
ed645fdd
...
...
@@ -19,29 +19,31 @@
* contact@openairinterface.org
*/
#ifndef _5GS_DRX_Parameters_H_
#define _5GS_DRX_Parameters_H_
#ifndef _5GS_DRX_PARAMETERS_H_
#define _5GS_DRX_PARAMETERS_H_
#include "Type4NasIe.hpp"
#include <stdint.h>
constexpr
uint8_t
k5gsDrxParametersLength
=
3
;
constexpr
auto
k5gsDrxParametersIeName
=
"5GS DRX Parameters"
;
namespace
nas
{
class
_5GS_DRX_Parameters
{
class
_5GS_DRX_Parameters
:
public
Type4NasIe
{
public:
_5GS_DRX_Parameters
();
_5GS_DRX_Parameters
(
uint8_t
iei
);
_5GS_DRX_Parameters
(
const
uint8_t
iei
,
uint8_t
value
);
_5GS_DRX_Parameters
(
uint8_t
value
);
~
_5GS_DRX_Parameters
();
int
encode2Buffer
(
uint8_t
*
buf
,
int
len
);
int
decodeFromBuffer
(
uint8_t
*
buf
,
int
len
,
bool
is_option
);
void
setValue
(
uint8_t
value
);
uint8_t
getValue
();
int
Encode
(
uint8_t
*
buf
,
int
len
);
int
Decode
(
uint8_t
*
buf
,
int
len
,
bool
is_iei
);
void
SetValue
(
uint8_t
value
);
uint8_t
GetValue
()
const
;
private:
uint8_t
_iei
;
uint8_t
length
;
uint8_t
_value
;
};
}
// namespace nas
...
...
src/nas/msgs/RegistrationAccept.cpp
View file @
ed645fdd
...
...
@@ -232,7 +232,7 @@ void RegistrationAccept::setNSSAI_Inclusion_Mode(uint8_t value) {
//------------------------------------------------------------------------------
void
RegistrationAccept
::
set_5GS_DRX_arameters
(
uint8_t
value
)
{
ie_negotiated_drx_parameters
=
new
_5GS_DRX_Parameters
(
0x51
,
value
);
ie_negotiated_drx_parameters
=
new
_5GS_DRX_Parameters
(
value
);
}
//------------------------------------------------------------------------------
...
...
@@ -512,7 +512,7 @@ int RegistrationAccept::encode2Buffer(uint8_t* buf, int len) {
if
(
!
ie_negotiated_drx_parameters
)
{
Logger
::
nas_mm
().
warn
(
"IE ie_negotiated_drx_parameters is not available"
);
}
else
{
if
(
int
size
=
ie_negotiated_drx_parameters
->
encode2Buffer
(
if
(
int
size
=
ie_negotiated_drx_parameters
->
Encode
(
buf
+
encoded_size
,
len
-
encoded_size
))
{
encoded_size
+=
size
;
}
else
{
...
...
@@ -781,10 +781,10 @@ int RegistrationAccept::decodeFromBuffer(uint8_t* buf, int len) {
octet
=
*
(
buf
+
decoded_size
);
Logger
::
nas_mm
().
debug
(
"Next IEI (0x%x)"
,
octet
);
}
break
;
case
0x51
:
{
Logger
::
nas_mm
().
debug
(
"Decoding IEI (0x
51)"
);
case
kIei5gsDrxParameters
:
{
Logger
::
nas_mm
().
debug
(
"Decoding IEI (0x
%x)"
,
kIei5gsDrxParameters
);
ie_negotiated_drx_parameters
=
new
_5GS_DRX_Parameters
();
decoded_size
+=
ie_negotiated_drx_parameters
->
decodeFromBuffer
(
decoded_size
+=
ie_negotiated_drx_parameters
->
Decode
(
buf
+
decoded_size
,
len
-
decoded_size
,
true
);
octet
=
*
(
buf
+
decoded_size
);
Logger
::
nas_mm
().
debug
(
"Next IEI (0x%x)"
,
octet
);
...
...
src/nas/msgs/RegistrationRequest.cpp
View file @
ed645fdd
...
...
@@ -367,14 +367,13 @@ uint16_t RegistrationRequest::getAllowedPduSessionStatus() {
//------------------------------------------------------------------------------
void
RegistrationRequest
::
setUES_Usage_Setting
(
bool
ues_usage_setting
)
{
ie_ues_usage_setting
=
std
::
make_optional
<
UEUsageSetting
>
(
0x18
,
ues_usage_setting
);
ie_ues_usage_setting
=
std
::
make_optional
<
UEUsageSetting
>
(
ues_usage_setting
);
}
//------------------------------------------------------------------------------
uint8_t
RegistrationRequest
::
getUEsUsageSetting
()
{
if
(
ie_ues_usage_setting
.
has_value
())
{
return
ie_ues_usage_setting
.
value
().
g
etValue
();
return
ie_ues_usage_setting
.
value
().
G
etValue
();
}
else
{
return
0
;
}
...
...
@@ -382,14 +381,13 @@ uint8_t RegistrationRequest::getUEsUsageSetting() {
//------------------------------------------------------------------------------
void
RegistrationRequest
::
set_5GS_DRX_arameters
(
uint8_t
value
)
{
ie_5gs_drx_parameters
=
std
::
make_optional
<
_5GS_DRX_Parameters
>
(
kIei5gsDrxParameters
,
value
);
ie_5gs_drx_parameters
=
std
::
make_optional
<
_5GS_DRX_Parameters
>
(
value
);
}
//------------------------------------------------------------------------------
uint8_t
RegistrationRequest
::
get5GSDrxParameters
()
{
if
(
ie_5gs_drx_parameters
.
has_value
())
{
return
ie_5gs_drx_parameters
.
value
().
g
etValue
();
return
ie_5gs_drx_parameters
.
value
().
G
etValue
();
}
else
{
return
0
;
}
...
...
@@ -715,7 +713,7 @@ int RegistrationRequest::encode2Buffer(uint8_t* buf, int len) {
if
(
!
ie_ues_usage_setting
.
has_value
())
{
Logger
::
nas_mm
().
warn
(
"IE ie_ues_usage_setting is not available"
);
}
else
{
if
(
int
size
=
ie_ues_usage_setting
.
value
().
encode2Buffer
(
if
(
int
size
=
ie_ues_usage_setting
.
value
().
Encode
(
buf
+
encoded_size
,
len
-
encoded_size
))
{
encoded_size
+=
size
;
}
else
{
...
...
@@ -726,7 +724,7 @@ int RegistrationRequest::encode2Buffer(uint8_t* buf, int len) {
if
(
!
ie_5gs_drx_parameters
.
has_value
())
{
Logger
::
nas_mm
().
warn
(
"IE ie_5gs_drx_parameters is not available"
);
}
else
{
if
(
int
size
=
ie_5gs_drx_parameters
.
value
().
encode2Buffer
(
if
(
int
size
=
ie_5gs_drx_parameters
.
value
().
Encode
(
buf
+
encoded_size
,
len
-
encoded_size
))
{
encoded_size
+=
size
;
}
else
{
...
...
@@ -1006,10 +1004,10 @@ int RegistrationRequest::decodeFromBuffer(uint8_t* buf, int len) {
Logger
::
nas_mm
().
debug
(
"Next IEI 0x%x"
,
octet
);
}
break
;
case
0x18
:
{
Logger
::
nas_mm
().
debug
(
"Decoding IEI
(0x18)"
);
case
kIeiUeUsageSetting
:
{
Logger
::
nas_mm
().
debug
(
"Decoding IEI
0x%x"
,
kIeiUeUsageSetting
);
UEUsageSetting
ie_ues_usage_setting_tmp
=
{};
decoded_size
+=
ie_ues_usage_setting_tmp
.
decodeFromBuffer
(
decoded_size
+=
ie_ues_usage_setting_tmp
.
Decode
(
buf
+
decoded_size
,
len
-
decoded_size
,
true
);
ie_ues_usage_setting
=
std
::
optional
<
UEUsageSetting
>
(
ie_ues_usage_setting_tmp
);
...
...
@@ -1019,7 +1017,7 @@ int RegistrationRequest::decodeFromBuffer(uint8_t* buf, int len) {
case
kIei5gsDrxParameters
:
{
Logger
::
nas_mm
().
debug
(
"Decoding IEI 0x51: 5GS DRX Parameters"
);
_5GS_DRX_Parameters
ie_5gs_drx_parameters_tmp
=
{};
decoded_size
+=
ie_5gs_drx_parameters_tmp
.
decodeFromBuffer
(
decoded_size
+=
ie_5gs_drx_parameters_tmp
.
Decode
(
buf
+
decoded_size
,
len
-
decoded_size
,
true
);
ie_5gs_drx_parameters
=
std
::
optional
<
_5GS_DRX_Parameters
>
(
ie_5gs_drx_parameters_tmp
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment