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
f38b3e7c
Commit
f38b3e7c
authored
Jul 27, 2021
by
Niuhaiwen
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
the first connect successful
parent
fcab3bd2
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
48 additions
and
23 deletions
+48
-23
etc/register+stateless.conf
etc/register+stateless.conf
+13
-13
src/amf-app/amf_n11.cpp
src/amf-app/amf_n11.cpp
+32
-7
src/amf-app/amf_n2.cpp
src/amf-app/amf_n2.cpp
+2
-2
src/sctp/sctp_server.cpp
src/sctp/sctp_server.cpp
+1
-1
No files found.
etc/register+stateless.conf
100644 → 100755
View file @
f38b3e7c
...
...
@@ -37,20 +37,20 @@ AMF =
GUAMI
:
{
MCC
=
"460"
;
MNC
=
"
33
"
;
RegionID
=
"128"
;
AMFSetID
=
"1"
;
AMFPointer
=
"1"
# YOUR GUAMI CONFIG HERE
MCC
=
"460"
;
MNC
=
"
99
"
;
RegionID
=
"128"
;
AMFSetID
=
"1"
;
AMFPointer
=
"1"
# YOUR GUAMI CONFIG HERE
}
SERVED_GUAMI_LIST
= (
{
MCC
=
"460"
;
MNC
=
"
33
"
;
RegionID
=
"128"
;
AMFSetID
=
"1"
;
AMFPointer
=
"0"
}
#48bits <MCC><MNC><RegionID><AMFSetID><AMFPointer>
{
MCC
=
"460"
;
MNC
=
"
99
"
;
RegionID
=
"128"
;
AMFSetID
=
"1"
;
AMFPointer
=
"0"
}
#48bits <MCC><MNC><RegionID><AMFSetID><AMFPointer>
#{MCC = "110"; MNC = "11"; RegionID = "10"; AMFSetID = "1"; AMFPointer = "1"} #48bits <MCC><MNC><RegionID><AMFSetID><AMFPointer>
);
PLMN_SUPPORT_LIST
= (
{
MCC
=
"460"
;
MNC
=
"
33
"
;
TAC
=
100
;
# YOUR PLMN CONFIG HERE
MCC
=
"460"
;
MNC
=
"
99
"
;
TAC
=
100
;
# YOUR PLMN CONFIG HERE
SLICE_SUPPORT_LIST
= (
{
SST
=
"1"
;
SD
=
"none"
}
,
# YOUR NSSAI CONFIG HERE
{
SST
=
"1"
;
SD
=
"12"
}
# YOUR NSSAI CONFIG HERE
{
SST
=
"1"
;
SD
=
"none"
}
# YOUR NSSAI CONFIG HERE
#
{SST = "1"; SD = "12"} # YOUR NSSAI CONFIG HERE
)
}
);
...
...
@@ -60,7 +60,7 @@ AMF =
# AMF binded interface for N1/N2 interface (NGAP)
NGAP_AMF
:
{
INTERFACE_NAME
=
"en
o1
"
;
# YOUR NETWORK CONFIG HERE
INTERFACE_NAME
=
"en
s34
"
;
# YOUR NETWORK CONFIG HERE
IPV4_ADDRESS
=
"read"
;
PORT
=
38414
;
# YOUR NETWORK CONFIG HERE
PPID
=
60
;
# YOUR NETWORK CONFIG HERE
...
...
@@ -69,14 +69,14 @@ AMF =
# AMF binded interface for Nausf interface
NAUSF
:
{
INTERFACE_NAME
=
"en
o1
"
;
# YOUR NETWORK CONFIG HERE
INTERFACE_NAME
=
"en
s33
"
;
# YOUR NETWORK CONFIG HERE
IPV4_ADDRESS
=
"read"
;
PORT
=
8383
;
# YOUR NETWORK CONFIG HERE
};
NRF
:
{
IPV4_ADDRESS
=
"192.168.
209
.129"
;
# YOUR NRF CONFIG HERE
IPV4_ADDRESS
=
"192.168.
83
.129"
;
# YOUR NRF CONFIG HERE
PORT
=
80
;
# YOUR NRF CONFIG HERE (default: 80)
API_VERSION
=
"v1"
;
# YOUR NRF API VERSION FOR SBI CONFIG HERE
};
...
...
@@ -91,12 +91,12 @@ AMF =
# AMF binded interface for N11
N11
:
{
INTERFACE_NAME
=
"en
o1
"
;
# YOUR NETWORK CONFIG HERE
INTERFACE_NAME
=
"en
s33
"
;
# YOUR NETWORK CONFIG HERE
IPV4_ADDRESS
=
"read"
;
PORT
=
8282
;
# YOUR NETWORK CONFIG HERE
SMF_INSTANCES_POOL
= (
{
SMF_INSTANCE_ID
=
1
;
IPV4_ADDRESS
=
"1
0.112.202.24"
;
PORT
=
"8890"
;
VERSION
=
"v2"
;
SELECTED
=
"tru
e"
},
# YOUR SMF CONFIG HERE
{
SMF_INSTANCE_ID
=
1
;
IPV4_ADDRESS
=
"1
92.168.83.130"
;
PORT
=
"8889"
;
VERSION
=
"v2"
;
SELECTED
=
"fals
e"
},
# YOUR SMF CONFIG HERE
{
SMF_INSTANCE_ID
=
2
;
IPV4_ADDRESS
=
"192.168.122.2"
;
PORT
=
"80"
;
VERSION
=
"v1"
;
SELECTED
=
"false"
}
# YOUR SMF CONFIG HERE
);
};
...
...
@@ -107,9 +107,9 @@ AMF =
{
## MySQL mandatory options
MYSQL_server
=
"127.0.0.1"
;
# MySQL Server address
MYSQL_user
=
"
root
"
;
# Database server login
MYSQL_pass
=
"123"
;
# Database server password
MYSQL_db
=
"
OPENXG_DB
"
;
# Your database name
MYSQL_user
=
"
witcomm
"
;
# Database server login
MYSQL_pass
=
"123
456
"
;
# Database server password
MYSQL_db
=
"
witcomm
"
;
# Your database name
## OP
OPERATOR_key
=
"63bfa50ee6523365ff14c1f45f88737d"
;
# OP key matching your database
...
...
src/amf-app/amf_n11.cpp
View file @
f38b3e7c
...
...
@@ -205,7 +205,7 @@ void amf_n11::handle_itti_message(
std
::
string
udsf_url
=
"http://192.168.83.130:7123/nudsf-dr/v1/amfdata/"
+
std
::
string
(
"pdu_session_context/records/"
)
+
record_id
;
if
(
!
amf_n2_inst
->
curl_http_client_udsf
(
udsf_url
,
""
,
"GET"
,
udsf_response
)){
Logger
::
amf_n2
().
error
(
"No existing pdu_session_context with assoc_id "
);
return
;
return
;
}
else
{
Logger
::
amf_n2
().
debug
(
"udsf_response: %s"
,
udsf_response
.
dump
().
c_str
());
...
...
@@ -229,17 +229,38 @@ void amf_n11::handle_itti_message(
// return;
// }
/*string ue_context_key = "app_ue_ranid_" + to_string(itti_msg.ran_ue_ngap_id) +
":amfid_" + to_string(itti_msg.amf_ue_ngap_id);
std::shared_ptr<ue_context> uc;
uc = amf_app_inst->ran_amf_id_2_ue_context(ue_context_key);
std::string supi_2;
if (uc.get() != nullptr) {
supi_2 = uc->supi;
}
Logger::amf_n11().debug(
"Send PDU Session Update SM Context Request to SMF (SUPI %s, PDU Session "
"ID %d)",
supi_2.c_str(), itti_msg.pdu_session_id);
std::shared_ptr<pdu_session_context> psc_2 = {};
if (!uc.get()->find_pdu_session_context(itti_msg.pdu_session_id, psc_2)) {
Logger::amf_n11().error(
"Could not find psu_session_context with SUPI %s, Failed",
supi_2.c_str());
return;
}*/
std
::
string
smf_addr
;
if
(
!
psc
.
get
()
->
smf_available
)
{
if
(
!
smf_selection_from_configuration
(
smf_addr
))
{
/*
if (!smf_selection_from_configuration(smf_addr)) {
Logger::amf_n11().error("No SMF candidate is available");
return;
}
}*/
Logger
::
amf_n11
().
error
(
"No SMF is available for this PDU session"
);
}
else
{
smf_selection_from_context
(
smf_addr
);
//smf_selection_from_context(smf_addr);
smf_addr
=
psc
->
smf_addr
;
}
smf_addr
=
psc
->
smf_addr
;
std
::
string
smf_ip_addr
,
remote_uri
;
std
::
shared_ptr
<
pdu_session_context
>
context
=
std
::
shared_ptr
<
pdu_session_context
>
(
new
pdu_session_context
());
context
.
get
()
->
pdu_session_context_from_json
(
udsf_response
);
...
...
@@ -302,6 +323,10 @@ void amf_n11::handle_itti_message(itti_smf_services_consumer& smf) {
Logger
::
amf_n2
().
debug
(
"udsf_response: %s"
,
udsf_response
.
dump
().
c_str
());
psc
=
std
::
shared_ptr
<
pdu_session_context
>
(
new
pdu_session_context
());
psc
.
get
()
->
pdu_session_context_from_json
(
udsf_response
);
if
(
psc
.
get
()
->
isn2sm_avaliable
==
false
)
{
psc
=
std
::
shared_ptr
<
pdu_session_context
>
(
new
pdu_session_context
());
}
//psc = std::shared_ptr<pdu_session_context>(psc1);
}
...
...
@@ -514,13 +539,13 @@ void amf_n11::handle_pdu_session_initial_request(
// TODO: Remove hardcoded values
std
::
string
remote_uri
=
smf_addr
+
":8889"
+
"/nsmf-pdusession/"
+
smf_api_version
+
"
/sm-contexts"
;
smf_addr
+
":8889/nsmf-pdusession/v2
/sm-contexts"
;
nlohmann
::
json
pdu_session_establishment_request
;
pdu_session_establishment_request
[
"supi"
]
=
supi
.
c_str
();
pdu_session_establishment_request
[
"pei"
]
=
"imei-200000000000001"
;
pdu_session_establishment_request
[
"gpsi"
]
=
"msisdn-200000000001"
;
pdu_session_establishment_request
[
"dnn"
]
=
dnn
.
c_str
();
pdu_session_establishment_request
[
"sNssai"
][
"sst"
]
=
psc
.
get
()
->
snssai
.
sST
;
pdu_session_establishment_request
[
"sNssai"
][
"sst"
]
=
1
;
pdu_session_establishment_request
[
"sNssai"
][
"sd"
]
=
psc
.
get
()
->
snssai
.
sD
;
pdu_session_establishment_request
[
"pduSessionId"
]
=
psc
.
get
()
->
pdu_session_id
;
pdu_session_establishment_request
[
"requestType"
]
=
...
...
src/amf-app/amf_n2.cpp
View file @
f38b3e7c
...
...
@@ -1200,7 +1200,7 @@ void amf_n2::handle_itti_message(itti_initial_context_setup_request& itti_msg) {
memcpy
(
uecap
,
(
uint8_t
*
)
bdata
(
ueCapability
),
blength
(
ueCapability
));
uecap
[
blength
(
ueCapability
)]
=
'\0'
;
//URANSIM 不会发ueradio
//
msg->setUERadioCapability(uecap, (size_t) blength(ueCapability));
msg
->
setUERadioCapability
(
uecap
,
(
size_t
)
blength
(
ueCapability
));
free
(
uecap
);
Logger
::
amf_n2
().
debug
(
"Encoding parameters for Service Request"
);
...
...
@@ -1576,7 +1576,7 @@ void amf_n2::handle_itti_message(
udsf_gnb_update_context
[
"blocks"
]
=
nlohmann
::
json
::
array
({
{{
"Content-ID"
,
"ue_radio_cap_ind"
},{
"Content-Type"
,
"varchar(1024)"
},{
"content"
,
ue_radio_cap_ind
}}
});
//
amf_n2_inst->curl_http_client_udsf(udsf_update_url,udsf_gnb_update_context.dump(),"PUT",udsf_response);
amf_n2_inst
->
curl_http_client_udsf
(
udsf_update_url
,
udsf_gnb_update_context
.
dump
(),
"PUT"
,
udsf_response
);
return
;
}
...
...
src/sctp/sctp_server.cpp
View file @
f38b3e7c
...
...
@@ -450,7 +450,7 @@ void sctp_server::curl_http_client_Plugin(sctp_assoc_id_t assoc_id, sctp_stream_
std
::
string
url
=
"http://"
+
std
::
string
(
"1
0.112.202.24
"
)
+
"http://"
+
std
::
string
(
"1
92.168.83.130
"
)
+
":"
+
std
::
to_string
(
38414
)
+
"/nplugin-dr/v1/"
+
to_string
(
assoc_id
)
+
"/"
+
to_string
(
stream
)
;
...
...
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