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
8f498109
Commit
8f498109
authored
Sep 11, 2020
by
Tien-Thinh Nguyen
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Polish the code/remove unnecessary files
parent
e16571b4
Changes
25
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
25 changed files
with
70 additions
and
1118 deletions
+70
-1118
src/amf-app/amf_app.cpp
src/amf-app/amf_app.cpp
+5
-4
src/amf-app/amf_config.cpp
src/amf-app/amf_config.cpp
+5
-3
src/amf-app/amf_config.hpp
src/amf-app/amf_config.hpp
+3
-4
src/amf-app/amf_module_from_config.cpp
src/amf-app/amf_module_from_config.cpp
+3
-1
src/amf-app/amf_n1.cpp
src/amf-app/amf_n1.cpp
+1
-0
src/amf-app/amf_n1.hpp
src/amf-app/amf_n1.hpp
+7
-8
src/amf-app/amf_n11.cpp
src/amf-app/amf_n11.cpp
+5
-5
src/amf-app/amf_n11.hpp
src/amf-app/amf_n11.hpp
+4
-2
src/amf-app/amf_n2.cpp
src/amf-app/amf_n2.cpp
+1
-0
src/amf-app/amf_n2.hpp
src/amf-app/amf_n2.hpp
+0
-1
src/amf-app/amf_statistics.cpp
src/amf-app/amf_statistics.cpp
+3
-1
src/amf-app/amf_statistics.hpp
src/amf-app/amf_statistics.hpp
+1
-0
src/amf-app/mysql_db.cpp
src/amf-app/mysql_db.cpp
+1
-0
src/contexts/gNB_context.hpp
src/contexts/gNB_context.hpp
+2
-0
src/contexts/nas_context.hpp
src/contexts/nas_context.hpp
+4
-3
src/contexts/ue_context.hpp
src/contexts/ue_context.hpp
+2
-1
src/contexts/ue_ngap_context.hpp
src/contexts/ue_ngap_context.hpp
+2
-1
src/oai-amf/CMakeLists.txt
src/oai-amf/CMakeLists.txt
+0
-1
src/oai-amf/main.cpp
src/oai-amf/main.cpp
+21
-4
src/sbi/smf_client/CMakeLists.txt
src/sbi/smf_client/CMakeLists.txt
+0
-2
src/sbi/smf_client/SMFClientApi.cpp
src/sbi/smf_client/SMFClientApi.cpp
+0
-98
src/sbi/smf_client/SMFClientApi.hpp
src/sbi/smf_client/SMFClientApi.hpp
+0
-26
src/sbi/smf_client/inputs/SmContextCreateData.json
src/sbi/smf_client/inputs/SmContextCreateData.json
+0
-39
src/sbi/smf_client/smf-client.hpp
src/sbi/smf_client/smf-client.hpp
+0
-429
src/secu_algorithms/5gaka/test/test.hpp
src/secu_algorithms/5gaka/test/test.hpp
+0
-485
No files found.
src/amf-app/amf_app.cpp
View file @
8f498109
...
...
@@ -27,17 +27,18 @@
*/
#include "amf_app.hpp"
#include <stdexcept>
#include <iostream>
#include <cstdlib>
#include "itti.hpp"
#include "ngap_app.hpp"
#include "amf_config.hpp"
#include "amf_n2.hpp"
#include "amf_n1.hpp"
#include "amf_n11.hpp"
#include <stdexcept>
#include <iostream>
#include <cstdlib>
#include "amf_statistics.hpp"
#include "DLNASTransport.hpp"
using
namespace
ngap
;
...
...
src/amf-app/amf_config.cpp
View file @
8f498109
...
...
@@ -27,13 +27,17 @@
*/
#include "amf_config.hpp"
#include "logger.hpp"
#include <iostream>
#include <libconfig.h++>
#include "string.hpp"
#include "thread_sched.hpp"
#include "logger.hpp"
#include "amf_app.hpp"
#include "if.hpp"
#include "3gpp_ts24501.hpp"
extern
"C"
{
#include <arpa/inet.h>
#include <stdbool.h>
...
...
@@ -44,8 +48,6 @@ extern "C" {
#include "common_defs.h"
}
#include <iostream>
using
namespace
libconfig
;
using
namespace
amf_application
;
...
...
src/amf-app/amf_config.hpp
View file @
8f498109
...
...
@@ -29,22 +29,21 @@
#ifndef _AMF_CONFIG_H_
#define _AMF_CONFIG_H_
#include "amf_config.hpp"
#include <arpa/inet.h>
#include <libconfig.h++>
#include <netinet/in.h>
#include <sys/socket.h>
#include <mutex>
#include <vector>
#include <string>
#include "thread_sched.hpp"
#include <boost/algorithm/string.hpp>
#include <boost/algorithm/string/classification.hpp>
#include <boost/algorithm/string/split.hpp>
#include "amf_config.hpp"
#include "thread_sched.hpp"
#define AMF_CONFIG_STRING_AMF_CONFIG "AMF"
#define AMF_CONFIG_STRING_PID_DIRECTORY "PID_DIRECTORY"
#define AMF_CONFIG_STRING_INSTANCE_ID "INSTANCE_ID"
...
...
src/amf-app/amf_module_from_config.cpp
View file @
8f498109
...
...
@@ -27,10 +27,12 @@
*/
#include "amf_module_from_config.hpp"
#include "logger.hpp"
#include <iostream>
#include <string>
#include "logger.hpp"
namespace
config
{
//------------------------------------------------------------------------------
...
...
src/amf-app/amf_n1.cpp
View file @
8f498109
...
...
@@ -27,6 +27,7 @@
*/
#include "amf_n1.hpp"
#include "amf_n11.hpp"
#include "amf_app.hpp"
#include "itti.hpp"
...
...
src/amf-app/amf_n1.hpp
View file @
8f498109
...
...
@@ -31,14 +31,6 @@
#include <map>
#include <shared_mutex>
#include "nas_context.hpp"
#include "pdu_session_context.hpp"
#include "itti_msg_n1.hpp"
#include "bstrlib.h"
#include "3gpp_ts24501.hpp"
#include "amf_statistics.hpp"
#include "amf.hpp"
#include <pthread.h>
#include <stdlib.h>
#include <stdio.h>
...
...
@@ -50,6 +42,13 @@
#include <inttypes.h>
#include <mysql/mysql.h>
#include "nas_context.hpp"
#include "pdu_session_context.hpp"
#include "itti_msg_n1.hpp"
#include "bstrlib.h"
#include "3gpp_ts24501.hpp"
#include "amf_statistics.hpp"
#include "amf.hpp"
#include "mysql_db.hpp"
namespace
amf_application
{
...
...
src/amf-app/amf_n11.cpp
View file @
8f498109
...
...
@@ -27,23 +27,23 @@
*/
#include "amf_n11.hpp"
#include <curl/curl.h>
#include <nlohmann/json.hpp>
#include "amf_n1.hpp"
#include "itti.hpp"
#include "itti_msg_amf_app.hpp"
#include "amf_config.hpp"
#include "nas_context.hpp"
#include "amf.hpp"
#include <curl/curl.h>
#include <nlohmann/json.hpp>
#include "3gpp_ts24501.hpp"
// For smf_client
#include "SmContextCreateData.h"
#include "SMContextsCollectionApi.h"
#include "ApiConfiguration.h"
#include "ApiClient.h"
#include "3gpp_ts24501.hpp"
using
namespace
oai
::
smf
::
model
;
using
namespace
oai
::
smf
::
api
;
using
namespace
web
;
...
...
src/amf-app/amf_n11.hpp
View file @
8f498109
...
...
@@ -28,12 +28,14 @@
#ifndef _AMF_N11_H_
#define _AMF_N11_H_
#include "itti_msg_n11.hpp"
#include <map>
#include <shared_mutex>
#include "pdu_session_context.hpp"
#include <string>
#include "itti_msg_n11.hpp"
#include "pdu_session_context.hpp"
namespace
amf_application
{
class
amf_n11
{
...
...
src/amf-app/amf_n2.cpp
View file @
8f498109
...
...
@@ -27,6 +27,7 @@
*/
#include "amf_n2.hpp"
#include "amf_n1.hpp"
#include "amf_app.hpp"
#include "logger.hpp"
...
...
src/amf-app/amf_n2.hpp
View file @
8f498109
...
...
@@ -40,7 +40,6 @@ class amf_n2 : public ngap::ngap_app{
public:
amf_n2
(
const
std
::
string
&
address
,
const
uint16_t
port_num
);
~
amf_n2
();
//void handle_receive(bstring payload, sctp_assoc_id_t assoc_id, sctp_stream_id_t stream, sctp_stream_id_t instreams, sctp_stream_id_t outstreams);
void
handle_itti_message
(
itti_new_sctp_association
&
new_assoc
);
void
handle_itti_message
(
itti_ng_setup_request
&
ngsetupreq
);
void
handle_itti_message
(
itti_initial_ue_message
&
init_ue_msg
);
...
...
src/amf-app/amf_statistics.cpp
View file @
8f498109
...
...
@@ -27,9 +27,11 @@
*/
#include "amf_statistics.hpp"
#include "logger.hpp"
#include <iostream>
#include "logger.hpp"
//------------------------------------------------------------------------------
void
statistics
::
display
()
{
Logger
::
amf_app
().
info
(
""
);
...
...
src/amf-app/amf_statistics.hpp
View file @
8f498109
...
...
@@ -34,6 +34,7 @@
#include <stdint.h>
#include <vector>
#include <string>
#include "amf.hpp"
#include "ngap_app.hpp"
...
...
src/amf-app/mysql_db.cpp
View file @
8f498109
...
...
@@ -29,6 +29,7 @@
#include "amf_n1.hpp"
#include "logger.hpp"
#include "amf_config.hpp"
using
namespace
amf_application
;
using
namespace
config
;
...
...
src/contexts/gNB_context.hpp
View file @
8f498109
...
...
@@ -32,8 +32,10 @@
#include <stdint.h>
#include <string>
#include <vector>
#include "sctp_server.hpp"
#include "NgapIEsStruct.hpp"
extern
"C"
{
#include "Ngap_PagingDRX.h"
#include "bstrlib.h"
...
...
src/contexts/nas_context.hpp
View file @
8f498109
...
...
@@ -30,12 +30,13 @@
#define _AMF_NAS_CONTEXT_H_
#include <stdint.h>
#include "security_def.hpp"
#include "authentication_algorithms_with_5gaka.hpp"
#include <string>
#include "nas_security_context.hpp"
#include "struct.hpp"
#include "nas_security_context.hpp"
#include "security_def.hpp"
#include "authentication_algorithms_with_5gaka.hpp"
class
nas_context
{
public:
nas_context
();
...
...
src/contexts/ue_context.hpp
View file @
8f498109
...
...
@@ -31,9 +31,10 @@
#include <stdint.h>
#include <map>
#include "NgapIEsStruct.hpp"
#include <shared_mutex>
#include "NgapIEsStruct.hpp"
extern
"C"
{
#include "Ngap_RRCEstablishmentCause.h"
}
...
...
src/contexts/ue_ngap_context.hpp
View file @
8f498109
...
...
@@ -31,9 +31,10 @@
#include <stdint.h>
#include <map>
#include "gNB_context.hpp"
#include <shared_mutex>
#include "gNB_context.hpp"
using
namespace
sctp
;
typedef
enum
{
NGAP_UE_INVALID_STATE
,
...
...
src/oai-amf/CMakeLists.txt
View file @
8f498109
...
...
@@ -329,7 +329,6 @@ include_directories(${SRC_TOP_DIR}/sbi/amf_server/impl)
include_directories
(
${
SRC_TOP_DIR
}
/sbi/amf_server/model
)
include_directories
(
${
SRC_TOP_DIR
}
/sbi/smf_client
)
include_directories
(
${
SRC_TOP_DIR
}
/sbi/smf_client/api
)
include_directories
(
${
SRC_TOP_DIR
}
/sbi/smf_client/inputs
)
include_directories
(
${
SRC_TOP_DIR
}
/sbi/smf_client/model
)
include_directories
(
${
SRC_TOP_DIR
}
/sctp
)
include_directories
(
${
SRC_TOP_DIR
}
/secu_algorithms/5gaka
)
...
...
src/oai-amf/main.cpp
View file @
8f498109
/*
* Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The OpenAirInterface Software Alliance licenses this file to You under
* the OAI Public License, Version 1.1 (the "License"); you may not use this file
* except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.openairinterface.org/?page_id=698
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*-------------------------------------------------------------------------------
* For more information about the OpenAirInterface (OAI) Software Alliance:
* contact@openairinterface.org
*/
#include <iostream>
#include <thread>
#include <signal.h>
...
...
@@ -19,9 +40,6 @@
#include "amf_module_from_config.hpp"
#include "amf_statistics.hpp"
#include "SMFClientApi.hpp"
#include "smf-client.hpp"
#include <string>
#include <cstring>
#include "normalizer.hh"
...
...
@@ -58,7 +76,6 @@ if (!Options::parse(argc, argv)) {
itti_inst
=
new
itti_mw
();
itti_inst
->
start
(
amf_cfg
.
itti
.
itti_timer_sched_params
);
//itti_inst->start();
amf_app_inst
=
new
amf_app
(
amf_cfg
);
amf_app_inst
->
allRegistredModulesInit
(
modules
);
...
...
src/sbi/smf_client/CMakeLists.txt
View file @
8f498109
...
...
@@ -28,7 +28,6 @@ include_directories(${SRC_TOP_DIR}/utils)
include_directories
(
${
SRC_TOP_DIR
}
/utils/bstr
)
include_directories
(
${
SRC_TOP_DIR
}
/sbi/smf_client
)
include_directories
(
${
SRC_TOP_DIR
}
/sbi/smf_client/api
)
include_directories
(
${
SRC_TOP_DIR
}
/sbi/smf_client/inputs
)
include_directories
(
${
SRC_TOP_DIR
}
/sbi/smf_client/model
)
add_library
(
AMF_SBI_CLIENT STATIC
...
...
@@ -40,6 +39,5 @@ add_library (AMF_SBI_CLIENT STATIC
${
CMAKE_CURRENT_SOURCE_DIR
}
/ModelBase.cpp
${
CMAKE_CURRENT_SOURCE_DIR
}
/MultipartFormData.cpp
${
CMAKE_CURRENT_SOURCE_DIR
}
/Object.cpp
${
CMAKE_CURRENT_SOURCE_DIR
}
/SMFClientApi.cpp
)
src/sbi/smf_client/SMFClientApi.cpp
deleted
100644 → 0
View file @
e16571b4
#include "SMFClientApi.hpp"
#include "IndividualPDUSessionHSMFApi.h"
#include "IndividualSMContextApi.h"
#include "PDUSessionsCollectionApi.h"
#include "SMContextsCollectionApi.h"
#include "ApiConfiguration.h"
#include "ApiClient.h"
#include "nlohmann/json.hpp"
#include "logger.hpp"
#include <cpprest/http_client.h>
#include <cpprest/filestream.h>
#define DEFAULT_JSON_FILE "/home/oai/oai-5g-amf/src/sbi/smf_client/inputs/SmContextCreateData.json"
using
namespace
utility
;
// Common utilities like string conversions
using
namespace
web
;
// Common features like URIs.
using
namespace
web
::
http
;
// Common HTTP functionality
using
namespace
web
::
http
::
client
;
// HTTP client features
using
namespace
concurrency
::
streams
;
// Asynchronous streams // JSON library
using
namespace
oai
::
smf
::
api
;
using
namespace
oai
::
smf
::
model
;
//using json = nlohmann::json;
int
smf_client_test
()
{
// create ApiConfiguration
std
::
shared_ptr
<
ApiConfiguration
>
apiConfiguration
(
new
ApiConfiguration
);
apiConfiguration
->
setBaseUrl
(
utility
::
conversions
::
to_string_t
(
"http://10.103.238.82:8889/nsmf-pdusession/v2"
));
//apiConfiguration->setBaseUrl(utility::conversions::to_string_t("http://192.168.2.189:8889/nsmf-pdusession/v2"));
std
::
shared_ptr
<
ApiClient
>
apiClient
(
new
ApiClient
(
apiConfiguration
));
std
::
shared_ptr
<
SmContextMessage
>
smContextMessage
(
new
SmContextMessage
);
//fill the content of smContextMessage
//TODO:
std
::
shared_ptr
<
SmContextCreateData
>
smContextCreateData
(
new
SmContextCreateData
);
Logger
::
amf_app
().
debug
(
"starting test smf_client"
);
json
::
value
jv
;
// JSON read from input file
try
{
Logger
::
amf_app
().
debug
(
"try to get smcontextcreatedata json(%s)"
,
DEFAULT_JSON_FILE
);
string_t
importFile
=
DEFAULT_JSON_FILE
;
// extract filename
ifstream_t
f
(
importFile
);
// filestream of working file
stringstream_t
s
;
// string stream for holding JSON read from file
if
(
f
)
{
s
<<
f
.
rdbuf
();
// stream results of reading from file stream into string stream
f
.
close
();
// close the filestream
jv
=
json
::
value
::
parse
(
s
);
// parse the resultant string stream.
std
::
cout
<<
"file"
<<
DEFAULT_JSON_FILE
<<
std
::
endl
;
}
else
{
Logger
::
amf_app
().
error
(
"no json file"
);
}
}
catch
(
web
::
json
::
json_exception
excep
)
{
//std::cout << "ERROR Parsing JSON: ";
//std::cout << excep.what();
Logger
::
amf_app
().
error
(
"error!"
);
}
//auto supi = jv.at(U("supi"));
//std::cout << supi <<std::endl;
smContextCreateData
->
fromJson
(
jv
);
smContextMessage
->
setJsonData
(
smContextCreateData
);
std
::
shared_ptr
<
HttpContent
>
n1sm
(
new
HttpContent
);
//n1sm->setName("\\\"n1SmMsg\\\"");
//n1sm->setContentDisposition("attachment");
n1sm
->
setContentType
(
"application/vnd.3gpp.5gnas"
);
//uint8_t buf[18] = {0x2e, 0x05, 0x1e, 0xc1, 0xff, 0xff, 0x91, 0xa1, 0x7b, 0x00, 0x07, 0x80, 0x00, 0xa0, 0x00, 0x00, 0x0d, 0x00};
uint8_t
buf
[
8
]
=
{
0x2e
,
0x05
,
0x1e
,
0xc1
,
0xff
,
0xff
,
0x91
,
0xa1
};
char
test
[
8
];
for
(
int
i
=
0
;
i
<
8
;
i
++
)
test
[
i
]
=
(
char
)
buf
[
i
];
printf
(
"%s
\n
"
,
test
);
std
::
string
value
=
test
;
n1sm
->
setData
(
std
::
shared_ptr
<
std
::
istream
>
(
new
std
::
stringstream
(
utility
::
conversions
::
to_utf8string
(
value
)
)
)
);
//n1sm->setData( std::shared_ptr<std::istream>( new std::stringstream( "2e051ec1ffff91a17b00078000a00000d00" ) ) );
//n1sm->setData( std::shared_ptr<std::istream>(test));
smContextMessage
->
setBinaryDataN1SmMessage
(
n1sm
);
std
::
shared_ptr
<
SMContextsCollectionApi
>
smContextsCollectionApi
(
new
SMContextsCollectionApi
(
apiClient
));
smContextsCollectionApi
->
postSmContexts
(
smContextMessage
);
return
0
;
}
src/sbi/smf_client/SMFClientApi.hpp
deleted
100644 → 0
View file @
e16571b4
#include "IndividualPDUSessionHSMFApi.h"
#include "IndividualSMContextApi.h"
#include "PDUSessionsCollectionApi.h"
#include "SMContextsCollectionApi.h"
#include "ApiConfiguration.h"
#include "ApiClient.h"
#include "nlohmann/json.hpp"
#include "logger.hpp"
#include <cpprest/http_client.h>
#include <cpprest/filestream.h>
#define DEFAULT_JSON_FILE "/home/oai/oai-5g-amf/src/sbi/smf_client/inputs/SmContextCreateData.json"
using
namespace
utility
;
// Common utilities like string conversions
using
namespace
web
;
// Common features like URIs.
using
namespace
web
::
http
;
// Common HTTP functionality
using
namespace
web
::
http
::
client
;
// HTTP client features
using
namespace
concurrency
::
streams
;
// Asynchronous streams // JSON library
using
namespace
oai
::
smf
::
api
;
using
namespace
oai
::
smf
::
model
;
//using json = nlohmann::json;
int
smf_client_test
();
src/sbi/smf_client/inputs/SmContextCreateData.json
deleted
100644 → 0
View file @
e16571b4
{
"supi"
:
"supi"
,
"pei"
:
"pei"
,
"gpsi"
:
"gpsi"
,
"pduSessionId"
:
1
,
"dnn"
:
"dnn"
,
"sNssai"
:
{
"sst"
:
1
,
"sd"
:
"sd"
},
"hplmnSnssai"
:
{
"sst"
:
1
,
"sd"
:
"sd"
},
"servingNfId"
:
""
,
"guami"
:
{
"plmnId"
:
{
"mcc"
:
"122"
,
"mnc"
:
"13"
},
"amfId"
:
"2"
},
"serviceName"
:
""
,
"servingNetwork"
:
{
"mcc"
:
"122"
,
"mnc"
:
"13"
},
"requestType"
:
""
,
"anType"
:
""
,
"secondAnType"
:
""
,
"ratType"
:
""
,
"presenceInLadn"
:
""
,
"ueTimeZone"
:
""
,
"smContextStatusUri"
:
""
,
"hSmfUri"
:
""
,
"additionalHsmfUri"
:
[],
"oldPduSessionId"
:
1
,
"pduSessionsActivateList"
:
[
1
,
2
],
"ueEpsPdnConnection"
:
""
,
"hoState"
:
""
,
"pcfId"
:
""
,
"nrfUi"
:
""
,
"supportedFeatures"
:
""
,
"selMode"
:
""
,
"udmGroupId"
:
""
,
"routingIndicator"
:
""
,
"epsBearerCtxStatus"
:
""
,
"cpCiotEnabled"
:
true
,
"invokeNef"
:
true
,
"maPduIndication"
:
false
,
"smContextRef"
:
""
,
"n2SmInfo"
:
{
"contentId"
:
"n2SmInfo"
},
"n1SmMsg"
:
{
"contentId"
:
"n1SmMsg"
}
}
src/sbi/smf_client/smf-client.hpp
deleted
100644 → 0
View file @
e16571b4
This diff is collapsed.
Click to expand it.
src/secu_algorithms/5gaka/test/test.hpp
deleted
100644 → 0
View file @
e16571b4
This diff is collapsed.
Click to expand it.
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