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
9e1bf1e5
Commit
9e1bf1e5
authored
Jan 16, 2023
by
Tien Thinh NGUYEN
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update Service Request
parent
18d41c6b
Changes
9
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
203 additions
and
209 deletions
+203
-209
src/nas/ies/AllowedPDUSessionStatus.hpp
src/nas/ies/AllowedPDUSessionStatus.hpp
+0
-2
src/nas/ies/NasMessageContainer.hpp
src/nas/ies/NasMessageContainer.hpp
+0
-7
src/nas/ies/PDUSessionStatus.hpp
src/nas/ies/PDUSessionStatus.hpp
+0
-1
src/nas/ies/ServiceType.cpp
src/nas/ies/ServiceType.cpp
+18
-38
src/nas/ies/ServiceType.hpp
src/nas/ies/ServiceType.hpp
+13
-16
src/nas/ies/UplinkDataStatus.hpp
src/nas/ies/UplinkDataStatus.hpp
+0
-2
src/nas/msgs/SecurityModeReject.hpp
src/nas/msgs/SecurityModeReject.hpp
+1
-1
src/nas/msgs/ServiceRequest.cpp
src/nas/msgs/ServiceRequest.cpp
+146
-114
src/nas/msgs/ServiceRequest.hpp
src/nas/msgs/ServiceRequest.hpp
+25
-28
No files found.
src/nas/ies/AllowedPDUSessionStatus.hpp
View file @
9e1bf1e5
...
...
@@ -24,8 +24,6 @@
#include "Type4NasIe.hpp"
#include <stdint.h>
constexpr
uint8_t
kAllowedPDUSessionStatusMinimumLength
=
4
;
constexpr
uint8_t
kAllowedPDUSessionStatusMaximumLength
=
34
;
constexpr
auto
kAllowedPDUSessionStatusIeName
=
"Allowed PDU Session Status"
;
...
...
src/nas/ies/NasMessageContainer.hpp
View file @
9e1bf1e5
...
...
@@ -23,13 +23,6 @@
#define _NAS_MESSAGE_CONTAINER_H_
#include "Type6NasIe.hpp"
#include <stdint.h>
extern
"C"
{
#include "TLVDecoder.h"
#include "TLVEncoder.h"
#include "bstrlib.h"
}
constexpr
uint8_t
kNasMessageContainerMinimumLength
=
3
;
constexpr
uint32_t
kNasMessageContainerMaximumLength
=
65535
;
...
...
src/nas/ies/PDUSessionStatus.hpp
View file @
9e1bf1e5
...
...
@@ -23,7 +23,6 @@
#define _PDU_SESSION_STATUS_H_
#include "Type4NasIe.hpp"
#include <stdint.h>
constexpr
uint8_t
kPduSessionStatusMinimumLength
=
4
;
constexpr
uint8_t
kPduSessionStatusMaximumLength
=
34
;
...
...
src/nas/ies/ServiceType.cpp
View file @
9e1bf1e5
...
...
@@ -19,60 +19,40 @@
* contact@openairinterface.org
*/
/*! \file
\brief
\author Keliang DU, BUPT
\date 2020
\email: contact@openairinterface.org
*/
#include "ServiceType.hpp"
using
namespace
nas
;
//------------------------------------------------------------------------------
ServiceType
::
ServiceType
()
{}
ServiceType
::
ServiceType
()
:
Type1NasIe
(
true
),
service_type_value_
()
{
SetIeName
(
kServiceTypeIeName
);
}
//------------------------------------------------------------------------------
ServiceType
::
ServiceType
(
uint8_t
value
)
:
Type1NasIe
(
true
)
{
service_type_value_
=
value
&
0x0f
;
Type1NasIe
::
SetValue
(
service_type_value_
);
}
//------------------------------------------------------------------------------
ServiceType
::~
ServiceType
()
{}
//------------------------------------------------------------------------------
ServiceType
::
ServiceType
(
uint8_t
iei
,
uint8_t
stp
)
{
_iei
=
iei
;
value
=
stp
;
void
ServiceType
::
SetValue
(
uint8_t
value
)
{
service_type_value_
=
value
&
0x0f
;
Type1NasIe
::
SetValue
(
service_type_value_
)
;
}
//------------------------------------------------------------------------------
int
ServiceType
::
Encode
(
uint8_t
*
buf
,
int
len
)
{
if
(
len
<
1
)
return
-
1
;
int
encoded_size
=
0
;
if
(
_iei
)
{
*
buf
=
_iei
;
encoded_size
++
;
*
(
buf
+
encoded_size
)
=
value
;
encoded_size
++
;
return
encoded_size
;
}
else
{
*
buf
=
0x00
|
((
value
&
0x0f
)
<<
4
);
return
0
;
}
void
ServiceType
::
GetValue
(
uint8_t
&
value
)
{
value
=
service_type_value_
;
}
//------------------------------------------------------------------------------
int
ServiceType
::
Decode
(
uint8_t
*
buf
,
int
len
,
bool
is_optional
,
bool
is_high
)
{
if
(
len
<
1
)
return
-
1
;
if
(
is_optional
)
{
_iei
=
*
buf
;
}
else
{
if
(
is_high
)
value
=
((
*
buf
)
&
0xf0
)
>>
4
;
else
value
=
(
*
buf
)
&
0x0f
;
return
0
;
}
return
0
;
void
ServiceType
::
SetValue
()
{
Type1NasIe
::
SetValue
(
service_type_value_
&
0x0f
);
}
//------------------------------------------------------------------------------
uint8_t
ServiceType
::
g
etValue
()
{
return
value
;
void
ServiceType
::
G
etValue
()
{
service_type_value_
=
value_
&
0x0f
;
}
src/nas/ies/ServiceType.hpp
View file @
9e1bf1e5
...
...
@@ -19,34 +19,31 @@
* contact@openairinterface.org
*/
/*! \file
\brief
\author Keliang DU, BUPT
\date 2020
\email: contact@openairinterface.org
*/
#ifndef _SERVICE_TYPE_H_
#define _SERVICE_TYPE_H_
#include <stdint.h>
#include "Type1NasIe.hpp"
constexpr
auto
kServiceTypeIeName
=
"Service Type"
;
namespace
nas
{
class
ServiceType
{
class
ServiceType
:
public
Type1NasIe
{
public:
ServiceType
();
ServiceType
(
uint8_t
value
);
~
ServiceType
();
ServiceType
(
uint8_t
iei
,
uint8_t
stp
);
public:
int
Encode
(
uint8_t
*
buf
,
int
len
);
int
Decode
(
uint8_t
*
nuf
,
int
len
,
bool
is_optional
,
bool
is_high
);
uint8_t
getValue
();
// int Encode(uint8_t* buf, int len);
// int Decode(uint8_t* nuf, int len, bool is_iei, bool is_high);
void
SetValue
(
uint8_t
value
);
void
GetValue
(
uint8_t
&
value
);
private:
uint8_t
_iei
;
uint8_t
value
;
void
SetValue
()
override
;
void
GetValue
()
override
;
uint8_t
service_type_value_
;
};
}
// namespace nas
...
...
src/nas/ies/UplinkDataStatus.hpp
View file @
9e1bf1e5
...
...
@@ -24,8 +24,6 @@
#include "Type4NasIe.hpp"
#include <stdint.h>
constexpr
uint8_t
kUplinkDataStatusMinimumLength
=
4
;
constexpr
uint8_t
kUplinkDataStatusMaximumLength
=
34
;
constexpr
auto
kUplinkDataStatusIeName
=
"Uplink Data Status"
;
...
...
src/nas/msgs/SecurityModeReject.hpp
View file @
9e1bf1e5
...
...
@@ -37,7 +37,7 @@ class SecurityModeReject : public NasMmPlainHeader {
int
Decode
(
uint8_t
*
buf
,
int
len
);
void
Set5gmmCause
(
uint8_t
value
);
// Get
//
TODO:
Get
public:
_5gmmCause
ie_5gmm_cause
;
// Mandatory
...
...
src/nas/msgs/ServiceRequest.cpp
View file @
9e1bf1e5
This diff is collapsed.
Click to expand it.
src/nas/msgs/ServiceRequest.hpp
View file @
9e1bf1e5
...
...
@@ -19,13 +19,6 @@
* contact@openairinterface.org
*/
/*! \file
\brief
\author Keliang DU, BUPT
\date 2020
\email: contact@openairinterface.org
*/
#ifndef _SERVICE_REQUEST_H_
#define _SERVICE_REQUEST_H_
...
...
@@ -34,45 +27,49 @@
#include "bstrlib.h"
#include "NasIeHeader.hpp"
using
namespace
std
;
namespace
nas
{
class
ServiceRequest
{
class
ServiceRequest
:
public
NasMmPlainHeader
{
public:
ServiceRequest
();
~
ServiceRequest
();
public:
void
SetHeader
(
uint8_t
security_header_type
);
void
SetNgKsi
(
uint8_t
tsc
,
uint8_t
key_set_id
);
void
setServiceType
(
uint8_t
stp
);
void
Set5gSTmsi
(
uint16_t
amfSetId
,
uint8_t
amfPointer
,
string
tmsi
);
void
setUplink_data_status
(
uint16_t
value
);
void
setPDU_session_status
(
uint16_t
value
);
void
setAllowed_PDU_Session_Status
(
uint16_t
value
);
void
SetNasMessageContainer
(
bstring
value
);
int
Encode
(
uint8_t
*
buf
,
int
len
);
public:
int
Encode
(
uint8_t
*
buf
,
int
len
);
int
Decode
(
NasMmPlainHeader
*
header
,
uint8_t
*
buf
,
int
len
);
void
SetNgKsi
(
uint8_t
tsc
,
uint8_t
key_set_id
);
bool
getngKSI
(
uint8_t
&
ng_ksi
);
void
setServiceType
(
uint8_t
value
);
uint8_t
getServiceType
();
void
Set5gSTmsi
(
uint16_t
amfSetId
,
uint8_t
amfPointer
,
string
tmsi
);
bool
Get5gSTmsi
(
uint16_t
&
amfSetId
,
uint8_t
&
amfPointer
,
string
&
tmsi
);
void
setUplink_data_status
(
uint16_t
value
);
uint16_t
getUplinkDataStatus
();
void
setPDU_session_status
(
uint16_t
value
);
uint16_t
getPduSessionStatus
();
void
setAllowed_PDU_Session_Status
(
uint16_t
value
);
uint16_t
getAllowedPduSessionStatus
();
void
SetNasMessageContainer
(
bstring
value
);
bool
GetNasMessageContainer
(
bstring
&
nas
);
private:
NasMmPlainHeader
*
plain_header
;
NasKeySetIdentifier
*
ie_ngKSI
;
ServiceType
*
ie_service_type
;
_5GSMobileIdentity
*
ie_5g_s_tmsi
;
UplinkDataStatus
*
ie_uplink_data_status
;
PDUSessionStatus
*
ie_PDU_session_status
;
AllowedPDUSessionStatus
*
ie_allowed_PDU_session_status
;
NasMessageContainer
*
ie_nas_message_container
;
NasKeySetIdentifier
ie_ngKSI
;
// Mandatory
ServiceType
ie_service_type
;
// Mandatory
_5GSMobileIdentity
ie_5g_s_tmsi
;
// Mandatory
std
::
optional
<
UplinkDataStatus
>
ie_uplink_data_status
;
// Optional
std
::
optional
<
PDUSessionStatus
>
ie_PDU_session_status
;
// Optional
std
::
optional
<
AllowedPDUSessionStatus
>
ie_allowed_PDU_session_status
;
// Optional
std
::
optional
<
NasMessageContainer
>
ie_nas_message_container
;
// Optional
};
}
// namespace nas
...
...
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