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
07955260
Commit
07955260
authored
Aug 26, 2022
by
Tien Thinh NGUYEN
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Refactor NGSetupFailure and its IEs
parent
dacb523b
Changes
14
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
146 additions
and
134 deletions
+146
-134
src/ngap/ngapIEs/Cause.cpp
src/ngap/ngapIEs/Cause.cpp
+29
-30
src/ngap/ngapIEs/Cause.hpp
src/ngap/ngapIEs/Cause.hpp
+8
-8
src/ngap/ngapIEs/PDUSessionResourceReleaseCommandTransfer.cpp
...ngap/ngapIEs/PDUSessionResourceReleaseCommandTransfer.cpp
+11
-12
src/ngap/ngapIEs/PDUSessionResourceSetupUnsuccessfulTransfer.cpp
...p/ngapIEs/PDUSessionResourceSetupUnsuccessfulTransfer.cpp
+12
-12
src/ngap/ngapIEs/TimeToWait.cpp
src/ngap/ngapIEs/TimeToWait.cpp
+13
-11
src/ngap/ngapIEs/TimeToWait.hpp
src/ngap/ngapIEs/TimeToWait.hpp
+4
-3
src/ngap/ngapMsgs/HandoverPreparationFailure.cpp
src/ngap/ngapMsgs/HandoverPreparationFailure.cpp
+3
-4
src/ngap/ngapMsgs/HandoverRequest.cpp
src/ngap/ngapMsgs/HandoverRequest.cpp
+1
-1
src/ngap/ngapMsgs/HandoverRequiredMsg.cpp
src/ngap/ngapMsgs/HandoverRequiredMsg.cpp
+2
-3
src/ngap/ngapMsgs/NGReset.cpp
src/ngap/ngapMsgs/NGReset.cpp
+3
-3
src/ngap/ngapMsgs/NGSetupFailure.cpp
src/ngap/ngapMsgs/NGSetupFailure.cpp
+30
-21
src/ngap/ngapMsgs/NGSetupFailure.hpp
src/ngap/ngapMsgs/NGSetupFailure.hpp
+24
-20
src/ngap/ngapMsgs/UEContextReleaseCommand.cpp
src/ngap/ngapMsgs/UEContextReleaseCommand.cpp
+3
-3
src/ngap/ngapMsgs/UEContextReleaseRequest.cpp
src/ngap/ngapMsgs/UEContextReleaseRequest.cpp
+3
-3
No files found.
src/ngap/ngapIEs/Cause.cpp
View file @
07955260
...
@@ -20,56 +20,55 @@
...
@@ -20,56 +20,55 @@
*/
*/
#include "Cause.hpp"
#include "Cause.hpp"
#include "logger.hpp"
#include <iostream>
using
namespace
std
;
namespace
ngap
{
namespace
ngap
{
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
Cause
::
Cause
()
{
Cause
::
Cause
()
{
causeValue
=
-
1
;
cause_present_
=
Ngap_Cause_PR_NOTHING
;
cause_value_
=
-
1
;
}
}
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
Cause
::~
Cause
()
{}
Cause
::~
Cause
()
{}
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
void
Cause
::
setChoiceOfCause
(
Ngap_Cause_PR
m_causeP
resent
)
{
void
Cause
::
setChoiceOfCause
(
const
Ngap_Cause_PR
&
cause_p
resent
)
{
cause
Present
=
m_causeP
resent
;
cause
_present_
=
cause_p
resent
;
}
}
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
void
Cause
::
setValue
(
long
m_causeV
alue
)
{
void
Cause
::
setValue
(
const
long
&
cause_v
alue
)
{
cause
Value
=
m_causeV
alue
;
cause
_value_
=
cause_v
alue
;
}
}
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
bool
Cause
::
encode
2Cause
(
Ngap_Cause_t
*
cause
)
{
bool
Cause
::
encode
(
Ngap_Cause_t
&
cause
)
const
{
cause
->
present
=
causePresent
;
cause
.
present
=
cause_present_
;
switch
(
cause
Present
)
{
switch
(
cause
_present_
)
{
case
Ngap_Cause_PR_radioNetwork
:
{
case
Ngap_Cause_PR_radioNetwork
:
{
cause
->
choice
.
radioNetwork
=
causeValue
;
cause
.
choice
.
radioNetwork
=
cause_value_
;
break
;
break
;
}
}
case
Ngap_Cause_PR_transport
:
{
case
Ngap_Cause_PR_transport
:
{
cause
->
choice
.
transport
=
causeValue
;
cause
.
choice
.
transport
=
cause_value_
;
break
;
break
;
}
}
case
Ngap_Cause_PR_nas
:
{
case
Ngap_Cause_PR_nas
:
{
cause
->
choice
.
nas
=
causeValue
;
cause
.
choice
.
nas
=
cause_value_
;
break
;
break
;
}
}
case
Ngap_Cause_PR_protocol
:
{
case
Ngap_Cause_PR_protocol
:
{
cause
->
choice
.
protocol
=
causeValue
;
cause
.
choice
.
protocol
=
cause_value_
;
break
;
break
;
}
}
case
Ngap_Cause_PR_misc
:
{
case
Ngap_Cause_PR_misc
:
{
cause
->
choice
.
misc
=
causeValue
;
cause
.
choice
.
misc
=
cause_value_
;
break
;
break
;
}
}
default:
{
default:
{
cout
<<
"[Warning] Cause Present error!"
<<
endl
;
Logger
::
ngap
().
warn
(
"Cause Present error!"
)
;
return
false
;
return
false
;
break
;
break
;
}
}
...
@@ -78,26 +77,26 @@ bool Cause::encode2Cause(Ngap_Cause_t* cause) {
...
@@ -78,26 +77,26 @@ bool Cause::encode2Cause(Ngap_Cause_t* cause) {
}
}
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
bool
Cause
::
decode
fromCause
(
Ngap_Cause_t
*
pdu
)
{
bool
Cause
::
decode
(
const
Ngap_Cause_t
&
cause
)
{
cause
Present
=
pdu
->
present
;
cause
_present_
=
cause
.
present
;
switch
(
cause
Present
)
{
switch
(
cause
_present_
)
{
case
Ngap_Cause_PR_radioNetwork
:
{
case
Ngap_Cause_PR_radioNetwork
:
{
cause
Value
=
pdu
->
choice
.
radioNetwork
;
cause
_value_
=
cause
.
choice
.
radioNetwork
;
}
break
;
}
break
;
case
Ngap_Cause_PR_transport
:
{
case
Ngap_Cause_PR_transport
:
{
cause
Value
=
pdu
->
choice
.
transport
;
cause
_value_
=
cause
.
choice
.
transport
;
}
break
;
}
break
;
case
Ngap_Cause_PR_nas
:
{
case
Ngap_Cause_PR_nas
:
{
cause
Value
=
pdu
->
choice
.
nas
;
cause
_value_
=
cause
.
choice
.
nas
;
}
break
;
}
break
;
case
Ngap_Cause_PR_protocol
:
{
case
Ngap_Cause_PR_protocol
:
{
cause
Value
=
pdu
->
choice
.
protocol
;
cause
_value_
=
cause
.
choice
.
protocol
;
}
break
;
}
break
;
case
Ngap_Cause_PR_misc
:
{
case
Ngap_Cause_PR_misc
:
{
cause
Value
=
pdu
->
choice
.
misc
;
cause
_value_
=
cause
.
choice
.
misc
;
}
break
;
}
break
;
default:
{
default:
{
cout
<<
"[Warning] Cause Present error!"
<<
endl
;
Logger
::
ngap
().
warn
(
"Cause Present error!"
)
;
return
false
;
return
false
;
}
}
}
}
...
@@ -105,12 +104,12 @@ bool Cause::decodefromCause(Ngap_Cause_t* pdu) {
...
@@ -105,12 +104,12 @@ bool Cause::decodefromCause(Ngap_Cause_t* pdu) {
}
}
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
Ngap_Cause_PR
Cause
::
getChoiceOfCause
()
{
Ngap_Cause_PR
Cause
::
getChoiceOfCause
()
const
{
return
cause
Present
;
return
cause
_present_
;
}
}
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
long
Cause
::
getValue
()
{
long
Cause
::
getValue
()
const
{
return
cause
Value
;
return
cause
_value_
;
}
}
}
// namespace ngap
}
// namespace ngap
src/ngap/ngapIEs/Cause.hpp
View file @
07955260
...
@@ -33,16 +33,16 @@ class Cause {
...
@@ -33,16 +33,16 @@ class Cause {
Cause
();
Cause
();
virtual
~
Cause
();
virtual
~
Cause
();
bool
encode
2Cause
(
Ngap_Cause_t
*
cause
)
;
bool
encode
(
Ngap_Cause_t
&
cause
)
const
;
bool
decode
fromCause
(
Ngap_Cause_t
*
pdu
);
bool
decode
(
const
Ngap_Cause_t
&
cause
);
void
setChoiceOfCause
(
Ngap_Cause_PR
m_causeP
resent
);
void
setChoiceOfCause
(
const
Ngap_Cause_PR
&
cause_p
resent
);
Ngap_Cause_PR
getChoiceOfCause
();
Ngap_Cause_PR
getChoiceOfCause
()
const
;
void
setValue
(
long
);
void
setValue
(
const
long
&
value
);
long
getValue
();
long
getValue
()
const
;
private:
private:
long
cause
Value
;
long
cause
_value_
;
Ngap_Cause_PR
cause
Present
;
Ngap_Cause_PR
cause
_present_
;
};
};
}
// namespace ngap
}
// namespace ngap
...
...
src/ngap/ngapIEs/PDUSessionResourceReleaseCommandTransfer.cpp
View file @
07955260
...
@@ -56,8 +56,8 @@ void PDUSessionResourceReleaseCommandTransfer::setCauseRadioNetwork(
...
@@ -56,8 +56,8 @@ void PDUSessionResourceReleaseCommandTransfer::setCauseRadioNetwork(
causeValue
->
setChoiceOfCause
(
Ngap_Cause_PR_radioNetwork
);
causeValue
->
setChoiceOfCause
(
Ngap_Cause_PR_radioNetwork
);
causeValue
->
setValue
(
cause_value
);
causeValue
->
setValue
(
cause_value
);
int
ret
=
causeValue
->
encode2Cause
(
int
ret
=
&
pduSessionResourceReleaseCommandTransferIEs
->
cause
);
causeValue
->
encode
(
pduSessionResourceReleaseCommandTransferIEs
->
cause
);
if
(
!
ret
)
{
if
(
!
ret
)
{
cout
<<
"encode CauseRadioNetwork IE error"
<<
endl
;
cout
<<
"encode CauseRadioNetwork IE error"
<<
endl
;
return
;
return
;
...
@@ -70,8 +70,8 @@ void PDUSessionResourceReleaseCommandTransfer::setCauseTransport(
...
@@ -70,8 +70,8 @@ void PDUSessionResourceReleaseCommandTransfer::setCauseTransport(
causeValue
->
setChoiceOfCause
(
Ngap_Cause_PR_transport
);
causeValue
->
setChoiceOfCause
(
Ngap_Cause_PR_transport
);
causeValue
->
setValue
(
cause_value
);
causeValue
->
setValue
(
cause_value
);
int
ret
=
causeValue
->
encode2Cause
(
int
ret
=
&
pduSessionResourceReleaseCommandTransferIEs
->
cause
);
causeValue
->
encode
(
pduSessionResourceReleaseCommandTransferIEs
->
cause
);
if
(
!
ret
)
{
if
(
!
ret
)
{
cout
<<
"encode CauseTransport IE error"
<<
endl
;
cout
<<
"encode CauseTransport IE error"
<<
endl
;
return
;
return
;
...
@@ -84,8 +84,8 @@ void PDUSessionResourceReleaseCommandTransfer::setCauseNas(
...
@@ -84,8 +84,8 @@ void PDUSessionResourceReleaseCommandTransfer::setCauseNas(
causeValue
->
setChoiceOfCause
(
Ngap_Cause_PR_nas
);
causeValue
->
setChoiceOfCause
(
Ngap_Cause_PR_nas
);
causeValue
->
setValue
(
cause_value
);
causeValue
->
setValue
(
cause_value
);
int
ret
=
causeValue
->
encode2Cause
(
int
ret
=
&
pduSessionResourceReleaseCommandTransferIEs
->
cause
);
causeValue
->
encode
(
pduSessionResourceReleaseCommandTransferIEs
->
cause
);
if
(
!
ret
)
{
if
(
!
ret
)
{
cout
<<
"encode CauseNas IE error"
<<
endl
;
cout
<<
"encode CauseNas IE error"
<<
endl
;
return
;
return
;
...
@@ -98,8 +98,8 @@ void PDUSessionResourceReleaseCommandTransfer::setCauseProtocol(
...
@@ -98,8 +98,8 @@ void PDUSessionResourceReleaseCommandTransfer::setCauseProtocol(
causeValue
->
setChoiceOfCause
(
Ngap_Cause_PR_protocol
);
causeValue
->
setChoiceOfCause
(
Ngap_Cause_PR_protocol
);
causeValue
->
setValue
(
cause_value
);
causeValue
->
setValue
(
cause_value
);
int
ret
=
causeValue
->
encode2Cause
(
int
ret
=
&
pduSessionResourceReleaseCommandTransferIEs
->
cause
);
causeValue
->
encode
(
pduSessionResourceReleaseCommandTransferIEs
->
cause
);
if
(
!
ret
)
{
if
(
!
ret
)
{
cout
<<
"encode CauseProtocol IE error"
<<
endl
;
cout
<<
"encode CauseProtocol IE error"
<<
endl
;
return
;
return
;
...
@@ -112,8 +112,8 @@ void PDUSessionResourceReleaseCommandTransfer::setCauseMisc(
...
@@ -112,8 +112,8 @@ void PDUSessionResourceReleaseCommandTransfer::setCauseMisc(
causeValue
->
setChoiceOfCause
(
Ngap_Cause_PR_misc
);
causeValue
->
setChoiceOfCause
(
Ngap_Cause_PR_misc
);
causeValue
->
setValue
(
cause_value
);
causeValue
->
setValue
(
cause_value
);
int
ret
=
causeValue
->
encode2Cause
(
int
ret
=
&
pduSessionResourceReleaseCommandTransferIEs
->
cause
);
causeValue
->
encode
(
pduSessionResourceReleaseCommandTransferIEs
->
cause
);
if
(
!
ret
)
{
if
(
!
ret
)
{
cout
<<
"encode CauseMisc IE error"
<<
endl
;
cout
<<
"encode CauseMisc IE error"
<<
endl
;
return
;
return
;
...
@@ -155,8 +155,7 @@ bool PDUSessionResourceReleaseCommandTransfer::decodefromIE(
...
@@ -155,8 +155,7 @@ bool PDUSessionResourceReleaseCommandTransfer::decodefromIE(
// pduSessionResourceSetupUnsuccessfulTransferIEs);
// pduSessionResourceSetupUnsuccessfulTransferIEs);
causeValue
=
new
Cause
();
causeValue
=
new
Cause
();
if
(
!
causeValue
->
decodefromCause
(
if
(
!
causeValue
->
decode
(
pduSessionResourceReleaseCommandTransferIEs
->
cause
))
{
&
pduSessionResourceReleaseCommandTransferIEs
->
cause
))
{
cout
<<
"decoded ngap Cause IE error"
<<
endl
;
cout
<<
"decoded ngap Cause IE error"
<<
endl
;
return
false
;
return
false
;
}
}
...
...
src/ngap/ngapIEs/PDUSessionResourceSetupUnsuccessfulTransfer.cpp
View file @
07955260
...
@@ -55,8 +55,8 @@ void PduSessionResourceSetupUnSuccessfulTransferIE::setCauseRadioNetwork(
...
@@ -55,8 +55,8 @@ void PduSessionResourceSetupUnSuccessfulTransferIE::setCauseRadioNetwork(
causeValue
->
setChoiceOfCause
(
Ngap_Cause_PR_radioNetwork
);
causeValue
->
setChoiceOfCause
(
Ngap_Cause_PR_radioNetwork
);
causeValue
->
setValue
(
cause_value
);
causeValue
->
setValue
(
cause_value
);
int
ret
=
causeValue
->
encode2Cause
(
int
ret
=
&
pduSessionResourceSetupUnsuccessfulTransferIEs
->
cause
);
causeValue
->
encode
(
pduSessionResourceSetupUnsuccessfulTransferIEs
->
cause
);
if
(
!
ret
)
{
if
(
!
ret
)
{
cout
<<
"encode CauseRadioNetwork IE error"
<<
endl
;
cout
<<
"encode CauseRadioNetwork IE error"
<<
endl
;
return
;
return
;
...
@@ -71,8 +71,8 @@ void PduSessionResourceSetupUnSuccessfulTransferIE::setCauseTransport(
...
@@ -71,8 +71,8 @@ void PduSessionResourceSetupUnSuccessfulTransferIE::setCauseTransport(
causeValue
->
setChoiceOfCause
(
Ngap_Cause_PR_transport
);
causeValue
->
setChoiceOfCause
(
Ngap_Cause_PR_transport
);
causeValue
->
setValue
(
cause_value
);
causeValue
->
setValue
(
cause_value
);
int
ret
=
causeValue
->
encode2Cause
(
int
ret
=
&
pduSessionResourceSetupUnsuccessfulTransferIEs
->
cause
);
causeValue
->
encode
(
pduSessionResourceSetupUnsuccessfulTransferIEs
->
cause
);
if
(
!
ret
)
{
if
(
!
ret
)
{
cout
<<
"encode CauseTransport IE error"
<<
endl
;
cout
<<
"encode CauseTransport IE error"
<<
endl
;
return
;
return
;
...
@@ -87,8 +87,8 @@ void PduSessionResourceSetupUnSuccessfulTransferIE::setCauseNas(
...
@@ -87,8 +87,8 @@ void PduSessionResourceSetupUnSuccessfulTransferIE::setCauseNas(
causeValue
->
setChoiceOfCause
(
Ngap_Cause_PR_nas
);
causeValue
->
setChoiceOfCause
(
Ngap_Cause_PR_nas
);
causeValue
->
setValue
(
cause_value
);
causeValue
->
setValue
(
cause_value
);
int
ret
=
causeValue
->
encode2Cause
(
int
ret
=
&
pduSessionResourceSetupUnsuccessfulTransferIEs
->
cause
);
causeValue
->
encode
(
pduSessionResourceSetupUnsuccessfulTransferIEs
->
cause
);
if
(
!
ret
)
{
if
(
!
ret
)
{
cout
<<
"encode CauseNas IE error"
<<
endl
;
cout
<<
"encode CauseNas IE error"
<<
endl
;
return
;
return
;
...
@@ -103,8 +103,8 @@ void PduSessionResourceSetupUnSuccessfulTransferIE::setCauseProtocol(
...
@@ -103,8 +103,8 @@ void PduSessionResourceSetupUnSuccessfulTransferIE::setCauseProtocol(
causeValue
->
setChoiceOfCause
(
Ngap_Cause_PR_protocol
);
causeValue
->
setChoiceOfCause
(
Ngap_Cause_PR_protocol
);
causeValue
->
setValue
(
cause_value
);
causeValue
->
setValue
(
cause_value
);
int
ret
=
causeValue
->
encode2Cause
(
int
ret
=
&
pduSessionResourceSetupUnsuccessfulTransferIEs
->
cause
);
causeValue
->
encode
(
pduSessionResourceSetupUnsuccessfulTransferIEs
->
cause
);
if
(
!
ret
)
{
if
(
!
ret
)
{
cout
<<
"encode CauseProtocol IE error"
<<
endl
;
cout
<<
"encode CauseProtocol IE error"
<<
endl
;
return
;
return
;
...
@@ -119,8 +119,8 @@ void PduSessionResourceSetupUnSuccessfulTransferIE::setCauseMisc(
...
@@ -119,8 +119,8 @@ void PduSessionResourceSetupUnSuccessfulTransferIE::setCauseMisc(
causeValue
->
setChoiceOfCause
(
Ngap_Cause_PR_misc
);
causeValue
->
setChoiceOfCause
(
Ngap_Cause_PR_misc
);
causeValue
->
setValue
(
cause_value
);
causeValue
->
setValue
(
cause_value
);
int
ret
=
causeValue
->
encode2Cause
(
int
ret
=
&
pduSessionResourceSetupUnsuccessfulTransferIEs
->
cause
);
causeValue
->
encode
(
pduSessionResourceSetupUnsuccessfulTransferIEs
->
cause
);
if
(
!
ret
)
{
if
(
!
ret
)
{
cout
<<
"encode CauseMisc IE error"
<<
endl
;
cout
<<
"encode CauseMisc IE error"
<<
endl
;
return
;
return
;
...
@@ -165,8 +165,8 @@ bool PduSessionResourceSetupUnSuccessfulTransferIE::decodefromIE(
...
@@ -165,8 +165,8 @@ bool PduSessionResourceSetupUnSuccessfulTransferIE::decodefromIE(
// pduSessionResourceSetupUnsuccessfulTransferIEs);
// pduSessionResourceSetupUnsuccessfulTransferIEs);
causeValue
=
new
Cause
();
causeValue
=
new
Cause
();
if
(
!
causeValue
->
decode
fromCause
(
if
(
!
causeValue
->
decode
(
&
pduSessionResourceSetupUnsuccessfulTransferIEs
->
cause
))
{
pduSessionResourceSetupUnsuccessfulTransferIEs
->
cause
))
{
cout
<<
"decoded ngap Cause IE error"
<<
endl
;
cout
<<
"decoded ngap Cause IE error"
<<
endl
;
return
false
;
return
false
;
}
}
...
...
src/ngap/ngapIEs/TimeToWait.cpp
View file @
07955260
...
@@ -21,38 +21,40 @@
...
@@ -21,38 +21,40 @@
#include "TimeToWait.hpp"
#include "TimeToWait.hpp"
#include <iostream>
using
namespace
std
;
namespace
ngap
{
namespace
ngap
{
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
TimeToWait
::
TimeToWait
()
{
TimeToWait
::
TimeToWait
()
{
timeValue
=
-
1
;
time_
=
-
1
;
}
//------------------------------------------------------------------------------
TimeToWait
::
TimeToWait
(
e_Ngap_TimeToWait
time
)
{
time_
=
time
;
}
}
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
TimeToWait
::~
TimeToWait
()
{}
TimeToWait
::~
TimeToWait
()
{}
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
void
TimeToWait
::
setValue
(
e_Ngap_TimeToWait
m_timeToWait
)
{
void
TimeToWait
::
setValue
(
e_Ngap_TimeToWait
time
)
{
time
Value
=
m_timeToWait
;
time
_
=
time
;
}
}
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
bool
TimeToWait
::
encode
2TimeToWait
(
Ngap_TimeToWait_t
*
timeToWait
)
{
bool
TimeToWait
::
encode
(
Ngap_TimeToWait_t
&
time
)
{
*
timeToWait
=
timeValu
e
;
time_
=
tim
e
;
return
true
;
return
true
;
}
}
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
bool
TimeToWait
::
decode
fromTimeToWait
(
Ngap_TimeToWait_t
*
pdu
)
{
bool
TimeToWait
::
decode
(
Ngap_TimeToWait_t
&
time
)
{
time
Value
=
*
pdu
;
time
_
=
time
;
return
true
;
return
true
;
}
}
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
long
TimeToWait
::
getValue
()
{
long
TimeToWait
::
getValue
()
{
return
time
Value
;
return
time
_
;
}
}
}
// namespace ngap
}
// namespace ngap
src/ngap/ngapIEs/TimeToWait.hpp
View file @
07955260
...
@@ -33,15 +33,16 @@ namespace ngap {
...
@@ -33,15 +33,16 @@ namespace ngap {
class
TimeToWait
{
class
TimeToWait
{
public:
public:
TimeToWait
();
TimeToWait
();
TimeToWait
(
e_Ngap_TimeToWait
);
virtual
~
TimeToWait
();
virtual
~
TimeToWait
();
bool
encode
2TimeToWait
(
Ngap_TimeToWait_t
*
);
bool
encode
(
Ngap_TimeToWait_t
&
);
bool
decode
fromTimeToWait
(
Ngap_TimeToWait_t
*
);
bool
decode
(
Ngap_TimeToWait_t
&
);
void
setValue
(
e_Ngap_TimeToWait
);
void
setValue
(
e_Ngap_TimeToWait
);
long
getValue
();
long
getValue
();
private:
private:
long
time
Value
;
long
time
_
;
};
};
}
// namespace ngap
}
// namespace ngap
...
...
src/ngap/ngapMsgs/HandoverPreparationFailure.cpp
View file @
07955260
...
@@ -108,7 +108,7 @@ void HandoverPreparationFailure::setCause(
...
@@ -108,7 +108,7 @@ void HandoverPreparationFailure::setCause(
cause
.
setChoiceOfCause
(
causePresent
);
cause
.
setChoiceOfCause
(
causePresent
);
if
(
causePresent
!=
Ngap_Cause_PR_NOTHING
)
cause
.
setValue
(
value
);
if
(
causePresent
!=
Ngap_Cause_PR_NOTHING
)
cause
.
setValue
(
value
);
cause
.
encode
2Cause
(
&
(
ie
->
value
.
choice
.
Cause
)
);
cause
.
encode
(
ie
->
value
.
choice
.
Cause
);
int
ret
=
ASN_SEQUENCE_ADD
(
&
hoPreparationFailureIEs
->
protocolIEs
.
list
,
ie
);
int
ret
=
ASN_SEQUENCE_ADD
(
&
hoPreparationFailureIEs
->
protocolIEs
.
list
,
ie
);
if
(
ret
!=
0
)
Logger
::
ngap
().
error
(
"Encode Cause IE error"
);
if
(
ret
!=
0
)
Logger
::
ngap
().
error
(
"Encode Cause IE error"
);
}
}
...
@@ -181,9 +181,8 @@ bool HandoverPreparationFailure::decodeFromPdu(Ngap_NGAP_PDU_t* ngapMsgPdu) {
...
@@ -181,9 +181,8 @@ bool HandoverPreparationFailure::decodeFromPdu(Ngap_NGAP_PDU_t* ngapMsgPdu) {
Ngap_Criticality_ignore
&&
Ngap_Criticality_ignore
&&
hoPreparationFailureIEs
->
protocolIEs
.
list
.
array
[
i
]
->
value
.
present
==
hoPreparationFailureIEs
->
protocolIEs
.
list
.
array
[
i
]
->
value
.
present
==
Ngap_HandoverPreparationFailureIEs__value_PR_Cause
)
{
Ngap_HandoverPreparationFailureIEs__value_PR_Cause
)
{
if
(
!
cause
.
decodefromCause
(
if
(
!
cause
.
decode
(
hoPreparationFailureIEs
->
protocolIEs
.
list
.
array
[
i
]
&
hoPreparationFailureIEs
->
protocolIEs
.
list
.
array
[
i
]
->
value
.
choice
.
Cause
))
{
->
value
.
choice
.
Cause
))
{
Logger
::
ngap
().
error
(
"Decoded NGAP Cause IE error"
);
Logger
::
ngap
().
error
(
"Decoded NGAP Cause IE error"
);
return
false
;
return
false
;
}
}
...
...
src/ngap/ngapMsgs/HandoverRequest.cpp
View file @
07955260
...
@@ -159,7 +159,7 @@ void HandoverRequest::setCause(
...
@@ -159,7 +159,7 @@ void HandoverRequest::setCause(
cause
.
setChoiceOfCause
(
causePresent
);
cause
.
setChoiceOfCause
(
causePresent
);
cause
.
setValue
(
value
);
cause
.
setValue
(
value
);
cause
.
encode
2Cause
(
&
(
ie
->
value
.
choice
.
Cause
)
);
cause
.
encode
(
ie
->
value
.
choice
.
Cause
);
int
ret
=
ASN_SEQUENCE_ADD
(
&
handoverRequestIEs
->
protocolIEs
.
list
,
ie
);
int
ret
=
ASN_SEQUENCE_ADD
(
&
handoverRequestIEs
->
protocolIEs
.
list
,
ie
);
if
(
ret
!=
0
)
Logger
::
ngap
().
error
(
"Encode Cause IE error"
);
if
(
ret
!=
0
)
Logger
::
ngap
().
error
(
"Encode Cause IE error"
);
}
}
...
...
src/ngap/ngapMsgs/HandoverRequiredMsg.cpp
View file @
07955260
...
@@ -209,9 +209,8 @@ bool HandoverRequiredMsg::decodeFromPdu(Ngap_NGAP_PDU_t* ngapMsgPdu) {
...
@@ -209,9 +209,8 @@ bool HandoverRequiredMsg::decodeFromPdu(Ngap_NGAP_PDU_t* ngapMsgPdu) {
Ngap_Criticality_ignore
&&
Ngap_Criticality_ignore
&&
handoverRequiredIEs
->
protocolIEs
.
list
.
array
[
i
]
->
value
.
present
==
handoverRequiredIEs
->
protocolIEs
.
list
.
array
[
i
]
->
value
.
present
==
Ngap_HandoverRequiredIEs__value_PR_Cause
)
{
Ngap_HandoverRequiredIEs__value_PR_Cause
)
{
if
(
!
cause
.
decodefromCause
(
if
(
!
cause
.
decode
(
handoverRequiredIEs
->
protocolIEs
.
list
.
array
[
i
]
&
handoverRequiredIEs
->
protocolIEs
.
list
.
array
[
i
]
->
value
.
choice
.
Cause
))
{
->
value
.
choice
.
Cause
))
{
Logger
::
ngap
().
error
(
"Decoded NGAP Cause IE error"
);
Logger
::
ngap
().
error
(
"Decoded NGAP Cause IE error"
);
return
false
;
return
false
;
}
}
...
...
src/ngap/ngapMsgs/NGReset.cpp
View file @
07955260
...
@@ -54,7 +54,7 @@ void NGResetMsg::setCause(const Cause& c) {
...
@@ -54,7 +54,7 @@ void NGResetMsg::setCause(const Cause& c) {
ie
->
criticality
=
Ngap_Criticality_ignore
;
ie
->
criticality
=
Ngap_Criticality_ignore
;
ie
->
value
.
present
=
Ngap_NGResetIEs__value_PR_Cause
;
ie
->
value
.
present
=
Ngap_NGResetIEs__value_PR_Cause
;
if
(
!
cause
.
encode
2Cause
(
&
ie
->
value
.
choice
.
Cause
))
{
if
(
!
cause
.
encode
(
ie
->
value
.
choice
.
Cause
))
{
Logger
::
ngap
().
error
(
"Encode NGAP Cause IE error"
);
Logger
::
ngap
().
error
(
"Encode NGAP Cause IE error"
);
free_wrapper
((
void
**
)
&
ie
);
free_wrapper
((
void
**
)
&
ie
);
return
;
return
;
...
@@ -121,8 +121,8 @@ bool NGResetMsg::decodeFromPdu(Ngap_NGAP_PDU_t* ngapMsgPdu) {
...
@@ -121,8 +121,8 @@ bool NGResetMsg::decodeFromPdu(Ngap_NGAP_PDU_t* ngapMsgPdu) {
Ngap_Criticality_ignore
&&
Ngap_Criticality_ignore
&&
ngResetIEs
->
protocolIEs
.
list
.
array
[
i
]
->
value
.
present
==
ngResetIEs
->
protocolIEs
.
list
.
array
[
i
]
->
value
.
present
==
Ngap_NGResetIEs__value_PR_Cause
)
{
Ngap_NGResetIEs__value_PR_Cause
)
{
if
(
!
cause
.
decode
fromCause
(
&
ngResetIEs
->
protocolIEs
.
list
.
array
[
i
]
if
(
!
cause
.
decode
(
ngResetIEs
->
protocolIEs
.
list
.
array
[
i
]
->
value
.
choice
.
Cause
))
{
->
value
.
choice
.
Cause
))
{
Logger
::
ngap
().
error
(
"Decoded NGAP Cause IE error"
);
Logger
::
ngap
().
error
(
"Decoded NGAP Cause IE error"
);
return
false
;
return
false
;
}
}
...
...
src/ngap/ngapMsgs/NGSetupFailure.cpp
View file @
07955260
...
@@ -32,6 +32,7 @@ namespace ngap {
...
@@ -32,6 +32,7 @@ namespace ngap {
NGSetupFailureMsg
::
NGSetupFailureMsg
()
:
NgapMessage
()
{
NGSetupFailureMsg
::
NGSetupFailureMsg
()
:
NgapMessage
()
{
ngSetupFailureIEs
=
nullptr
;
ngSetupFailureIEs
=
nullptr
;
// criticalityDiagnostics = NULL;
// criticalityDiagnostics = NULL;
timeToWait
=
std
::
nullopt
;
NgapMessage
::
setMessageType
(
NgapMessageType
::
NG_SETUP_FAILURE
);
NgapMessage
::
setMessageType
(
NgapMessageType
::
NG_SETUP_FAILURE
);
initialize
();
initialize
();
}
}
...
@@ -53,7 +54,7 @@ void NGSetupFailureMsg::addCauseIE() {
...
@@ -53,7 +54,7 @@ void NGSetupFailureMsg::addCauseIE() {
ie
->
criticality
=
Ngap_Criticality_ignore
;
ie
->
criticality
=
Ngap_Criticality_ignore
;
ie
->
value
.
present
=
Ngap_NGSetupFailureIEs__value_PR_Cause
;
ie
->
value
.
present
=
Ngap_NGSetupFailureIEs__value_PR_Cause
;
if
(
!
cause
.
encode
2Cause
(
&
ie
->
value
.
choice
.
Cause
))
{
if
(
!
cause
.
encode
(
ie
->
value
.
choice
.
Cause
))
{
Logger
::
ngap
().
error
(
"Encode NGAP Cause IE error"
);
Logger
::
ngap
().
error
(
"Encode NGAP Cause IE error"
);
free_wrapper
((
void
**
)
&
ie
);
free_wrapper
((
void
**
)
&
ie
);
return
;
return
;
...
@@ -65,13 +66,15 @@ void NGSetupFailureMsg::addCauseIE() {
...
@@ -65,13 +66,15 @@ void NGSetupFailureMsg::addCauseIE() {
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
void
NGSetupFailureMsg
::
addTimeToWaitIE
()
{
void
NGSetupFailureMsg
::
addTimeToWaitIE
()
{
if
(
!
timeToWait
.
has_value
())
return
;
Ngap_NGSetupFailureIEs_t
*
ie
=
Ngap_NGSetupFailureIEs_t
*
ie
=
(
Ngap_NGSetupFailureIEs_t
*
)
calloc
(
1
,
sizeof
(
Ngap_NGSetupFailureIEs_t
));
(
Ngap_NGSetupFailureIEs_t
*
)
calloc
(
1
,
sizeof
(
Ngap_NGSetupFailureIEs_t
));
ie
->
id
=
Ngap_ProtocolIE_ID_id_TimeToWait
;
ie
->
id
=
Ngap_ProtocolIE_ID_id_TimeToWait
;
ie
->
criticality
=
Ngap_Criticality_ignore
;
ie
->
criticality
=
Ngap_Criticality_ignore
;
ie
->
value
.
present
=
Ngap_NGSetupFailureIEs__value_PR_TimeToWait
;
ie
->
value
.
present
=
Ngap_NGSetupFailureIEs__value_PR_TimeToWait
;
if
(
!
timeToWait
.
encode2TimeToWait
(
&
ie
->
value
.
choice
.
TimeToWait
))
{
if
(
!
timeToWait
.
value
().
encode
(
ie
->
value
.
choice
.
TimeToWait
))
{
Logger
::
ngap
().
error
(
"Encode NGAP Cause IE error"
);
Logger
::
ngap
().
error
(
"Encode NGAP Cause IE error"
);
free_wrapper
((
void
**
)
&
ie
);
free_wrapper
((
void
**
)
&
ie
);
return
;
return
;
...
@@ -89,26 +92,27 @@ void NGSetupFailureMsg::set(
...
@@ -89,26 +92,27 @@ void NGSetupFailureMsg::set(
cause
.
setValue
(
cause_value
);
cause
.
setValue
(
cause_value
);
addCauseIE
();
addCauseIE
();
timeToWait
.
setValue
(
time_to_wait
);
timeToWait
=
std
::
make_optional
<
TimeToWait
>
(
time_to_wait
);
addTimeToWaitIE
();
addTimeToWaitIE
();
}
}
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
void
NGSetupFailureMsg
::
set
(
const
e_Ngap_CauseRadioNetwork
&
cause_value
)
{
void
NGSetupFailureMsg
::
setCauseRadioNetwork
(
const
e_Ngap_CauseRadioNetwork
&
cause_value
)
{
cause
.
setChoiceOfCause
(
Ngap_Cause_PR_radioNetwork
);
cause
.
setChoiceOfCause
(
Ngap_Cause_PR_radioNetwork
);
cause
.
setValue
(
cause_value
);
cause
.
setValue
(
cause_value
);
addCauseIE
();
addCauseIE
();
}
}
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
void
NGSetupFailureMsg
::
set
CauseTransport
(
void
NGSetupFailureMsg
::
set
(
const
e_Ngap_CauseTransport
&
cause_value
,
const
e_Ngap_CauseTransport
&
cause_value
,
const
e_Ngap_TimeToWait
&
time_to_wait
)
{
const
e_Ngap_TimeToWait
&
time_to_wait
)
{
cause
.
setChoiceOfCause
(
Ngap_Cause_PR_transport
);
cause
.
setChoiceOfCause
(
Ngap_Cause_PR_transport
);
cause
.
setValue
(
cause_value
);
cause
.
setValue
(
cause_value
);
addCauseIE
();
addCauseIE
();
timeToWait
.
setValue
(
time_to_wait
);
timeToWait
=
std
::
make_optional
<
TimeToWait
>
(
time_to_wait
);
addTimeToWaitIE
();
addTimeToWaitIE
();
}
}
...
@@ -121,13 +125,13 @@ void NGSetupFailureMsg::setCauseTransport(
...
@@ -121,13 +125,13 @@ void NGSetupFailureMsg::setCauseTransport(
}
}
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
void
NGSetupFailureMsg
::
set
CauseNas
(
void
NGSetupFailureMsg
::
set
(
const
e_Ngap_CauseNas
&
cause_value
,
const
e_Ngap_TimeToWait
&
time_to_wait
)
{
const
e_Ngap_CauseNas
&
cause_value
,
const
e_Ngap_TimeToWait
&
time_to_wait
)
{
cause
.
setChoiceOfCause
(
Ngap_Cause_PR_nas
);
cause
.
setChoiceOfCause
(
Ngap_Cause_PR_nas
);
cause
.
setValue
(
cause_value
);
cause
.
setValue
(
cause_value
);
addCauseIE
();
addCauseIE
();
timeToWait
.
setValue
(
time_to_wait
);
timeToWait
=
std
::
make_optional
<
TimeToWait
>
(
time_to_wait
);
addTimeToWaitIE
();
addTimeToWaitIE
();
}
}
...
@@ -139,14 +143,14 @@ void NGSetupFailureMsg::setCauseNas(const e_Ngap_CauseNas& cause_value) {
...
@@ -139,14 +143,14 @@ void NGSetupFailureMsg::setCauseNas(const e_Ngap_CauseNas& cause_value) {
}
}
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
void
NGSetupFailureMsg
::
set
CauseProtocol
(
void
NGSetupFailureMsg
::
set
(
const
e_Ngap_CauseProtocol
&
cause_value
,
const
e_Ngap_CauseProtocol
&
cause_value
,
const
e_Ngap_TimeToWait
&
time_to_wait
)
{
const
e_Ngap_TimeToWait
&
time_to_wait
)
{
cause
.
setChoiceOfCause
(
Ngap_Cause_PR_protocol
);
cause
.
setChoiceOfCause
(
Ngap_Cause_PR_protocol
);
cause
.
setValue
(
cause_value
);
cause
.
setValue
(
cause_value
);
addCauseIE
();
addCauseIE
();
timeToWait
.
setValue
(
time_to_wait
);
timeToWait
=
std
::
make_optional
<
TimeToWait
>
(
time_to_wait
);
addTimeToWaitIE
();
addTimeToWaitIE
();
}
}
...
@@ -159,14 +163,14 @@ void NGSetupFailureMsg::setCauseProtocol(
...
@@ -159,14 +163,14 @@ void NGSetupFailureMsg::setCauseProtocol(
}
}
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
void
NGSetupFailureMsg
::
set
CauseMisc
(
void
NGSetupFailureMsg
::
set
(
const
e_Ngap_CauseMisc
&
cause_value
,
const
e_Ngap_CauseMisc
&
cause_value
,
const
e_Ngap_TimeToWait
&
time_to_wait
)
{
const
e_Ngap_TimeToWait
&
time_to_wait
)
{
cause
.
setChoiceOfCause
(
Ngap_Cause_PR_misc
);
cause
.
setChoiceOfCause
(
Ngap_Cause_PR_misc
);
cause
.
setValue
(
cause_value
);
cause
.
setValue
(
cause_value
);
addCauseIE
();
addCauseIE
();
timeToWait
.
setValue
(
time_to_wait
);
timeToWait
=
std
::
make_optional
<
TimeToWait
>
(
time_to_wait
);
addTimeToWaitIE
();
addTimeToWaitIE
();
}
}
...
@@ -205,9 +209,8 @@ bool NGSetupFailureMsg::decodeFromPdu(Ngap_NGAP_PDU_t* ngapMsgPdu) {
...
@@ -205,9 +209,8 @@ bool NGSetupFailureMsg::decodeFromPdu(Ngap_NGAP_PDU_t* ngapMsgPdu) {
Ngap_Criticality_ignore
&&
Ngap_Criticality_ignore
&&
ngSetupFailureIEs
->
protocolIEs
.
list
.
array
[
i
]
->
value
.
present
==
ngSetupFailureIEs
->
protocolIEs
.
list
.
array
[
i
]
->
value
.
present
==
Ngap_NGSetupFailureIEs__value_PR_Cause
)
{
Ngap_NGSetupFailureIEs__value_PR_Cause
)
{
if
(
!
cause
.
decodefromCause
(
if
(
!
cause
.
decode
(
ngSetupFailureIEs
->
protocolIEs
.
list
.
array
[
i
]
&
ngSetupFailureIEs
->
protocolIEs
.
list
.
array
[
i
]
->
value
.
choice
.
Cause
))
{
->
value
.
choice
.
Cause
))
{
Logger
::
ngap
().
error
(
"Decoded NGAP Cause IE error"
);
Logger
::
ngap
().
error
(
"Decoded NGAP Cause IE error"
);
return
false
;
return
false
;
}
}
...
@@ -221,12 +224,13 @@ bool NGSetupFailureMsg::decodeFromPdu(Ngap_NGAP_PDU_t* ngapMsgPdu) {
...
@@ -221,12 +224,13 @@ bool NGSetupFailureMsg::decodeFromPdu(Ngap_NGAP_PDU_t* ngapMsgPdu) {
Ngap_Criticality_ignore
&&
Ngap_Criticality_ignore
&&
ngSetupFailureIEs
->
protocolIEs
.
list
.
array
[
i
]
->
value
.
present
==
ngSetupFailureIEs
->
protocolIEs
.
list
.
array
[
i
]
->
value
.
present
==
Ngap_NGSetupFailureIEs__value_PR_TimeToWait
)
{
Ngap_NGSetupFailureIEs__value_PR_TimeToWait
)
{
if
(
!
timeToWait
.
decodefromTimeToWait
(
TimeToWait
tmp
=
{};
&
ngSetupFailureIEs
->
protocolIEs
.
list
.
array
[
i
]
if
(
!
tmp
.
decode
(
ngSetupFailureIEs
->
protocolIEs
.
list
.
array
[
i
]
->
value
.
choice
.
TimeToWait
))
{
->
value
.
choice
.
TimeToWait
))
{
Logger
::
ngap
().
error
(
"Decoded NGAP TimeToWait IE error"
);
Logger
::
ngap
().
error
(
"Decoded NGAP TimeToWait IE error"
);
return
false
;
return
false
;
}
}
timeToWait
=
std
::
optional
<
TimeToWait
>
(
tmp
);
}
else
{
}
else
{
Logger
::
ngap
().
error
(
"Decoded NGAP TimeToWait IE error"
);
Logger
::
ngap
().
error
(
"Decoded NGAP TimeToWait IE error"
);
return
false
;
return
false
;
...
@@ -302,11 +306,16 @@ bool NGSetupFailureMsg::getCauseMisc(e_Ngap_CauseMisc& causeMisc) {
...
@@ -302,11 +306,16 @@ bool NGSetupFailureMsg::getCauseMisc(e_Ngap_CauseMisc& causeMisc) {
}
}
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
bool
NGSetupFailureMsg
::
getTime2Wait
(
e_Ngap_TimeToWait
&
time
)
{
void
NGSetupFailureMsg
::
setTimeToWait
(
const
e_Ngap_TimeToWait
&
time
)
{
if
(
timeToWait
.
getValue
()
<
0
)
{
timeToWait
=
std
::
make_optional
<
TimeToWait
>
(
time
);
}
//------------------------------------------------------------------------------
bool
NGSetupFailureMsg
::
getTimeToWait
(
e_Ngap_TimeToWait
&
time
)
{
if
(
timeToWait
.
has_value
())
{
return
false
;
return
false
;
}
}
time
=
(
e_Ngap_TimeToWait
)
timeToWait
.
getValue
();
time
=
(
e_Ngap_TimeToWait
)
timeToWait
.
value
().
getValue
();
return
true
;
return
true
;
}
}
...
...
src/ngap/ngapMsgs/NGSetupFailure.hpp
View file @
07955260
...
@@ -27,6 +27,8 @@
...
@@ -27,6 +27,8 @@
#include "TimeToWait.hpp"
#include "TimeToWait.hpp"
#include "NgapMessage.hpp"
#include "NgapMessage.hpp"
#include <optional>
namespace
ngap
{
namespace
ngap
{
class
NGSetupFailureMsg
:
public
NgapMessage
{
class
NGSetupFailureMsg
:
public
NgapMessage
{
...
@@ -39,47 +41,49 @@ class NGSetupFailureMsg : public NgapMessage {
...
@@ -39,47 +41,49 @@ class NGSetupFailureMsg : public NgapMessage {
void
set
(
void
set
(
const
e_Ngap_CauseRadioNetwork
&
cause_value
,
const
e_Ngap_CauseRadioNetwork
&
cause_value
,
const
e_Ngap_TimeToWait
&
time_to_wait
);
const
e_Ngap_TimeToWait
&
time_to_wait
);
void
set
(
const
e_Ngap_CauseRadioNetwork
&
cause_value
);
void
set
(
bool
getCauseRadioNetwork
(
e_Ngap_CauseRadioNetwork
&
);
void
setCauseTransport
(
const
e_Ngap_CauseTransport
&
cause_value
,
const
e_Ngap_CauseTransport
&
cause_value
,
const
e_Ngap_TimeToWait
&
time_to_wait
);
const
e_Ngap_TimeToWait
&
time_to_wait
);
void
set
(
const
e_Ngap_CauseNas
&
cause_value
,
const
e_Ngap_TimeToWait
&
time_to_wait
);
void
set
(
const
e_Ngap_CauseProtocol
&
cause_value
,
const
e_Ngap_TimeToWait
&
time_to_wait
);
void
set
(
const
e_Ngap_CauseMisc
&
cause_value
,
const
e_Ngap_TimeToWait
&
time_to_wait
);
void
setCauseRadioNetwork
(
const
e_Ngap_CauseRadioNetwork
&
cause_value
);
bool
getCauseRadioNetwork
(
e_Ngap_CauseRadioNetwork
&
);
void
setCauseTransport
(
const
e_Ngap_CauseTransport
&
cause_value
);
void
setCauseTransport
(
const
e_Ngap_CauseTransport
&
cause_value
);
bool
getCauseTransport
(
e_Ngap_CauseTransport
&
);
bool
getCauseTransport
(
e_Ngap_CauseTransport
&
);
void
setCauseNas
(
const
e_Ngap_CauseNas
&
cause_value
,
const
e_Ngap_TimeToWait
&
time_to_wait
);
void
setCauseNas
(
const
e_Ngap_CauseNas
&
cause_value
);
void
setCauseNas
(
const
e_Ngap_CauseNas
&
cause_value
);
bool
getCauseNas
(
e_Ngap_CauseNas
&
);
bool
getCauseNas
(
e_Ngap_CauseNas
&
);
void
setCauseProtocol
(
const
e_Ngap_CauseProtocol
&
cause_value
,
const
e_Ngap_TimeToWait
&
time_to_wait
);
void
setCauseProtocol
(
const
e_Ngap_CauseProtocol
&
cause_value
);
void
setCauseProtocol
(
const
e_Ngap_CauseProtocol
&
cause_value
);
bool
getCauseProtocol
(
e_Ngap_CauseProtocol
&
);
bool
getCauseProtocol
(
e_Ngap_CauseProtocol
&
);
void
setCauseMisc
(
const
e_Ngap_CauseMisc
&
cause_value
,
const
e_Ngap_TimeToWait
&
time_to_wait
);
void
setCauseMisc
(
const
e_Ngap_CauseMisc
&
cause_value
);
void
setCauseMisc
(
const
e_Ngap_CauseMisc
&
cause_value
);
bool
getCauseMisc
(
e_Ngap_CauseMisc
&
);
bool
getCauseMisc
(
e_Ngap_CauseMisc
&
);
bool
getCauseType
(
Ngap_Cause_PR
&
);
bool
getCauseType
(
Ngap_Cause_PR
&
);
bool
getTime2Wait
(
e_Ngap_TimeToWait
&
);
bool
decodeFromPdu
(
Ngap_NGAP_PDU_t
*
ngapMsgPdu
)
override
;
bool
getTimeToWait
(
e_Ngap_TimeToWait
&
);
void
setTimeToWait
(
const
e_Ngap_TimeToWait
&
);
void
addCauseIE
();
bool
decodeFromPdu
(
Ngap_NGAP_PDU_t
*
ngapMsgPdu
)
override
;
void
addTimeToWaitIE
();
private:
private:
Ngap_NGSetupFailure_t
*
ngSetupFailureIEs
;
Ngap_NGSetupFailure_t
*
ngSetupFailureIEs
;
Cause
cause
;
// Mandatory
Cause
cause
;
// Mandatory
std
::
optional
<
TimeToWait
>
timeToWait
;
// Optional
TimeToWait
timeToWait
;
// Mandatory
// TODO: CriticalityDiagnostics *criticalityDiagnostics; //Optional
// TODO: CriticalityDiagnostics *criticalityDiagnostics; //Optional
void
addCauseIE
();
void
addTimeToWaitIE
();
};
};
}
// namespace ngap
}
// namespace ngap
#endif
#endif
src/ngap/ngapMsgs/UEContextReleaseCommand.cpp
View file @
07955260
...
@@ -144,7 +144,7 @@ void UEContextReleaseCommandMsg::addCauseIE() {
...
@@ -144,7 +144,7 @@ void UEContextReleaseCommandMsg::addCauseIE() {
ie
->
id
=
Ngap_ProtocolIE_ID_id_Cause
;
ie
->
id
=
Ngap_ProtocolIE_ID_id_Cause
;
ie
->
criticality
=
Ngap_Criticality_ignore
;
ie
->
criticality
=
Ngap_Criticality_ignore
;
ie
->
value
.
present
=
Ngap_UEContextReleaseCommand_IEs__value_PR_Cause
;
ie
->
value
.
present
=
Ngap_UEContextReleaseCommand_IEs__value_PR_Cause
;
causeValue
.
encode
2Cause
(
&
ie
->
value
.
choice
.
Cause
);
causeValue
.
encode
(
ie
->
value
.
choice
.
Cause
);
int
ret
=
ASN_SEQUENCE_ADD
(
&
ies
->
protocolIEs
.
list
,
ie
);
int
ret
=
ASN_SEQUENCE_ADD
(
&
ies
->
protocolIEs
.
list
,
ie
);
if
(
ret
!=
0
)
Logger
::
ngap
().
error
(
"Encode NGAP Cause IE error"
);
if
(
ret
!=
0
)
Logger
::
ngap
().
error
(
"Encode NGAP Cause IE error"
);
}
}
...
@@ -214,8 +214,8 @@ bool UEContextReleaseCommandMsg::decodeFromPdu(Ngap_NGAP_PDU_t* ngapMsgPdu) {
...
@@ -214,8 +214,8 @@ bool UEContextReleaseCommandMsg::decodeFromPdu(Ngap_NGAP_PDU_t* ngapMsgPdu) {
Ngap_Criticality_ignore
&&
Ngap_Criticality_ignore
&&
ies
->
protocolIEs
.
list
.
array
[
i
]
->
value
.
present
==
ies
->
protocolIEs
.
list
.
array
[
i
]
->
value
.
present
==
Ngap_UEContextReleaseCommand_IEs__value_PR_Cause
)
{
Ngap_UEContextReleaseCommand_IEs__value_PR_Cause
)
{
if
(
!
causeValue
.
decode
fromCause
(
if
(
!
causeValue
.
decode
(
&
ies
->
protocolIEs
.
list
.
array
[
i
]
->
value
.
choice
.
Cause
))
{
ies
->
protocolIEs
.
list
.
array
[
i
]
->
value
.
choice
.
Cause
))
{
Logger
::
ngap
().
error
(
"Decoded NGAP Cause IE error"
);
Logger
::
ngap
().
error
(
"Decoded NGAP Cause IE error"
);
return
false
;
return
false
;
}
}
...
...
src/ngap/ngapMsgs/UEContextReleaseRequest.cpp
View file @
07955260
...
@@ -109,7 +109,7 @@ void UEContextReleaseRequestMsg::addCauseIE() {
...
@@ -109,7 +109,7 @@ void UEContextReleaseRequestMsg::addCauseIE() {
ie
->
id
=
Ngap_ProtocolIE_ID_id_Cause
;
ie
->
id
=
Ngap_ProtocolIE_ID_id_Cause
;
ie
->
criticality
=
Ngap_Criticality_ignore
;
ie
->
criticality
=
Ngap_Criticality_ignore
;
ie
->
value
.
present
=
Ngap_UEContextReleaseRequest_IEs__value_PR_Cause
;
ie
->
value
.
present
=
Ngap_UEContextReleaseRequest_IEs__value_PR_Cause
;
causeValue
.
encode
2Cause
(
&
ie
->
value
.
choice
.
Cause
);
causeValue
.
encode
(
ie
->
value
.
choice
.
Cause
);
int
ret
=
ASN_SEQUENCE_ADD
(
&
ies
->
protocolIEs
.
list
,
ie
);
int
ret
=
ASN_SEQUENCE_ADD
(
&
ies
->
protocolIEs
.
list
,
ie
);
if
(
ret
!=
0
)
Logger
::
ngap
().
error
(
"Encode Cause IE error"
);
if
(
ret
!=
0
)
Logger
::
ngap
().
error
(
"Encode Cause IE error"
);
}
}
...
@@ -176,8 +176,8 @@ bool UEContextReleaseRequestMsg::decodeFromPdu(Ngap_NGAP_PDU_t* ngapMsgPdu) {
...
@@ -176,8 +176,8 @@ bool UEContextReleaseRequestMsg::decodeFromPdu(Ngap_NGAP_PDU_t* ngapMsgPdu) {
Ngap_Criticality_ignore
&&
Ngap_Criticality_ignore
&&
ies
->
protocolIEs
.
list
.
array
[
i
]
->
value
.
present
==
ies
->
protocolIEs
.
list
.
array
[
i
]
->
value
.
present
==
Ngap_UEContextReleaseRequest_IEs__value_PR_Cause
)
{
Ngap_UEContextReleaseRequest_IEs__value_PR_Cause
)
{
if
(
!
causeValue
.
decode
fromCause
(
if
(
!
causeValue
.
decode
(
&
ies
->
protocolIEs
.
list
.
array
[
i
]
->
value
.
choice
.
Cause
))
{
ies
->
protocolIEs
.
list
.
array
[
i
]
->
value
.
choice
.
Cause
))
{
Logger
::
ngap
().
error
(
"Decode NGAP Cause IE error"
);
Logger
::
ngap
().
error
(
"Decode NGAP Cause IE error"
);
return
false
;
return
false
;
}
}
...
...
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