mirror of
https://github.com/open5gs/open5gs.git
synced 2025-10-25 17:13:39 +00:00
Compare commits
311 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
de72ccaf91 | ||
|
|
9af4268bab | ||
|
|
c6bfbed922 | ||
|
|
0790674c14 | ||
|
|
2f2178595d | ||
|
|
515b5d2b17 | ||
|
|
31977bf30a | ||
|
|
d1400897e0 | ||
|
|
b6bcbac3e3 | ||
|
|
9b5cc4a568 | ||
|
|
094d40b073 | ||
|
|
852756f902 | ||
|
|
fea48f5a44 | ||
|
|
b19b3e9dd1 | ||
|
|
7901a1164f | ||
|
|
950c4c0a12 | ||
|
|
5e839e25fe | ||
|
|
d3fa7619bf | ||
|
|
6cd755ac97 | ||
|
|
f597c9e899 | ||
|
|
9e8303762c | ||
|
|
e7c261d0d3 | ||
|
|
e7cb25ac9b | ||
|
|
f47f65a51c | ||
|
|
0311d2255c | ||
|
|
d9417be9a6 | ||
|
|
373ba1452f | ||
|
|
848b7ffc29 | ||
|
|
ff5236f3e0 | ||
|
|
388e64213f | ||
|
|
49a9e58efe | ||
|
|
0fc5190a09 | ||
|
|
19014a3a25 | ||
|
|
ada01fca8f | ||
|
|
61778f9142 | ||
|
|
776d323a16 | ||
|
|
9eac90252e | ||
|
|
708784e222 | ||
|
|
50db1aaeb1 | ||
|
|
8e29eb2417 | ||
|
|
0552bc49c9 | ||
|
|
c9363b1320 | ||
|
|
408c378b94 | ||
|
|
bfa6eae71c | ||
|
|
55e9f08430 | ||
|
|
1c13d7f5ec | ||
|
|
8d0ce5b03c | ||
|
|
5fb0611cb2 | ||
|
|
d6ed13968d | ||
|
|
f15d2c96fe | ||
|
|
508a78d43b | ||
|
|
f250b6e411 | ||
|
|
d17ea0f135 | ||
|
|
b4358fe703 | ||
|
|
e531ccab5a | ||
|
|
a0ebf20c88 | ||
|
|
31cc259ee4 | ||
|
|
e803b01d9c | ||
|
|
0c61e7b70b | ||
|
|
80e337b465 | ||
|
|
6946dc4998 | ||
|
|
7b29cdf898 | ||
|
|
7dd4609c0f | ||
|
|
060d2a08f5 | ||
|
|
c9cfc4cf6e | ||
|
|
a96d3ca0fa | ||
|
|
1238b30526 | ||
|
|
70a7bac6b2 | ||
|
|
b329b09573 | ||
|
|
88346c0141 | ||
|
|
b35eb9fcf4 | ||
|
|
79b0552bb0 | ||
|
|
235a041b8d | ||
|
|
65aea5ebf2 | ||
|
|
4115799c2a | ||
|
|
efd1780745 | ||
|
|
dcec18a3d8 | ||
|
|
371e22c96b | ||
|
|
171f15f684 | ||
|
|
ef3e7b2528 | ||
|
|
7002c1e4b5 | ||
|
|
2392f23d7f | ||
|
|
2bf8d6c3c7 | ||
|
|
191f109f7f | ||
|
|
198abc6e8b | ||
|
|
fb95725ca4 | ||
|
|
41fd851b7f | ||
|
|
d16d295708 | ||
|
|
5999bd22f9 | ||
|
|
33edd12335 | ||
|
|
b2d012c253 | ||
|
|
e5a9156444 | ||
|
|
90123efae3 | ||
|
|
c424796955 | ||
|
|
1c997c4069 | ||
|
|
3be76db08a | ||
|
|
0742c6208c | ||
|
|
2c2b6dfcaf | ||
|
|
0c47098c4a | ||
|
|
1a7b4de7c6 | ||
|
|
19a3680c60 | ||
|
|
520d9cd2c3 | ||
|
|
3c99af7736 | ||
|
|
dcf0a714aa | ||
|
|
e1a2e3803f | ||
|
|
f0b9a35962 | ||
|
|
70f7e2d5d4 | ||
|
|
f4c6791227 | ||
|
|
ee964d825c | ||
|
|
b9fdc0ab44 | ||
|
|
0b2ba07f97 | ||
|
|
fe7525a784 | ||
|
|
d7c188dc00 | ||
|
|
961db54c2f | ||
|
|
1f1a741e53 | ||
|
|
e6e825c6a3 | ||
|
|
cbb3758c9c | ||
|
|
6f11a78079 | ||
|
|
9a1824f6aa | ||
|
|
23e8e6577c | ||
|
|
830587a250 | ||
|
|
f1a207fd9b | ||
|
|
2d3b8eed81 | ||
|
|
18c3a4d5d9 | ||
|
|
8975613ae9 | ||
|
|
621145d8b0 | ||
|
|
5af01d1a71 | ||
|
|
ad85c12513 | ||
|
|
b80554e955 | ||
|
|
13c7f30e39 | ||
|
|
21595426b2 | ||
|
|
d1e643ed6c | ||
|
|
22e98d612a | ||
|
|
48bf4a763a | ||
|
|
3fef5848b8 | ||
|
|
a679ea56a8 | ||
|
|
080c6a9002 | ||
|
|
5fd6dac961 | ||
|
|
f137d1947f | ||
|
|
0ec0b2dc69 | ||
|
|
93312e8f3d | ||
|
|
3cbec5f2e6 | ||
|
|
4f2803c058 | ||
|
|
a470131489 | ||
|
|
aa81bb2c89 | ||
|
|
15e42bc4a9 | ||
|
|
bdeea7ce8b | ||
|
|
39aa726543 | ||
|
|
1bed0d5872 | ||
|
|
c244dcc5e9 | ||
|
|
c052193a37 | ||
|
|
50149dd1a7 | ||
|
|
5bfaac17e0 | ||
|
|
c424099200 | ||
|
|
06ec924466 | ||
|
|
6ff129e9da | ||
|
|
fae76f9e9d | ||
|
|
f294a5f55c | ||
|
|
5c9b3d09d8 | ||
|
|
55d60ff1ab | ||
|
|
74af0051d5 | ||
|
|
4667835e24 | ||
|
|
ba41d66eb5 | ||
|
|
437cc92bf9 | ||
|
|
60a6551f8a | ||
|
|
8d55964bcc | ||
|
|
cabef6afa9 | ||
|
|
d343440abc | ||
|
|
6d4927e29f | ||
|
|
d64db21050 | ||
|
|
0eb68eefe2 | ||
|
|
b925189c4a | ||
|
|
30b7f7669e | ||
|
|
83702e8f1b | ||
|
|
dd063ba2cf | ||
|
|
6e45ec6f39 | ||
|
|
9c67459481 | ||
|
|
f642cc0389 | ||
|
|
71fa610a8e | ||
|
|
8ba3d89b8d | ||
|
|
d58024247c | ||
|
|
a513c3e6ec | ||
|
|
ced8e661be | ||
|
|
1129440061 | ||
|
|
a3fa0d8362 | ||
|
|
88399da5b6 | ||
|
|
b6395b870e | ||
|
|
72d1226c05 | ||
|
|
a735aa1521 | ||
|
|
51b16a865b | ||
|
|
51f00a97bb | ||
|
|
f4f6d78c87 | ||
|
|
85d2647308 | ||
|
|
25ab8d09ac | ||
|
|
6df9356c79 | ||
|
|
a9ad43a4ef | ||
|
|
e2d682d142 | ||
|
|
5a7e5150a5 | ||
|
|
89174153e3 | ||
|
|
dae7218a35 | ||
|
|
5b1c9c812a | ||
|
|
cb1bb8b2c5 | ||
|
|
07a38791b9 | ||
|
|
3554419d97 | ||
|
|
dee14f84af | ||
|
|
b63073cd56 | ||
|
|
101cc04459 | ||
|
|
3f4c624ef6 | ||
|
|
8c7d401636 | ||
|
|
529e765b96 | ||
|
|
788194c220 | ||
|
|
ff642e0f3a | ||
|
|
ede4282389 | ||
|
|
62d95be036 | ||
|
|
6dace84232 | ||
|
|
f45f948979 | ||
|
|
9a1ba4244d | ||
|
|
9c773014b0 | ||
|
|
badf629f60 | ||
|
|
3d0fdd1667 | ||
|
|
b12af9275f | ||
|
|
d148012d82 | ||
|
|
d73ff77031 | ||
|
|
87077c91cb | ||
|
|
65d1ac1718 | ||
|
|
f5601a95f7 | ||
|
|
cc873269a4 | ||
|
|
781472c16f | ||
|
|
8416ddd5ac | ||
|
|
4acb333e68 | ||
|
|
7071adf9f9 | ||
|
|
7ae1600e04 | ||
|
|
bbe29f7456 | ||
|
|
e828adfba4 | ||
|
|
b67cd1e3e1 | ||
|
|
b9b6f24d0d | ||
|
|
0f1085b8c9 | ||
|
|
96ab327dea | ||
|
|
08ac13ee22 | ||
|
|
d6f0b5f658 | ||
|
|
8c4a507858 | ||
|
|
1b5dd48142 | ||
|
|
8f91273970 | ||
|
|
c6718b96bb | ||
|
|
818f3139d4 | ||
|
|
d4a9c140a8 | ||
|
|
ce8d10e4fc | ||
|
|
ef3b84f3f6 | ||
|
|
9eea6fe583 | ||
|
|
344dad1e8a | ||
|
|
19a2c7ecb8 | ||
|
|
5048b4fb9d | ||
|
|
edf83b37fa | ||
|
|
519de9ef68 | ||
|
|
6124908133 | ||
|
|
feaec0eaa9 | ||
|
|
242a352a1c | ||
|
|
228dd34e5d | ||
|
|
56a866c46e | ||
|
|
8bb0a168f8 | ||
|
|
6ad1c3399e | ||
|
|
7f9f6fc3f2 | ||
|
|
c3d66085fc | ||
|
|
f26b1205f4 | ||
|
|
a2f3914a05 | ||
|
|
160490483a | ||
|
|
2579a1779b | ||
|
|
804eeb83a8 | ||
|
|
4d023d0de0 | ||
|
|
adf0545159 | ||
|
|
4d2b1f7e76 | ||
|
|
a46be09a6f | ||
|
|
b499b585d2 | ||
|
|
6bbc2047d0 | ||
|
|
d0f7ec286b | ||
|
|
bb1304a6ba | ||
|
|
2d832b6c82 | ||
|
|
5ab5ab4f01 | ||
|
|
77de83099d | ||
|
|
d544125943 | ||
|
|
0ef1769583 | ||
|
|
d02aa8b21b | ||
|
|
054c3c0a63 | ||
|
|
4bdbf33c3d | ||
|
|
e86b1043c2 | ||
|
|
3c3bac6812 | ||
|
|
d4f5b7417d | ||
|
|
b2814c0ded | ||
|
|
f56e92ee3b | ||
|
|
887a0a10d3 | ||
|
|
340ef8cc6f | ||
|
|
618bb9740c | ||
|
|
7fac23b15d | ||
|
|
885206f04f | ||
|
|
e073934b15 | ||
|
|
4d9d10ee1e | ||
|
|
67e7dbf44f | ||
|
|
b71e56c305 | ||
|
|
111536ea9a | ||
|
|
bc476c2e0e | ||
|
|
015a462ce9 | ||
|
|
0d676c4057 | ||
|
|
83388cf504 | ||
|
|
18c483950c | ||
|
|
ea0f024b93 | ||
|
|
b412e51b83 | ||
|
|
aca41f6668 | ||
|
|
db488bc4dd | ||
|
|
cfd59c7cee | ||
|
|
de46746a11 | ||
|
|
a2199b81fa |
3
.github/FUNDING.yml
vendored
3
.github/FUNDING.yml
vendored
@@ -1,6 +1,7 @@
|
||||
# These are supported funding model platforms
|
||||
|
||||
github: [acetcom, open5gs]
|
||||
#github: [acetcom, open5gs]
|
||||
github: acetcom
|
||||
#patreon: # Replace with a single Patreon username
|
||||
open_collective: open5gs
|
||||
#ko_fi: # Replace with a single Ko-fi username
|
||||
|
||||
61
.github/stale.yml
vendored
Normal file
61
.github/stale.yml
vendored
Normal file
@@ -0,0 +1,61 @@
|
||||
# Configuration for probot-stale - https://github.com/probot/stale
|
||||
|
||||
# Number of days of inactivity before an Issue or Pull Request becomes stale
|
||||
daysUntilStale: 180
|
||||
|
||||
# Number of days of inactivity before an Issue or Pull Request with the stale label is closed.
|
||||
# Set to false to disable. If disabled, issues still need to be closed manually, but will remain marked as stale.
|
||||
daysUntilClose: 7
|
||||
|
||||
# Only issues or pull requests with all of these labels are check if stale. Defaults to `[]` (disabled)
|
||||
onlyLabels: []
|
||||
|
||||
# Issues or Pull Requests with these labels will never be considered stale. Set to `[]` to disable
|
||||
exemptLabels:
|
||||
- pinned
|
||||
- security
|
||||
- "[Status] Maybe Later"
|
||||
|
||||
# Set to true to ignore issues in a project (defaults to false)
|
||||
exemptProjects: false
|
||||
|
||||
# Set to true to ignore issues in a milestone (defaults to false)
|
||||
exemptMilestones: false
|
||||
|
||||
# Set to true to ignore issues with an assignee (defaults to false)
|
||||
exemptAssignees: false
|
||||
|
||||
# Label to use when marking as stale
|
||||
staleLabel: wontfix
|
||||
|
||||
# Comment to post when marking as stale. Set to `false` to disable
|
||||
markComment: >
|
||||
This issue/PR has been automatically marked as stale because it has not had
|
||||
recent activity for 180 days. It will be closed if no further activity
|
||||
occurs in 7 dayss. Thank you for your contributions!
|
||||
|
||||
# Comment to post when removing the stale label.
|
||||
# unmarkComment: >
|
||||
# Your comment here.
|
||||
|
||||
# Comment to post when closing a stale Issue or Pull Request.
|
||||
# closeComment: >
|
||||
# Your comment here.
|
||||
|
||||
# Limit the number of actions per hour, from 1-30. Default is 30
|
||||
limitPerRun: 30
|
||||
|
||||
# Limit to only `issues` or `pulls`
|
||||
# only: issues
|
||||
|
||||
# Optionally, specify configuration settings that are specific to just 'issues' or 'pulls':
|
||||
# pulls:
|
||||
# daysUntilStale: 30
|
||||
# markComment: >
|
||||
# This pull request has been automatically marked as stale because it has not had
|
||||
# recent activity. It will be closed if no further activity occurs. Thank you
|
||||
# for your contributions.
|
||||
|
||||
# issues:
|
||||
# exemptLabels:
|
||||
# - confirmed
|
||||
58
README.md
58
README.md
@@ -1,14 +1,57 @@
|
||||
<h2 align="center">Supporting Open5GS</h2>
|
||||
|
||||
If you find Open5GS useful for work, please consider supporting this Open Source project by [Becoming a sponsor](https://github.com/sponsors/acetcom). To manage the funding transactions transparently, you can donate through [OpenCollective](https://opencollective.com/open5gs).
|
||||
|
||||
<h3 align="center">Special Sponsor</h3>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td align="center" valign="middle">
|
||||
<a href="https://nextepc.com/" target="_blank">
|
||||
<img width="260px" src="https://open5gs.org/assets/img/nextepc_logo.jpg">
|
||||
</a>
|
||||
</td>
|
||||
<td align="center" valign="middle">
|
||||
<a href="https://sdr.eee.strath.ac.uk/" target="_blank">
|
||||
<img width="260px" src="https://open5gs.org/assets/img/strath.png">
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<h3 align="center">Sponsors</h3>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td align="center" valign="middle">
|
||||
<a href="https://www.auctionsoftware.com/" target="_blank">
|
||||
<img width="222px" src="https://open5gs.org/assets/img/asLogonew.png">
|
||||
</a>
|
||||
</td>
|
||||
<td align="center" valign="middle">
|
||||
<a href="https://www.wearetriple.com/" target="_blank">
|
||||
<img width="222px" src="https://open5gs.org/assets/img/triple_logo.png">
|
||||
</a>
|
||||
</td>
|
||||
<td align="center" valign="middle">
|
||||
<a href="https://www.accessparks.com/" target="_blank">
|
||||
<img width="222px" src="https://open5gs.org/assets/img/AccessParks.png">
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
## Documentation
|
||||
|
||||
If you don't understand something about Open5GS, the [https://open5gs.org/open5gs/docs/](https://open5gs.org/open5gs/docs/) is a great place to look for answers.
|
||||
|
||||
## Support
|
||||
## Community
|
||||
|
||||
Problem with Open5GS can be filed as [issues](https://github.com/open5gs/open5gs/issues) in this repository.
|
||||
|
||||
Discussions related to this project are happening on the [nextepc@lists.osmocom.org](mailto:nextepc@lists.osmocom.org) mailing list, please see <https://lists.osmocom.org/mailman/listinfo/nextepc> for subscription options and the list archive.
|
||||
|
||||
Voice and text chat available in Open5GS's [Discord](https://discordapp.com/) workspace. Use [this link](https://discord.gg/GreNkuc) to get started.
|
||||
- Problem with Open5GS can be filed as [issues](https://github.com/open5gs/open5gs/issues) in this repository.
|
||||
- Other topics related to this project are happening on the [discussions](https://github.com/open5gs/open5gs/discussions).
|
||||
- Voice and text chat are available in Open5GS's [Discord](https://discordapp.com/) workspace. Use [this link](https://discord.gg/GreNkuc) to get started.
|
||||
|
||||
## Contributing
|
||||
|
||||
@@ -16,4 +59,5 @@ If you're contributing through a pull request to Open5GS project on GitHub, plea
|
||||
|
||||
## License
|
||||
|
||||
Open5GS source files are made available under the terms of the GNU Affero General Public License (GNU AGPLv3).
|
||||
- Open5GS Open Source files are made available under the terms of the GNU Affero General Public License ([GNU AGPL v3.0](https://www.gnu.org/licenses/agpl-3.0.html)).
|
||||
- [Commercial licenses](https://open5gs.org/open5gs/support/) are also available from [NextEPC, Inc.](https://nextepc.com)
|
||||
|
||||
@@ -9,6 +9,8 @@ parameter:
|
||||
# no_upf: true
|
||||
# no_ausf: true
|
||||
# no_udm: true
|
||||
# no_pcf: true
|
||||
# no_nssf: true
|
||||
# no_udr: true
|
||||
# no_mme: true
|
||||
# no_sgwc: true
|
||||
@@ -35,9 +37,9 @@ mme:
|
||||
addr: 127.0.0.8
|
||||
|
||||
s1ap:
|
||||
addr: 127.0.0.2
|
||||
- addr: 127.0.0.2
|
||||
gtpc:
|
||||
addr: 127.0.0.2
|
||||
- addr: 127.0.0.2
|
||||
gummei:
|
||||
plmn_id:
|
||||
mcc: 310
|
||||
@@ -50,7 +52,7 @@ mme:
|
||||
mnc: 014
|
||||
tac: 1
|
||||
security:
|
||||
integrity_order : [ EIA1, EIA2, EIA0 ]
|
||||
integrity_order : [ EIA2, EIA1, EIA0 ]
|
||||
ciphering_order : [ EEA0, EEA1, EEA2 ]
|
||||
|
||||
network_name:
|
||||
@@ -58,9 +60,9 @@ mme:
|
||||
|
||||
sgwc:
|
||||
gtpc:
|
||||
addr: 127.0.0.3
|
||||
- addr: 127.0.0.3
|
||||
pfcp:
|
||||
addr: 127.0.0.3
|
||||
- addr: 127.0.0.3
|
||||
|
||||
smf:
|
||||
sbi:
|
||||
@@ -71,7 +73,7 @@ smf:
|
||||
- addr: ::1
|
||||
pfcp:
|
||||
- addr: 127.0.0.4
|
||||
pdn:
|
||||
subnet:
|
||||
- addr: 10.45.0.1/16
|
||||
- addr: cafe::1/64
|
||||
dns:
|
||||
@@ -114,14 +116,14 @@ amf:
|
||||
mcc: 310
|
||||
mnc: 014
|
||||
tac: 1
|
||||
plmn:
|
||||
plmn_support:
|
||||
- plmn_id:
|
||||
mcc: 310
|
||||
mnc: 014
|
||||
s_nssai:
|
||||
- sst: 1
|
||||
security:
|
||||
integrity_order : [ NIA1, NIA2, NIA0 ]
|
||||
integrity_order : [ NIA2, NIA1, NIA0 ]
|
||||
ciphering_order : [ NEA0, NEA1, NEA2 ]
|
||||
network_name:
|
||||
full: Open5GS
|
||||
@@ -129,18 +131,16 @@ amf:
|
||||
|
||||
sgwu:
|
||||
gtpu:
|
||||
addr: 127.0.0.6
|
||||
- addr: 127.0.0.6
|
||||
pfcp:
|
||||
addr: 127.0.0.6
|
||||
- addr: 127.0.0.6
|
||||
|
||||
upf:
|
||||
pfcp:
|
||||
- addr: 127.0.0.7
|
||||
gtpu:
|
||||
- addr:
|
||||
- 127.0.0.7
|
||||
- ::1
|
||||
pdn:
|
||||
- addr: 127.0.0.7
|
||||
subnet:
|
||||
- addr: 10.45.0.1/16
|
||||
- addr: cafe::1/64
|
||||
|
||||
@@ -181,10 +181,10 @@ pcrf:
|
||||
|
||||
nrf:
|
||||
sbi:
|
||||
addr:
|
||||
- addr:
|
||||
- 127.0.0.10
|
||||
- ::1
|
||||
port: 7777
|
||||
port: 7777
|
||||
|
||||
ausf:
|
||||
sbi:
|
||||
@@ -196,7 +196,32 @@ udm:
|
||||
- addr: 127.0.0.12
|
||||
port: 7777
|
||||
|
||||
udr:
|
||||
pcf:
|
||||
sbi:
|
||||
- addr: 127.0.0.13
|
||||
port: 7777
|
||||
|
||||
nssf:
|
||||
sbi:
|
||||
- addr: 127.0.0.14
|
||||
port: 7777
|
||||
nsi:
|
||||
- addr: ::1
|
||||
port: 7777
|
||||
s_nssai:
|
||||
sst: 1
|
||||
- addr: 127.0.0.19
|
||||
port: 7777
|
||||
s_nssai:
|
||||
sst: 1
|
||||
sd: 000080
|
||||
- addr: 127.0.0.10
|
||||
port: 7777
|
||||
s_nssai:
|
||||
sst: 1
|
||||
sd: 009000
|
||||
|
||||
udr:
|
||||
sbi:
|
||||
- addr: 127.0.0.20
|
||||
port: 7777
|
||||
|
||||
@@ -9,6 +9,8 @@ parameter:
|
||||
# no_upf: true
|
||||
# no_ausf: true
|
||||
# no_udm: true
|
||||
# no_pcf: true
|
||||
# no_nssf: true
|
||||
# no_udr: true
|
||||
# no_mme: true
|
||||
# no_sgwc: true
|
||||
@@ -35,9 +37,9 @@ mme:
|
||||
addr: 127.0.0.8
|
||||
|
||||
s1ap:
|
||||
addr: 127.0.0.2
|
||||
- addr: 127.0.0.2
|
||||
gtpc:
|
||||
addr: 127.0.0.2
|
||||
- addr: 127.0.0.2
|
||||
sgsap:
|
||||
- addr: 127.0.0.2
|
||||
map:
|
||||
@@ -84,7 +86,7 @@ mme:
|
||||
mnc: 21
|
||||
tac: 12345
|
||||
security:
|
||||
integrity_order : [ EIA1, EIA2, EIA0 ]
|
||||
integrity_order : [ EIA2, EIA1, EIA0 ]
|
||||
ciphering_order : [ EEA0, EEA1, EEA2 ]
|
||||
|
||||
network_name:
|
||||
@@ -92,20 +94,20 @@ mme:
|
||||
|
||||
sgwc:
|
||||
gtpc:
|
||||
addr: 127.0.0.3
|
||||
- addr: 127.0.0.3
|
||||
pfcp:
|
||||
addr: 127.0.0.3
|
||||
- addr: 127.0.0.3
|
||||
|
||||
smf:
|
||||
sbi:
|
||||
- addr: 127.0.0.4
|
||||
port: 7777
|
||||
# sbi:
|
||||
# - addr: 127.0.0.4
|
||||
# port: 7777
|
||||
gtpc:
|
||||
- addr: 127.0.0.4
|
||||
- addr: ::1
|
||||
pfcp:
|
||||
- addr: 127.0.0.4
|
||||
pdn:
|
||||
subnet:
|
||||
- addr: 10.45.0.1/16
|
||||
- addr: cafe::1/64
|
||||
dns:
|
||||
@@ -148,14 +150,14 @@ amf:
|
||||
mcc: 901
|
||||
mnc: 70
|
||||
tac: 1
|
||||
plmn:
|
||||
plmn_support:
|
||||
- plmn_id:
|
||||
mcc: 901
|
||||
mnc: 70
|
||||
s_nssai:
|
||||
- sst: 1
|
||||
security:
|
||||
integrity_order : [ NIA1, NIA2, NIA0 ]
|
||||
integrity_order : [ NIA2, NIA1, NIA0 ]
|
||||
ciphering_order : [ NEA0, NEA1, NEA2 ]
|
||||
network_name:
|
||||
full: Open5GS
|
||||
@@ -163,18 +165,16 @@ amf:
|
||||
|
||||
sgwu:
|
||||
gtpu:
|
||||
addr: 127.0.0.6
|
||||
- addr: 127.0.0.6
|
||||
pfcp:
|
||||
addr: 127.0.0.6
|
||||
- addr: 127.0.0.6
|
||||
|
||||
upf:
|
||||
pfcp:
|
||||
- addr: 127.0.0.7
|
||||
gtpu:
|
||||
- addr:
|
||||
- 127.0.0.7
|
||||
- ::1
|
||||
pdn:
|
||||
- addr: 127.0.0.7
|
||||
subnet:
|
||||
- addr: 10.45.0.1/16
|
||||
- addr: cafe::1/64
|
||||
|
||||
@@ -213,12 +213,12 @@ pcrf:
|
||||
- identity: smf.localdomain
|
||||
addr: 127.0.0.4
|
||||
|
||||
nrf:
|
||||
sbi:
|
||||
addr:
|
||||
- 127.0.0.10
|
||||
- ::1
|
||||
port: 7777
|
||||
#nrf:
|
||||
# sbi:
|
||||
# - addr:
|
||||
# - 127.0.0.10
|
||||
# - ::1
|
||||
# port: 7777
|
||||
|
||||
ausf:
|
||||
sbi:
|
||||
@@ -230,7 +230,32 @@ udm:
|
||||
- addr: 127.0.0.12
|
||||
port: 7777
|
||||
|
||||
udr:
|
||||
pcf:
|
||||
sbi:
|
||||
- addr: 127.0.0.13
|
||||
port: 7777
|
||||
|
||||
nssf:
|
||||
sbi:
|
||||
- addr: 127.0.0.14
|
||||
port: 7777
|
||||
nsi:
|
||||
- addr: ::1
|
||||
port: 7777
|
||||
s_nssai:
|
||||
sst: 1
|
||||
- addr: 127.0.0.19
|
||||
port: 7777
|
||||
s_nssai:
|
||||
sst: 1
|
||||
sd: 000080
|
||||
- addr: 127.0.0.10
|
||||
port: 7777
|
||||
s_nssai:
|
||||
sst: 1
|
||||
sd: 009000
|
||||
|
||||
udr:
|
||||
sbi:
|
||||
- addr: 127.0.0.20
|
||||
port: 7777
|
||||
|
||||
@@ -22,7 +22,6 @@ meson.add_install_script(python3_exe, '-c',
|
||||
freediameter_conf = '''
|
||||
mme.conf
|
||||
hss.conf
|
||||
pgw.conf
|
||||
smf.conf
|
||||
pcrf.conf
|
||||
'''.split()
|
||||
@@ -42,8 +41,6 @@ freediameter_pem = '''
|
||||
mme.key.pem
|
||||
hss.cert.pem
|
||||
hss.key.pem
|
||||
pgw.cert.pem
|
||||
pgw.key.pem
|
||||
smf.cert.pem
|
||||
smf.key.pem
|
||||
pcrf.cert.pem
|
||||
|
||||
@@ -1,60 +0,0 @@
|
||||
Certificate:
|
||||
Data:
|
||||
Version: 3 (0x2)
|
||||
Serial Number: 3 (0x3)
|
||||
Signature Algorithm: sha256WithRSAEncryption
|
||||
Issuer: CN=ca.localdomain, C=KO, ST=Seoul, L=Nowon, O=Open5GS, OU=Tests
|
||||
Validity
|
||||
Not Before: Oct 20 06:43:58 2019 GMT
|
||||
Not After : Oct 17 06:43:58 2029 GMT
|
||||
Subject: C=KO, ST=Seoul, O=Open5GS, OU=Tests, CN=pgw.localdomain
|
||||
Subject Public Key Info:
|
||||
Public Key Algorithm: rsaEncryption
|
||||
RSA Public-Key: (1024 bit)
|
||||
Modulus:
|
||||
00:bf:bc:94:38:f4:03:a5:23:8c:21:ba:4e:5e:51:
|
||||
f7:76:f5:e1:1e:43:fc:04:a0:f9:b9:9f:47:dd:d3:
|
||||
b5:aa:83:e8:cb:d0:3c:56:0e:4d:fd:de:b6:93:fa:
|
||||
eb:a3:94:4a:79:68:1d:84:61:cf:b7:d0:ac:d0:41:
|
||||
ef:66:e0:8a:40:ec:b4:d2:5b:ce:cc:2c:cd:7d:7e:
|
||||
87:73:b0:4b:4d:79:54:3b:a4:48:bb:19:4f:9f:7e:
|
||||
30:e7:af:17:32:a3:95:af:c4:a5:19:8f:53:3c:16:
|
||||
cd:54:9d:38:98:2b:0f:b7:cd:33:91:f0:ef:b8:d2:
|
||||
9f:0e:fe:8e:77:9d:e8:ba:f3
|
||||
Exponent: 65537 (0x10001)
|
||||
X509v3 extensions:
|
||||
X509v3 Basic Constraints:
|
||||
CA:FALSE
|
||||
Netscape Comment:
|
||||
OpenSSL Generated Certificate
|
||||
X509v3 Subject Key Identifier:
|
||||
EB:F6:EA:D3:F2:F2:C6:C6:83:EF:13:CD:AF:49:A8:ED:03:DF:7F:ED
|
||||
X509v3 Authority Key Identifier:
|
||||
keyid:C5:38:DC:BA:0F:C3:29:6E:3D:99:07:96:D0:87:12:FD:B8:48:CC:37
|
||||
|
||||
Signature Algorithm: sha256WithRSAEncryption
|
||||
3b:00:ef:c4:9f:69:c3:22:06:76:6f:70:88:50:1c:f3:a2:9a:
|
||||
68:00:34:fa:3a:68:b2:94:fe:7c:31:7d:4e:95:bd:47:4d:69:
|
||||
1f:76:32:64:83:1b:5b:11:71:bb:0a:7a:af:72:54:7a:dc:30:
|
||||
51:e5:93:27:8c:8a:51:e6:e5:15:53:70:14:85:3b:77:1a:87:
|
||||
ce:d0:6f:31:07:5d:14:30:d7:de:a0:b5:a7:a1:96:18:1a:fd:
|
||||
ea:9f:c2:ea:bb:72:52:84:b6:57:6d:70:93:35:64:d3:8b:82:
|
||||
1b:7b:ea:85:8a:fb:c6:b3:e0:66:ad:db:11:dd:5e:6e:22:dd:
|
||||
b4:23
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIICsjCCAhugAwIBAgIBAzANBgkqhkiG9w0BAQsFADBoMRcwFQYDVQQDDA5jYS5s
|
||||
b2NhbGRvbWFpbjELMAkGA1UEBhMCS08xDjAMBgNVBAgMBVNlb3VsMQ4wDAYDVQQH
|
||||
DAVOb3dvbjEQMA4GA1UECgwHT3BlbjVHUzEOMAwGA1UECwwFVGVzdHMwHhcNMTkx
|
||||
MDIwMDY0MzU4WhcNMjkxMDE3MDY0MzU4WjBZMQswCQYDVQQGEwJLTzEOMAwGA1UE
|
||||
CAwFU2VvdWwxEDAOBgNVBAoMB09wZW41R1MxDjAMBgNVBAsMBVRlc3RzMRgwFgYD
|
||||
VQQDDA9wZ3cubG9jYWxkb21haW4wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGB
|
||||
AL+8lDj0A6UjjCG6Tl5R93b14R5D/ASg+bmfR93TtaqD6MvQPFYOTf3etpP666OU
|
||||
SnloHYRhz7fQrNBB72bgikDstNJbzswszX1+h3OwS015VDukSLsZT59+MOevFzKj
|
||||
la/EpRmPUzwWzVSdOJgrD7fNM5Hw77jSnw7+jned6LrzAgMBAAGjezB5MAkGA1Ud
|
||||
EwQCMAAwLAYJYIZIAYb4QgENBB8WHU9wZW5TU0wgR2VuZXJhdGVkIENlcnRpZmlj
|
||||
YXRlMB0GA1UdDgQWBBTr9urT8vLGxoPvE82vSajtA99/7TAfBgNVHSMEGDAWgBTF
|
||||
ONy6D8Mpbj2ZB5bQhxL9uEjMNzANBgkqhkiG9w0BAQsFAAOBgQA7AO/En2nDIgZ2
|
||||
b3CIUBzzoppoADT6OmiylP58MX1Olb1HTWkfdjJkgxtbEXG7CnqvclR63DBR5ZMn
|
||||
jIpR5uUVU3AUhTt3GofO0G8xB10UMNfeoLWnoZYYGv3qn8Lqu3JShLZXbXCTNWTT
|
||||
i4Ibe+qFivvGs+BmrdsR3V5uIt20Iw==
|
||||
-----END CERTIFICATE-----
|
||||
@@ -1,266 +0,0 @@
|
||||
# This is a sample configuration file for freeDiameter daemon.
|
||||
|
||||
# Most of the options can be omitted, as they default to reasonable values.
|
||||
# Only TLS-related options must be configured properly in usual setups.
|
||||
|
||||
# It is possible to use "include" keyword to import additional files
|
||||
# e.g.: include "/etc/freeDiameter.d/*.conf"
|
||||
# This is exactly equivalent as copy & paste the content of the included file(s)
|
||||
# where the "include" keyword is found.
|
||||
|
||||
|
||||
##############################################################
|
||||
## Peer identity and realm
|
||||
|
||||
# The Diameter Identity of this daemon.
|
||||
# This must be a valid FQDN that resolves to the local host.
|
||||
# Default: hostname's FQDN
|
||||
#Identity = "aaa.koganei.freediameter.net";
|
||||
Identity = "pgw.localdomain";
|
||||
|
||||
# The Diameter Realm of this daemon.
|
||||
# Default: the domain part of Identity (after the first dot).
|
||||
#Realm = "koganei.freediameter.net";
|
||||
Realm = "localdomain";
|
||||
|
||||
##############################################################
|
||||
## Transport protocol configuration
|
||||
|
||||
# The port this peer is listening on for incoming connections (TCP and SCTP).
|
||||
# Default: 3868. Use 0 to disable.
|
||||
#Port = 3868;
|
||||
|
||||
# The port this peer is listening on for incoming TLS-protected connections (TCP and SCTP).
|
||||
# See TLS_old_method for more information about TLS flavours.
|
||||
# Note: we use TLS/SCTP instead of DTLS/SCTP at the moment. This will change in future version of freeDiameter.
|
||||
# Default: 5868. Use 0 to disable.
|
||||
#SecPort = 5868;
|
||||
|
||||
# Use RFC3588 method for TLS protection, where TLS is negociated after CER/CEA exchange is completed
|
||||
# on the unsecure connection. The alternative is RFC6733 mechanism, where TLS protects also the
|
||||
# CER/CEA exchange on a dedicated secure port.
|
||||
# This parameter only affects outgoing connections.
|
||||
# The setting can be also defined per-peer (see Peers configuration section).
|
||||
# Default: use RFC6733 method with separate port for TLS.
|
||||
#TLS_old_method;
|
||||
|
||||
# Disable use of TCP protocol (only listen and connect over SCTP)
|
||||
# Default : TCP enabled
|
||||
#No_TCP;
|
||||
|
||||
# Disable use of SCTP protocol (only listen and connect over TCP)
|
||||
# Default : SCTP enabled
|
||||
#No_SCTP;
|
||||
# This option is ignored if freeDiameter is compiled with DISABLE_SCTP option.
|
||||
|
||||
# Prefer TCP instead of SCTP for establishing new connections.
|
||||
# This setting may be overwritten per peer in peer configuration blocs.
|
||||
# Default : SCTP is attempted first.
|
||||
#Prefer_TCP;
|
||||
|
||||
# Default number of streams per SCTP associations.
|
||||
# This setting may be overwritten per peer basis.
|
||||
# Default : 30 streams
|
||||
#SCTP_streams = 30;
|
||||
|
||||
##############################################################
|
||||
## Endpoint configuration
|
||||
|
||||
# Disable use of IP addresses (only IPv6)
|
||||
# Default : IP enabled
|
||||
#No_IP;
|
||||
|
||||
# Disable use of IPv6 addresses (only IP)
|
||||
# Default : IPv6 enabled
|
||||
#No_IPv6;
|
||||
|
||||
# Specify local addresses the server must bind to
|
||||
# Default : listen on all addresses available.
|
||||
#ListenOn = "202.249.37.5";
|
||||
#ListenOn = "2001:200:903:2::202:1";
|
||||
#ListenOn = "fe80::21c:5ff:fe98:7d62%eth0";
|
||||
ListenOn = "127.0.0.4";
|
||||
|
||||
|
||||
##############################################################
|
||||
## Server configuration
|
||||
|
||||
# How many Diameter peers are allowed to be connecting at the same time ?
|
||||
# This parameter limits the number of incoming connections from the time
|
||||
# the connection is accepted until the first CER is received.
|
||||
# Default: 5 unidentified clients in paralel.
|
||||
#ThreadsPerServer = 5;
|
||||
|
||||
##############################################################
|
||||
## TLS Configuration
|
||||
|
||||
# TLS is managed by the GNUTLS library in the freeDiameter daemon.
|
||||
# You may find more information about parameters and special behaviors
|
||||
# in the relevant documentation.
|
||||
# http://www.gnu.org/software/gnutls/manual/
|
||||
|
||||
# Credentials of the local peer
|
||||
# The X509 certificate and private key file to use for the local peer.
|
||||
# The files must contain PKCS-1 encoded RSA key, in PEM format.
|
||||
# (These parameters are passed to gnutls_certificate_set_x509_key_file function)
|
||||
# Default : NO DEFAULT
|
||||
#TLS_Cred = "<x509 certif file.PEM>" , "<x509 private key file.PEM>";
|
||||
#TLS_Cred = "/etc/ssl/certs/freeDiameter.pem", "/etc/ssl/private/freeDiameter.key";
|
||||
TLS_Cred = "@sysconfdir@/freeDiameter/pgw.cert.pem", "@sysconfdir@/freeDiameter/pgw.key.pem";
|
||||
|
||||
# Certificate authority / trust anchors
|
||||
# The file containing the list of trusted Certificate Authorities (PEM list)
|
||||
# (This parameter is passed to gnutls_certificate_set_x509_trust_file function)
|
||||
# The directive can appear several times to specify several files.
|
||||
# Default : GNUTLS default behavior
|
||||
#TLS_CA = "<file.PEM>";
|
||||
TLS_CA = "@sysconfdir@/freeDiameter/cacert.pem";
|
||||
|
||||
# Certificate Revocation List file
|
||||
# The information about revoked certificates.
|
||||
# The file contains a list of trusted CRLs in PEM format. They should have been verified before.
|
||||
# (This parameter is passed to gnutls_certificate_set_x509_crl_file function)
|
||||
# Note: openssl CRL format might have interoperability issue with GNUTLS format.
|
||||
# Default : GNUTLS default behavior
|
||||
#TLS_CRL = "<file.PEM>";
|
||||
|
||||
# GNU TLS Priority string
|
||||
# This string allows to configure the behavior of GNUTLS key exchanges
|
||||
# algorithms. See gnutls_priority_init function documentation for information.
|
||||
# You should also refer to the Diameter required TLS support here:
|
||||
# http://tools.ietf.org/html/rfc6733#section-13.1
|
||||
# Default : "NORMAL"
|
||||
# Example: TLS_Prio = "NONE:+VERS-TLS1.1:+AES-128-CBC:+RSA:+SHA1:+COMP-NULL";
|
||||
#TLS_Prio = "NORMAL";
|
||||
|
||||
# Diffie-Hellman parameters size
|
||||
# Set the number of bits for generated DH parameters
|
||||
# Valid value should be 768, 1024, 2048, 3072 or 4096.
|
||||
# (This parameter is passed to gnutls_dh_params_generate2 function,
|
||||
# it usually should match RSA key size)
|
||||
# Default : 1024
|
||||
#TLS_DH_Bits = 1024;
|
||||
|
||||
# Alternatively, you can specify a file to load the PKCS#3 encoded
|
||||
# DH parameters directly from. This accelerates the daemon start
|
||||
# but is slightly less secure. If this file is provided, the
|
||||
# TLS_DH_Bits parameters has no effect.
|
||||
# Default : no default.
|
||||
#TLS_DH_File = "<file.PEM>";
|
||||
|
||||
|
||||
##############################################################
|
||||
## Timers configuration
|
||||
|
||||
# The Tc timer of this peer.
|
||||
# It is the delay before a new attempt is made to reconnect a disconnected peer.
|
||||
# The value is expressed in seconds. The recommended value is 30 seconds.
|
||||
# Default: 30
|
||||
#TcTimer = 30;
|
||||
|
||||
# The Tw timer of this peer.
|
||||
# It is the delay before a watchdog message is sent, as described in RFC 3539.
|
||||
# The value is expressed in seconds. The default value is 30 seconds. Value must
|
||||
# be greater or equal to 6 seconds. See details in the RFC.
|
||||
# Default: 30
|
||||
#TwTimer = 30;
|
||||
|
||||
##############################################################
|
||||
## Applications configuration
|
||||
|
||||
# Disable the relaying of Diameter messages?
|
||||
# For messages not handled locally, the default behavior is to forward the
|
||||
# message to another peer if any is available, according to the routing
|
||||
# algorithms. In addition the "0xffffff" application is advertised in CER/CEA
|
||||
# exchanges.
|
||||
# Default: Relaying is enabled.
|
||||
#NoRelay;
|
||||
|
||||
# Number of server threads that can handle incoming messages at the same time.
|
||||
# Default: 4
|
||||
#AppServThreads = 4;
|
||||
|
||||
# Other applications are configured by loaded extensions.
|
||||
|
||||
##############################################################
|
||||
## Extensions configuration
|
||||
|
||||
# The freeDiameter framework merely provides support for
|
||||
# Diameter Base Protocol. The specific application behaviors,
|
||||
# as well as advanced functions, are provided
|
||||
# by loadable extensions (plug-ins).
|
||||
# These extensions may in addition receive the name of a
|
||||
# configuration file, the format of which is extension-specific.
|
||||
#
|
||||
# Format:
|
||||
#LoadExtension = "/path/to/extension" [ : "/optional/configuration/file" ] ;
|
||||
#
|
||||
# Examples:
|
||||
#LoadExtension = "extensions/sample.fdx";
|
||||
#LoadExtension = "extensions/sample.fdx":"conf/sample.conf";
|
||||
|
||||
# Extensions are named as follow:
|
||||
# dict_* for extensions that add content to the dictionary definitions.
|
||||
# dbg_* for extensions useful only to retrieve more information on the framework execution.
|
||||
# acl_* : Access control list, to control which peers are allowed to connect.
|
||||
# rt_* : routing extensions that impact how messages are forwarded to other peers.
|
||||
# app_* : applications, these extensions usually register callbacks to handle specific messages.
|
||||
# test_* : dummy extensions that are useful only in testing environments.
|
||||
|
||||
|
||||
# The dbg_msg_dump.fdx extension allows you to tweak the way freeDiameter displays some
|
||||
# information about some events. This extension does not actually use a configuration file
|
||||
# but receives directly a parameter in the string passed to the extension. Here are some examples:
|
||||
## LoadExtension = "dbg_msg_dumps.fdx" : "0x1111"; # Removes all default hooks, very quiet even in case of errors.
|
||||
## LoadExtension = "dbg_msg_dumps.fdx" : "0x2222"; # Display all events with few details.
|
||||
## LoadExtension = "dbg_msg_dumps.fdx" : "0x0080"; # Dump complete information about sent and received messages.
|
||||
# The four digits respectively control: connections, routing decisions, sent/received messages, errors.
|
||||
# The values for each digit are:
|
||||
# 0 - default - keep the default behavior
|
||||
# 1 - quiet - remove any specific log
|
||||
# 2 - compact - display only a summary of the information
|
||||
# 4 - full - display the complete information on a single long line
|
||||
# 8 - tree - display the complete information in an easier to read format spanning several lines.
|
||||
|
||||
LoadExtension = "@libdir@/freeDiameter/dbg_msg_dumps.fdx" : "0x8888";
|
||||
LoadExtension = "@libdir@/freeDiameter/dict_rfc5777.fdx";
|
||||
LoadExtension = "@libdir@/freeDiameter/dict_mip6i.fdx";
|
||||
LoadExtension = "@libdir@/freeDiameter/dict_nasreq.fdx";
|
||||
LoadExtension = "@libdir@/freeDiameter/dict_nas_mipv6.fdx";
|
||||
LoadExtension = "@libdir@/freeDiameter/dict_dcca.fdx";
|
||||
LoadExtension = "@libdir@/freeDiameter/dict_dcca_3gpp.fdx";
|
||||
|
||||
|
||||
##############################################################
|
||||
## Peers configuration
|
||||
|
||||
# The local server listens for incoming connections. By default,
|
||||
# all unknown connecting peers are rejected. Extensions can override this behavior (e.g., acl_wl).
|
||||
#
|
||||
# In addition to incoming connections, the local peer can
|
||||
# be configured to establish and maintain connections to some
|
||||
# Diameter nodes and allow connections from these nodes.
|
||||
# This is achieved with the ConnectPeer directive described below.
|
||||
#
|
||||
# Note that the configured Diameter Identity MUST match
|
||||
# the information received inside CEA, or the connection will be aborted.
|
||||
#
|
||||
# Format:
|
||||
#ConnectPeer = "diameterid" [ { parameter1; parameter2; ...} ] ;
|
||||
# Parameters that can be specified in the peer's parameter list:
|
||||
# No_TCP; No_SCTP; No_IP; No_IPv6; Prefer_TCP; TLS_old_method;
|
||||
# No_TLS; # assume transparent security instead of TLS. DTLS is not supported yet (will change in future versions).
|
||||
# Port = 5868; # The port to connect to
|
||||
# TcTimer = 30;
|
||||
# TwTimer = 30;
|
||||
# ConnectTo = "202.249.37.5";
|
||||
# ConnectTo = "2001:200:903:2::202:1";
|
||||
# TLS_Prio = "NORMAL";
|
||||
# Realm = "realm.net"; # Reject the peer if it does not advertise this realm.
|
||||
# Examples:
|
||||
#ConnectPeer = "aaa.wide.ad.jp";
|
||||
#ConnectPeer = "old.diameter.serv" { TcTimer = 60; TLS_old_method; No_SCTP; Port=3868; } ;
|
||||
ConnectPeer = "pcrf.localdomain" { ConnectTo = "127.0.0.9"; No_TLS; };
|
||||
|
||||
|
||||
##############################################################
|
||||
@@ -1,15 +0,0 @@
|
||||
-----BEGIN RSA PRIVATE KEY-----
|
||||
MIICXAIBAAKBgQC/vJQ49AOlI4whuk5eUfd29eEeQ/wEoPm5n0fd07Wqg+jL0DxW
|
||||
Dk393raT+uujlEp5aB2EYc+30KzQQe9m4IpA7LTSW87MLM19fodzsEtNeVQ7pEi7
|
||||
GU+ffjDnrxcyo5WvxKUZj1M8Fs1UnTiYKw+3zTOR8O+40p8O/o53nei68wIDAQAB
|
||||
AoGAarZPHH+aw79MD718PnyKKVhhqZGW4xCgzFG9EtXwpu1xlHXaDt85QxFANo4R
|
||||
teIjrPxoaTRzAlAOzn3T+0L/TnhU67WUOvSQEhGzS1liNNw024NekOy3rrqAvB3D
|
||||
esmOtR5+LtadCb2CuJdL0XALUp+F/g25CoryXsKMIg4Eg9ECQQD9fbT7n3GurBlF
|
||||
s1E+Ah1+fpD2qOvyFrK4Yzs/CYn5s1yEO0AMwLavO71Y+SIGzFnuIASbyEX4Adl/
|
||||
hxSvDp5ZAkEAwaJmOzgLsLvSf5RkYzaX+/IO/DBYowDknalMobDplaOlK5LLFNiM
|
||||
naEH6A6UV981OnIr6ScU8knC0HyDmmTyKwJAfu3jIdvE4OHsBaq0k4gbnKtjix8q
|
||||
hh43f3ywve/Y1t+pA81nVPtqfnQ7a8HT9/N7VHFT3W17G6RRdDn/cWiwgQJAOuD+
|
||||
5RLtuxfhshmVTPXU0S+Rju3EhgxHeAl628/Ht1DDcLR6PCR83ZGRreaBBRdCQDtn
|
||||
TsYrgGEdc/forJH1cQJBAMzBcACt51/OuHtPF+kxeRqgLINji82EQOGmZBvtWySI
|
||||
cRFndLh6N8OOkDnP2MwGY7j0jWveKE8mVA12ymMWZuU=
|
||||
-----END RSA PRIVATE KEY-----
|
||||
@@ -7,7 +7,7 @@
|
||||
create 640 open5gs open5gs
|
||||
|
||||
postrotate
|
||||
for i in pcrfd pgwd sgwd hssd mmed; do
|
||||
for i in nrfd pcrfd hssd ausfd udmd udrd upfd sgwcd sgwud smfd mmed amfd; do
|
||||
systemctl reload open5gs-$i
|
||||
done
|
||||
endscript
|
||||
|
||||
@@ -38,7 +38,8 @@ example_conf = '''
|
||||
310014.yaml
|
||||
csfb.yaml
|
||||
volte.yaml
|
||||
minimal.yaml
|
||||
vonr.yaml
|
||||
slice.yaml
|
||||
srslte.yaml
|
||||
sample.yaml
|
||||
'''.split()
|
||||
|
||||
@@ -1,8 +1,15 @@
|
||||
# truncate rails logs every day at midnight, keep 14 previous logs, compress previous logs
|
||||
#
|
||||
# logfilename [owner:group] mode count size when flags [/pid_file] [sig_num]
|
||||
@localstatedir@/log/open5gs/pcrf.log 644 14 * $D0 GZ @localstatedir@/run/open5gs-pcrfd/pid`
|
||||
@localstatedir@/log/open5gs/pgw.log 644 14 * $D0 GZ @localstatedir@/run/open5gs-pgwd/pid`
|
||||
@localstatedir@/log/open5gs/sgw.log 644 14 * $D0 GZ @localstatedir@/run/open5gs-sgwd/pid`
|
||||
@localstatedir@/log/open5gs/nrf.log 644 14 * $D0 GZ @localstatedir@/run/open5gs-nrfd/pid`
|
||||
@localstatedir@/log/open5gs/pcrf.log 644 14 * $D0 GZ @localstatedir@/run/open5gs-pcrfd/pid`
|
||||
@localstatedir@/log/open5gs/hss.log 644 14 * $D0 GZ @localstatedir@/run/open5gs-hssd/pid`
|
||||
@localstatedir@/log/open5gs/ausf.log 644 14 * $D0 GZ @localstatedir@/run/open5gs-ausfd/pid`
|
||||
@localstatedir@/log/open5gs/udm.log 644 14 * $D0 GZ @localstatedir@/run/open5gs-udmd/pid`
|
||||
@localstatedir@/log/open5gs/udr.log 644 14 * $D0 GZ @localstatedir@/run/open5gs-udrd/pid`
|
||||
@localstatedir@/log/open5gs/upf.log 644 14 * $D0 GZ @localstatedir@/run/open5gs-upfd/pid`
|
||||
@localstatedir@/log/open5gs/sgwc.log 644 14 * $D0 GZ @localstatedir@/run/open5gs-sgwcd/pid`
|
||||
@localstatedir@/log/open5gs/sgwu.log 644 14 * $D0 GZ @localstatedir@/run/open5gs-sgwud/pid`
|
||||
@localstatedir@/log/open5gs/smf.log 644 14 * $D0 GZ @localstatedir@/run/open5gs-smfd/pid`
|
||||
@localstatedir@/log/open5gs/mme.log 644 14 * $D0 GZ @localstatedir@/run/open5gs-mmed/pid`
|
||||
@localstatedir@/log/open5gs/amf.log 644 14 * $D0 GZ @localstatedir@/run/open5gs-amfd/pid`
|
||||
|
||||
@@ -137,13 +137,13 @@ logger:
|
||||
# <PLMN Support>
|
||||
#
|
||||
# o Multiple PLMN Support
|
||||
# plmn:
|
||||
# plmn_support:
|
||||
# - plmn_id:
|
||||
# mcc: 901
|
||||
# mnc: 70
|
||||
# s_nssai:
|
||||
# - sst: 1
|
||||
# - sd: 010000
|
||||
# sd: 010000
|
||||
# - plmn_id:
|
||||
# mcc: 901
|
||||
# mnc: 70
|
||||
@@ -160,6 +160,10 @@ logger:
|
||||
#
|
||||
# amf_name: amf1.open5gs.amf.5gc.mnc70.mcc901.3gppnetwork.org
|
||||
#
|
||||
# <Relative Capacity> - Default(255)
|
||||
#
|
||||
# relative_capacity: 100
|
||||
#
|
||||
amf:
|
||||
sbi:
|
||||
- addr: 127.0.0.5
|
||||
@@ -178,14 +182,14 @@ amf:
|
||||
mcc: 901
|
||||
mnc: 70
|
||||
tac: 1
|
||||
plmn:
|
||||
plmn_support:
|
||||
- plmn_id:
|
||||
mcc: 901
|
||||
mnc: 70
|
||||
s_nssai:
|
||||
- sst: 1
|
||||
security:
|
||||
integrity_order : [ NIA1, NIA2, NIA0 ]
|
||||
integrity_order : [ NIA2, NIA1, NIA0 ]
|
||||
ciphering_order : [ NEA0, NEA1, NEA2 ]
|
||||
network_name:
|
||||
full: Open5GS
|
||||
@@ -250,60 +254,62 @@ parameter:
|
||||
#
|
||||
# max:
|
||||
#
|
||||
# o Maximum Number of gNB per AMF
|
||||
# o Maximum Number of UE per AMF/MME
|
||||
# ue: 1024
|
||||
# o Maximum Number of gNB/eNB per AMF/MME
|
||||
# gnb: 32
|
||||
# o Maximum Number of UE per gNB
|
||||
# ue: 128
|
||||
# o Maximum Number of NF Instance
|
||||
# nf: 512
|
||||
#
|
||||
max:
|
||||
|
||||
#
|
||||
# pool:
|
||||
#
|
||||
# o The Number of Default Memory Pool Size
|
||||
# o The default memory pool size was set assuming 1024 UEs.
|
||||
# To connect more UEs, you need to increase the size further.
|
||||
#
|
||||
# - Pool-size 128 => 8192 Number
|
||||
# - Pool-size 256 => 4096 Number
|
||||
# - Pool-size 512 => 2048 Number
|
||||
# - Pool-size 128 => 65536 Number
|
||||
# - Pool-size 256 => 16384 Number
|
||||
# - Pool-size 512 => 4096 Number
|
||||
# - Pool-size 1024 => 1024 Number
|
||||
# - Pool-size 2048 => 512 Number
|
||||
# - Pool-size 8192 => 128 Number
|
||||
# - Pool-size 1024*1024 => 8 Number
|
||||
#
|
||||
# 128: 8192
|
||||
# 256: 4096
|
||||
# 512: 2048
|
||||
# 128: 65536
|
||||
# 256: 16384
|
||||
# 512: 4096
|
||||
# 1024: 1024
|
||||
# 2048: 512
|
||||
# 8192: 128
|
||||
# big: 8
|
||||
#
|
||||
# o Memory of Packet Buffering in UPF/SGW
|
||||
# - Maximum Number of packet(SDU size = 8Kbytes) pool in UPF/SGW
|
||||
# - UPF/SGW Memory Usage : 65536 * 8Kbytes = 512Mbytes
|
||||
#
|
||||
# packet: 65536
|
||||
#
|
||||
pool:
|
||||
|
||||
#
|
||||
# time:
|
||||
#
|
||||
# o NF Instance Heartbeat (Default : 10 seconds)
|
||||
# o NF Instance Heartbeat (Default : 0)
|
||||
# NFs will not send heart-beat timer in NFProfile
|
||||
# NRF will send heart-beat timer in NFProfile
|
||||
#
|
||||
# o NF Instance Heartbeat (20 seconds)
|
||||
# NFs will send heart-beat timer (20 seconds) in NFProfile
|
||||
# NRF can change heart-beat timer in NFProfile
|
||||
#
|
||||
# o NF Instance Heartbeat (Disabled)
|
||||
# nf_instance:
|
||||
# heartbeat: 0
|
||||
# heartbeat: 20
|
||||
#
|
||||
# o NF Instance Heartbeat (10 seconds)
|
||||
# nf_instance:
|
||||
# heartbeat: 10
|
||||
#
|
||||
# o Message Wait Duration (Default : 2000ms = 2 seconds)
|
||||
# o Message Wait Duration (Default : 10,000 ms = 10 seconds)
|
||||
#
|
||||
# o Message Wait Duration (3000 ms)
|
||||
# message:
|
||||
# duration: 3000
|
||||
#
|
||||
# o Handover Wait Duration (Default : 300 ms)
|
||||
# Time to wait for AMF to send UEContextReleaseCommand
|
||||
# to the source gNB after receiving HandoverNotify
|
||||
#
|
||||
# o Handover Wait Duration (500ms)
|
||||
# handover:
|
||||
# duration: 500
|
||||
time:
|
||||
|
||||
@@ -126,58 +126,52 @@ parameter:
|
||||
#
|
||||
# max:
|
||||
#
|
||||
# o Maximum Number of gNB per AMF
|
||||
# o Maximum Number of UE per AMF/MME
|
||||
# ue: 1024
|
||||
# o Maximum Number of gNB/eNB per AMF/MME
|
||||
# gnb: 32
|
||||
# o Maximum Number of UE per gNB
|
||||
# ue: 128
|
||||
# o Maximum Number of NF Instance
|
||||
# nf: 512
|
||||
#
|
||||
max:
|
||||
|
||||
#
|
||||
# pool:
|
||||
#
|
||||
# o The Number of Default Memory Pool Size
|
||||
# o The default memory pool size was set assuming 1024 UEs.
|
||||
# To connect more UEs, you need to increase the size further.
|
||||
#
|
||||
# - Pool-size 128 => 8192 Number
|
||||
# - Pool-size 256 => 4096 Number
|
||||
# - Pool-size 512 => 2048 Number
|
||||
# - Pool-size 128 => 65536 Number
|
||||
# - Pool-size 256 => 16384 Number
|
||||
# - Pool-size 512 => 4096 Number
|
||||
# - Pool-size 1024 => 1024 Number
|
||||
# - Pool-size 2048 => 512 Number
|
||||
# - Pool-size 8192 => 128 Number
|
||||
# - Pool-size 1024*1024 => 8 Number
|
||||
#
|
||||
# 128: 8192
|
||||
# 256: 4096
|
||||
# 512: 2048
|
||||
# 128: 65536
|
||||
# 256: 16384
|
||||
# 512: 4096
|
||||
# 1024: 1024
|
||||
# 2048: 512
|
||||
# 8192: 128
|
||||
# big: 8
|
||||
#
|
||||
# o Memory of Packet Buffering in UPF/SGW
|
||||
# - Maximum Number of packet(SDU size = 8Kbytes) pool in UPF/SGW
|
||||
# - UPF/SGW Memory Usage : 65536 * 8Kbytes = 512Mbytes
|
||||
#
|
||||
# packet: 65536
|
||||
#
|
||||
pool:
|
||||
|
||||
#
|
||||
# time:
|
||||
#
|
||||
# o NF Instance Heartbeat (Default : 10 seconds)
|
||||
# o NF Instance Heartbeat (Default : 0)
|
||||
# NFs will not send heart-beat timer in NFProfile
|
||||
# NRF will send heart-beat timer in NFProfile
|
||||
#
|
||||
# o NF Instance Heartbeat (20 seconds)
|
||||
# NFs will send heart-beat timer (20 seconds) in NFProfile
|
||||
# NRF can change heart-beat timer in NFProfile
|
||||
#
|
||||
# o NF Instance Heartbeat (Disabled)
|
||||
# nf_instance:
|
||||
# heartbeat: 0
|
||||
# heartbeat: 20
|
||||
#
|
||||
# o NF Instance Heartbeat (10 seconds)
|
||||
# nf_instance:
|
||||
# heartbeat: 10
|
||||
#
|
||||
# o Message Wait Duration (Default : 2000ms = 2 seconds)
|
||||
# o Message Wait Duration (Default : 10,000 ms = 10 seconds)
|
||||
#
|
||||
# o Message Wait Duration (3000 ms)
|
||||
# message:
|
||||
|
||||
@@ -52,44 +52,33 @@ parameter:
|
||||
#
|
||||
# max:
|
||||
#
|
||||
# o Maximum Number of SGW per MME
|
||||
# sgw: 32
|
||||
# o Maximum Number of PGW per MME
|
||||
# pgw: 32
|
||||
# o Maximum Number of VLR per MME
|
||||
# vlr: 32
|
||||
# o Maximum Number of eNodeB per MME
|
||||
# enb: 32
|
||||
# o Maximum Number of UE per eNodeB
|
||||
# ue: 128
|
||||
# o Maximum Number of UE per AMF/MME
|
||||
# ue: 1024
|
||||
# o Maximum Number of gNB/eNB per AMF/MME
|
||||
# gnb: 32
|
||||
#
|
||||
max:
|
||||
|
||||
#
|
||||
# pool:
|
||||
#
|
||||
# o The Number of Default Memory Pool Size
|
||||
# o The default memory pool size was set assuming 1024 UEs.
|
||||
# To connect more UEs, you need to increase the size further.
|
||||
#
|
||||
# - Pool-size 128 => 8192 Number
|
||||
# - Pool-size 256 => 4096 Number
|
||||
# - Pool-size 512 => 2048 Number
|
||||
# - Pool-size 128 => 65536 Number
|
||||
# - Pool-size 256 => 16384 Number
|
||||
# - Pool-size 512 => 4096 Number
|
||||
# - Pool-size 1024 => 1024 Number
|
||||
# - Pool-size 2048 => 512 Number
|
||||
# - Pool-size 8192 => 128 Number
|
||||
# - Pool-size 1024*1024 => 8 Number
|
||||
#
|
||||
# 128: 8192
|
||||
# 256: 4096
|
||||
# 512: 2048
|
||||
# 128: 65536
|
||||
# 256: 16384
|
||||
# 512: 4096
|
||||
# 1024: 1024
|
||||
# 2048: 512
|
||||
# 8192: 128
|
||||
# big: 8
|
||||
#
|
||||
# o Memory of Packet Buffering in UPF/SGW
|
||||
# - Maximum Number of packet(SDU size = 8Kbytes) pool in UPF/SGW
|
||||
# - UPF/SGW Memory Usage : 65536 * 8Kbytes = 512Mbytes
|
||||
#
|
||||
# packet: 65536
|
||||
#
|
||||
pool:
|
||||
|
||||
@@ -21,20 +21,19 @@ meson.add_install_script(python3_exe, '-c',
|
||||
|
||||
open5gs_conf = '''
|
||||
mme.yaml
|
||||
hss.yaml
|
||||
sgw.yaml
|
||||
sgwc.yaml
|
||||
sgwu.yaml
|
||||
pgw.yaml
|
||||
pcrf.yaml
|
||||
|
||||
nrf.yaml
|
||||
udr.yaml
|
||||
udm.yaml
|
||||
ausf.yaml
|
||||
upf.yaml
|
||||
smf.yaml
|
||||
amf.yaml
|
||||
upf.yaml
|
||||
hss.yaml
|
||||
pcrf.yaml
|
||||
nrf.yaml
|
||||
ausf.yaml
|
||||
udm.yaml
|
||||
udr.yaml
|
||||
pcf.yaml
|
||||
nssf.yaml
|
||||
'''.split()
|
||||
|
||||
foreach file : open5gs_conf
|
||||
|
||||
@@ -201,12 +201,16 @@ logger:
|
||||
#
|
||||
# mme_name: open5gs-mme0
|
||||
#
|
||||
# <Relative Capacity> - Default(255)
|
||||
#
|
||||
# relative_capacity: 100
|
||||
#
|
||||
mme:
|
||||
freeDiameter: @sysconfdir@/freeDiameter/mme.conf
|
||||
s1ap:
|
||||
addr: 127.0.0.2
|
||||
- addr: 127.0.0.2
|
||||
gtpc:
|
||||
addr: 127.0.0.2
|
||||
- addr: 127.0.0.2
|
||||
gummei:
|
||||
plmn_id:
|
||||
mcc: 901
|
||||
@@ -219,7 +223,7 @@ mme:
|
||||
mnc: 70
|
||||
tac: 1
|
||||
security:
|
||||
integrity_order : [ EIA1, EIA2, EIA0 ]
|
||||
integrity_order : [ EIA2, EIA1, EIA0 ]
|
||||
ciphering_order : [ EEA0, EEA1, EEA2 ]
|
||||
network_name:
|
||||
full: Open5GS
|
||||
@@ -283,7 +287,7 @@ mme:
|
||||
#
|
||||
sgwc:
|
||||
gtpc:
|
||||
addr: 127.0.0.3
|
||||
- addr: 127.0.0.3
|
||||
|
||||
#
|
||||
# smf:
|
||||
@@ -324,7 +328,7 @@ sgwc:
|
||||
# apn: volte
|
||||
smf:
|
||||
gtpc:
|
||||
addr:
|
||||
- addr:
|
||||
- 127.0.0.4
|
||||
- ::1
|
||||
|
||||
@@ -349,51 +353,45 @@ smf:
|
||||
# o Disable Stateless Address Autoconfiguration for IPv6
|
||||
# no_slaac: true
|
||||
#
|
||||
# o Use OAI UE
|
||||
# - Remove HashMME in Security-mode command message
|
||||
# - Use the length 1 of EPS network feature support in Attach accept message
|
||||
# use_openair: true
|
||||
#
|
||||
parameter:
|
||||
|
||||
#
|
||||
# max:
|
||||
#
|
||||
# o Maximum Number of SGW per MME
|
||||
# sgw: 32
|
||||
# o Maximum Number of PGW per MME
|
||||
# pgw: 32
|
||||
# o Maximum Number of VLR per MME
|
||||
# vlr: 32
|
||||
# o Maximum Number of eNodeB per MME
|
||||
# enb: 32
|
||||
# o Maximum Number of UE per eNodeB
|
||||
# ue: 128
|
||||
# o Maximum Number of UE per AMF/MME
|
||||
# ue: 1024
|
||||
# o Maximum Number of gNB/eNB per AMF/MME
|
||||
# gnb: 32
|
||||
#
|
||||
max:
|
||||
|
||||
#
|
||||
# pool:
|
||||
#
|
||||
# o The Number of Default Memory Pool Size
|
||||
# o The default memory pool size was set assuming 1024 UEs.
|
||||
# To connect more UEs, you need to increase the size further.
|
||||
#
|
||||
# - Pool-size 128 => 8192 Number
|
||||
# - Pool-size 256 => 4096 Number
|
||||
# - Pool-size 512 => 2048 Number
|
||||
# - Pool-size 128 => 65536 Number
|
||||
# - Pool-size 256 => 16384 Number
|
||||
# - Pool-size 512 => 4096 Number
|
||||
# - Pool-size 1024 => 1024 Number
|
||||
# - Pool-size 2048 => 512 Number
|
||||
# - Pool-size 8192 => 128 Number
|
||||
# - Pool-size 1024*1024 => 8 Number
|
||||
#
|
||||
# 128: 8192
|
||||
# 256: 4096
|
||||
# 512: 2048
|
||||
# 128: 65536
|
||||
# 256: 16384
|
||||
# 512: 4096
|
||||
# 1024: 1024
|
||||
# 2048: 512
|
||||
# 8192: 128
|
||||
# big: 8
|
||||
#
|
||||
# o Memory of Packet Buffering in UPF/SGW
|
||||
# - Maximum Number of packet(SDU size = 8Kbytes) pool in UPF/SGW
|
||||
# - UPF/SGW Memory Usage : 65536 * 8Kbytes = 512Mbytes
|
||||
#
|
||||
# packet: 65536
|
||||
#
|
||||
pool:
|
||||
|
||||
#
|
||||
@@ -410,3 +408,21 @@ pool:
|
||||
# o usrsctp_udp_port : 9899
|
||||
#
|
||||
sctp:
|
||||
|
||||
#
|
||||
# time:
|
||||
#
|
||||
# o Message Wait Duration (Default : 10,000 ms = 10 seconds)
|
||||
#
|
||||
# o Message Wait Duration (3000 ms)
|
||||
# message:
|
||||
# duration: 3000
|
||||
#
|
||||
# o Handover Wait Duration (Default : 300 ms)
|
||||
# Time to wait for MME to send UEContextReleaseCommand
|
||||
# to the source eNB after receiving HandoverNotify
|
||||
#
|
||||
# o Handover Wait Duration (500ms)
|
||||
# handover:
|
||||
# duration: 500
|
||||
time:
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
db_uri: mongodb://localhost/open5gs
|
||||
|
||||
#
|
||||
# logger:
|
||||
#
|
||||
@@ -96,47 +98,50 @@ parameter:
|
||||
#
|
||||
# max:
|
||||
#
|
||||
# o Maximum Number of gNB per MME
|
||||
# o Maximum Number of UE per AMF/MME
|
||||
# ue: 1024
|
||||
# o Maximum Number of gNB/eNB per AMF/MME
|
||||
# gnb: 32
|
||||
# o Maximum Number of UE per gNB
|
||||
# ue: 128
|
||||
# o Maximum Number of NF Instance
|
||||
# nf: 512
|
||||
#
|
||||
max:
|
||||
|
||||
#
|
||||
# pool:
|
||||
#
|
||||
# o The Number of Default Memory Pool Size
|
||||
# o The default memory pool size was set assuming 1024 UEs.
|
||||
# To connect more UEs, you need to increase the size further.
|
||||
#
|
||||
# - Pool-size 128 => 8192 Number
|
||||
# - Pool-size 256 => 4096 Number
|
||||
# - Pool-size 512 => 2048 Number
|
||||
# - Pool-size 128 => 65536 Number
|
||||
# - Pool-size 256 => 16384 Number
|
||||
# - Pool-size 512 => 4096 Number
|
||||
# - Pool-size 1024 => 1024 Number
|
||||
# - Pool-size 2048 => 512 Number
|
||||
# - Pool-size 8192 => 128 Number
|
||||
# - Pool-size 1024*1024 => 8 Number
|
||||
#
|
||||
# 128: 8192
|
||||
# 256: 4096
|
||||
# 512: 2048
|
||||
# 128: 65536
|
||||
# 256: 16384
|
||||
# 512: 4096
|
||||
# 1024: 1024
|
||||
# 2048: 512
|
||||
# 8192: 128
|
||||
# big: 8
|
||||
#
|
||||
# o Memory of Packet Buffering in UPF/SGW
|
||||
# - Maximum Number of packet(SDU size = 8Kbytes) pool in UPF/SGW
|
||||
# - UPF/SGW Memory Usage : 65536 * 8Kbytes = 512Mbytes
|
||||
#
|
||||
# packet: 65536
|
||||
#
|
||||
pool:
|
||||
|
||||
#
|
||||
# time:
|
||||
#
|
||||
# o NF Instance Heartbeat (Default : 10 seconds)
|
||||
#
|
||||
# o NF Instance Heartbeat (Disabled)
|
||||
# nf_instance:
|
||||
# heartbeat: 0
|
||||
#
|
||||
# o NF Instance Heartbeat (5 seconds)
|
||||
# nf_instance:
|
||||
# heartbeat: 5
|
||||
#
|
||||
# o NF Instance Validity (Default : 3600 seconds = 1 hour)
|
||||
#
|
||||
# o NF Instance Validity (10 seconds)
|
||||
@@ -153,7 +158,7 @@ pool:
|
||||
# subscription:
|
||||
# validity: 3600
|
||||
#
|
||||
# o Message Wait Duration (Default : 2000ms = 2 seconds)
|
||||
# o Message Wait Duration (Default : 10,000 ms = 10 seconds)
|
||||
#
|
||||
# o Message Wait Duration (3000 ms)
|
||||
# message:
|
||||
|
||||
187
configs/open5gs/nssf.yaml.in
Normal file
187
configs/open5gs/nssf.yaml.in
Normal file
@@ -0,0 +1,187 @@
|
||||
#
|
||||
# logger:
|
||||
#
|
||||
# o Set OGS_LOG_INFO to all domain level
|
||||
# - If `level` is omitted, the default level is OGS_LOG_INFO)
|
||||
# - If `domain` is omitted, the all domain level is set from 'level'
|
||||
# (Nothing is needed)
|
||||
#
|
||||
# o Set OGS_LOG_ERROR to all domain level
|
||||
# - `level` can be set with none, fatal, error, warn, info, debug, trace
|
||||
# level: error
|
||||
#
|
||||
# o Set OGS_LOG_DEBUG to mme/emm domain level
|
||||
# level: debug
|
||||
# domain: mme,emm
|
||||
#
|
||||
# o Set OGS_LOG_TRACE to all domain level
|
||||
# level: trace
|
||||
# domain: core,sbi,nssf,event,tlv,mem,sock
|
||||
#
|
||||
logger:
|
||||
file: @localstatedir@/log/open5gs/nssf.log
|
||||
#
|
||||
# nssf:
|
||||
#
|
||||
# <SBI Server>
|
||||
#
|
||||
# o SBI Server(http://<all address available>:80)
|
||||
# sbi:
|
||||
#
|
||||
# o SBI Server(http://<any address>:80)
|
||||
# sbi:
|
||||
# - addr:
|
||||
# - 0.0.0.0
|
||||
# - ::0
|
||||
# port: 7777
|
||||
#
|
||||
# o SBI Server(https://<all address avaiable>:443)
|
||||
# sbi:
|
||||
# tls:
|
||||
# key: nssf.key
|
||||
# pem: nssf.pem
|
||||
#
|
||||
# o SBI Server(https://127.0.0.14:443, http://[::1]:80)
|
||||
# sbi:
|
||||
# - addr: 127.0.0.14
|
||||
# tls:
|
||||
# key: nssf.key
|
||||
# pem: nssf.pem
|
||||
# - addr: ::1
|
||||
#
|
||||
# o SBI Server(http://nssf.open5gs.org:80)
|
||||
# sbi:
|
||||
# name: nssf.open5gs.org
|
||||
#
|
||||
# o SBI Server(http://127.0.0.14:7777)
|
||||
# sbi:
|
||||
# - addr: 127.0.0.14
|
||||
# port: 7777
|
||||
#
|
||||
# o SBI Server(http://<eth0 IP address>:80)
|
||||
# sbi:
|
||||
# dev: eth0
|
||||
#
|
||||
nssf:
|
||||
sbi:
|
||||
- addr: 127.0.0.14
|
||||
port: 7777
|
||||
|
||||
#
|
||||
# nrf:
|
||||
#
|
||||
# <SBI Client>>
|
||||
#
|
||||
# o SBI Client(http://127.0.0.10:7777)
|
||||
# sbi:
|
||||
# addr: 127.0.0.10
|
||||
# port: 7777
|
||||
#
|
||||
# o SBI Client(https://127.0.0.10:443, http://nrf.open5gs.org:80)
|
||||
# sbi:
|
||||
# - addr: 127.0.0.10
|
||||
# tls:
|
||||
# key: nrf.key
|
||||
# pem: nrf.pem
|
||||
# - name: nrf.open5gs.org
|
||||
#
|
||||
# o SBI Client(http://[fe80::1%@loopback_devname@]:80)
|
||||
# If prefer_ipv4 is true, http://127.0.0.10:80 is selected.
|
||||
#
|
||||
# sbi:
|
||||
# addr:
|
||||
# - 127.0.0.10
|
||||
# - fe80::1%@loopback_devname@
|
||||
#
|
||||
nrf:
|
||||
sbi:
|
||||
- addr:
|
||||
- 127.0.0.10
|
||||
- ::1
|
||||
port: 7777
|
||||
|
||||
#
|
||||
# parameter:
|
||||
#
|
||||
# o Number of output streams per SCTP associations.
|
||||
# sctp_streams: 30
|
||||
#
|
||||
# o Disable use of IPv4 addresses (only IPv6)
|
||||
# no_ipv4: true
|
||||
#
|
||||
# o Disable use of IPv6 addresses (only IPv4)
|
||||
# no_ipv6: true
|
||||
#
|
||||
# o Prefer IPv4 instead of IPv6 for estabishing new GTP connections.
|
||||
# prefer_ipv4: true
|
||||
#
|
||||
# o Enable Multicast traffic to the UE
|
||||
# multicast: true
|
||||
#
|
||||
# o Disable Stateless Address Autoconfiguration for IPv6
|
||||
# no_slaac: true
|
||||
#
|
||||
parameter:
|
||||
|
||||
#
|
||||
# max:
|
||||
#
|
||||
# o Maximum Number of UE per AMF/MME
|
||||
# ue: 1024
|
||||
# o Maximum Number of gNB/eNB per AMF/MME
|
||||
# gnb: 32
|
||||
#
|
||||
max:
|
||||
|
||||
#
|
||||
# pool:
|
||||
#
|
||||
# o The default memory pool size was set assuming 1024 UEs.
|
||||
# To connect more UEs, you need to increase the size further.
|
||||
#
|
||||
# - Pool-size 128 => 65536 Number
|
||||
# - Pool-size 256 => 16384 Number
|
||||
# - Pool-size 512 => 4096 Number
|
||||
# - Pool-size 1024 => 1024 Number
|
||||
# - Pool-size 2048 => 512 Number
|
||||
# - Pool-size 8192 => 128 Number
|
||||
# - Pool-size 1024*1024 => 8 Number
|
||||
#
|
||||
# 128: 65536
|
||||
# 256: 16384
|
||||
# 512: 4096
|
||||
# 1024: 1024
|
||||
# 2048: 512
|
||||
# 8192: 128
|
||||
# big: 8
|
||||
#
|
||||
pool:
|
||||
|
||||
#
|
||||
# time:
|
||||
#
|
||||
# o NF Instance Heartbeat (Default : 0)
|
||||
# NFs will not send heart-beat timer in NFProfile
|
||||
# NRF will send heart-beat timer in NFProfile
|
||||
#
|
||||
# o NF Instance Heartbeat (20 seconds)
|
||||
# NFs will send heart-beat timer (20 seconds) in NFProfile
|
||||
# NRF can change heart-beat timer in NFProfile
|
||||
#
|
||||
# nf_instance:
|
||||
# heartbeat: 20
|
||||
#
|
||||
# o NF Instance Heartbeat (Disabled)
|
||||
# nf_instance:
|
||||
# heartbeat: 0
|
||||
#
|
||||
# o NF Instance Heartbeat (10 seconds)
|
||||
# nf_instance:
|
||||
# heartbeat: 10
|
||||
#
|
||||
# o Message Wait Duration (Default : 10,000 ms = 10 seconds)
|
||||
#
|
||||
# o Message Wait Duration (3000 ms)
|
||||
# message:
|
||||
# duration: 3000
|
||||
time:
|
||||
181
configs/open5gs/pcf.yaml.in
Normal file
181
configs/open5gs/pcf.yaml.in
Normal file
@@ -0,0 +1,181 @@
|
||||
db_uri: mongodb://localhost/open5gs
|
||||
|
||||
#
|
||||
# logger:
|
||||
#
|
||||
# o Set OGS_LOG_INFO to all domain level
|
||||
# - If `level` is omitted, the default level is OGS_LOG_INFO)
|
||||
# - If `domain` is omitted, the all domain level is set from 'level'
|
||||
# (Nothing is needed)
|
||||
#
|
||||
# o Set OGS_LOG_ERROR to all domain level
|
||||
# - `level` can be set with none, fatal, error, warn, info, debug, trace
|
||||
# level: error
|
||||
#
|
||||
# o Set OGS_LOG_DEBUG to mme/emm domain level
|
||||
# level: debug
|
||||
# domain: mme,emm
|
||||
#
|
||||
# o Set OGS_LOG_TRACE to all domain level
|
||||
# level: trace
|
||||
# domain: core,sbi,pcf,event,tlv,mem,sock
|
||||
#
|
||||
logger:
|
||||
file: @localstatedir@/log/open5gs/pcf.log
|
||||
#
|
||||
# pcf:
|
||||
#
|
||||
# <SBI Server>
|
||||
#
|
||||
# o SBI Server(http://<all address available>:80)
|
||||
# sbi:
|
||||
#
|
||||
# o SBI Server(http://<any address>:80)
|
||||
# sbi:
|
||||
# - addr:
|
||||
# - 0.0.0.0
|
||||
# - ::0
|
||||
# port: 7777
|
||||
#
|
||||
# o SBI Server(https://<all address avaiable>:443)
|
||||
# sbi:
|
||||
# tls:
|
||||
# key: pcf.key
|
||||
# pem: pcf.pem
|
||||
#
|
||||
# o SBI Server(https://127.0.0.13:443, http://[::1]:80)
|
||||
# sbi:
|
||||
# - addr: 127.0.0.13
|
||||
# tls:
|
||||
# key: pcf.key
|
||||
# pem: pcf.pem
|
||||
# - addr: ::1
|
||||
#
|
||||
# o SBI Server(http://pcf.open5gs.org:80)
|
||||
# sbi:
|
||||
# name: pcf.open5gs.org
|
||||
#
|
||||
# o SBI Server(http://127.0.0.13:7777)
|
||||
# sbi:
|
||||
# - addr: 127.0.0.13
|
||||
# port: 7777
|
||||
#
|
||||
# o SBI Server(http://<eth0 IP address>:80)
|
||||
# sbi:
|
||||
# dev: eth0
|
||||
#
|
||||
pcf:
|
||||
sbi:
|
||||
- addr: 127.0.0.13
|
||||
port: 7777
|
||||
|
||||
#
|
||||
# nrf:
|
||||
#
|
||||
# <SBI Client>>
|
||||
#
|
||||
# o SBI Client(http://127.0.0.10:7777)
|
||||
# sbi:
|
||||
# addr: 127.0.0.10
|
||||
# port: 7777
|
||||
#
|
||||
# o SBI Client(https://127.0.0.10:443, http://nrf.open5gs.org:80)
|
||||
# sbi:
|
||||
# - addr: 127.0.0.10
|
||||
# tls:
|
||||
# key: nrf.key
|
||||
# pem: nrf.pem
|
||||
# - name: nrf.open5gs.org
|
||||
#
|
||||
# o SBI Client(http://[fe80::1%@loopback_devname@]:80)
|
||||
# If prefer_ipv4 is true, http://127.0.0.10:80 is selected.
|
||||
#
|
||||
# sbi:
|
||||
# addr:
|
||||
# - 127.0.0.10
|
||||
# - fe80::1%@loopback_devname@
|
||||
#
|
||||
nrf:
|
||||
sbi:
|
||||
- addr:
|
||||
- 127.0.0.10
|
||||
- ::1
|
||||
port: 7777
|
||||
|
||||
#
|
||||
# parameter:
|
||||
#
|
||||
# o Number of output streams per SCTP associations.
|
||||
# sctp_streams: 30
|
||||
#
|
||||
# o Disable use of IPv4 addresses (only IPv6)
|
||||
# no_ipv4: true
|
||||
#
|
||||
# o Disable use of IPv6 addresses (only IPv4)
|
||||
# no_ipv6: true
|
||||
#
|
||||
# o Prefer IPv4 instead of IPv6 for estabishing new GTP connections.
|
||||
# prefer_ipv4: true
|
||||
#
|
||||
# o Enable Multicast traffic to the UE
|
||||
# multicast: true
|
||||
#
|
||||
# o Disable Stateless Address Autoconfiguration for IPv6
|
||||
# no_slaac: true
|
||||
#
|
||||
parameter:
|
||||
|
||||
#
|
||||
# max:
|
||||
#
|
||||
# o Maximum Number of UE per AMF/MME
|
||||
# ue: 1024
|
||||
# o Maximum Number of gNB/eNB per AMF/MME
|
||||
# gnb: 32
|
||||
#
|
||||
max:
|
||||
|
||||
#
|
||||
# pool:
|
||||
#
|
||||
# o The default memory pool size was set assuming 1024 UEs.
|
||||
# To connect more UEs, you need to increase the size further.
|
||||
#
|
||||
# - Pool-size 128 => 65536 Number
|
||||
# - Pool-size 256 => 16384 Number
|
||||
# - Pool-size 512 => 4096 Number
|
||||
# - Pool-size 1024 => 1024 Number
|
||||
# - Pool-size 2048 => 512 Number
|
||||
# - Pool-size 8192 => 128 Number
|
||||
# - Pool-size 1024*1024 => 8 Number
|
||||
#
|
||||
# 128: 65536
|
||||
# 256: 16384
|
||||
# 512: 4096
|
||||
# 1024: 1024
|
||||
# 2048: 512
|
||||
# 8192: 128
|
||||
# big: 8
|
||||
#
|
||||
pool:
|
||||
|
||||
#
|
||||
# time:
|
||||
#
|
||||
# o NF Instance Heartbeat (Default : 0)
|
||||
# NFs will not send heart-beat timer in NFProfile
|
||||
# NRF will send heart-beat timer in NFProfile
|
||||
#
|
||||
# o NF Instance Heartbeat (20 seconds)
|
||||
# NFs will send heart-beat timer (20 seconds) in NFProfile
|
||||
# NRF can change heart-beat timer in NFProfile
|
||||
#
|
||||
# nf_instance:
|
||||
# heartbeat: 20
|
||||
#
|
||||
# o Message Wait Duration (Default : 10,000 ms = 10 seconds)
|
||||
#
|
||||
# o Message Wait Duration (3000 ms)
|
||||
# message:
|
||||
# duration: 3000
|
||||
time:
|
||||
@@ -46,49 +46,42 @@ pcrf:
|
||||
# o Disable Stateless Address Autoconfiguration for IPv6
|
||||
# no_slaac: true
|
||||
#
|
||||
# o Legacy support for pre-release LTE 11 devices to do calling
|
||||
# - Replace IPv4/v6 local addr field in AAR Media-Subcomponent AVP by any
|
||||
# no_ipv4v6_local_addr_in_packet_filter: true
|
||||
#
|
||||
parameter:
|
||||
|
||||
#
|
||||
# max:
|
||||
#
|
||||
# o Maximum Number of SGW per MME
|
||||
# sgw: 32
|
||||
# o Maximum Number of PGW per MME
|
||||
# pgw: 32
|
||||
# o Maximum Number of VLR per MME
|
||||
# vlr: 32
|
||||
# o Maximum Number of eNodeB per MME
|
||||
# enb: 32
|
||||
# o Maximum Number of UE per eNodeB
|
||||
# ue: 128
|
||||
# o Maximum Number of UE per AMF/MME
|
||||
# ue: 1024
|
||||
# o Maximum Number of gNB/eNB per AMF/MME
|
||||
# gnb: 32
|
||||
#
|
||||
max:
|
||||
|
||||
#
|
||||
# pool:
|
||||
#
|
||||
# o The Number of Default Memory Pool Size
|
||||
# o The default memory pool size was set assuming 1024 UEs.
|
||||
# To connect more UEs, you need to increase the size further.
|
||||
#
|
||||
# - Pool-size 128 => 8192 Number
|
||||
# - Pool-size 256 => 4096 Number
|
||||
# - Pool-size 512 => 2048 Number
|
||||
# - Pool-size 128 => 65536 Number
|
||||
# - Pool-size 256 => 16384 Number
|
||||
# - Pool-size 512 => 4096 Number
|
||||
# - Pool-size 1024 => 1024 Number
|
||||
# - Pool-size 2048 => 512 Number
|
||||
# - Pool-size 8192 => 128 Number
|
||||
# - Pool-size 1024*1024 => 8 Number
|
||||
#
|
||||
# 128: 8192
|
||||
# 256: 4096
|
||||
# 512: 2048
|
||||
# 128: 65536
|
||||
# 256: 16384
|
||||
# 512: 4096
|
||||
# 1024: 1024
|
||||
# 2048: 512
|
||||
# 8192: 128
|
||||
# big: 8
|
||||
#
|
||||
# o Memory of Packet Buffering in UPF/SGW
|
||||
# - Maximum Number of packet(SDU size = 8Kbytes) pool in UPF/SGW
|
||||
# - UPF/SGW Memory Usage : 65536 * 8Kbytes = 512Mbytes
|
||||
#
|
||||
# packet: 65536
|
||||
#
|
||||
pool:
|
||||
|
||||
@@ -1,234 +0,0 @@
|
||||
#
|
||||
# logger:
|
||||
#
|
||||
# o Set OGS_LOG_INFO to all domain level
|
||||
# - If `level` is omitted, the default level is OGS_LOG_INFO)
|
||||
# - If `domain` is omitted, the all domain level is set from 'level'
|
||||
# (Nothing is needed)
|
||||
#
|
||||
# o Set OGS_LOG_ERROR to all domain level
|
||||
# - `level` can be set with none, fatal, error, warn, info, debug, trace
|
||||
# level: error
|
||||
#
|
||||
# o Set OGS_LOG_DEBUG to mme/emm domain level
|
||||
# level: debug
|
||||
# domain: mme,emm
|
||||
#
|
||||
# o Set OGS_LOG_TRACE to all domain level
|
||||
# level: trace
|
||||
# domain: core,fd,gtp,pgw,event,tlv,mem,sock
|
||||
#
|
||||
logger:
|
||||
file: @localstatedir@/log/open5gs/pgw.log
|
||||
|
||||
|
||||
#
|
||||
# pgw:
|
||||
#
|
||||
# <GTP-C Server>
|
||||
#
|
||||
# o GTP-C Server(127.0.0.3:2123, [fe80::3%@loopback_devname@]:2123)
|
||||
# gtpc:
|
||||
# addr:
|
||||
# - 127.0.0.3
|
||||
# - fe80::3%@loopback_devname@
|
||||
#
|
||||
# o On PGW, Same configuration
|
||||
# (127.0.0.3:2123, [fe80::3%@loopback_devname@]:2123).
|
||||
# gtpc:
|
||||
# - addr: 127.0.0.3
|
||||
# - addr: fe80::3%@loopback_devname@
|
||||
#
|
||||
#
|
||||
# <GTP-U Server>>
|
||||
#
|
||||
# o GTP-U Server(127.0.0.3:2152, [::1]:2152)
|
||||
# gtpu:
|
||||
# - addr: 127.0.0.3
|
||||
# - addr: ::1
|
||||
#
|
||||
# o Same configuration(127.0.0.3:2152, [::1]:2152) as below.
|
||||
# gtpu:
|
||||
# name: localhost
|
||||
#
|
||||
# <PDN Configuration with UE Pool>
|
||||
#
|
||||
# o IPv4 Pool
|
||||
# $ sudo ip addr add 10.45.0.1/16 dev ogstun
|
||||
#
|
||||
# pdn:
|
||||
# addr: 10.45.0.1/16
|
||||
#
|
||||
# o IPv4/IPv6 Pool
|
||||
# $ sudo ip addr add 10.45.0.1/16 dev ogstun
|
||||
# $ sudo ip addr add cafe:1::1/64 dev ogstun
|
||||
#
|
||||
# pdn:
|
||||
# - addr: 10.45.0.1/16
|
||||
# - addr: cafe:1::1/64
|
||||
#
|
||||
#
|
||||
# o Specific APN(e.g 'volte') uses 10.46.0.1/16, cafe:2::1/64
|
||||
# All other APNs use 10.45.0.1/16, cafe:1::1/64
|
||||
# $ sudo ip addr add 10.45.0.1/16 dev ogstun
|
||||
# $ sudo ip addr add 10.46.0.1/16 dev ogstun
|
||||
# $ sudo ip addr add cafe:1::1/64 dev ogstun
|
||||
# $ sudo ip addr add cafe:2::1/64 dev ogstun
|
||||
#
|
||||
# pdn:
|
||||
# - addr: 10.45.0.1/16
|
||||
# - addr: cafe:1::1/64
|
||||
# - addr: 10.46.0.1/16
|
||||
# apn: volte
|
||||
# - addr: cafe:2::1/64
|
||||
# apn: volte
|
||||
#
|
||||
# o Multiple Devices (default: ogstun)
|
||||
# $ sudo ip addr add 10.45.0.1/16 dev ogstun
|
||||
# $ sudo ip addr add cafe:1::1/64 dev ogstun2
|
||||
# $ sudo ip addr add 10.46.0.1/16 dev ogstun3
|
||||
# $ sudo ip addr add cafe:2::1/64 dev ogstun3
|
||||
#
|
||||
# pdn:
|
||||
# - addr: 10.45.0.1/16
|
||||
# - addr: cafe:1::1/64
|
||||
# dev: ogstun2
|
||||
# - addr: 10.46.0.1/16
|
||||
# apn: volte
|
||||
# dev: ogstun3
|
||||
# - addr: cafe:2::1/64
|
||||
# apn: volte
|
||||
# dev: ogstun3
|
||||
#
|
||||
# o Pool Range Sample
|
||||
# pdn:
|
||||
# - addr: 10.45.0.1/24
|
||||
# range: 10.45.0.100-10.45.0.200
|
||||
#
|
||||
# pdn:
|
||||
# - addr: 10.45.0.1/24
|
||||
# range:
|
||||
# - 10.45.0.5-10.45.0.50
|
||||
# - 10.45.0.100-
|
||||
#
|
||||
# pdn:
|
||||
# - addr: 10.45.0.1/24
|
||||
# range:
|
||||
# - -10.45.0.200
|
||||
# - 10.45.0.210-10.45.0.220
|
||||
#
|
||||
# pdn:
|
||||
# - addr: 10.45.0.1/16
|
||||
# range:
|
||||
# - 10.45.0.100-10.45.0.200
|
||||
# - 10.45.1.100-10.45.1.200
|
||||
# - addr: cafe::1/64
|
||||
# range:
|
||||
# - cafe::a0-cafe:b0
|
||||
# - cafe::c0-cafe:d0
|
||||
#
|
||||
# <Domain Name Server>
|
||||
#
|
||||
# o Primary/Secondary can be configured. Others are ignored.
|
||||
#
|
||||
# <MTU Size>
|
||||
#
|
||||
# o Provisioning a limit on the size of the packets sent by the MS
|
||||
# to avoid packet fragmentation in the backbone network
|
||||
# between the MS and the GGSN/PGW and/or across the (S)Gi reference point)
|
||||
# when some of the backbone links does not support
|
||||
# packets larger then 1500 octets
|
||||
#
|
||||
# <P-CSCF>
|
||||
#
|
||||
# o Proxy Call Session Control Function
|
||||
#
|
||||
# p-cscf:
|
||||
# - 127.0.0.1
|
||||
# - ::1
|
||||
#
|
||||
pgw:
|
||||
freeDiameter: @sysconfdir@/freeDiameter/pgw.conf
|
||||
gtpc:
|
||||
- addr: 127.0.0.3
|
||||
- addr: ::1
|
||||
gtpu:
|
||||
- addr: 127.0.0.3
|
||||
- addr: ::1
|
||||
pdn:
|
||||
- addr: 10.45.0.1/16
|
||||
- addr: cafe::1/64
|
||||
dns:
|
||||
- 8.8.8.8
|
||||
- 8.8.4.4
|
||||
- 2001:4860:4860::8888
|
||||
- 2001:4860:4860::8844
|
||||
mtu: 1400
|
||||
|
||||
#
|
||||
# parameter:
|
||||
#
|
||||
# o Number of output streams per SCTP associations.
|
||||
# sctp_streams: 30
|
||||
#
|
||||
# o Disable use of IPv4 addresses (only IPv6)
|
||||
# no_ipv4: true
|
||||
#
|
||||
# o Disable use of IPv6 addresses (only IPv4)
|
||||
# no_ipv6: true
|
||||
#
|
||||
# o Prefer IPv4 instead of IPv6 for estabishing new GTP connections.
|
||||
# prefer_ipv4: true
|
||||
#
|
||||
# o Enable Multicast traffic to the UE
|
||||
# multicast: true
|
||||
#
|
||||
# o Disable Stateless Address Autoconfiguration for IPv6
|
||||
# no_slaac: true
|
||||
#
|
||||
parameter:
|
||||
|
||||
#
|
||||
# max:
|
||||
#
|
||||
# o Maximum Number of SGW per MME
|
||||
# sgw: 32
|
||||
# o Maximum Number of PGW per MME
|
||||
# pgw: 32
|
||||
# o Maximum Number of VLR per MME
|
||||
# vlr: 32
|
||||
# o Maximum Number of eNodeB per MME
|
||||
# enb: 32
|
||||
# o Maximum Number of UE per eNodeB
|
||||
# ue: 128
|
||||
#
|
||||
max:
|
||||
|
||||
#
|
||||
# pool:
|
||||
#
|
||||
# o The Number of Default Memory Pool Size
|
||||
#
|
||||
# - Pool-size 128 => 8192 Number
|
||||
# - Pool-size 256 => 4096 Number
|
||||
# - Pool-size 512 => 2048 Number
|
||||
# - Pool-size 1024 => 1024 Number
|
||||
# - Pool-size 2048 => 512 Number
|
||||
# - Pool-size 8192 => 128 Number
|
||||
# - Pool-size 1024*1024 => 8 Number
|
||||
#
|
||||
# 128: 8192
|
||||
# 256: 4096
|
||||
# 512: 2048
|
||||
# 1024: 1024
|
||||
# 2048: 512
|
||||
# 8192: 128
|
||||
# big: 8
|
||||
#
|
||||
# o Memory of Packet Buffering in UPF/SGW
|
||||
# - Maximum Number of packet(SDU size = 8Kbytes) pool in UPF/SGW
|
||||
# - UPF/SGW Memory Usage : 65536 * 8Kbytes = 512Mbytes
|
||||
#
|
||||
# packet: 65536
|
||||
#
|
||||
pool:
|
||||
@@ -1,132 +0,0 @@
|
||||
#
|
||||
# logger:
|
||||
#
|
||||
# o Set OGS_LOG_INFO to all domain level
|
||||
# - If `level` is omitted, the default level is OGS_LOG_INFO)
|
||||
# - If `domain` is omitted, the all domain level is set from 'level'
|
||||
# (Nothing is needed)
|
||||
#
|
||||
# o Set OGS_LOG_ERROR to all domain level
|
||||
# - `level` can be set with none, fatal, error, warn, info, debug, trace
|
||||
# level: error
|
||||
#
|
||||
# o Set OGS_LOG_DEBUG to mme/emm domain level
|
||||
# level: debug
|
||||
# domain: mme,emm
|
||||
#
|
||||
# o Set OGS_LOG_TRACE to all domain level
|
||||
# level: trace
|
||||
# domain: core,gtp,sgw,event,tlv,mem,sock
|
||||
#
|
||||
logger:
|
||||
file: @localstatedir@/log/open5gs/sgw.log
|
||||
|
||||
#
|
||||
# sgw:
|
||||
#
|
||||
# <GTP-C Server>
|
||||
#
|
||||
# o GTP-C Server(127.0.0.6:2123, [fe80::2%@loopback_devname@]:2123)
|
||||
# gtpc:
|
||||
# addr:
|
||||
# - 127.0.0.6
|
||||
# - fe80::2%@loopback_devname@
|
||||
#
|
||||
# o On SGW, Same Configuration(127.0.0.6:2123,
|
||||
# [fe80::2%@loopback_devname@]:2123) as below.
|
||||
# gtpc:
|
||||
# - addr: 127.0.0.6
|
||||
# - addr: fe80::2%@loopback_devname@
|
||||
#
|
||||
# <GTP-U Server>
|
||||
#
|
||||
# o GTP-U Server(all address available)
|
||||
# gtpu:
|
||||
#
|
||||
# o Provide custom SGW GTP-U address to be advertised inside S1AP messages
|
||||
# gtpu:
|
||||
# addr: 10.4.128.21
|
||||
# advertise_addr: 172.24.15.30
|
||||
#
|
||||
# gtpu:
|
||||
# addr: 10.4.128.21
|
||||
# advertise_name: sgw1.epc.mnc001.mcc001.3gppnetwork.org
|
||||
#
|
||||
# gtpu:
|
||||
# dev: ens3
|
||||
# advertise_name: sgw1.epc.mnc001.mcc001.3gppnetwork.org
|
||||
#
|
||||
sgw:
|
||||
gtpc:
|
||||
addr: 127.0.0.6
|
||||
gtpu:
|
||||
addr: 127.0.0.6
|
||||
|
||||
#
|
||||
# parameter:
|
||||
#
|
||||
# o Number of output streams per SCTP associations.
|
||||
# sctp_streams: 30
|
||||
#
|
||||
# o Disable use of IPv4 addresses (only IPv6)
|
||||
# no_ipv4: true
|
||||
#
|
||||
# o Disable use of IPv6 addresses (only IPv4)
|
||||
# no_ipv6: true
|
||||
#
|
||||
# o Prefer IPv4 instead of IPv6 for estabishing new GTP connections.
|
||||
# prefer_ipv4: true
|
||||
#
|
||||
# o Enable Multicast traffic to the UE
|
||||
# multicast: true
|
||||
#
|
||||
# o Disable Stateless Address Autoconfiguration for IPv6
|
||||
# no_slaac: true
|
||||
#
|
||||
parameter:
|
||||
no_ipv6: true
|
||||
|
||||
#
|
||||
# max:
|
||||
#
|
||||
# o Maximum Number of SGW per MME
|
||||
# sgw: 32
|
||||
# o Maximum Number of PGW per MME
|
||||
# pgw: 32
|
||||
# o Maximum Number of VLR per MME
|
||||
# vlr: 32
|
||||
# o Maximum Number of eNodeB per MME
|
||||
# enb: 32
|
||||
# o Maximum Number of UE per eNodeB
|
||||
# ue: 128
|
||||
#
|
||||
max:
|
||||
|
||||
#
|
||||
# pool:
|
||||
#
|
||||
# o The Number of Default Memory Pool Size
|
||||
#
|
||||
# - Pool-size 128 => 8192 Number
|
||||
# - Pool-size 256 => 4096 Number
|
||||
# - Pool-size 512 => 2048 Number
|
||||
# - Pool-size 1024 => 1024 Number
|
||||
# - Pool-size 2048 => 512 Number
|
||||
# - Pool-size 8192 => 128 Number
|
||||
# - Pool-size 1024*1024 => 8 Number
|
||||
#
|
||||
# 128: 8192
|
||||
# 256: 4096
|
||||
# 512: 2048
|
||||
# 1024: 1024
|
||||
# 2048: 512
|
||||
# 8192: 128
|
||||
# big: 8
|
||||
#
|
||||
# o Memory of Packet Buffering in UPF/SGW
|
||||
# - Maximum Number of packet(SDU size = 8Kbytes) pool in UPF/SGW
|
||||
# - UPF/SGW Memory Usage : 65536 * 8Kbytes = 512Mbytes
|
||||
#
|
||||
# packet: 65536
|
||||
#
|
||||
pool:
|
||||
@@ -47,9 +47,9 @@ logger:
|
||||
#
|
||||
sgwc:
|
||||
gtpc:
|
||||
addr: 127.0.0.3
|
||||
- addr: 127.0.0.3
|
||||
pfcp:
|
||||
addr: 127.0.0.3
|
||||
- addr: 127.0.0.3
|
||||
|
||||
#
|
||||
# sgwu:
|
||||
@@ -61,15 +61,20 @@ sgwc:
|
||||
# pfcp:
|
||||
# addr: 127.0.0.6
|
||||
#
|
||||
# <UPF_SELECTION_MODE - EPC only>
|
||||
# <SGWU_SELECTION_MODE - EPC only>
|
||||
#
|
||||
# o Round-Robin
|
||||
# (note that round robin can be disabled for a particular node
|
||||
# by setting flag 'rr' to 0)
|
||||
#
|
||||
# sgwu:
|
||||
# pfcp:
|
||||
# - addr: 127.0.0.6
|
||||
# - addr: 127.0.0.12
|
||||
# rr: 0
|
||||
# - addr: 127.0.0.18
|
||||
#
|
||||
# o UPF selection by eNodeB TAC
|
||||
# o SGWU selection by eNodeB TAC
|
||||
# (either single TAC or multiple TACs, DECIMAL representation)
|
||||
#
|
||||
# sgwu:
|
||||
@@ -79,28 +84,28 @@ sgwc:
|
||||
# - addr: 127.0.0.12
|
||||
# tac: [3,5,8]
|
||||
#
|
||||
# o UPF selection by UE's DNN/APN (either single DNN/APN or multiple DNNs/APNs)
|
||||
# o SGWU selection by UE's APN (either single APN or multiple APNs)
|
||||
#
|
||||
# sgwu:
|
||||
# pfcp:
|
||||
# - addr: 127.0.0.6
|
||||
# dnn: ims
|
||||
# apn: ims
|
||||
# - addr: 127.0.0.12
|
||||
# apn: [internet, web]
|
||||
#
|
||||
# o UPF selection by CellID(e_cell_id: 28bit, nr_cell_id: 36bit)
|
||||
# (either single enb_id or multiple enb_ids, HEX representation)
|
||||
# o SGWU selection by CellID(e_cell_id: 28bit)
|
||||
# (either single e_cell_id or multiple e_cell_id, HEX representation)
|
||||
#
|
||||
# sgwu:
|
||||
# pfcp:
|
||||
# - addr: 127.0.0.6
|
||||
# e_cell_id: 463
|
||||
# - addr: 127.0.0.12
|
||||
# nr_cell_id: [123456789, 9413]
|
||||
# e_cell_id: [123456789, 9413]
|
||||
#
|
||||
sgwu:
|
||||
pfcp:
|
||||
addr: 127.0.0.6
|
||||
- addr: 127.0.0.6
|
||||
|
||||
#
|
||||
# parameter:
|
||||
@@ -128,44 +133,43 @@ parameter:
|
||||
#
|
||||
# max:
|
||||
#
|
||||
# o Maximum Number of SGW per MME
|
||||
# sgw: 32
|
||||
# o Maximum Number of PGW per MME
|
||||
# pgw: 32
|
||||
# o Maximum Number of VLR per MME
|
||||
# vlr: 32
|
||||
# o Maximum Number of eNodeB per MME
|
||||
# enb: 32
|
||||
# o Maximum Number of UE per eNodeB
|
||||
# ue: 128
|
||||
# o Maximum Number of UE per AMF/MME
|
||||
# ue: 1024
|
||||
# o Maximum Number of gNB/eNB per AMF/MME
|
||||
# gnb: 32
|
||||
#
|
||||
max:
|
||||
|
||||
#
|
||||
# pool:
|
||||
#
|
||||
# o The Number of Default Memory Pool Size
|
||||
# o The default memory pool size was set assuming 1024 UEs.
|
||||
# To connect more UEs, you need to increase the size further.
|
||||
#
|
||||
# - Pool-size 128 => 8192 Number
|
||||
# - Pool-size 256 => 4096 Number
|
||||
# - Pool-size 512 => 2048 Number
|
||||
# - Pool-size 128 => 65536 Number
|
||||
# - Pool-size 256 => 16384 Number
|
||||
# - Pool-size 512 => 4096 Number
|
||||
# - Pool-size 1024 => 1024 Number
|
||||
# - Pool-size 2048 => 512 Number
|
||||
# - Pool-size 8192 => 128 Number
|
||||
# - Pool-size 1024*1024 => 8 Number
|
||||
#
|
||||
# 128: 8192
|
||||
# 256: 4096
|
||||
# 512: 2048
|
||||
# 128: 65536
|
||||
# 256: 16384
|
||||
# 512: 4096
|
||||
# 1024: 1024
|
||||
# 2048: 512
|
||||
# 8192: 128
|
||||
# big: 8
|
||||
#
|
||||
# o Memory of Packet Buffering in UPF/SGW
|
||||
# - Maximum Number of packet(SDU size = 8Kbytes) pool in UPF/SGW
|
||||
# - UPF/SGW Memory Usage : 65536 * 8Kbytes = 512Mbytes
|
||||
#
|
||||
# packet: 65536
|
||||
#
|
||||
pool:
|
||||
|
||||
#
|
||||
# time:
|
||||
#
|
||||
# o Message Wait Duration (Default : 10,000 ms = 10 seconds)
|
||||
#
|
||||
# o Message Wait Duration (3000 ms)
|
||||
# message:
|
||||
# duration: 3000
|
||||
time:
|
||||
|
||||
@@ -29,18 +29,49 @@ logger:
|
||||
# o GTP-U Server(all address available)
|
||||
# gtpu:
|
||||
#
|
||||
# o Provide custom SGW GTP-U address to be advertised inside S1AP messages
|
||||
# o GTP-U Server(127.0.0.6:2152, [::1]:2152)
|
||||
# gtpu:
|
||||
# addr: 10.4.128.21
|
||||
# advertise_addr: 172.24.15.30
|
||||
# - addr:
|
||||
# - 127.0.0.6
|
||||
# - ::1
|
||||
#
|
||||
# o GTP-U Server(127.0.0.1:2152, [::1]:2152)
|
||||
# gtpu:
|
||||
# - name: localhost
|
||||
#
|
||||
# o User Plane IP Resource information
|
||||
# gtpu:
|
||||
# - addr:
|
||||
# - 127.0.0.6
|
||||
# - ::1
|
||||
# teid_range_indication: 4
|
||||
# teid_range: 10
|
||||
# network_instance: internet
|
||||
# source_interface: 0
|
||||
# - addr: 127.0.10.4
|
||||
# teid_range_indication: 4
|
||||
# teid_range: 5
|
||||
# network_instance: ims
|
||||
# source_interface: 1
|
||||
#
|
||||
# o Provide custom SGW-U GTP-U address to be advertised inside S1AP messages
|
||||
# gtpu:
|
||||
# - addr: 10.4.128.21
|
||||
# advertise_addr: 172.24.15.30
|
||||
#
|
||||
# gtpu:
|
||||
# addr: 10.4.128.21
|
||||
# advertise_name: sgw1.epc.mnc001.mcc001.3gppnetwork.org
|
||||
# - addr: 10.4.128.21
|
||||
# advertise_addr:
|
||||
# - 127.0.0.1
|
||||
# - ::1
|
||||
#
|
||||
# gtpu:
|
||||
# dev: ens3
|
||||
# advertise_name: sgw1.epc.mnc001.mcc001.3gppnetwork.org
|
||||
# - addr: 10.4.128.21
|
||||
# advertise_name: sgw1.epc.mnc001.mcc001.3gppnetwork.org
|
||||
#
|
||||
# gtpu:
|
||||
# - dev: ens3
|
||||
# advertise_name: sgw1.epc.mnc001.mcc001.3gppnetwork.org
|
||||
#
|
||||
# <PFCP Server>
|
||||
#
|
||||
@@ -51,9 +82,9 @@ logger:
|
||||
#
|
||||
sgwu:
|
||||
gtpu:
|
||||
addr: 127.0.0.6
|
||||
- addr: 127.0.0.6
|
||||
pfcp:
|
||||
addr: 127.0.0.6
|
||||
- addr: 127.0.0.6
|
||||
|
||||
#
|
||||
# sgwc:
|
||||
@@ -93,44 +124,43 @@ parameter:
|
||||
#
|
||||
# max:
|
||||
#
|
||||
# o Maximum Number of SGW per MME
|
||||
# sgw: 32
|
||||
# o Maximum Number of PGW per MME
|
||||
# pgw: 32
|
||||
# o Maximum Number of VLR per MME
|
||||
# vlr: 32
|
||||
# o Maximum Number of eNodeB per MME
|
||||
# enb: 32
|
||||
# o Maximum Number of UE per eNodeB
|
||||
# ue: 128
|
||||
# o Maximum Number of UE per AMF/MME
|
||||
# ue: 1024
|
||||
# o Maximum Number of gNB/eNB per AMF/MME
|
||||
# gnb: 32
|
||||
#
|
||||
max:
|
||||
|
||||
#
|
||||
# pool:
|
||||
#
|
||||
# o The Number of Default Memory Pool Size
|
||||
# o The default memory pool size was set assuming 1024 UEs.
|
||||
# To connect more UEs, you need to increase the size further.
|
||||
#
|
||||
# - Pool-size 128 => 8192 Number
|
||||
# - Pool-size 256 => 4096 Number
|
||||
# - Pool-size 512 => 2048 Number
|
||||
# - Pool-size 128 => 65536 Number
|
||||
# - Pool-size 256 => 16384 Number
|
||||
# - Pool-size 512 => 4096 Number
|
||||
# - Pool-size 1024 => 1024 Number
|
||||
# - Pool-size 2048 => 512 Number
|
||||
# - Pool-size 8192 => 128 Number
|
||||
# - Pool-size 1024*1024 => 8 Number
|
||||
#
|
||||
# 128: 8192
|
||||
# 256: 4096
|
||||
# 512: 2048
|
||||
# 128: 65536
|
||||
# 256: 16384
|
||||
# 512: 4096
|
||||
# 1024: 1024
|
||||
# 2048: 512
|
||||
# 8192: 128
|
||||
# big: 8
|
||||
#
|
||||
# o Memory of Packet Buffering in UPF/SGW
|
||||
# - Maximum Number of packet(SDU size = 8Kbytes) pool in UPF/SGW
|
||||
# - UPF/SGW Memory Usage : 65536 * 8Kbytes = 512Mbytes
|
||||
#
|
||||
# packet: 65536
|
||||
#
|
||||
pool:
|
||||
|
||||
#
|
||||
# time:
|
||||
#
|
||||
# o Message Wait Duration (Default : 10,000 ms = 10 seconds)
|
||||
#
|
||||
# o Message Wait Duration (3000 ms)
|
||||
# message:
|
||||
# duration: 3000
|
||||
time:
|
||||
|
||||
@@ -83,73 +83,48 @@ logger:
|
||||
# - addr: 127.0.0.4
|
||||
# - addr: fe80::3%@loopback_devname@
|
||||
#
|
||||
# <PDN Configuration with UE Pool>
|
||||
# <Subnet for UE Pool>
|
||||
#
|
||||
# o IPv4 Pool
|
||||
# $ sudo ip addr add 10.45.0.1/16 dev ogstun
|
||||
#
|
||||
# pdn:
|
||||
# subnet:
|
||||
# addr: 10.45.0.1/16
|
||||
#
|
||||
# o IPv4/IPv6 Pool
|
||||
# $ sudo ip addr add 10.45.0.1/16 dev ogstun
|
||||
# $ sudo ip addr add cafe:1::1/64 dev ogstun
|
||||
#
|
||||
# pdn:
|
||||
# subnet:
|
||||
# - addr: 10.45.0.1/16
|
||||
# - addr: cafe:1::1/64
|
||||
#
|
||||
#
|
||||
# o Specific APN(e.g 'volte') uses 10.46.0.1/16, cafe:2::1/64
|
||||
# All other APNs use 10.45.0.1/16, cafe:1::1/64
|
||||
# $ sudo ip addr add 10.45.0.1/16 dev ogstun
|
||||
# $ sudo ip addr add 10.46.0.1/16 dev ogstun
|
||||
# $ sudo ip addr add cafe:1::1/64 dev ogstun
|
||||
# $ sudo ip addr add cafe:2::1/64 dev ogstun
|
||||
# o Specific DNN/APN(e.g 'ims') uses 10.46.0.1/16, cafe:2::1/64
|
||||
#
|
||||
# pdn:
|
||||
# subnet:
|
||||
# - addr: 10.45.0.1/16
|
||||
# dnn: internet
|
||||
# - addr: cafe:1::1/64
|
||||
# dnn: internet
|
||||
# - addr: 10.46.0.1/16
|
||||
# apn: volte
|
||||
# dnn: ims
|
||||
# - addr: cafe:2::1/64
|
||||
# apn: volte
|
||||
#
|
||||
# o Multiple Devices (default: ogstun)
|
||||
# $ sudo ip addr add 10.45.0.1/16 dev ogstun
|
||||
# $ sudo ip addr add cafe:1::1/64 dev ogstun2
|
||||
# $ sudo ip addr add 10.46.0.1/16 dev ogstun3
|
||||
# $ sudo ip addr add cafe:2::1/64 dev ogstun3
|
||||
#
|
||||
# pdn:
|
||||
# - addr: 10.45.0.1/16
|
||||
# - addr: cafe:1::1/64
|
||||
# dev: ogstun2
|
||||
# - addr: 10.46.0.1/16
|
||||
# apn: volte
|
||||
# dev: ogstun3
|
||||
# - addr: cafe:2::1/64
|
||||
# apn: volte
|
||||
# dev: ogstun3
|
||||
# dnn: ims
|
||||
#
|
||||
# o Pool Range Sample
|
||||
# pdn:
|
||||
# subnet:
|
||||
# - addr: 10.45.0.1/24
|
||||
# range: 10.45.0.100-10.45.0.200
|
||||
#
|
||||
# pdn:
|
||||
# subnet:
|
||||
# - addr: 10.45.0.1/24
|
||||
# range:
|
||||
# - 10.45.0.5-10.45.0.50
|
||||
# - 10.45.0.100-
|
||||
#
|
||||
# pdn:
|
||||
# subnet:
|
||||
# - addr: 10.45.0.1/24
|
||||
# range:
|
||||
# - -10.45.0.200
|
||||
# - 10.45.0.210-10.45.0.220
|
||||
#
|
||||
# pdn:
|
||||
# subnet:
|
||||
# - addr: 10.45.0.1/16
|
||||
# range:
|
||||
# - 10.45.0.100-10.45.0.200
|
||||
@@ -163,6 +138,12 @@ logger:
|
||||
#
|
||||
# o Primary/Secondary can be configured. Others are ignored.
|
||||
#
|
||||
# dns:
|
||||
# - 8.8.8.8
|
||||
# - 8.8.4.4
|
||||
# - 2001:4860:4860::8888
|
||||
# - 2001:4860:4860::8844
|
||||
#
|
||||
# <MTU Size>
|
||||
#
|
||||
# o Provisioning a limit on the size of the packets sent by the MS
|
||||
@@ -179,6 +160,136 @@ logger:
|
||||
# - 127.0.0.1
|
||||
# - ::1
|
||||
#
|
||||
# <SMF Selection - 5G Core only>
|
||||
# 1. SMF sends SmfInfo(S-NSSAI, DNN, TAI) to the NRF
|
||||
# 2. NRF responds to AMF with SmfInfo during NF-Discovery.
|
||||
# 3. AMF selects SMF based on S-NSSAI, DNN and TAI in SmfInfo.
|
||||
#
|
||||
# Note that if there is no SmfInfo, any AMF can select this SMF.
|
||||
#
|
||||
# o S-NSSAI[SST:1] and DNN[internet] - At least 1 DNN is required in S-NSSAI
|
||||
# info:
|
||||
# - s_nssai:
|
||||
# - sst: 1
|
||||
# dnn:
|
||||
# - internet
|
||||
#
|
||||
# o S-NSSAI[SST:1 SD:009000] and DNN[internet or ims]
|
||||
# info:
|
||||
# - s_nssai:
|
||||
# - sst: 1
|
||||
# sd: 009000
|
||||
# dnn:
|
||||
# - internet
|
||||
# - ims
|
||||
#
|
||||
# o S-NSSAI[SST:1] and DNN[internet] and TAI[PLMN-ID:90170 TAC:1]
|
||||
# info:
|
||||
# - s_nssai:
|
||||
# - sst: 1
|
||||
# dnn:
|
||||
# - internet
|
||||
# tai:
|
||||
# - plmn_id:
|
||||
# mcc: 901
|
||||
# mnc: 70
|
||||
# tac: 1
|
||||
#
|
||||
# o If any of conditions below are met:
|
||||
# - S-NSSAI[SST:1] and DNN[internet] and TAI[PLMN-ID:90170 TAC:1-9]
|
||||
# - S-NSSAI[SST:2 SD:000080] and DNN[internet or ims]
|
||||
# - S-NSSAI[SST:4] and DNN[internet] and TAI[PLMN-ID:90170 TAC:10-20,30-40]
|
||||
#
|
||||
# info:
|
||||
# - s_nssai:
|
||||
# - sst: 1
|
||||
# dnn:
|
||||
# - internet
|
||||
# tai:
|
||||
# - plmn_id:
|
||||
# mcc: 901
|
||||
# mnc: 70
|
||||
# range:
|
||||
# - 1-9
|
||||
# - s_nssai:
|
||||
# - sst: 2
|
||||
# sd: 000080
|
||||
# dnn:
|
||||
# - internet
|
||||
# - ims
|
||||
# - s_nssai:
|
||||
# - sst: 4
|
||||
# dnn:
|
||||
# - internet
|
||||
# tai:
|
||||
# - plmn_id:
|
||||
# mcc: 901
|
||||
# mnc: 70
|
||||
# range:
|
||||
# - 10-20
|
||||
# - 30-40
|
||||
#
|
||||
# o Complex Example
|
||||
# info:
|
||||
# - s_nssai:
|
||||
# - sst: 1
|
||||
# dnn:
|
||||
# - internet
|
||||
# - sst: 1
|
||||
# sd: 000080
|
||||
# dnn:
|
||||
# - internet
|
||||
# - ims
|
||||
# - sst: 1
|
||||
# sd: 009000
|
||||
# dnn:
|
||||
# [internet, ims]
|
||||
# - sst: 2
|
||||
# dnn:
|
||||
# - internet
|
||||
# - sst: 3
|
||||
# sd: 123456
|
||||
# dnn:
|
||||
# - internet
|
||||
# tai:
|
||||
# - plmn_id:
|
||||
# mcc: 901
|
||||
# mnc: 70
|
||||
# tac: [1, 2, 3]
|
||||
# - plmn_id:
|
||||
# mcc: 901
|
||||
# mnc: 70
|
||||
# tac: 4
|
||||
# - plmn_id:
|
||||
# mcc: 901
|
||||
# mnc: 70
|
||||
# tac:
|
||||
# - 5
|
||||
# - 6
|
||||
# - plmn_id:
|
||||
# mcc: 901
|
||||
# mnc: 70
|
||||
# range:
|
||||
# - 100-200
|
||||
# - 300-400
|
||||
# - plmn_id:
|
||||
# mcc: 901
|
||||
# mnc: 70
|
||||
# range:
|
||||
# - 500-600
|
||||
# - 700-800
|
||||
# - 900-1000
|
||||
# - s_nssai:
|
||||
# - sst: 4
|
||||
# dnn:
|
||||
# - internet
|
||||
# tai:
|
||||
# - plmn_id:
|
||||
# mcc: 901
|
||||
# mnc: 70
|
||||
# tac: 99
|
||||
#
|
||||
|
||||
smf:
|
||||
sbi:
|
||||
- addr: 127.0.0.4
|
||||
@@ -189,7 +300,7 @@ smf:
|
||||
pfcp:
|
||||
- addr: 127.0.0.4
|
||||
- addr: ::1
|
||||
pdn:
|
||||
subnet:
|
||||
- addr: 10.45.0.1/16
|
||||
- addr: cafe::1/64
|
||||
dns:
|
||||
@@ -243,16 +354,21 @@ nrf:
|
||||
# pfcp:
|
||||
# addr: 127.0.0.7
|
||||
#
|
||||
# <UPF_SELECTION_MODE - EPC only>
|
||||
# <UPF Selection>
|
||||
#
|
||||
# o Round-Robin
|
||||
# (note that round robin can be disabled for a particular node
|
||||
# by setting flag 'rr' to 0)
|
||||
#
|
||||
# o Round-Robin
|
||||
# upf:
|
||||
# pfcp:
|
||||
# - addr: 127.0.0.7
|
||||
# - addr: 127.0.0.12
|
||||
# rr: 0
|
||||
# - addr: 127.0.0.19
|
||||
#
|
||||
# o UPF selection by eNodeB TAC
|
||||
# (either single TAC or multiple TACs, DECIMAL representation)
|
||||
# o UPF selection by eNodeB TAC
|
||||
# (either single TAC or multiple TACs, DECIMAL representation)
|
||||
#
|
||||
# upf:
|
||||
# pfcp:
|
||||
@@ -261,17 +377,17 @@ nrf:
|
||||
# - addr: 127.0.0.12
|
||||
# tac: [3,5,8]
|
||||
#
|
||||
# o UPF selection by UE's DNN/APN (either single DNN/APN or multiple DNNs/APNs)
|
||||
# o UPF selection by UE's DNN/APN (either single DNN/APN or multiple DNNs/APNs)
|
||||
#
|
||||
# upf:
|
||||
# pfcp:
|
||||
# - addr: 127.0.0.7
|
||||
# dnn: ims
|
||||
# - addr: 127.0.0.12
|
||||
# apn: [internet, web]
|
||||
# dnn: [internet, web]
|
||||
#
|
||||
# o UPF selection by CellID(e_cell_id: 28bit, nr_cell_id: 36bit)
|
||||
# (either single enb_id or multiple enb_ids, HEX representation)
|
||||
# o UPF selection by CellID(e_cell_id: 28bit, nr_cell_id: 36bit)
|
||||
# (either single enb_id or multiple enb_ids, HEX representation)
|
||||
#
|
||||
# upf:
|
||||
# pfcp:
|
||||
@@ -310,60 +426,63 @@ parameter:
|
||||
#
|
||||
# max:
|
||||
#
|
||||
# o Maximum Number of gNB per AMF
|
||||
# o Maximum Number of UE per AMF/MME
|
||||
# ue: 1024
|
||||
# o Maximum Number of gNB/eNB per AMF/MME
|
||||
# gnb: 32
|
||||
# o Maximum Number of UE per gNB
|
||||
# ue: 128
|
||||
# o Maximum Number of NF Instance
|
||||
# nf: 512
|
||||
#
|
||||
max:
|
||||
|
||||
#
|
||||
# pool:
|
||||
#
|
||||
# o The Number of Default Memory Pool Size
|
||||
# o The default memory pool size was set assuming 1024 UEs.
|
||||
# To connect more UEs, you need to increase the size further.
|
||||
#
|
||||
# - Pool-size 128 => 8192 Number
|
||||
# - Pool-size 256 => 4096 Number
|
||||
# - Pool-size 512 => 2048 Number
|
||||
# - Pool-size 128 => 65536 Number
|
||||
# - Pool-size 256 => 16384 Number
|
||||
# - Pool-size 512 => 4096 Number
|
||||
# - Pool-size 1024 => 1024 Number
|
||||
# - Pool-size 2048 => 512 Number
|
||||
# - Pool-size 8192 => 128 Number
|
||||
# - Pool-size 1024*1024 => 8 Number
|
||||
#
|
||||
# 128: 8192
|
||||
# 256: 4096
|
||||
# 512: 2048
|
||||
# 128: 65536
|
||||
# 256: 16384
|
||||
# 512: 4096
|
||||
# 1024: 1024
|
||||
# 2048: 512
|
||||
# 8192: 128
|
||||
# big: 8
|
||||
#
|
||||
# o Memory of Packet Buffering in UPF/SGW
|
||||
# - Maximum Number of packet(SDU size = 8Kbytes) pool in UPF/SGW
|
||||
# - UPF/SGW Memory Usage : 65536 * 8Kbytes = 512Mbytes
|
||||
#
|
||||
# packet: 65536
|
||||
#
|
||||
pool:
|
||||
|
||||
#
|
||||
# time:
|
||||
#
|
||||
# o NF Instance Heartbeat (Default : 10 seconds)
|
||||
# o NF Instance Heartbeat (Default : 0)
|
||||
# NFs will not send heart-beat timer in NFProfile
|
||||
# NRF will send heart-beat timer in NFProfile
|
||||
#
|
||||
# o NF Instance Heartbeat (20 seconds)
|
||||
# NFs will send heart-beat timer (20 seconds) in NFProfile
|
||||
# NRF can change heart-beat timer in NFProfile
|
||||
#
|
||||
# o NF Instance Heartbeat (Disabled)
|
||||
# nf_instance:
|
||||
# heartbeat: 0
|
||||
# heartbeat: 20
|
||||
#
|
||||
# o NF Instance Heartbeat (10 seconds)
|
||||
# nf_instance:
|
||||
# heartbeat: 10
|
||||
#
|
||||
# o Message Wait Duration (Default : 2000ms = 2 seconds)
|
||||
# o Message Wait Duration (Default : 10,000 ms = 10 seconds)
|
||||
#
|
||||
# o Message Wait Duration (3000 ms)
|
||||
# message:
|
||||
# duration: 3000
|
||||
#
|
||||
# o Handover Wait Duration (Default : 300 ms)
|
||||
# Time to wait for SMF to send
|
||||
# PFCP Session Modification Request(Remove Indirect Tunnel) to the UPF
|
||||
# after sending Nsmf_PDUSession_UpdateSMContext Response(hoState:COMPLETED)
|
||||
#
|
||||
# o Handover Wait Duration (500ms)
|
||||
# handover:
|
||||
# duration: 500
|
||||
time:
|
||||
|
||||
@@ -126,58 +126,52 @@ parameter:
|
||||
#
|
||||
# max:
|
||||
#
|
||||
# o Maximum Number of gNB per AMF
|
||||
# o Maximum Number of UE per AMF/MME
|
||||
# ue: 1024
|
||||
# o Maximum Number of gNB/eNB per AMF/MME
|
||||
# gnb: 32
|
||||
# o Maximum Number of UE per gNB
|
||||
# ue: 128
|
||||
# o Maximum Number of NF Instance
|
||||
# nf: 512
|
||||
#
|
||||
max:
|
||||
|
||||
#
|
||||
# pool:
|
||||
#
|
||||
# o The Number of Default Memory Pool Size
|
||||
# o The default memory pool size was set assuming 1024 UEs.
|
||||
# To connect more UEs, you need to increase the size further.
|
||||
#
|
||||
# - Pool-size 128 => 8192 Number
|
||||
# - Pool-size 256 => 4096 Number
|
||||
# - Pool-size 512 => 2048 Number
|
||||
# - Pool-size 128 => 65536 Number
|
||||
# - Pool-size 256 => 16384 Number
|
||||
# - Pool-size 512 => 4096 Number
|
||||
# - Pool-size 1024 => 1024 Number
|
||||
# - Pool-size 2048 => 512 Number
|
||||
# - Pool-size 8192 => 128 Number
|
||||
# - Pool-size 1024*1024 => 8 Number
|
||||
#
|
||||
# 128: 8192
|
||||
# 256: 4096
|
||||
# 512: 2048
|
||||
# 128: 65536
|
||||
# 256: 16384
|
||||
# 512: 4096
|
||||
# 1024: 1024
|
||||
# 2048: 512
|
||||
# 8192: 128
|
||||
# big: 8
|
||||
#
|
||||
# o Memory of Packet Buffering in UPF/SGW
|
||||
# - Maximum Number of packet(SDU size = 8Kbytes) pool in UPF/SGW
|
||||
# - UPF/SGW Memory Usage : 65536 * 8Kbytes = 512Mbytes
|
||||
#
|
||||
# packet: 65536
|
||||
#
|
||||
pool:
|
||||
|
||||
#
|
||||
# time:
|
||||
#
|
||||
# o NF Instance Heartbeat (Default : 10 seconds)
|
||||
# o NF Instance Heartbeat (Default : 0)
|
||||
# NFs will not send heart-beat timer in NFProfile
|
||||
# NRF will send heart-beat timer in NFProfile
|
||||
#
|
||||
# o NF Instance Heartbeat (20 seconds)
|
||||
# NFs will send heart-beat timer (20 seconds) in NFProfile
|
||||
# NRF can change heart-beat timer in NFProfile
|
||||
#
|
||||
# o NF Instance Heartbeat (Disabled)
|
||||
# nf_instance:
|
||||
# heartbeat: 0
|
||||
# heartbeat: 20
|
||||
#
|
||||
# o NF Instance Heartbeat (10 seconds)
|
||||
# nf_instance:
|
||||
# heartbeat: 10
|
||||
#
|
||||
# o Message Wait Duration (Default : 2000ms = 2 seconds)
|
||||
# o Message Wait Duration (Default : 10,000 ms = 10 seconds)
|
||||
#
|
||||
# o Message Wait Duration (3000 ms)
|
||||
# message:
|
||||
|
||||
@@ -43,9 +43,9 @@ logger:
|
||||
# key: udr.key
|
||||
# pem: udr.pem
|
||||
#
|
||||
# o SBI Server(https://127.0.0.13:443, http://[::1]:80)
|
||||
# o SBI Server(https://127.0.0.20:443, http://[::1]:80)
|
||||
# sbi:
|
||||
# - addr: 127.0.0.13
|
||||
# - addr: 127.0.0.20
|
||||
# tls:
|
||||
# key: udr.key
|
||||
# pem: udr.pem
|
||||
@@ -55,9 +55,9 @@ logger:
|
||||
# sbi:
|
||||
# name: udr.open5gs.org
|
||||
#
|
||||
# o SBI Server(http://127.0.0.13:7777)
|
||||
# o SBI Server(http://127.0.0.20:7777)
|
||||
# sbi:
|
||||
# - addr: 127.0.0.13
|
||||
# - addr: 127.0.0.20
|
||||
# port: 7777
|
||||
#
|
||||
# o SBI Server(http://<eth0 IP address>:80)
|
||||
@@ -66,7 +66,7 @@ logger:
|
||||
#
|
||||
udr:
|
||||
sbi:
|
||||
- addr: 127.0.0.13
|
||||
- addr: 127.0.0.20
|
||||
port: 7777
|
||||
|
||||
#
|
||||
@@ -128,48 +128,50 @@ parameter:
|
||||
#
|
||||
# max:
|
||||
#
|
||||
# o Maximum Number of gNB per AMF
|
||||
# o Maximum Number of UE per AMF/MME
|
||||
# ue: 1024
|
||||
# o Maximum Number of gNB/eNB per AMF/MME
|
||||
# gnb: 32
|
||||
# o Maximum Number of UE per gNB
|
||||
# ue: 128
|
||||
# o Maximum Number of NF Instance
|
||||
# nf: 512
|
||||
#
|
||||
max:
|
||||
|
||||
#
|
||||
# pool:
|
||||
#
|
||||
# o The Number of Default Memory Pool Size
|
||||
# o The default memory pool size was set assuming 1024 UEs.
|
||||
# To connect more UEs, you need to increase the size further.
|
||||
#
|
||||
# - Pool-size 128 => 8192 Number
|
||||
# - Pool-size 256 => 4096 Number
|
||||
# - Pool-size 512 => 2048 Number
|
||||
# - Pool-size 128 => 65536 Number
|
||||
# - Pool-size 256 => 16384 Number
|
||||
# - Pool-size 512 => 4096 Number
|
||||
# - Pool-size 1024 => 1024 Number
|
||||
# - Pool-size 2048 => 512 Number
|
||||
# - Pool-size 8192 => 128 Number
|
||||
# - Pool-size 1024*1024 => 8 Number
|
||||
#
|
||||
# 128: 8192
|
||||
# 256: 4096
|
||||
# 512: 2048
|
||||
# 128: 65536
|
||||
# 256: 16384
|
||||
# 512: 4096
|
||||
# 1024: 1024
|
||||
# 2048: 512
|
||||
# 8192: 128
|
||||
# big: 8
|
||||
#
|
||||
# o Memory of Packet Buffering in UPF/SGW
|
||||
# - Maximum Number of packet(SDU size = 8Kbytes) pool in UPF/SGW
|
||||
# - UPF/SGW Memory Usage : 65536 * 8Kbytes = 512Mbytes
|
||||
#
|
||||
# packet: 65536
|
||||
#
|
||||
pool:
|
||||
|
||||
#
|
||||
# time:
|
||||
#
|
||||
# o NF Instance Heartbeat (Default : 10 seconds)
|
||||
# o NF Instance Heartbeat (Default : 0)
|
||||
# NFs will not send heart-beat timer in NFProfile
|
||||
# NRF will send heart-beat timer in NFProfile
|
||||
#
|
||||
# o NF Instance Heartbeat (20 seconds)
|
||||
# NFs will send heart-beat timer (20 seconds) in NFProfile
|
||||
# NRF can change heart-beat timer in NFProfile
|
||||
#
|
||||
# nf_instance:
|
||||
# heartbeat: 20
|
||||
#
|
||||
# o NF Instance Heartbeat (Disabled)
|
||||
# nf_instance:
|
||||
@@ -179,7 +181,7 @@ pool:
|
||||
# nf_instance:
|
||||
# heartbeat: 10
|
||||
#
|
||||
# o Message Wait Duration (Default : 2000ms = 2 seconds)
|
||||
# o Message Wait Duration (Default : 10,000 ms = 10 seconds)
|
||||
#
|
||||
# o Message Wait Duration (3000 ms)
|
||||
# message:
|
||||
|
||||
@@ -26,19 +26,23 @@ logger:
|
||||
#
|
||||
# <PFCP Server>
|
||||
#
|
||||
# o PFCP Server(127.0.0.7:8805)
|
||||
# o PFCP Server(127.0.0.7:8805, ::1:8805)
|
||||
# pfcp:
|
||||
# addr: 127.0.0.7
|
||||
# - addr: 127.0.0.7
|
||||
# - addr: ::1
|
||||
#
|
||||
# <GTP-U Server>>
|
||||
#
|
||||
# o GTP-U Server(all address available)
|
||||
# gtpu:
|
||||
#
|
||||
# o GTP-U Server(127.0.0.7:2152, [::1]:2152)
|
||||
# gtpu:
|
||||
# - addr:
|
||||
# - 127.0.0.7
|
||||
# - ::1
|
||||
#
|
||||
# o Same configuration(127.0.0.7:2152, [::1]:2152) as below.
|
||||
# o GTP-U Server(127.0.0.1:2152, [::1]:2152)
|
||||
# gtpu:
|
||||
# name: localhost
|
||||
#
|
||||
@@ -57,14 +61,88 @@ logger:
|
||||
# network_instance: ims
|
||||
# source_interface: 1
|
||||
#
|
||||
# o Provide custom UPF GTP-U address to be advertised inside NGAP messages
|
||||
# gtpu:
|
||||
# - addr: 10.4.128.21
|
||||
# advertise_addr: 172.24.15.30
|
||||
#
|
||||
# gtpu:
|
||||
# - addr: 10.4.128.21
|
||||
# advertise_addr:
|
||||
# - 127.0.0.1
|
||||
# - ::1
|
||||
#
|
||||
# gtpu:
|
||||
# - addr: 10.4.128.21
|
||||
# advertise_name: upf1.5gc.mnc001.mcc001.3gppnetwork.org
|
||||
#
|
||||
# gtpu:
|
||||
# - dev: ens3
|
||||
# advertise_name: upf1.5gc.mnc001.mcc001.3gppnetwork.org
|
||||
#
|
||||
#
|
||||
# <Subnet for UE network>
|
||||
#
|
||||
# Note that you need to setup your UE network using TUN device.
|
||||
# (ogstun, ogstun2, ogstunX, ..)
|
||||
#
|
||||
# o IPv4 Pool
|
||||
# $ sudo ip addr add 10.45.0.1/16 dev ogstun
|
||||
#
|
||||
# subnet:
|
||||
# addr: 10.45.0.1/16
|
||||
#
|
||||
# o IPv4/IPv6 Pool
|
||||
# $ sudo ip addr add 10.45.0.1/16 dev ogstun
|
||||
# $ sudo ip addr add cafe:1::1/64 dev ogstun
|
||||
#
|
||||
# subnet:
|
||||
# - addr: 10.45.0.1/16
|
||||
# - addr: cafe:1::1/64
|
||||
#
|
||||
#
|
||||
# o Specific DNN/APN(e.g 'ims') uses 10.46.0.1/16, cafe:2::1/64
|
||||
# All other APNs use 10.45.0.1/16, cafe:1::1/64
|
||||
# $ sudo ip addr add 10.45.0.1/16 dev ogstun
|
||||
# $ sudo ip addr add 10.46.0.1/16 dev ogstun
|
||||
# $ sudo ip addr add cafe:1::1/64 dev ogstun
|
||||
# $ sudo ip addr add cafe:2::1/64 dev ogstun
|
||||
#
|
||||
# subnet:
|
||||
# - addr: 10.45.0.1/16
|
||||
# dnn: internet
|
||||
# - addr: cafe:1::1/64
|
||||
# dnn: internet
|
||||
# - addr: 10.46.0.1/16
|
||||
# dnn: ims
|
||||
# - addr: cafe:2::1/64
|
||||
# dnn: ims
|
||||
#
|
||||
# o Multiple Devices (default: ogstun)
|
||||
# $ sudo ip addr add 10.45.0.1/16 dev ogstun
|
||||
# $ sudo ip addr add cafe:1::1/64 dev ogstun2
|
||||
# $ sudo ip addr add 10.46.0.1/16 dev ogstun3
|
||||
# $ sudo ip addr add cafe:2::1/64 dev ogstun3
|
||||
#
|
||||
# subnet:
|
||||
# - addr: 10.45.0.1/16
|
||||
# dnn: internet
|
||||
# - addr: cafe:1::1/64
|
||||
# dnn: internet
|
||||
# dev: ogstun2
|
||||
# - addr: 10.46.0.1/16
|
||||
# dnn: ims
|
||||
# dev: ogstun3
|
||||
# - addr: cafe:2::1/64
|
||||
# dnn: ims
|
||||
# dev: ogstun3
|
||||
#
|
||||
upf:
|
||||
pfcp:
|
||||
- addr: 127.0.0.7
|
||||
gtpu:
|
||||
- addr:
|
||||
- 127.0.0.7
|
||||
- ::1
|
||||
pdn:
|
||||
- addr: 127.0.0.7
|
||||
subnet:
|
||||
- addr: 10.45.0.1/16
|
||||
- addr: cafe::1/64
|
||||
|
||||
@@ -107,39 +185,43 @@ parameter:
|
||||
#
|
||||
# max:
|
||||
#
|
||||
# o Maximum Number of gNB per AMF
|
||||
# o Maximum Number of UE per AMF/MME
|
||||
# ue: 1024
|
||||
# o Maximum Number of gNB/eNB per AMF/MME
|
||||
# gnb: 32
|
||||
# o Maximum Number of UE per gNB
|
||||
# ue: 128
|
||||
# o Maximum Number of NF Instance
|
||||
# nf: 512
|
||||
#
|
||||
max:
|
||||
|
||||
#
|
||||
# pool:
|
||||
#
|
||||
# o The Number of Default Memory Pool Size
|
||||
# o The default memory pool size was set assuming 1024 UEs.
|
||||
# To connect more UEs, you need to increase the size further.
|
||||
#
|
||||
# - Pool-size 128 => 8192 Number
|
||||
# - Pool-size 256 => 4096 Number
|
||||
# - Pool-size 512 => 2048 Number
|
||||
# - Pool-size 128 => 65536 Number
|
||||
# - Pool-size 256 => 16384 Number
|
||||
# - Pool-size 512 => 4096 Number
|
||||
# - Pool-size 1024 => 1024 Number
|
||||
# - Pool-size 2048 => 512 Number
|
||||
# - Pool-size 8192 => 128 Number
|
||||
# - Pool-size 1024*1024 => 8 Number
|
||||
#
|
||||
# 128: 8192
|
||||
# 256: 4096
|
||||
# 512: 2048
|
||||
# 128: 65536
|
||||
# 256: 16384
|
||||
# 512: 4096
|
||||
# 1024: 1024
|
||||
# 2048: 512
|
||||
# 8192: 128
|
||||
# big: 8
|
||||
#
|
||||
# o Memory of Packet Buffering in UPF/SGW
|
||||
# - Maximum Number of packet(SDU size = 8Kbytes) pool in UPF/SGW
|
||||
# - UPF/SGW Memory Usage : 65536 * 8Kbytes = 512Mbytes
|
||||
#
|
||||
# packet: 65536
|
||||
pool:
|
||||
|
||||
#
|
||||
# time:
|
||||
#
|
||||
# o Message Wait Duration (Default : 10,000 ms = 10 seconds)
|
||||
#
|
||||
# o Message Wait Duration (3000 ms)
|
||||
# message:
|
||||
# duration: 3000
|
||||
time:
|
||||
|
||||
@@ -9,6 +9,8 @@ parameter:
|
||||
# no_upf: true
|
||||
# no_ausf: true
|
||||
# no_udm: true
|
||||
# no_pcf: true
|
||||
# no_nssf: true
|
||||
# no_udr: true
|
||||
# no_mme: true
|
||||
# no_sgwc: true
|
||||
@@ -35,9 +37,9 @@ mme:
|
||||
addr: 127.0.0.8
|
||||
|
||||
s1ap:
|
||||
addr: 127.0.0.2
|
||||
- addr: 127.0.0.2
|
||||
gtpc:
|
||||
addr: 127.0.0.2
|
||||
- addr: 127.0.0.2
|
||||
gummei:
|
||||
plmn_id:
|
||||
mcc: 901
|
||||
@@ -50,7 +52,7 @@ mme:
|
||||
mnc: 70
|
||||
tac: 1
|
||||
security:
|
||||
integrity_order : [ EIA1, EIA2, EIA0 ]
|
||||
integrity_order : [ EIA2, EIA1, EIA0 ]
|
||||
ciphering_order : [ EEA0, EEA1, EEA2 ]
|
||||
|
||||
network_name:
|
||||
@@ -58,9 +60,9 @@ mme:
|
||||
|
||||
sgwc:
|
||||
gtpc:
|
||||
addr: 127.0.0.3
|
||||
- addr: 127.0.0.3
|
||||
pfcp:
|
||||
addr: 127.0.0.3
|
||||
- addr: 127.0.0.3
|
||||
|
||||
smf:
|
||||
sbi:
|
||||
@@ -71,7 +73,7 @@ smf:
|
||||
- addr: ::1
|
||||
pfcp:
|
||||
- addr: 127.0.0.4
|
||||
pdn:
|
||||
subnet:
|
||||
- addr: 10.45.0.1/16
|
||||
- addr: cafe::1/64
|
||||
dns:
|
||||
@@ -114,14 +116,14 @@ amf:
|
||||
mcc: 901
|
||||
mnc: 70
|
||||
tac: 1
|
||||
plmn:
|
||||
plmn_support:
|
||||
- plmn_id:
|
||||
mcc: 901
|
||||
mnc: 70
|
||||
s_nssai:
|
||||
- sst: 1
|
||||
security:
|
||||
integrity_order : [ NIA1, NIA2, NIA0 ]
|
||||
integrity_order : [ NIA2, NIA1, NIA0 ]
|
||||
ciphering_order : [ NEA0, NEA1, NEA2 ]
|
||||
network_name:
|
||||
full: Open5GS
|
||||
@@ -129,18 +131,16 @@ amf:
|
||||
|
||||
sgwu:
|
||||
gtpu:
|
||||
addr: 127.0.0.6
|
||||
- addr: 127.0.0.6
|
||||
pfcp:
|
||||
addr: 127.0.0.6
|
||||
- addr: 127.0.0.6
|
||||
|
||||
upf:
|
||||
pfcp:
|
||||
- addr: 127.0.0.7
|
||||
gtpu:
|
||||
- addr:
|
||||
- 127.0.0.7
|
||||
- ::1
|
||||
pdn:
|
||||
- addr: 127.0.0.7
|
||||
subnet:
|
||||
- addr: 10.45.0.1/16
|
||||
- addr: cafe::1/64
|
||||
|
||||
@@ -181,10 +181,10 @@ pcrf:
|
||||
|
||||
nrf:
|
||||
sbi:
|
||||
addr:
|
||||
- addr:
|
||||
- 127.0.0.10
|
||||
- ::1
|
||||
port: 7777
|
||||
port: 7777
|
||||
|
||||
ausf:
|
||||
sbi:
|
||||
@@ -196,7 +196,32 @@ udm:
|
||||
- addr: 127.0.0.12
|
||||
port: 7777
|
||||
|
||||
udr:
|
||||
pcf:
|
||||
sbi:
|
||||
- addr: 127.0.0.13
|
||||
port: 7777
|
||||
|
||||
nssf:
|
||||
sbi:
|
||||
- addr: 127.0.0.14
|
||||
port: 7777
|
||||
nsi:
|
||||
- addr: ::1
|
||||
port: 7777
|
||||
s_nssai:
|
||||
sst: 1
|
||||
- addr: 127.0.0.19
|
||||
port: 7777
|
||||
s_nssai:
|
||||
sst: 1
|
||||
sd: 000080
|
||||
- addr: 127.0.0.10
|
||||
port: 7777
|
||||
s_nssai:
|
||||
sst: 1
|
||||
sd: 009000
|
||||
|
||||
udr:
|
||||
sbi:
|
||||
- addr: 127.0.0.20
|
||||
port: 7777
|
||||
|
||||
@@ -9,6 +9,8 @@ parameter:
|
||||
# no_upf: true
|
||||
# no_ausf: true
|
||||
# no_udm: true
|
||||
# no_pcf: true
|
||||
# no_nssf: true
|
||||
# no_udr: true
|
||||
# no_mme: true
|
||||
# no_sgwc: true
|
||||
@@ -35,9 +37,9 @@ mme:
|
||||
addr: 127.0.0.8
|
||||
|
||||
s1ap:
|
||||
addr: 127.0.0.2
|
||||
- addr: 127.0.0.2
|
||||
gtpc:
|
||||
addr: 127.0.0.2
|
||||
- addr: 127.0.0.2
|
||||
gummei:
|
||||
plmn_id:
|
||||
mcc: 901
|
||||
@@ -50,7 +52,7 @@ mme:
|
||||
mnc: 70
|
||||
tac: 1
|
||||
security:
|
||||
integrity_order : [ EIA1, EIA2, EIA0 ]
|
||||
integrity_order : [ EIA2, EIA1, EIA0 ]
|
||||
ciphering_order : [ EEA0, EEA1, EEA2 ]
|
||||
|
||||
network_name:
|
||||
@@ -58,9 +60,9 @@ mme:
|
||||
|
||||
sgwc:
|
||||
gtpc:
|
||||
addr: 127.0.0.3
|
||||
- addr: 127.0.0.3
|
||||
pfcp:
|
||||
addr: 127.0.0.3
|
||||
- addr: 127.0.0.3
|
||||
|
||||
smf:
|
||||
sbi:
|
||||
@@ -71,7 +73,7 @@ smf:
|
||||
- addr: ::1
|
||||
pfcp:
|
||||
- addr: 127.0.0.4
|
||||
pdn:
|
||||
subnet:
|
||||
- addr: 10.45.0.1/16
|
||||
- addr: cafe::1/64
|
||||
dns:
|
||||
@@ -104,25 +106,26 @@ amf:
|
||||
- addr: 127.0.0.5
|
||||
guami:
|
||||
- plmn_id:
|
||||
mcc: 208
|
||||
mnc: 93
|
||||
mcc: 901
|
||||
mnc: 70
|
||||
amf_id:
|
||||
region: 202
|
||||
set: 1016
|
||||
tai:
|
||||
- plmn_id:
|
||||
mcc: 208
|
||||
mnc: 93
|
||||
mcc: 901
|
||||
mnc: 70
|
||||
tac: 1
|
||||
plmn:
|
||||
plmn_support:
|
||||
- plmn_id:
|
||||
mcc: 208
|
||||
mnc: 93
|
||||
mcc: 901
|
||||
mnc: 70
|
||||
s_nssai:
|
||||
- sst: 1
|
||||
sd: 010203
|
||||
- sst: 1
|
||||
sd: 112233
|
||||
sd: 000080
|
||||
- sst: 1
|
||||
sd: 009000
|
||||
security:
|
||||
integrity_order : [ NIA2, NIA1 ]
|
||||
ciphering_order : [ NEA0, NEA1, NEA2 ]
|
||||
@@ -132,18 +135,16 @@ amf:
|
||||
|
||||
sgwu:
|
||||
gtpu:
|
||||
addr: 127.0.0.6
|
||||
- addr: 127.0.0.6
|
||||
pfcp:
|
||||
addr: 127.0.0.6
|
||||
- addr: 127.0.0.6
|
||||
|
||||
upf:
|
||||
pfcp:
|
||||
- addr: 127.0.0.7
|
||||
gtpu:
|
||||
- addr:
|
||||
- 127.0.0.7
|
||||
- ::1
|
||||
pdn:
|
||||
- addr: 127.0.0.7
|
||||
subnet:
|
||||
- addr: 10.45.0.1/16
|
||||
- addr: cafe::1/64
|
||||
|
||||
@@ -184,10 +185,10 @@ pcrf:
|
||||
|
||||
nrf:
|
||||
sbi:
|
||||
addr:
|
||||
- addr:
|
||||
- 127.0.0.10
|
||||
- ::1
|
||||
port: 7777
|
||||
port: 7777
|
||||
|
||||
ausf:
|
||||
sbi:
|
||||
@@ -199,7 +200,32 @@ udm:
|
||||
- addr: 127.0.0.12
|
||||
port: 7777
|
||||
|
||||
udr:
|
||||
pcf:
|
||||
sbi:
|
||||
- addr: 127.0.0.13
|
||||
port: 7777
|
||||
|
||||
nssf:
|
||||
sbi:
|
||||
- addr: 127.0.0.14
|
||||
port: 7777
|
||||
nsi:
|
||||
- addr: ::1
|
||||
port: 7777
|
||||
s_nssai:
|
||||
sst: 1
|
||||
- addr: 127.0.0.19
|
||||
port: 7777
|
||||
s_nssai:
|
||||
sst: 1
|
||||
sd: 000080
|
||||
- addr: 127.0.0.10
|
||||
port: 7777
|
||||
s_nssai:
|
||||
sst: 1
|
||||
sd: 009000
|
||||
|
||||
udr:
|
||||
sbi:
|
||||
- addr: 127.0.0.20
|
||||
port: 7777
|
||||
@@ -9,6 +9,8 @@ parameter:
|
||||
# no_upf: true
|
||||
# no_ausf: true
|
||||
# no_udm: true
|
||||
# no_pcf: true
|
||||
# no_nssf: true
|
||||
# no_udr: true
|
||||
# no_mme: true
|
||||
# no_sgwc: true
|
||||
@@ -35,9 +37,9 @@ mme:
|
||||
addr: 127.0.0.8
|
||||
|
||||
s1ap:
|
||||
addr: 127.0.1.100
|
||||
- addr: 127.0.1.100
|
||||
gtpc:
|
||||
addr: 127.0.1.100
|
||||
- addr: 127.0.0.2
|
||||
gummei:
|
||||
plmn_id:
|
||||
mcc: 901
|
||||
@@ -50,7 +52,7 @@ mme:
|
||||
mnc: 70
|
||||
tac: 7
|
||||
security:
|
||||
integrity_order : [ EIA1, EIA2, EIA0 ]
|
||||
integrity_order : [ EIA2, EIA1, EIA0 ]
|
||||
ciphering_order : [ EEA0, EEA1, EEA2 ]
|
||||
|
||||
network_name:
|
||||
@@ -58,20 +60,20 @@ mme:
|
||||
|
||||
sgwc:
|
||||
gtpc:
|
||||
addr: 127.0.0.3
|
||||
- addr: 127.0.0.3
|
||||
pfcp:
|
||||
addr: 127.0.0.3
|
||||
- addr: 127.0.0.3
|
||||
|
||||
smf:
|
||||
sbi:
|
||||
- addr: 127.0.0.4
|
||||
port: 7777
|
||||
# sbi:
|
||||
# - addr: 127.0.0.4
|
||||
# port: 7777
|
||||
gtpc:
|
||||
- addr: 127.0.0.4
|
||||
- addr: ::1
|
||||
pfcp:
|
||||
- addr: 127.0.0.4
|
||||
pdn:
|
||||
subnet:
|
||||
- addr: 10.45.0.1/16
|
||||
- addr: cafe::1/64
|
||||
dns:
|
||||
@@ -114,14 +116,14 @@ amf:
|
||||
mcc: 901
|
||||
mnc: 70
|
||||
tac: 1
|
||||
plmn:
|
||||
plmn_support:
|
||||
- plmn_id:
|
||||
mcc: 901
|
||||
mnc: 70
|
||||
s_nssai:
|
||||
- sst: 1
|
||||
security:
|
||||
integrity_order : [ NIA1, NIA2, NIA0 ]
|
||||
integrity_order : [ NIA2, NIA1, NIA0 ]
|
||||
ciphering_order : [ NEA0, NEA1, NEA2 ]
|
||||
network_name:
|
||||
full: Open5GS
|
||||
@@ -129,18 +131,16 @@ amf:
|
||||
|
||||
sgwu:
|
||||
gtpu:
|
||||
addr: 127.0.0.6
|
||||
- addr: 127.0.0.6
|
||||
pfcp:
|
||||
addr: 127.0.0.6
|
||||
- addr: 127.0.0.6
|
||||
|
||||
upf:
|
||||
pfcp:
|
||||
- addr: 127.0.0.7
|
||||
gtpu:
|
||||
- addr:
|
||||
- 127.0.0.7
|
||||
- ::1
|
||||
pdn:
|
||||
- addr: 127.0.0.7
|
||||
subnet:
|
||||
- addr: 10.45.0.1/16
|
||||
- addr: cafe::1/64
|
||||
|
||||
@@ -179,12 +179,12 @@ pcrf:
|
||||
- identity: smf.localdomain
|
||||
addr: 127.0.0.4
|
||||
|
||||
nrf:
|
||||
sbi:
|
||||
addr:
|
||||
- 127.0.0.10
|
||||
- ::1
|
||||
port: 7777
|
||||
#nrf:
|
||||
# sbi:
|
||||
# - addr:
|
||||
# - 127.0.0.10
|
||||
# - ::1
|
||||
# port: 7777
|
||||
|
||||
ausf:
|
||||
sbi:
|
||||
@@ -196,7 +196,32 @@ udm:
|
||||
- addr: 127.0.0.12
|
||||
port: 7777
|
||||
|
||||
udr:
|
||||
pcf:
|
||||
sbi:
|
||||
- addr: 127.0.0.13
|
||||
port: 7777
|
||||
|
||||
nssf:
|
||||
sbi:
|
||||
- addr: 127.0.0.14
|
||||
port: 7777
|
||||
nsi:
|
||||
- addr: ::1
|
||||
port: 7777
|
||||
s_nssai:
|
||||
sst: 1
|
||||
- addr: 127.0.0.19
|
||||
port: 7777
|
||||
s_nssai:
|
||||
sst: 1
|
||||
sd: 000080
|
||||
- addr: 127.0.0.10
|
||||
port: 7777
|
||||
s_nssai:
|
||||
sst: 1
|
||||
sd: 009000
|
||||
|
||||
udr:
|
||||
sbi:
|
||||
- addr: 127.0.0.20
|
||||
port: 7777
|
||||
|
||||
@@ -27,6 +27,8 @@ systemd_conf_in = '''
|
||||
open5gs-nrfd.service
|
||||
open5gs-ausfd.service
|
||||
open5gs-udmd.service
|
||||
open5gs-pcfd.service
|
||||
open5gs-nssfd.service
|
||||
open5gs-udrd.service
|
||||
'''.split()
|
||||
|
||||
|
||||
18
configs/systemd/open5gs-nssfd.service.in
Normal file
18
configs/systemd/open5gs-nssfd.service.in
Normal file
@@ -0,0 +1,18 @@
|
||||
[Unit]
|
||||
Description=Open5GS NSSF Daemon
|
||||
After=networking.service
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
|
||||
User=open5gs
|
||||
Group=open5gs
|
||||
|
||||
Restart=always
|
||||
ExecStart=@bindir@/open5gs-nssfd -c @sysconfdir@/open5gs/nssf.yaml
|
||||
RestartSec=2
|
||||
RestartPreventExitStatus=1
|
||||
ExecReload=/bin/kill -HUP $MAINPID
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
18
configs/systemd/open5gs-pcfd.service.in
Normal file
18
configs/systemd/open5gs-pcfd.service.in
Normal file
@@ -0,0 +1,18 @@
|
||||
[Unit]
|
||||
Description=Open5GS PCF Daemon
|
||||
After=networking.service
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
|
||||
User=open5gs
|
||||
Group=open5gs
|
||||
|
||||
Restart=always
|
||||
ExecStart=@bindir@/open5gs-pcfd -c @sysconfdir@/open5gs/pcf.yaml
|
||||
RestartSec=2
|
||||
RestartPreventExitStatus=1
|
||||
ExecReload=/bin/kill -HUP $MAINPID
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
@@ -9,6 +9,8 @@ parameter:
|
||||
# no_upf: true
|
||||
# no_ausf: true
|
||||
# no_udm: true
|
||||
# no_pcf: true
|
||||
# no_nssf: true
|
||||
# no_udr: true
|
||||
# no_mme: true
|
||||
# no_sgwc: true
|
||||
@@ -35,9 +37,9 @@ mme:
|
||||
addr: 127.0.0.8
|
||||
|
||||
s1ap:
|
||||
addr: 127.0.0.2
|
||||
- addr: 127.0.0.2
|
||||
gtpc:
|
||||
addr: 127.0.0.2
|
||||
- addr: 127.0.0.2
|
||||
gummei:
|
||||
plmn_id:
|
||||
mcc: 001
|
||||
@@ -50,7 +52,7 @@ mme:
|
||||
mnc: 01
|
||||
tac: 12345
|
||||
security:
|
||||
integrity_order : [ EIA1, EIA2, EIA0 ]
|
||||
integrity_order : [ EIA2, EIA1, EIA0 ]
|
||||
ciphering_order : [ EEA0, EEA1, EEA2 ]
|
||||
|
||||
network_name:
|
||||
@@ -58,20 +60,20 @@ mme:
|
||||
|
||||
sgwc:
|
||||
gtpc:
|
||||
addr: 127.0.0.3
|
||||
- addr: 127.0.0.3
|
||||
pfcp:
|
||||
addr: 127.0.0.3
|
||||
- addr: 127.0.0.3
|
||||
|
||||
smf:
|
||||
sbi:
|
||||
- addr: 127.0.0.4
|
||||
port: 7777
|
||||
# sbi:
|
||||
# - addr: 127.0.0.4
|
||||
# port: 7777
|
||||
gtpc:
|
||||
- addr: 127.0.0.4
|
||||
- addr: ::1
|
||||
pfcp:
|
||||
- addr: 127.0.0.4
|
||||
pdn:
|
||||
subnet:
|
||||
- addr: 10.45.0.1/16
|
||||
- addr: cafe::1/64
|
||||
dns:
|
||||
@@ -79,6 +81,9 @@ smf:
|
||||
- 8.8.4.4
|
||||
- 2001:4860:4860::8888
|
||||
- 2001:4860:4860::8844
|
||||
p-cscf:
|
||||
- 127.0.0.1
|
||||
- ::1
|
||||
mtu: 1400
|
||||
freeDiameter:
|
||||
identity: smf.localdomain
|
||||
@@ -114,14 +119,14 @@ amf:
|
||||
mcc: 001
|
||||
mnc: 01
|
||||
tac: 1
|
||||
plmn:
|
||||
plmn_support:
|
||||
- plmn_id:
|
||||
mcc: 001
|
||||
mnc: 01
|
||||
s_nssai:
|
||||
- sst: 1
|
||||
security:
|
||||
integrity_order : [ NIA1, NIA2, NIA0 ]
|
||||
integrity_order : [ NIA2, NIA1, NIA0 ]
|
||||
ciphering_order : [ NEA0, NEA1, NEA2 ]
|
||||
network_name:
|
||||
full: Open5GS
|
||||
@@ -129,18 +134,16 @@ amf:
|
||||
|
||||
sgwu:
|
||||
gtpu:
|
||||
addr: 127.0.0.6
|
||||
- addr: 127.0.0.6
|
||||
pfcp:
|
||||
addr: 127.0.0.6
|
||||
- addr: 127.0.0.6
|
||||
|
||||
upf:
|
||||
pfcp:
|
||||
- addr: 127.0.0.7
|
||||
gtpu:
|
||||
- addr:
|
||||
- 127.0.0.7
|
||||
- ::1
|
||||
pdn:
|
||||
- addr: 127.0.0.7
|
||||
subnet:
|
||||
- addr: 10.45.0.1/16
|
||||
- addr: cafe::1/64
|
||||
|
||||
@@ -181,12 +184,12 @@ pcrf:
|
||||
- identity: pcscf.localdomain
|
||||
addr: 127.0.0.1
|
||||
|
||||
nrf:
|
||||
sbi:
|
||||
addr:
|
||||
- 127.0.0.10
|
||||
- ::1
|
||||
port: 7777
|
||||
#nrf:
|
||||
# sbi:
|
||||
# - addr:
|
||||
# - 127.0.0.10
|
||||
# - ::1
|
||||
# port: 7777
|
||||
|
||||
ausf:
|
||||
sbi:
|
||||
@@ -198,7 +201,32 @@ udm:
|
||||
- addr: 127.0.0.12
|
||||
port: 7777
|
||||
|
||||
udr:
|
||||
pcf:
|
||||
sbi:
|
||||
- addr: 127.0.0.13
|
||||
port: 7777
|
||||
|
||||
nssf:
|
||||
sbi:
|
||||
- addr: 127.0.0.14
|
||||
port: 7777
|
||||
nsi:
|
||||
- addr: ::1
|
||||
port: 7777
|
||||
s_nssai:
|
||||
sst: 1
|
||||
- addr: 127.0.0.19
|
||||
port: 7777
|
||||
s_nssai:
|
||||
sst: 1
|
||||
sd: 000080
|
||||
- addr: 127.0.0.10
|
||||
port: 7777
|
||||
s_nssai:
|
||||
sst: 1
|
||||
sd: 009000
|
||||
|
||||
udr:
|
||||
sbi:
|
||||
- addr: 127.0.0.20
|
||||
port: 7777
|
||||
|
||||
232
configs/vonr.yaml.in
Normal file
232
configs/vonr.yaml.in
Normal file
@@ -0,0 +1,232 @@
|
||||
db_uri: mongodb://localhost/open5gs
|
||||
|
||||
logger:
|
||||
|
||||
parameter:
|
||||
# no_nrf: true
|
||||
# no_amf: true
|
||||
# no_smf: true
|
||||
# no_upf: true
|
||||
# no_ausf: true
|
||||
# no_udm: true
|
||||
# no_pcf: true
|
||||
# no_nssf: true
|
||||
# no_udr: true
|
||||
# no_mme: true
|
||||
# no_sgwc: true
|
||||
# no_sgwu: true
|
||||
# no_pcrf: true
|
||||
# no_hss: true
|
||||
|
||||
mme:
|
||||
freeDiameter:
|
||||
identity: mme.localdomain
|
||||
realm: localdomain
|
||||
listen_on: 127.0.0.2
|
||||
load_extension:
|
||||
- module: @freediameter_extensions_builddir@/dbg_msg_dumps.fdx
|
||||
conf: 0x8888
|
||||
- module: @freediameter_extensions_builddir@/dict_rfc5777.fdx
|
||||
- module: @freediameter_extensions_builddir@/dict_mip6i.fdx
|
||||
- module: @freediameter_extensions_builddir@/dict_nasreq.fdx
|
||||
- module: @freediameter_extensions_builddir@/dict_nas_mipv6.fdx
|
||||
- module: @freediameter_extensions_builddir@/dict_dcca.fdx
|
||||
- module: @freediameter_extensions_builddir@/dict_dcca_3gpp.fdx
|
||||
connect:
|
||||
- identity: hss.localdomain
|
||||
addr: 127.0.0.8
|
||||
|
||||
s1ap:
|
||||
- addr: 127.0.0.2
|
||||
gtpc:
|
||||
- addr: 127.0.0.2
|
||||
gummei:
|
||||
plmn_id:
|
||||
mcc: 901
|
||||
mnc: 70
|
||||
mme_gid: 2
|
||||
mme_code: 1
|
||||
tai:
|
||||
plmn_id:
|
||||
mcc: 901
|
||||
mnc: 70
|
||||
tac: 1
|
||||
security:
|
||||
integrity_order : [ EIA2, EIA1, EIA0 ]
|
||||
ciphering_order : [ EEA0, EEA1, EEA2 ]
|
||||
|
||||
network_name:
|
||||
full: Open5GS
|
||||
|
||||
sgwc:
|
||||
gtpc:
|
||||
- addr: 127.0.0.3
|
||||
pfcp:
|
||||
- addr: 127.0.0.3
|
||||
|
||||
smf:
|
||||
sbi:
|
||||
- addr: 127.0.0.4
|
||||
port: 7777
|
||||
gtpc:
|
||||
- addr: 127.0.0.4
|
||||
- addr: ::1
|
||||
pfcp:
|
||||
- addr: 127.0.0.4
|
||||
subnet:
|
||||
- addr: 10.45.0.1/16
|
||||
- addr: cafe::1/64
|
||||
dns:
|
||||
- 8.8.8.8
|
||||
- 8.8.4.4
|
||||
- 2001:4860:4860::8888
|
||||
- 2001:4860:4860::8844
|
||||
p-cscf:
|
||||
- 127.0.0.1
|
||||
- ::1
|
||||
mtu: 1400
|
||||
freeDiameter:
|
||||
identity: smf.localdomain
|
||||
realm: localdomain
|
||||
listen_on: 127.0.0.4
|
||||
load_extension:
|
||||
- module: @freediameter_extensions_builddir@/dbg_msg_dumps.fdx
|
||||
conf: 0x8888
|
||||
- module: @freediameter_extensions_builddir@/dict_rfc5777.fdx
|
||||
- module: @freediameter_extensions_builddir@/dict_mip6i.fdx
|
||||
- module: @freediameter_extensions_builddir@/dict_nasreq.fdx
|
||||
- module: @freediameter_extensions_builddir@/dict_nas_mipv6.fdx
|
||||
- module: @freediameter_extensions_builddir@/dict_dcca.fdx
|
||||
- module: @freediameter_extensions_builddir@/dict_dcca_3gpp.fdx
|
||||
connect:
|
||||
- identity: pcrf.localdomain
|
||||
addr: 127.0.0.9
|
||||
amf:
|
||||
sbi:
|
||||
- addr: 127.0.0.5
|
||||
port: 7777
|
||||
ngap:
|
||||
- addr: 127.0.0.5
|
||||
guami:
|
||||
- plmn_id:
|
||||
mcc: 901
|
||||
mnc: 70
|
||||
amf_id:
|
||||
region: 2
|
||||
set: 1
|
||||
tai:
|
||||
- plmn_id:
|
||||
mcc: 901
|
||||
mnc: 70
|
||||
tac: 1
|
||||
plmn_support:
|
||||
- plmn_id:
|
||||
mcc: 901
|
||||
mnc: 70
|
||||
s_nssai:
|
||||
- sst: 1
|
||||
security:
|
||||
integrity_order : [ NIA2, NIA1, NIA0 ]
|
||||
ciphering_order : [ NEA0, NEA1, NEA2 ]
|
||||
network_name:
|
||||
full: Open5GS
|
||||
amf_name: open5gs-amf0
|
||||
|
||||
sgwu:
|
||||
gtpu:
|
||||
- addr: 127.0.0.6
|
||||
pfcp:
|
||||
- addr: 127.0.0.6
|
||||
|
||||
upf:
|
||||
pfcp:
|
||||
- addr: 127.0.0.7
|
||||
gtpu:
|
||||
- addr: 127.0.0.7
|
||||
subnet:
|
||||
- addr: 10.45.0.1/16
|
||||
- addr: cafe::1/64
|
||||
|
||||
hss:
|
||||
freeDiameter:
|
||||
identity: hss.localdomain
|
||||
realm: localdomain
|
||||
listen_on: 127.0.0.8
|
||||
load_extension:
|
||||
- module: @freediameter_extensions_builddir@/dbg_msg_dumps.fdx
|
||||
conf: 0x8888
|
||||
- module: @freediameter_extensions_builddir@/dict_rfc5777.fdx
|
||||
- module: @freediameter_extensions_builddir@/dict_mip6i.fdx
|
||||
- module: @freediameter_extensions_builddir@/dict_nasreq.fdx
|
||||
- module: @freediameter_extensions_builddir@/dict_nas_mipv6.fdx
|
||||
- module: @freediameter_extensions_builddir@/dict_dcca.fdx
|
||||
- module: @freediameter_extensions_builddir@/dict_dcca_3gpp.fdx
|
||||
connect:
|
||||
- identity: mme.localdomain
|
||||
addr: 127.0.0.2
|
||||
pcrf:
|
||||
freeDiameter:
|
||||
identity: pcrf.localdomain
|
||||
realm: localdomain
|
||||
listen_on: 127.0.0.9
|
||||
load_extension:
|
||||
- module: @freediameter_extensions_builddir@/dbg_msg_dumps.fdx
|
||||
conf: 0x8888
|
||||
- module: @freediameter_extensions_builddir@/dict_rfc5777.fdx
|
||||
- module: @freediameter_extensions_builddir@/dict_mip6i.fdx
|
||||
- module: @freediameter_extensions_builddir@/dict_nasreq.fdx
|
||||
- module: @freediameter_extensions_builddir@/dict_nas_mipv6.fdx
|
||||
- module: @freediameter_extensions_builddir@/dict_dcca.fdx
|
||||
- module: @freediameter_extensions_builddir@/dict_dcca_3gpp.fdx
|
||||
connect:
|
||||
- identity: smf.localdomain
|
||||
addr: 127.0.0.4
|
||||
- identity: pcscf.localdomain
|
||||
addr: 127.0.0.1
|
||||
|
||||
nrf:
|
||||
sbi:
|
||||
- addr:
|
||||
- 127.0.0.10
|
||||
- ::1
|
||||
port: 7777
|
||||
|
||||
ausf:
|
||||
sbi:
|
||||
- addr: 127.0.0.11
|
||||
port: 7777
|
||||
|
||||
udm:
|
||||
sbi:
|
||||
- addr: 127.0.0.12
|
||||
port: 7777
|
||||
|
||||
pcf:
|
||||
sbi:
|
||||
- addr: 127.0.0.13
|
||||
port: 7777
|
||||
|
||||
nssf:
|
||||
sbi:
|
||||
- addr: 127.0.0.14
|
||||
port: 7777
|
||||
nsi:
|
||||
- addr: ::1
|
||||
port: 7777
|
||||
s_nssai:
|
||||
sst: 1
|
||||
- addr: 127.0.0.19
|
||||
port: 7777
|
||||
s_nssai:
|
||||
sst: 1
|
||||
sd: 000080
|
||||
- addr: 127.0.0.10
|
||||
port: 7777
|
||||
s_nssai:
|
||||
sst: 1
|
||||
sd: 009000
|
||||
|
||||
udr:
|
||||
sbi:
|
||||
- addr: 127.0.0.20
|
||||
port: 7777
|
||||
540
debian/changelog
vendored
540
debian/changelog
vendored
@@ -1,8 +1,542 @@
|
||||
open5gs (2.0.0~eoan) eoan; urgency=medium
|
||||
open5gs (2.2.0) unstable; urgency=medium
|
||||
|
||||
* 5G Core and EPC (Hybrid)
|
||||
* DB Schame Changes
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Fri, 21 Aug 2020 23:41:47 -0400
|
||||
-- Sukchan Lee <acetcom@gmail.com> Mon, 08 Mar 2021 21:31:35 +0900
|
||||
|
||||
open5gs (2.2.0~bionic) bionic; urgency=medium
|
||||
|
||||
* DB Schame Changes
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Mon, 08 Mar 2021 21:30:31 +0900
|
||||
|
||||
open5gs (2.2.0~focal) focal; urgency=medium
|
||||
|
||||
* DB Schame Changes
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Mon, 08 Mar 2021 21:29:03 +0900
|
||||
|
||||
open5gs (2.1.7) unstable; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Mon, 08 Feb 2021 22:27:23 -0500
|
||||
|
||||
open5gs (2.1.7~bionic) bionic; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Mon, 08 Feb 2021 22:26:08 -0500
|
||||
|
||||
open5gs (2.1.7~focal) focal; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Mon, 08 Feb 2021 22:23:55 -0500
|
||||
|
||||
open5gs (2.1.6) unstable; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Thu, 04 Feb 2021 09:18:13 -0500
|
||||
|
||||
open5gs (2.1.6~bionic1) bionic; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Thu, 04 Feb 2021 09:17:04 -0500
|
||||
|
||||
open5gs (2.1.6~focal1) focal; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Thu, 04 Feb 2021 09:14:17 -0500
|
||||
|
||||
open5gs (2.1.5) unstable; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Tue, 02 Feb 2021 14:47:59 -0500
|
||||
|
||||
open5gs (2.1.5~bionic) bionic; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Tue, 02 Feb 2021 14:46:57 -0500
|
||||
|
||||
open5gs (2.1.5~focal) focal; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Tue, 02 Feb 2021 14:45:48 -0500
|
||||
|
||||
open5gs (2.1.4) unstable; urgency=medium
|
||||
|
||||
* Paging was added
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Mon, 18 Jan 2021 19:14:26 -0500
|
||||
|
||||
open5gs (2.1.4~bionic) bionic; urgency=medium
|
||||
|
||||
* Paging was added
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Mon, 18 Jan 2021 19:13:26 -0500
|
||||
|
||||
open5gs (2.1.4~focal) focal; urgency=medium
|
||||
|
||||
* Paging was added
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Mon, 18 Jan 2021 19:12:06 -0500
|
||||
|
||||
open5gs (2.1.3) unstable; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Fri, 08 Jan 2021 23:20:33 -0500
|
||||
|
||||
open5gs (2.1.3~bionic1) bionic; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Fri, 08 Jan 2021 23:19:22 -0500
|
||||
|
||||
open5gs (2.1.3~focal1) focal; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Fri, 08 Jan 2021 23:17:48 -0500
|
||||
|
||||
open5gs (2.1.2) unstable; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Fri, 08 Jan 2021 00:28:16 -0500
|
||||
|
||||
open5gs (2.1.2~bionic1) bionic; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Fri, 08 Jan 2021 00:27:09 -0500
|
||||
|
||||
open5gs (2.1.2~focal1) focal; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Fri, 08 Jan 2021 00:25:31 -0500
|
||||
|
||||
open5gs (2.1.1) unstable; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Wed, 16 Dec 2020 23:04:41 -0500
|
||||
|
||||
open5gs (2.1.1~bionic) bionic; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Wed, 16 Dec 2020 23:03:25 -0500
|
||||
|
||||
open5gs (2.1.1~focal) focal; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Wed, 16 Dec 2020 23:02:04 -0500
|
||||
|
||||
open5gs (2.1.0) unstable; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Fri, 11 Dec 2020 14:16:21 -0500
|
||||
|
||||
open5gs (2.1.0~focal) focal; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Fri, 11 Dec 2020 14:15:00 -0500
|
||||
|
||||
open5gs (2.1.0~bionic) bionic; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Fri, 11 Dec 2020 14:13:40 -0500
|
||||
|
||||
open5gs (2.0.22) unstable; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Thu, 19 Nov 2020 07:55:27 -0500
|
||||
|
||||
open5gs (2.0.22~bionic) bionic; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Thu, 19 Nov 2020 07:54:23 -0500
|
||||
|
||||
open5gs (2.0.22~focal) focal; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Thu, 19 Nov 2020 07:53:15 -0500
|
||||
|
||||
open5gs (2.0.21) unstable; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Wed, 11 Nov 2020 14:16:54 -0500
|
||||
|
||||
open5gs (2.0.21~focal) focal; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Wed, 11 Nov 2020 14:12:36 -0500
|
||||
|
||||
open5gs (2.0.21~bionic) bionic; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Wed, 11 Nov 2020 14:11:17 -0500
|
||||
|
||||
open5gs (2.0.20) unstable; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Sun, 01 Nov 2020 23:05:14 -0500
|
||||
|
||||
open5gs (2.0.20~bionic3) bionic; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Sun, 01 Nov 2020 23:04:15 -0500
|
||||
|
||||
open5gs (2.0.20~focal3) focal; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Sun, 01 Nov 2020 23:03:11 -0500
|
||||
|
||||
open5gs (2.0.19) unstable; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Sun, 01 Nov 2020 01:49:04 -0400
|
||||
|
||||
open5gs (2.0.19~bionic3) bionic; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Sun, 01 Nov 2020 01:47:12 -0400
|
||||
|
||||
open5gs (2.0.19~focal3) focal; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Sun, 01 Nov 2020 01:46:05 -0400
|
||||
|
||||
open5gs (2.0.18) unstable; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Fri, 09 Oct 2020 07:51:09 -0400
|
||||
|
||||
open5gs (2.0.18~focal) focal; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Fri, 09 Oct 2020 07:48:43 -0400
|
||||
|
||||
open5gs (2.0.18~bionic) bionic; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Fri, 09 Oct 2020 07:47:23 -0400
|
||||
|
||||
open5gs (2.0.17) unstable; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Thu, 08 Oct 2020 23:06:11 -0400
|
||||
|
||||
open5gs (2.0.17~focal) focal; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Thu, 08 Oct 2020 23:05:03 -0400
|
||||
|
||||
open5gs (2.0.17~bionic) bionic; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Thu, 08 Oct 2020 23:03:46 -0400
|
||||
|
||||
open5gs (2.0.16) unstable; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Wed, 07 Oct 2020 21:31:32 -0400
|
||||
|
||||
open5gs (2.0.16~focal) focal; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Wed, 07 Oct 2020 21:30:17 -0400
|
||||
|
||||
open5gs (2.0.16~bionic) bionic; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Wed, 07 Oct 2020 21:28:04 -0400
|
||||
|
||||
open5gs (2.0.15) unstable; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Mon, 05 Oct 2020 14:10:57 -0400
|
||||
|
||||
open5gs (2.0.15~focal) focal; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Mon, 05 Oct 2020 14:09:37 -0400
|
||||
|
||||
open5gs (2.0.15~bionic) bionic; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Mon, 05 Oct 2020 14:08:21 -0400
|
||||
|
||||
open5gs (2.0.13) unstable; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Sat, 03 Oct 2020 22:44:15 -0400
|
||||
|
||||
open5gs (2.0.13~focal) focal; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Sat, 03 Oct 2020 22:42:55 -0400
|
||||
|
||||
open5gs (2.0.13~bionic) bionic; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Sat, 03 Oct 2020 22:41:30 -0400
|
||||
|
||||
open5gs (2.0.12) unstable; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Thu, 01 Oct 2020 13:50:03 -0400
|
||||
|
||||
open5gs (2.0.12~focal) focal; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Thu, 01 Oct 2020 13:48:56 -0400
|
||||
|
||||
open5gs (2.0.12~bionic) bionic; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Thu, 01 Oct 2020 13:46:28 -0400
|
||||
|
||||
open5gs (2.0.11) unstable; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Thu, 24 Sep 2020 22:06:23 -0400
|
||||
|
||||
open5gs (2.0.11~focal) focal; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Thu, 24 Sep 2020 22:04:37 -0400
|
||||
|
||||
open5gs (2.0.11~bionic) bionic; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Thu, 24 Sep 2020 22:03:26 -0400
|
||||
|
||||
open5gs (2.0.10) unstable; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Tue, 22 Sep 2020 21:25:27 -0400
|
||||
|
||||
open5gs (2.0.10~focal) focal; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Tue, 22 Sep 2020 21:23:46 -0400
|
||||
|
||||
open5gs (2.0.10~bionic) bionic; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Tue, 22 Sep 2020 21:22:40 -0400
|
||||
|
||||
open5gs (2.0.9) unstable; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Tue, 22 Sep 2020 14:08:35 -0400
|
||||
|
||||
open5gs (2.0.9~focal) focal; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Tue, 22 Sep 2020 14:07:27 -0400
|
||||
|
||||
open5gs (2.0.9~bionic) bionic; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Tue, 22 Sep 2020 14:06:05 -0400
|
||||
|
||||
open5gs (2.0.8) unstable; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Tue, 22 Sep 2020 00:49:15 -0400
|
||||
|
||||
open5gs (2.0.8~focal2) focal; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Tue, 22 Sep 2020 00:48:02 -0400
|
||||
|
||||
open5gs (2.0.8~bionic2) bionic; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Tue, 22 Sep 2020 00:46:46 -0400
|
||||
|
||||
open5gs (2.0.7) unstable; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Fri, 18 Sep 2020 21:51:37 -0400
|
||||
|
||||
open5gs (2.0.7~focal) focal; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Fri, 18 Sep 2020 21:55:36 -0400
|
||||
|
||||
open5gs (2.0.7~bionic) bionic; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Fri, 18 Sep 2020 21:54:21 -0400
|
||||
|
||||
open5gs (2.0.6) unstable; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Tue, 15 Sep 2020 12:37:53 -0400
|
||||
|
||||
open5gs (2.0.6~focal) focal; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Tue, 15 Sep 2020 12:40:53 -0400
|
||||
|
||||
open5gs (2.0.6~bionic) bionic; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Tue, 15 Sep 2020 12:39:41 -0400
|
||||
|
||||
open5gs (2.0.5~focal) focal; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Thu, 10 Sep 2020 21:59:27 -0400
|
||||
|
||||
open5gs (2.0.5~bionic) bionic; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Thu, 10 Sep 2020 21:58:12 -0400
|
||||
|
||||
open5gs (2.0.5) unstable; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Thu, 10 Sep 2020 21:56:16 -0400
|
||||
|
||||
open5gs (2.0.4~focal) focal; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Wed, 09 Sep 2020 02:39:43 +0000
|
||||
|
||||
open5gs (2.0.4~bionic) bionic; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Wed, 09 Sep 2020 02:38:39 +0000
|
||||
|
||||
open5gs (2.0.4) unstable; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Wed, 09 Sep 2020 02:35:55 +0000
|
||||
|
||||
open5gs (2.0.3~bionic) bionic; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Tue, 08 Sep 2020 02:40:37 +0000
|
||||
|
||||
open5gs (2.0.3~focal) focal; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Tue, 08 Sep 2020 02:38:57 +0000
|
||||
|
||||
open5gs (2.0.3) unstable; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Tue, 08 Sep 2020 02:33:07 +0000
|
||||
|
||||
open5gs (2.0.2~focal) focal; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Sun, 06 Sep 2020 23:59:56 -0400
|
||||
|
||||
open5gs (2.0.2~bionic) bionic; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Sun, 06 Sep 2020 23:58:40 -0400
|
||||
|
||||
open5gs (2.0.2) unstable; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Sun, 06 Sep 2020 23:54:34 -0400
|
||||
|
||||
open5gs (2.0.1~bionic) bionic; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Sat, 05 Sep 2020 19:39:51 -0400
|
||||
|
||||
open5gs (2.0.1~focal) focal; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Sat, 05 Sep 2020 19:36:22 -0400
|
||||
|
||||
open5gs (2.0.1) unstable; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Sat, 05 Sep 2020 16:43:24 -0400
|
||||
|
||||
open5gs (2.0.0~focal) focal; urgency=medium
|
||||
|
||||
|
||||
27
debian/control
vendored
27
debian/control
vendored
@@ -19,6 +19,7 @@ Build-Depends: debhelper (>= 11),
|
||||
libyaml-dev,
|
||||
libmicrohttpd-dev,
|
||||
libcurl4-gnutls-dev,
|
||||
libnghttp2-dev,
|
||||
Standards-Version: 4.3.0
|
||||
Rules-Requires-Root: no
|
||||
Homepage: https://open5gs.org
|
||||
@@ -186,6 +187,30 @@ Description: UDM (Unified Data Management)
|
||||
.
|
||||
This package provides the UDM (Unified Data Managemement)
|
||||
|
||||
Package: open5gs-pcf
|
||||
Architecture: any
|
||||
Multi-Arch: same
|
||||
Depends: ${shlibs:Depends},
|
||||
${misc:Depends},
|
||||
open5gs-common (= ${binary:Version})
|
||||
Description: PCF (Policy Control Function)
|
||||
Open5GS is a C-language implementation of 5G Core and EPC
|
||||
Packet Core, i.e. the core network of an NR/LTE network (Release-16)
|
||||
.
|
||||
This package provides the PCF (Policy Control Function)
|
||||
|
||||
Package: open5gs-nssf
|
||||
Architecture: any
|
||||
Multi-Arch: same
|
||||
Depends: ${shlibs:Depends},
|
||||
${misc:Depends},
|
||||
open5gs-common (= ${binary:Version})
|
||||
Description: NSSF (Network Slice Selection Function)
|
||||
Open5GS is a C-language implementation of 5G Core and EPC
|
||||
Packet Core, i.e. the core network of an NR/LTE network (Release-16)
|
||||
.
|
||||
This package provides the NSSF (Network Slice Selection Function)
|
||||
|
||||
Package: open5gs-udr
|
||||
Architecture: any
|
||||
Multi-Arch: same
|
||||
@@ -214,6 +239,8 @@ Depends: ${misc:Depends},
|
||||
open5gs-nrf (= ${binary:Version}),
|
||||
open5gs-ausf (= ${binary:Version}),
|
||||
open5gs-udm (= ${binary:Version}),
|
||||
open5gs-pcf (= ${binary:Version}),
|
||||
open5gs-nssf (= ${binary:Version}),
|
||||
open5gs-udr (= ${binary:Version})
|
||||
Description: 5G Core and EPC (metapackage)
|
||||
Open5GS is a C-language implementation of 5G Core and EPC
|
||||
|
||||
2
debian/open5gs-common.install
vendored
2
debian/open5gs-common.install
vendored
@@ -3,4 +3,4 @@ usr/lib/*/libfd*.so*
|
||||
usr/lib/*/freeDiameter/*.fdx
|
||||
configs/freeDiameter/cacert.pem /etc/freeDiameter
|
||||
configs/logrotate/open5gs /etc/logrotate.d
|
||||
misc/db/open5gs-dbctl /usr/bin
|
||||
#misc/db/open5gs-dbctl /usr/bin
|
||||
|
||||
3
debian/open5gs-nssf.install
vendored
Normal file
3
debian/open5gs-nssf.install
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
usr/bin/open5gs-nssfd
|
||||
configs/open5gs/nssf.yaml etc/open5gs
|
||||
configs/systemd/open5gs-nssfd.service lib/systemd/system
|
||||
3
debian/open5gs-pcf.install
vendored
Normal file
3
debian/open5gs-pcf.install
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
usr/bin/open5gs-pcfd
|
||||
configs/open5gs/pcf.yaml etc/open5gs
|
||||
configs/systemd/open5gs-pcfd.service lib/systemd/system
|
||||
2
debian/rules
vendored
2
debian/rules
vendored
@@ -14,4 +14,4 @@ override_dh_install:
|
||||
dh_install --sourcedir=obj-$(DEB_HOST_GNU_TYPE)
|
||||
|
||||
override_dh_auto_test:
|
||||
cd obj-$(DEB_HOST_GNU_TYPE) && meson test --suite unit
|
||||
cd obj-$(DEB_HOST_GNU_TYPE) && meson test -v --suite unit
|
||||
|
||||
@@ -10,7 +10,7 @@ COPY setup.sh /root
|
||||
|
||||
ARG USER=open5gs
|
||||
ARG REPO=open5gs
|
||||
ARG BRANCH=master
|
||||
ARG BRANCH=main
|
||||
RUN git clone https://github.com/$USER/$REPO
|
||||
ADD https://api.github.com/repos/$USER/$REPO/git/refs/heads/$BRANCH /root/open5gs-ver.json
|
||||
|
||||
|
||||
@@ -26,4 +26,5 @@ RUN yum -y install \
|
||||
mongo-c-driver-devel \
|
||||
libmicrohttpd-devel \
|
||||
libcurl-devel \
|
||||
libnghttp2-devel \
|
||||
iproute
|
||||
|
||||
@@ -31,6 +31,7 @@ RUN dnf -y install \
|
||||
mongo-c-driver-devel \
|
||||
libmicrohttpd-devel \
|
||||
libcurl-devel \
|
||||
libnghttp2-devel \
|
||||
iproute
|
||||
|
||||
RUN dnf -y install meson
|
||||
|
||||
@@ -3,25 +3,16 @@
|
||||
docker-compose build
|
||||
docker-compose -f docker-compose.yml -f docker-compose.test.yml run --rm test
|
||||
|
||||
TAG=eoan docker-compose build
|
||||
TAG=eoan docker-compose -f docker-compose.yml -f docker-compose.test.yml run --rm test
|
||||
TAG=bionic docker-compose build
|
||||
TAG=bionic docker-compose -f docker-compose.yml -f docker-compose.test.yml run --rm test
|
||||
|
||||
DIST=fedora docker-compose build
|
||||
DIST=fedora docker-compose -f docker-compose.yml -f docker-compose.test.yml run --rm test
|
||||
|
||||
DIST=fedora TAG=29 docker-compose build
|
||||
DIST=fedora TAG=29 docker-compose -f docker-compose.yml -f docker-compose.test.yml run --rm test
|
||||
DIST=fedora TAG=32 docker-compose build
|
||||
DIST=fedora TAG=32 docker-compose -f docker-compose.yml -f docker-compose.test.yml run --rm test
|
||||
|
||||
DIST=centos docker-compose build
|
||||
DIST=centos docker-compose -f docker-compose.yml -f docker-compose.test.yml run --rm test
|
||||
|
||||
DIST=centos TAG=7 docker-compose build
|
||||
DIST=centos TAG=7 docker-compose -f docker-compose.yml -f docker-compose.test.yml run --rm test
|
||||
|
||||
DIST=debian docker-compose build
|
||||
DIST=debian docker-compose -f docker-compose.yml -f docker-compose.test.yml run --rm test
|
||||
|
||||
DIST=debian TAG=stretch docker-compose build
|
||||
DIST=debian TAG=stretch docker-compose -f docker-compose.yml -f docker-compose.test.yml run --rm test
|
||||
|
||||
docker rm $(docker ps -qa --no-trunc --filter "status=exited")
|
||||
|
||||
@@ -1 +1 @@
|
||||
../ubuntu/latest
|
||||
latest
|
||||
@@ -1 +0,0 @@
|
||||
../ubuntu/latest
|
||||
35
docker/debian/latest/base/Dockerfile
Normal file
35
docker/debian/latest/base/Dockerfile
Normal file
@@ -0,0 +1,35 @@
|
||||
ARG dist=ubuntu
|
||||
ARG tag=latest
|
||||
FROM ${dist}:${tag}
|
||||
|
||||
MAINTAINER Sukchan Lee <acetcom@gmail.com>
|
||||
|
||||
RUN apt-get update && \
|
||||
apt-get upgrade -y && \
|
||||
DEBIAN_FRONTEND=noninteractive \
|
||||
apt-get install -y --no-install-recommends \
|
||||
python3-pip \
|
||||
python3-setuptools \
|
||||
python3-wheel \
|
||||
ninja-build \
|
||||
build-essential \
|
||||
flex \
|
||||
bison \
|
||||
git \
|
||||
meson \
|
||||
libsctp-dev \
|
||||
libgnutls28-dev \
|
||||
libgcrypt-dev \
|
||||
libssl-dev \
|
||||
libidn11-dev \
|
||||
libmongoc-dev \
|
||||
libbson-dev \
|
||||
libyaml-dev \
|
||||
libmicrohttpd-dev \
|
||||
libcurl4-gnutls-dev \
|
||||
libnghttp2-dev \
|
||||
iproute2 \
|
||||
ca-certificates \
|
||||
netbase \
|
||||
pkg-config && \
|
||||
apt-get clean
|
||||
34
docker/debian/latest/dev/Dockerfile
Normal file
34
docker/debian/latest/dev/Dockerfile
Normal file
@@ -0,0 +1,34 @@
|
||||
ARG dist=ubuntu
|
||||
ARG tag=latest
|
||||
ARG username=acetcom
|
||||
FROM ${username}/${dist}-${tag}-open5gs-base
|
||||
|
||||
MAINTAINER Sukchan Lee <acetcom@gmail.com>
|
||||
|
||||
RUN apt-get update && \
|
||||
apt-get upgrade -y && \
|
||||
DEBIAN_FRONTEND=noninteractive \
|
||||
apt-get install -y --no-install-recommends \
|
||||
git-buildpackage \
|
||||
debhelper \
|
||||
devscripts \
|
||||
osc \
|
||||
dput \
|
||||
manpages-dev \
|
||||
fakeroot \
|
||||
cscope \
|
||||
vim \
|
||||
sudo \
|
||||
wireshark \
|
||||
iputils-ping \
|
||||
net-tools && \
|
||||
apt-get clean
|
||||
|
||||
COPY setup.sh /root
|
||||
|
||||
ARG username=acetcom
|
||||
RUN useradd -m --uid=1000 ${username} && \
|
||||
echo "${username} ALL=(root) NOPASSWD:ALL" > /etc/sudoers.d/${username} && \
|
||||
chmod 0440 /etc/sudoers.d/${username}
|
||||
|
||||
WORKDIR /home/${username}
|
||||
10
docker/debian/latest/dev/setup.sh
Executable file
10
docker/debian/latest/dev/setup.sh
Executable file
@@ -0,0 +1,10 @@
|
||||
#!/bin/sh
|
||||
|
||||
if ! grep "ogstun" /proc/net/dev > /dev/null; then
|
||||
ip tuntap add name ogstun mode tun
|
||||
fi
|
||||
ip addr del 10.45.0.1/16 dev ogstun 2> /dev/null
|
||||
ip addr add 10.45.0.1/16 dev ogstun
|
||||
ip addr del cafe::1/64 dev ogstun 2> /dev/null
|
||||
ip addr add cafe::1/64 dev ogstun
|
||||
ip link set ogstun up
|
||||
@@ -1 +0,0 @@
|
||||
../ubuntu/latest
|
||||
@@ -1 +1 @@
|
||||
../ubuntu/latest
|
||||
latest
|
||||
@@ -57,7 +57,7 @@ services:
|
||||
environment:
|
||||
- DB_URI=mongodb://mongodb/open5gs
|
||||
- DISPLAY=$DISPLAY
|
||||
# - DISPLAY=docker.for.mac.localhost:0
|
||||
# - DISPLAY=host.docker.internal:0
|
||||
cap_add:
|
||||
- NET_ADMIN
|
||||
devices:
|
||||
|
||||
1
docker/fedora/33
Symbolic link
1
docker/fedora/33
Symbolic link
@@ -0,0 +1 @@
|
||||
latest
|
||||
@@ -21,6 +21,7 @@ RUN dnf -y install \
|
||||
mongo-c-driver-devel \
|
||||
libmicrohttpd-devel \
|
||||
libcurl-devel \
|
||||
libnghttp2-devel \
|
||||
iproute
|
||||
|
||||
RUN dnf -y install meson
|
||||
|
||||
1
docker/ubuntu/groovy
Symbolic link
1
docker/ubuntu/groovy
Symbolic link
@@ -0,0 +1 @@
|
||||
../debian/latest
|
||||
@@ -27,6 +27,7 @@ RUN apt-get update && \
|
||||
libyaml-dev \
|
||||
libmicrohttpd-dev \
|
||||
libcurl4-gnutls-dev \
|
||||
libnghttp2-dev \
|
||||
iproute2 \
|
||||
ca-certificates \
|
||||
netbase \
|
||||
|
||||
@@ -20,10 +20,16 @@ RUN apt-get update && \
|
||||
vim \
|
||||
sudo \
|
||||
iputils-ping \
|
||||
wireshark \
|
||||
net-tools && \
|
||||
apt-get clean
|
||||
|
||||
RUN apt-get update && \
|
||||
apt-get install -y software-properties-common && \
|
||||
sudo add-apt-repository ppa:wireshark-dev/stable -y && \
|
||||
apt-get update && \
|
||||
DEBIAN_FRONTEND=noninteractive \
|
||||
apt-get install -y wireshark
|
||||
|
||||
COPY setup.sh /root
|
||||
|
||||
ARG username=acetcom
|
||||
|
||||
@@ -58,7 +58,7 @@ footer_icons:
|
||||
|
||||
header_pages:
|
||||
- _pages/docs.md
|
||||
- _pages/faq.md
|
||||
- _pages/support.md
|
||||
- _pages/about.md
|
||||
- _pages/github.md
|
||||
|
||||
|
||||
@@ -2,11 +2,73 @@
|
||||
title: Quickstart
|
||||
---
|
||||
|
||||
**Note:** Open5GS supports installation of packages in *Debian/Ubuntu and openSUSE* environments. *CentOS, Fedora, FreeBSD, and Mac OSX* require you to [build with source code]({{ site.url }}{{ site.baseurl }}/docs/guide/02-building-open5gs-from-sources)
|
||||
## 1. Introduction to Open5GS
|
||||
---
|
||||
|
||||
Welcome! If you want to set up your first Open5GS core you have come to the right place. Before we get started, we'll spend a moment to understand the basic architecture of the software.
|
||||
|
||||
**TL;DR:** Open5GS contains a series of software components and network functions that implement the 4G/ 5G NSA and 5G SA core functions. If you know what each of these do already and how they interface with each other, skip to section 2.
|
||||
{: .notice--info}
|
||||
|
||||
<style>
|
||||
img {
|
||||
max-width: 100%;
|
||||
height: auto;
|
||||
}
|
||||
</style>
|
||||
|
||||

|
||||
|
||||
[[Higher quality PDF diagram available HERE]]({{ site.url }}{{ site.baseurl }}/assets/images/Open5GS_CUPS-01.pdf)
|
||||
|
||||
#### 4G/ 5G NSA Core
|
||||
|
||||
The Open5GS 4G/ 5G NSA Core contains the following components:
|
||||
* MME - Mobility Management Entity
|
||||
* HSS - Home Subscriber Server
|
||||
* PCRF - Policy and Charging Rules Function
|
||||
* SGWC - Serving Gateway Control Plane
|
||||
* SGWU - Serving Gateway User Plane
|
||||
* PGWC/SMF - Packet Gateway Control Plane / (component contained in Open5GS SMF)
|
||||
* PGWU/UPF - Packet Gateway User Plane / (component contained in Open5GS UPF)
|
||||
|
||||
The core has two main planes: the control plane and the user plane. These are physically separated in Open5GS as CUPS (control/ user plane separation) is implemented.
|
||||
|
||||
The MME is the main **control plane** hub of the core. It primarily manages sessions, mobilty, paging and bearers. It links to the HSS, which generates SIM authentication vectors and holds the subscriber profile; and also to the SGWC and PGWC/SMF, which are the control planes of the gateway servers. All the eNBs in the mobile network (4G basestations) connect to the MME. The final element of the control plane is the PCRF, which sits in-between the PGWC/SMF and the HSS, and handles charging and enforces subscriber policies.
|
||||
|
||||
The **user plane** carries user data packets between the eNB/ NSA gNB (5G NSA basestations) and the external WAN. The two user plane core components are the SGWU and PGWU/UPF. Each of these connect back to their control plane counterparts. eNBs/ NSA gNBs connect to the SGWU, which connects to the PGWU/UPF, and on to the WAN. *By having the control and user planes physically separated like this, it means you can deploy multiple user plane servers in the field (eg somewhere with a high speed Internet connection), whilst keeping control functionality centralised. This enables support of MEC use cases, for example.*
|
||||
|
||||
All of these Open5GS components have config files. Each config file contains the component's IP bind addresses/ local Interface names **and** the IP addresses/ DNS names of the other components it needs to connect to. We'll come back to this in Section 3.
|
||||
|
||||
|
||||
#### 5G SA Core
|
||||
|
||||
The Open5GS 5G SA Core contains the following functions:
|
||||
* AMF - Access and Mobility Management Function
|
||||
* SMF - Session Management Function
|
||||
* UPF - User Plane Function
|
||||
* AUSF - Authentication Server Function
|
||||
* NRF - NF Repository Function
|
||||
* UDM - Unified Data Management
|
||||
* UDR - Unified Data Repository
|
||||
* PCF - Policy and Charging Function
|
||||
* NSSF - Network Slice Selection Function
|
||||
|
||||
The 5G SA core works in a different way to the 4G core - it uses a **Service Based Architecture** (SBI). **Control plane** functions are configured to register with the NRF, and the NRF then helps them discover the other core functions. Running through the other functions: The AMF handles connection and mobility management; a subset of what the 4G MME is tasked with. gNBs (5G basestations) connect to the AMF. The UDM, AUSF and UDR carry out similar operations as the 4G HSS, generating SIM authentication vectors and holding the subscriber profile. Session management is all handled by the SMF (previously the responsibility of the 4G MME/ SGWC/ PGWC). The NSSF provides a way to select the network slice. Finally there is the PCF, used for charging and enforcing subscriber policies.
|
||||
|
||||
The 5G SA core **user plane** is much simpler, as it only contains a single function. The UPF carries user data packets between the gNB and the external WAN. It connects back to the SMF too.
|
||||
|
||||
With the exception of the SMF and UPF, all config files for the 5G SA core functions only contain the function's IP bind addresses/ local Interface names and the IP address/ DNS name of the NRF.
|
||||
|
||||
|
||||
## 2. Install Open5GS with a Package Manager
|
||||
---
|
||||
|
||||
**Note:** Package managers can be used to install Open5GS in *Debian/Ubuntu and openSUSE* environments (for major and minor builds). *CentOS, Fedora, and Mac OSX* require you to [build with source code]({{ site.url }}{{ site.baseurl }}/docs/guide/02-building-open5gs-from-sources).
|
||||
{: .notice--warning}
|
||||
**Note:** Nighly builds are offered by [Osmocom](https://osmocom.org) on [OBS](https://build.opensuse.org/package/show/network:osmocom:nightly/open5gs). Scroll down to use a nightly build package.
|
||||
{: .notice--warning}
|
||||
|
||||
### Install Open5GS with a Package Manager
|
||||
---
|
||||
|
||||
#### Ubuntu
|
||||
|
||||
@@ -48,19 +110,7 @@ https://download.opensuse.org/repositories/home:/acetcom:/open5gs:/latest/xUbunt
|
||||
https://download.opensuse.org/repositories/home:/acetcom:/open5gs:/latest/xUbuntu_19.04/
|
||||
https://download.opensuse.org/repositories/home:/acetcom:/open5gs:/latest/xUbuntu_19.10/
|
||||
https://download.opensuse.org/repositories/home:/acetcom:/open5gs:/latest/xUbuntu_20.04/
|
||||
```
|
||||
|
||||
Nightly package build are provided by [Osmocom](https://osmocom.org) on [OBS](https://build.opensuse.org/package/show/network:osmocom:nightly/open5gs).
|
||||
|
||||
```
|
||||
https://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_10/
|
||||
https://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_Testing/
|
||||
https://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_Unstable/
|
||||
https://download.opensuse.org/repositories/network:/osmocom:/nightly/Raspbian_10/
|
||||
https://download.opensuse.org/repositories/network:/osmocom:/nightly/xUbuntu_18.04/
|
||||
https://download.opensuse.org/repositories/network:/osmocom:/nightly/xUbuntu_18.10/
|
||||
https://download.opensuse.org/repositories/network:/osmocom:/nightly/xUbuntu_19.04/
|
||||
https://download.opensuse.org/repositories/network:/osmocom:/nightly/xUbuntu_19.10/
|
||||
https://download.opensuse.org/repositories/home:/acetcom:/open5gs:/latest/xUbuntu_20.10/
|
||||
```
|
||||
|
||||
#### openSUSE
|
||||
@@ -73,152 +123,41 @@ $ sudo zypper install mongodb-server mongodb-shell
|
||||
$ sudo zypper install open5gs
|
||||
```
|
||||
|
||||
### Configure Open5GS
|
||||
---
|
||||
#### Nightly Builds
|
||||
|
||||
#### 5G Core
|
||||
|
||||
Modify [install/etc/open5gs/amf.yaml](https://github.com/{{ site.github_username }}/open5gs/blob/master/configs/open5gs/amf.yaml.in) to set the NGAP IP address, PLMN ID, TAC and NSSAI.
|
||||
|
||||
In the below example we
|
||||
|
||||
- use MCC-MNC of 901-70, as this is the home network of the default IMSIs of the sysmoUSIM-SJS1 cards.
|
||||
- use 10.10.0.5 for the NGAP connection of AMF to the gNB
|
||||
- use 10.11.0.7 for the GTP-U connection of UPF to the gNB
|
||||
|
||||
```diff
|
||||
diff -u amf.yaml.old amf.yaml
|
||||
--- amf.yaml.old 2020-06-21 23:34:14.643114779 -0400
|
||||
+++ amf.yaml 2020-06-21 23:34:28.718482095 -0400
|
||||
@@ -67,25 +67,25 @@
|
||||
- addr: 127.0.0.5
|
||||
port: 7777
|
||||
ngap:
|
||||
- - addr: 127.0.0.5
|
||||
+ - addr: 10.10.0.5
|
||||
guami:
|
||||
- plmn_id:
|
||||
- mcc: 001
|
||||
- mnc: 01
|
||||
+ mcc: 901
|
||||
+ mnc: 70
|
||||
amf_id:
|
||||
region: 2
|
||||
set: 1
|
||||
tai:
|
||||
- plmn_id:
|
||||
- mcc: 001
|
||||
- mnc: 01
|
||||
- tac: 7
|
||||
+ mcc: 901
|
||||
+ mnc: 70
|
||||
+ tac: 1
|
||||
plmn:
|
||||
- plmn_id:
|
||||
- mcc: 001
|
||||
- mnc: 01
|
||||
+ mcc: 901
|
||||
+ mnc: 70
|
||||
s_nssai:
|
||||
- sst: 1
|
||||
- - sd: 2
|
||||
security:
|
||||
integrity_order : [ NIA1, NIA2, NIA0 ]
|
||||
ciphering_order : [ NEA0, NEA1, NEA2 ]
|
||||
```
|
||||
|
||||
Modify [install/etc/open5gs/upf.yaml](https://github.com/{{ site.github_username }}/open5gs/blob/master/configs/open5gs/upf.yaml.in) to set the GTP-U IP address.
|
||||
```diff
|
||||
diff -u upf.yaml.old upf.yaml
|
||||
--- upf.yaml.old 2020-06-21 23:35:54.378631781 -0400
|
||||
+++ upf.yaml 2020-06-21 23:36:02.978245251 -0400
|
||||
@@ -61,6 +61,7 @@
|
||||
pfcp:
|
||||
- addr: 127.0.0.7
|
||||
gtpu:
|
||||
- - addr: 127.0.0.7
|
||||
+ - addr: 10.11.0.7
|
||||
pdn:
|
||||
```
|
||||
|
||||
After changing conf files, please restart Open5GS daemons.
|
||||
Nightly bulit package are provided by [Osmocom](https://osmocom.org) on [OBS](https://build.opensuse.org/package/show/network:osmocom:nightly/open5gs). On *Ubuntu 20.04* you can install it like this:
|
||||
|
||||
```bash
|
||||
$ sudo systemctl restart open5gs-amfd
|
||||
$ sudo systemctl restart open5gs-upfd
|
||||
$ sudo apt update
|
||||
$ sudo apt install wget gnupg
|
||||
$ wget -qO - https://download.opensuse.org/repositories/network:/osmocom:/nightly/xUbuntu_20.04/Release.key | sudo apt-key add -
|
||||
$ sudo sh -c "echo 'deb http://download.opensuse.org/repositories/network:/osmocom:/nightly/xUbuntu_20.04/ ./' > /etc/apt/sources.list.d/open5gs.list"
|
||||
$ sudo apt update
|
||||
$ sudo apt install open5gs
|
||||
```
|
||||
|
||||
#### EPC
|
||||
|
||||
Modify [install/etc/open5gs/mme.yaml](https://github.com/{{ site.github_username }}/open5gs/blob/master/configs/open5gs/mme.yaml.in) to set the S1AP IP address, PLMN ID, and TAC.
|
||||
|
||||
In the below example we
|
||||
|
||||
- use MCC-MNC of 901-70, as this is the home network of the default IMSIs of the sysmoUSIM-SJS1 cards.
|
||||
- use 10.10.0.2 for the S1AP connection of MME to the eNB
|
||||
- use 10.11.0.6 for the GTP-U connection of SGW-U to the eNB
|
||||
|
||||
```diff
|
||||
diff -u /etc/open5gs/mme.yaml.old /etc/open5gs/mme.yaml
|
||||
--- mme.yaml.old 2018-04-15 18:28:31.000000000 +0900
|
||||
+++ mme.yaml 2018-04-15 19:53:10.000000000 +0900
|
||||
@@ -204,20 +204,20 @@ logger:
|
||||
mme:
|
||||
freeDiameter: @sysconfdir@/freeDiameter/mme.conf
|
||||
s1ap:
|
||||
- addr: 127.0.0.2
|
||||
+ addr: 10.10.0.2
|
||||
gtpc:
|
||||
addr: 127.0.0.2
|
||||
gummei:
|
||||
plmn_id:
|
||||
- mcc: 001
|
||||
- mnc: 01
|
||||
+ mcc: 901
|
||||
+ mnc: 70
|
||||
mme_gid: 2
|
||||
mme_code: 1
|
||||
tai:
|
||||
plmn_id:
|
||||
- mcc: 001
|
||||
- mnc: 01
|
||||
- tac: 7
|
||||
+ mcc: 901
|
||||
+ mnc: 70
|
||||
+ tac: 1
|
||||
security:
|
||||
integrity_order : [ EIA1, EIA2, EIA0 ]
|
||||
ciphering_order : [ EEA0, EEA1, EEA2 ]
|
||||
Other distributions can be installed by changing the path.
|
||||
|
||||
```
|
||||
|
||||
Modify [install/etc/open5gs/sgwu.yaml](https://github.com/{{ site.github_username }}/open5gs/blob/master/configs/open5gs/sgwu.yaml.in) to set the GTP-U IP address.
|
||||
```diff
|
||||
diff -u /etc/open5gs/sgwu.yaml.old /etc/open5gs/sgwu.yaml
|
||||
--- sgwu.yaml.old 2018-04-15 18:30:25.000000000 +0900
|
||||
+++ sgwu.yaml 2018-04-15 18:30:30.000000000 +0900
|
||||
@@ -51,7 +51,7 @@ logger:
|
||||
#
|
||||
sgwu:
|
||||
gtpu:
|
||||
- addr: 127.0.0.6
|
||||
+ addr: 10.11.0.6
|
||||
pfcp:
|
||||
addr: 127.0.0.6
|
||||
https://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_10/
|
||||
https://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_Testing/
|
||||
https://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_Unstable/
|
||||
https://download.opensuse.org/repositories/network:/osmocom:/nightly/Raspbian_10/
|
||||
https://download.opensuse.org/repositories/network:/osmocom:/nightly/xUbuntu_18.04/
|
||||
https://download.opensuse.org/repositories/network:/osmocom:/nightly/xUbuntu_19.04/
|
||||
https://download.opensuse.org/repositories/network:/osmocom:/nightly/xUbuntu_19.10/
|
||||
https://download.opensuse.org/repositories/network:/osmocom:/nightly/xUbuntu_20.04/
|
||||
https://download.opensuse.org/repositories/network:/osmocom:/nightly/xUbuntu_20.10/
|
||||
```
|
||||
|
||||
|
||||
After changing conf files, please restart Open5GS daemons.
|
||||
|
||||
```bash
|
||||
$ sudo systemctl restart open5gs-mmed
|
||||
$ sudo systemctl restart open5gs-sgwud
|
||||
```
|
||||
|
||||
### Install WebUI of Open5GS
|
||||
## 3. Install the WebUI of Open5GS
|
||||
---
|
||||
|
||||
[Node.js](https://nodejs.org/) is required to install WebUI of Open5GS
|
||||
The WebUI allows you to interactively edit subscriber data. While it is not essential to use this, it makes things easier when you are just starting out on your Open5GS adventure. (A [command line tool](https://github.com/{{ site.github_username }}/open5gs/blob/main/misc/db/open5gs-dbctl) is available for advanced users).
|
||||
|
||||
|
||||
[Node.js](https://nodejs.org/) is required to install the WebUI of Open5GS
|
||||
|
||||
1. *Debian and Ubuntu* based Linux distributions can install [Node.js](https://nodejs.org/) as follows:
|
||||
|
||||
@@ -241,7 +180,181 @@ You can now install WebUI of Open5GS.
|
||||
$ curl -sL {{ site.url }}{{ site.baseurl }}/assets/webui/install | sudo -E bash -
|
||||
```
|
||||
|
||||
### Register Subscriber Information
|
||||
## 4. Configure Open5GS
|
||||
---
|
||||
|
||||
Okay - you have installed the software, now what to do with it? Well, there are some tweaks you will need to make to the config files, and you will need to enter subscriber data into your HSS/ UDR. You will also need to set some IP Table rules to bridge the PGWU/UPF to the WAN.
|
||||
|
||||
Out of the box, the default configurations see all of the Open5GS components fully configured for use on a single computer. They are set to communicate with each other using the local loopback address space (`127.0.0.X`). The default addresses for each of the bind interfaces for these components and functions are as follows:
|
||||
|
||||
```
|
||||
MongoDB = 127.0.0.1 (subscriber data) - http://localhost:3000
|
||||
|
||||
MME-s1ap = 127.0.0.2 :36412 for S1-MME
|
||||
MME-gtpc = 127.0.0.2 :2123 for S11
|
||||
MME-frDi = 127.0.0.2 :3868 for S6a auth
|
||||
|
||||
SGWC-gtpc = 127.0.0.3 :2123 for S11
|
||||
SGWC-pfcp = 127.0.0.3 :8805 for Sxa
|
||||
|
||||
SMF-gtpc = 127.0.0.4 :2123 for S5/8c, N11
|
||||
SMF-pfcp = 127.0.0.4 :8805 for N4
|
||||
SMF-frDi = 127.0.0.4 :3868 for Gx auth
|
||||
SMF-sbi = 127.0.0.4 :7777 for 5G SBI (N7,N10,N11)
|
||||
|
||||
AMF-ngap = 127.0.0.5 :38412 for N2
|
||||
AMF-sbi = 127.0.0.5 :7777 for 5G SBI (N8,N12,N11)
|
||||
|
||||
SGWU-pfcp = 127.0.0.6 :8805 for Sxa
|
||||
SGWU-gtpu = 127.0.0.6 :2152 for S1-U, S5/8u
|
||||
|
||||
UPF-pfcp = 127.0.0.7 :8805 for N4
|
||||
UPF-gtpu = 127.0.0.7 :2152 for S5/8u, N3
|
||||
|
||||
HSS-frDi = 127.0.0.8 :3868 for S6a auth
|
||||
|
||||
PCRF-frDi = 127.0.0.9 :3868 for Gx auth
|
||||
|
||||
NRF-sbi = 127.0.0.10:7777 for 5G SBI
|
||||
AUSF-sbi = 127.0.0.11:7777 for 5G SBI
|
||||
UDM-sbi = 127.0.0.12:7777 for 5G SBI
|
||||
PCF-sbi = 127.0.0.13:7777 for 5G SBI
|
||||
NSSF-sbi = 127.0.0.14:7777 for 5G SBI
|
||||
UDR-sbi = 127.0.0.20:7777 for 5G SBI
|
||||
```
|
||||
|
||||
#### Setup a 4G/ 5G NSA Core
|
||||
|
||||
You will need to modify your 4G MME config to support your PLMN and TAC. The international test PLMN is 001/01, and the international private network PLMN is 999/99. You should stick to using either of these PLMNs unless you have been issued a PLMN by your national regulator. (This PLMN will need to be configured in your eNB).
|
||||
|
||||
If you are aiming to connect an external eNB to your core, you will also need to change the S1AP bind address of the MME **and** the GTP-U bind address of the SGWU. If you are running an eNB stack locally, you will not need to make these changes.
|
||||
|
||||
|
||||
Modify [/etc/open5gs/mme.yaml](https://github.com/{{ site.github_username }}/open5gs/blob/main/configs/open5gs/mme.yaml.in) to set the S1AP IP address, PLMN ID, and TAC.
|
||||
|
||||
```diff
|
||||
$ diff -u /etc/open5gs/mme.yaml.old /etc/open5gs/mme.yaml
|
||||
|
||||
mme:
|
||||
freeDiameter: /etc/freeDiameter/mme.conf
|
||||
s1ap:
|
||||
- addr: 127.0.0.2
|
||||
+ addr: 10.10.0.2 # for external eNB - a local address that can be reached by the eNB
|
||||
gtpc:
|
||||
addr: 127.0.0.2
|
||||
gummei:
|
||||
plmn_id:
|
||||
- mcc: 901
|
||||
- mnc: 70
|
||||
+ mcc: 001 # set your PLMN-MCC
|
||||
+ mnc: 01 # set your PLMN-MNC
|
||||
mme_gid: 2
|
||||
mme_code: 1
|
||||
tai:
|
||||
plmn_id:
|
||||
- mcc: 901
|
||||
- mnc: 70
|
||||
- tac: 1
|
||||
+ mcc: 001 # set your PLMN-MCC
|
||||
+ mnc: 01 # set your PLMN-MNC
|
||||
+ tac: 2 # should match the TAC used by your eNB
|
||||
security:
|
||||
|
||||
```
|
||||
|
||||
Modify [/etc/open5gs/sgwu.yaml](https://github.com/{{ site.github_username }}/open5gs/blob/main/configs/open5gs/sgwu.yaml.in) to set the GTP-U IP address.
|
||||
```diff
|
||||
$ diff -u /etc/open5gs/sgwu.yaml.old /etc/open5gs/sgwu.yaml
|
||||
|
||||
sgwu:
|
||||
gtpu:
|
||||
- addr: 127.0.0.6
|
||||
+ addr: 10.11.0.6 # for external eNB - a local address that can be reached by the eNB
|
||||
pfcp:
|
||||
addr: 127.0.0.6
|
||||
|
||||
```
|
||||
|
||||
After changing config files, please restart Open5GS daemons.
|
||||
|
||||
```bash
|
||||
$ sudo systemctl restart open5gs-mmed
|
||||
$ sudo systemctl restart open5gs-sgwud
|
||||
```
|
||||
|
||||
#### Setup a 5G Core
|
||||
|
||||
You will need to modify your 5G AMF config to support your PLMN and TAC. The international test PLMN is 001/01, and the international private network PLMN is 999/99. You should stick to using either of these PLMNs unless you have been issued a PLMN by your national regulator. (This PLMN will need to be configured in your gNB).
|
||||
|
||||
If you are aiming to connect an external gNB to your core, you will also need to change the NGAP bind address of the AMF **and** the GTPU bind address of the UPF. If you are running an gNB stack locally, you will not need to make these changes.
|
||||
|
||||
|
||||
Modify [/etc/open5gs/amf.yaml](https://github.com/{{ site.github_username }}/open5gs/blob/main/configs/open5gs/amf.yaml.in) to set the NGAP IP address, PLMN ID, TAC and NSSAI.
|
||||
|
||||
```diff
|
||||
$ diff -u /etc/open5gs/amf.yaml.old /etc/open5gs/amf.yaml
|
||||
|
||||
amf:
|
||||
sbi:
|
||||
- addr: 127.0.0.5
|
||||
port: 7777
|
||||
ngap:
|
||||
- - addr: 127.0.0.5
|
||||
+ - addr: 10.10.0.5 # for external gNB - a local address that can be reached by the gNB
|
||||
guami:
|
||||
- plmn_id:
|
||||
- mcc: 901
|
||||
- mnc: 70
|
||||
+ mcc: 001 # set your PLMN-MCC
|
||||
+ mnc: 01 # set your PLMN-MNC
|
||||
amf_id:
|
||||
region: 2
|
||||
set: 1
|
||||
tai:
|
||||
- plmn_id:
|
||||
- mcc: 901
|
||||
- mnc: 70
|
||||
- tac: 1
|
||||
+ mcc: 001 # set your PLMN-MCC
|
||||
+ mnc: 01 # set your PLMN-MNC
|
||||
+ tac: 2 # should match the TAC used by your gNB
|
||||
plmn:
|
||||
- plmn_id:
|
||||
- mcc: 901
|
||||
- mnc: 70
|
||||
+ mcc: 001 # set your PLMN-MCC
|
||||
+ mnc: 01 # set your PLMN-MNC
|
||||
s_nssai:
|
||||
- sst: 1
|
||||
security:
|
||||
|
||||
```
|
||||
|
||||
Modify [/etc/open5gs/upf.yaml](https://github.com/{{ site.github_username }}/open5gs/blob/main/configs/open5gs/upf.yaml.in) to set the GTP-U address.
|
||||
```diff
|
||||
$ diff -u /etc/open5gs/upf.yaml.old /etc/open5gs/upf.yaml
|
||||
|
||||
upf:
|
||||
pfcp:
|
||||
- addr: 127.0.0.7
|
||||
gtpu:
|
||||
- - addr: 127.0.0.7
|
||||
+ - addr: 10.11.0.7 # for external gNB - a local address that can be reached by the gNB
|
||||
pdn:
|
||||
- addr: 10.45.0.1/16
|
||||
- addr: cafe::1/64
|
||||
|
||||
```
|
||||
|
||||
After changing config files, please restart Open5GS daemons.
|
||||
|
||||
```bash
|
||||
$ sudo systemctl restart open5gs-amfd
|
||||
$ sudo systemctl restart open5gs-upfd
|
||||
```
|
||||
|
||||
|
||||
#### Register Subscriber Information
|
||||
---
|
||||
|
||||
Connect to `http://localhost:3000` and login with **admin** account.
|
||||
@@ -259,15 +372,21 @@ To add subscriber information, you can do WebUI operations in the following orde
|
||||
3. Fill the IMSI, security context(K, OPc, AMF), and APN of the subscriber.
|
||||
4. Click `SAVE` Button
|
||||
|
||||
**Tip:** This addition immediately affects Open5GS without restaring any daemon.
|
||||
Enter the subscriber details of your SIM cards using this tool, to save the subscriber profile in the HSS and UDR MongoDB database backend. If you are using test SIMs, the details are normally printed on the card.
|
||||
|
||||
**Tip:** Subscribers added with this tool immediately register in the Open5GS HSS/ UDR without the need to restart any daemon.
|
||||
{: .notice--info}
|
||||
|
||||
|
||||
### Adding a route for UE to have Internet connectivity {#UEInternet}
|
||||
#### Adding a route for the UE to have WAN connectivity {#UEInternet}
|
||||
---
|
||||
|
||||
If your phone can connect to internet, you must run the following command in Open5GS-PGW installed host.
|
||||
In order to bridge between the PGWU/UPF and WAN (Internet), you must enable IP forwarding and add a NAT rule to your IP Tables.
|
||||
|
||||
**Note:** For the first run, it makes things simpler if you do not have any rules in the IP/NAT tables. If a program such as docker has already set up a rule, you will need to add rules differently.
|
||||
{: .notice--danger}
|
||||
|
||||
You can check your current IP Table rules with the following commands (these tables are empty):
|
||||
```bash
|
||||
### Check IP Tables
|
||||
$ sudo iptables -L
|
||||
@@ -293,27 +412,86 @@ target prot opt source destination
|
||||
|
||||
Chain POSTROUTING (policy ACCEPT)
|
||||
target prot opt source destination
|
||||
```
|
||||
|
||||
### Enable IPv4 Forwarding
|
||||
$ sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
|
||||
To enable forwarding and add the NAT rule, enter
|
||||
```bash
|
||||
### Enable IPv4/IPv6 Forwarding
|
||||
$ sudo sysctl -w net.ipv4.ip_forward=1
|
||||
$ sudo sysctl -w net.ipv6.conf.all.forwarding=1
|
||||
|
||||
### Add NAT Rule
|
||||
$ sudo iptables -t nat -A POSTROUTING -s 10.45.0.0/16 ! -o ogstun -j MASQUERADE
|
||||
$ sudo ip6tables -t nat -A POSTROUTING -s cafe::/64 ! -o ogstun -j MASQUERADE
|
||||
```
|
||||
|
||||
**Note:** For the first time, it is a good condition if you do not have any rules in the IP/NAT tables. If a program such as docker has already set up a rule, you will need to add a rule differently.
|
||||
{: .notice--danger}
|
||||
|
||||
### Turn on your eNodeB and Phone
|
||||
## 5. Turn on your eNB/gNB and UE
|
||||
---
|
||||
- Connect your eNodeB to the IP of your server via the standard S1AP port of SCTP 36412 (for MME)
|
||||
- You can see actual traffic through wireshark -- [[srsenb.pcapng]]({{ site.url }}{{ site.baseurl }}/assets/pcapng/srsenb.pcapng).
|
||||
- You can view the log at `/var/log/open5gs/*.log`.
|
||||
|
||||
First, connect your eNB/gNB to the Open5GS core:
|
||||
* Make sure the PLMN and TAC of the eNB/gNB matches the settings in your MME/AMF
|
||||
* Connect your eNB/gNB to the IP of your server via the standard S1AP/NGAP SCTP port 36412/38412 (for MME/AMF)
|
||||
* Your eNB/gNB should report a successful S1/NG connection - congrats, your core is fully working!
|
||||
* You can see actual traffic through wireshark -- [[srsenb.pcapng]]({{ site.url }}{{ site.baseurl }}/assets/pcapng/srsenb.pcapng).
|
||||
* You can view the log at `/var/log/open5gs/*.log`, eg:
|
||||
```bash
|
||||
### Watch the live MME log
|
||||
tail -f /var/log/open5gs/mme.log
|
||||
```
|
||||
|
||||
Next, try to attach a UE to the basestation:
|
||||
* Insert your SIM card to the UE
|
||||
* Set the UE's APN to match the APN you configured in the Open5GS WebUI
|
||||
* Toggle the UE in and out of flight mode
|
||||
* If it doesn't automatically connect, try manually searching for a network
|
||||
* If the PLMN set on the SIM card does not match the PLMN being used by the radio, you will need to ensure 'data roaming' on the UE is switched on
|
||||
|
||||
## 6. Starting and Stopping Open5GS
|
||||
---
|
||||
|
||||
When you install the software using the package manager, it is setup to run as a systemd service. You can stop and restart the components and network functions as follows:
|
||||
|
||||
```bash
|
||||
$ sudo systemctl stop open5gs-mmed
|
||||
$ sudo systemctl stop open5gs-sgwcd
|
||||
$ sudo systemctl stop open5gs-smfd
|
||||
$ sudo systemctl stop open5gs-amfd
|
||||
$ sudo systemctl stop open5gs-sgwud
|
||||
$ sudo systemctl stop open5gs-upfd
|
||||
$ sudo systemctl stop open5gs-hssd
|
||||
$ sudo systemctl stop open5gs-pcrfd
|
||||
$ sudo systemctl stop open5gs-nrfd
|
||||
$ sudo systemctl stop open5gs-ausfd
|
||||
$ sudo systemctl stop open5gs-udmd
|
||||
$ sudo systemctl stop open5gs-pcfd
|
||||
$ sudo systemctl stop open5gs-nssfd
|
||||
$ sudo systemctl stop open5gs-udrd
|
||||
$ sudo systemctl stop open5gs-webui
|
||||
```
|
||||
|
||||
```bash
|
||||
$ sudo systemctl restart open5gs-mmed
|
||||
$ sudo systemctl restart open5gs-sgwcd
|
||||
$ sudo systemctl restart open5gs-smfd
|
||||
$ sudo systemctl restart open5gs-amfd
|
||||
$ sudo systemctl restart open5gs-sgwud
|
||||
$ sudo systemctl restart open5gs-upfd
|
||||
$ sudo systemctl restart open5gs-hssd
|
||||
$ sudo systemctl restart open5gs-pcrfd
|
||||
$ sudo systemctl restart open5gs-nrfd
|
||||
$ sudo systemctl restart open5gs-ausfd
|
||||
$ sudo systemctl restart open5gs-udmd
|
||||
$ sudo systemctl restart open5gs-pcfd
|
||||
$ sudo systemctl restart open5gs-nssfd
|
||||
$ sudo systemctl restart open5gs-udrd
|
||||
$ sudo systemctl restart open5gs-webui
|
||||
```
|
||||
|
||||
|
||||
### Uninstall Open5GS and WebUI
|
||||
## 7. Uninstall Open5GS and WebUI
|
||||
|
||||
How to remove Open5GS package:
|
||||
To remove the Open5GS packages:
|
||||
|
||||
1. On *Ubuntu/Debian*:
|
||||
|
||||
|
||||
@@ -6,10 +6,14 @@ head_inline: "<style> .blue { color: blue; } </style>"
|
||||
This post explains how to compile and install the source code on **Debian/Ubuntu** based Linux Distribution.
|
||||
{: .blue}
|
||||
|
||||
**Note:** Ubuntu 16.04(xenial) and earlier versions, and Debian 9(stretch) and earlier versions are not supported.
|
||||
{: .notice--danger}
|
||||
|
||||
|
||||
### Getting MongoDB
|
||||
---
|
||||
|
||||
Install MongoDB with package manager. It is used as database for the HSS and PCRF.
|
||||
Install MongoDB with package manager. It is used as database for NRF/PCF/UDR and PCRF/HSS.
|
||||
|
||||
```bash
|
||||
$ sudo apt update
|
||||
@@ -30,7 +34,7 @@ $ sudo ip addr add cafe::1/64 dev ogstun
|
||||
$ sudo ip link set ogstun up
|
||||
```
|
||||
|
||||
**Tip:** The script provided in [$GIT_REPO/misc/netconf.sh](https://github.com/{{ site.github_username }}/open5gs/blob/master/misc/netconf.sh) makes it easy to configure the TUN device as follows:
|
||||
**Tip:** The script provided in [$GIT_REPO/misc/netconf.sh](https://github.com/{{ site.github_username }}/open5gs/blob/main/misc/netconf.sh) makes it easy to configure the TUN device as follows:
|
||||
`$ sudo ./misc/netconf.sh`
|
||||
{: .notice--info}
|
||||
|
||||
@@ -40,7 +44,7 @@ $ sudo ip link set ogstun up
|
||||
Install the dependencies for building the source code.
|
||||
|
||||
```bash
|
||||
$ sudo apt install python3-pip python3-setuptools python3-wheel ninja-build build-essential flex bison git libsctp-dev libgnutls28-dev libgcrypt-dev libssl-dev libidn11-dev libmongoc-dev libbson-dev libyaml-dev libmicrohttpd-dev libcurl4-gnutls-dev meson
|
||||
$ sudo apt install python3-pip python3-setuptools python3-wheel ninja-build build-essential flex bison git libsctp-dev libgnutls28-dev libgcrypt-dev libssl-dev libidn11-dev libmongoc-dev libbson-dev libyaml-dev libnghttp2-dev libmicrohttpd-dev libcurl4-gnutls-dev libnghttp2-dev meson
|
||||
```
|
||||
|
||||
Git clone.
|
||||
@@ -57,12 +61,24 @@ $ meson build --prefix=`pwd`/install
|
||||
$ ninja -C build
|
||||
```
|
||||
|
||||
Please free up enough memory space on the VM and run the test program.
|
||||
|
||||
The test program has been run on [VirtualBox - CPU: 1, Memory: 4.00 GB] and [Docker for Mac - CPU: 2, Memory: 2.00 GB] with default setting (max.ue: 4,096, pool.packet: 32,768).
|
||||
{: .notice--danger}
|
||||
|
||||
Check whether the compilation is correct.
|
||||
```bash
|
||||
$ ninja -C build test
|
||||
$ ./build/tests/attach/attach ## EPC Only
|
||||
$ ./build/tests/registration/registration ## 5G Core Only
|
||||
```
|
||||
|
||||
**Tip:** You can also check the result of `ninja -C build test` with a tool that captures packets. If you are running `wireshark`, select the `loopback` interface and set FILTER to `s1ap || gtpv2 || pfcp || diameter || gtp`. You can see the virtually created packets. [[testsimple.pcapng]]({{ site.url }}{{ site.baseurl }}/assets/pcapng/testsimple.pcapng)
|
||||
Run all test programs as below.
|
||||
```bash
|
||||
$ cd build
|
||||
$ meson test -v
|
||||
```
|
||||
|
||||
**Tip:** You can also check the result of `ninja -C build test` with a tool that captures packets. If you are running `wireshark`, select the `loopback` interface and set FILTER to `s1ap || gtpv2 || pfcp || diameter || gtp || ngap || http2.data.data || http2.headers`. You can see the virtually created packets. [testattach.pcapng]({{ site.url }}{{ site.baseurl }}/assets/pcapng/testattach.pcapng)/[testregistration.pcapng]({{ site.url }}{{ site.baseurl }}/assets/pcapng/testregistration.pcapng)
|
||||
{: .notice--info}
|
||||
|
||||
You need to perform the **installation process**.
|
||||
@@ -75,21 +91,15 @@ $ cd ../
|
||||
### Configure Open5GS
|
||||
---
|
||||
|
||||
#### 5G Core
|
||||
##### 5G Core
|
||||
|
||||
Modify [install/etc/open5gs/amf.yaml](https://github.com/{{ site.github_username }}/open5gs/blob/master/configs/open5gs/amf.yaml.in) to set the NGAP IP address, PLMN ID, TAC and NSSAI.
|
||||
|
||||
In the below example we
|
||||
|
||||
- use MCC-MNC of 901-70, as this is the home network of the default IMSIs of the sysmoUSIM-SJS1 cards.
|
||||
- use 10.10.0.5 for the NGAP connection of AMF to the gNB
|
||||
- use 10.11.0.7 for the GTP-U connection of UPF to the gNB
|
||||
Modify [install/etc/open5gs/amf.yaml](https://github.com/{{ site.github_username }}/open5gs/blob/main/configs/open5gs/amf.yaml.in) to set the NGAP IP address, PLMN ID, TAC and NSSAI.
|
||||
|
||||
```diff
|
||||
diff -u amf.yaml.old amf.yaml
|
||||
--- amf.yaml.old 2020-06-21 23:34:14.643114779 -0400
|
||||
+++ amf.yaml 2020-06-21 23:34:28.718482095 -0400
|
||||
@@ -67,25 +67,25 @@
|
||||
$ diff -u /etc/open5gs/amf.yaml.old /etc/open5gs/amf.yaml
|
||||
--- amf.yaml 2020-09-05 20:52:28.652234967 -0400
|
||||
+++ amf.yaml.new 2020-09-05 20:55:07.453114885 -0400
|
||||
@@ -165,23 +165,23 @@
|
||||
- addr: 127.0.0.5
|
||||
port: 7777
|
||||
ngap:
|
||||
@@ -97,101 +107,92 @@ diff -u amf.yaml.old amf.yaml
|
||||
+ - addr: 10.10.0.5
|
||||
guami:
|
||||
- plmn_id:
|
||||
- mcc: 001
|
||||
- mnc: 01
|
||||
+ mcc: 901
|
||||
+ mnc: 70
|
||||
- mcc: 901
|
||||
- mnc: 70
|
||||
+ mcc: 001
|
||||
+ mnc: 01
|
||||
amf_id:
|
||||
region: 2
|
||||
set: 1
|
||||
tai:
|
||||
- plmn_id:
|
||||
- mcc: 001
|
||||
- mnc: 01
|
||||
- tac: 7
|
||||
+ mcc: 901
|
||||
+ mnc: 70
|
||||
+ tac: 1
|
||||
- mcc: 901
|
||||
- mnc: 70
|
||||
- tac: 1
|
||||
+ mcc: 001
|
||||
+ mnc: 01
|
||||
+ tac: 2
|
||||
plmn:
|
||||
- plmn_id:
|
||||
- mcc: 001
|
||||
- mnc: 01
|
||||
+ mcc: 901
|
||||
+ mnc: 70
|
||||
- mcc: 901
|
||||
- mnc: 70
|
||||
+ mcc: 001
|
||||
+ mnc: 01
|
||||
s_nssai:
|
||||
- sst: 1
|
||||
- - sd: 2
|
||||
security:
|
||||
integrity_order : [ NIA1, NIA2, NIA0 ]
|
||||
ciphering_order : [ NEA0, NEA1, NEA2 ]
|
||||
```
|
||||
|
||||
Modify [install/etc/open5gs/upf.yaml](https://github.com/{{ site.github_username }}/open5gs/blob/master/configs/open5gs/upf.yaml.in) to set the GTP-U IP address.
|
||||
Modify [install/etc/open5gs/upf.yaml](https://github.com/{{ site.github_username }}/open5gs/blob/main/configs/open5gs/upf.yaml.in) to set the GTP-U and PFCP IP address.
|
||||
```diff
|
||||
diff -u upf.yaml.old upf.yaml
|
||||
--- upf.yaml.old 2020-06-21 23:35:54.378631781 -0400
|
||||
+++ upf.yaml 2020-06-21 23:36:02.978245251 -0400
|
||||
@@ -61,6 +61,7 @@
|
||||
$ diff -u /etc/open5gs/upf.yaml.old /etc/open5gs/upf.yaml
|
||||
--- upf.yaml 2020-09-05 20:52:28.652234967 -0400
|
||||
+++ upf.yaml.new 2020-09-05 20:52:55.279052142 -0400
|
||||
@@ -137,9 +137,7 @@
|
||||
pfcp:
|
||||
- addr: 127.0.0.7
|
||||
gtpu:
|
||||
- - addr: 127.0.0.7
|
||||
- - addr:
|
||||
- - 127.0.0.7
|
||||
- - ::1
|
||||
+ - addr: 10.11.0.7
|
||||
pdn:
|
||||
- addr: 10.45.0.1/16
|
||||
- addr: cafe::1/64
|
||||
```
|
||||
##### 4G EPC
|
||||
|
||||
If you modify the config files while Open5GS daemons are running, please restart them
|
||||
|
||||
#### EPC
|
||||
|
||||
Modify [install/etc/open5gs/mme.yaml](https://github.com/{{ site.github_username }}/open5gs/blob/master/configs/open5gs/mme.yaml.in) to set the S1AP IP address, PLMN ID, and TAC.
|
||||
|
||||
In the below example we
|
||||
|
||||
- use MCC-MNC of 901-70, as this is the home network of the default IMSIs of the sysmoUSIM-SJS1 cards.
|
||||
- use 10.10.0.2 for the S1AP connection of MME to the eNB
|
||||
- use 10.11.0.6 for the GTP-U connection of SGW-U to the eNB
|
||||
Modify [install/etc/open5gs/mme.yaml](https://github.com/{{ site.github_username }}/open5gs/blob/main/configs/open5gs/mme.yaml.in) to set the S1AP IP address, PLMN ID, and TAC.
|
||||
|
||||
```diff
|
||||
diff -u /etc/open5gs/mme.yaml.old /etc/open5gs/mme.yaml
|
||||
--- mme.yaml.old 2018-04-15 18:28:31.000000000 +0900
|
||||
+++ mme.yaml 2018-04-15 19:53:10.000000000 +0900
|
||||
@@ -204,20 +204,20 @@ logger:
|
||||
$ diff -u /etc/open5gs/mme.yaml.old /etc/open5gs/mme.yaml
|
||||
--- mme.yaml 2020-09-05 20:52:28.648235143 -0400
|
||||
+++ mme.yaml.new 2020-09-05 20:56:05.434484208 -0400
|
||||
@@ -204,20 +204,20 @@
|
||||
mme:
|
||||
freeDiameter: @sysconfdir@/freeDiameter/mme.conf
|
||||
freeDiameter: /home/acetcom/Documents/git/open5gs/install/etc/freeDiameter/mme.conf
|
||||
s1ap:
|
||||
- addr: 127.0.0.2
|
||||
+ addr: 10.10.0.2
|
||||
gtpc:
|
||||
addr: 127.0.0.2
|
||||
gummei:
|
||||
gummei:
|
||||
plmn_id:
|
||||
- mcc: 001
|
||||
- mnc: 01
|
||||
+ mcc: 901
|
||||
+ mnc: 70
|
||||
- mcc: 901
|
||||
- mnc: 70
|
||||
+ mcc: 001
|
||||
+ mnc: 01
|
||||
mme_gid: 2
|
||||
mme_code: 1
|
||||
tai:
|
||||
plmn_id:
|
||||
- mcc: 001
|
||||
- mnc: 01
|
||||
- tac: 7
|
||||
+ mcc: 901
|
||||
+ mnc: 70
|
||||
+ tac: 1
|
||||
- mcc: 901
|
||||
- mnc: 70
|
||||
- tac: 1
|
||||
+ mcc: 001
|
||||
+ mnc: 01
|
||||
+ tac: 2
|
||||
security:
|
||||
integrity_order : [ EIA1, EIA2, EIA0 ]
|
||||
ciphering_order : [ EEA0, EEA1, EEA2 ]
|
||||
|
||||
```
|
||||
|
||||
Modify [install/etc/open5gs/sgwu.yaml](https://github.com/{{ site.github_username }}/open5gs/blob/master/configs/open5gs/sgwu.yaml.in) to set the GTP-U IP address.
|
||||
Modify [install/etc/open5gs/sgwu.yaml](https://github.com/{{ site.github_username }}/open5gs/blob/main/configs/open5gs/sgwu.yaml.in) to set the GTP-U IP address.
|
||||
```diff
|
||||
diff -u /etc/open5gs/sgwu.yaml.old /etc/open5gs/sgwu.yaml
|
||||
--- sgwu.yaml.old 2018-04-15 18:30:25.000000000 +0900
|
||||
+++ sgwu.yaml 2018-04-15 18:30:30.000000000 +0900
|
||||
@@ -51,7 +51,7 @@ logger:
|
||||
$ diff -u /etc/open5gs/sgwu.yaml.old /etc/open5gs/sgwu.yaml
|
||||
--- sgwu.yaml 2020-09-05 20:50:39.393022566 -0400
|
||||
+++ sgwu.yaml.new 2020-09-05 20:51:06.667838823 -0400
|
||||
@@ -51,7 +51,7 @@
|
||||
#
|
||||
sgwu:
|
||||
gtpu:
|
||||
@@ -199,6 +200,7 @@ diff -u /etc/open5gs/sgwu.yaml.old /etc/open5gs/sgwu.yaml
|
||||
+ addr: 10.11.0.6
|
||||
pfcp:
|
||||
addr: 127.0.0.6
|
||||
|
||||
```
|
||||
|
||||
If you modify the config files while Open5GS daemons are running, please restart them
|
||||
@@ -207,33 +209,10 @@ If you modify the config files while Open5GS daemons are running, please restart
|
||||
### Running Open5GS
|
||||
---
|
||||
|
||||
Specify the absolute path to the sharead library as follows.
|
||||
|
||||
```bash
|
||||
$ echo $(cd $(dirname ./install/lib/x86_64-linux-gnu/) && pwd -P)/$(basename ./install/lib/x86_64-linux-gnu/)
|
||||
/home/acetcom/Documents/git/open5gs/install/lib/x86_64-linux-gnu
|
||||
$ export LD_LIBRARY_PATH=/home/acetcom/Documents/git/open5gs/install/lib/x86_64-linux-gnu
|
||||
$ ldd ./install/bin/open5gs-amfd
|
||||
...
|
||||
libogsapp.so.1 => /home/acetcom/Documents/git/open5gs/install/lib/x86_64-linux-gnu/libogsapp.so.1 (0x00007f161ab51000)
|
||||
libogscore.so.1 => /home/acetcom/Documents/git/open5gs/install/lib/x86_64-linux-gnu/libogscore.so.1 (0x00007f161a922000)
|
||||
libogssctp.so.1 => /home/acetcom/Documents/git/open5gs/install/lib/x86_64-linux-gnu/libogssctp.so.1 (0x00007f161a71d000)
|
||||
libogss1ap.so.1 => /home/acetcom/Documents/git/open5gs/install/lib/x86_64-linux-gnu/libogss1ap.so.1 (0x00007f161a519000)
|
||||
...
|
||||
```
|
||||
|
||||
If you want to set the shared library path permanently, you can use ldconfig.
|
||||
```bash
|
||||
$ sudo sh -c "echo /home/acetcom/Documents/git/open5gs/install/lib/x86_64-linux-gnu > /etc/ld.so.conf.d/open5gs.conf"
|
||||
$ sudo ldconfig
|
||||
```
|
||||
|
||||
Now let's get started.
|
||||
|
||||
```bash
|
||||
$ cd install/bin/
|
||||
$ ./install/bin/open5gs-mmed
|
||||
Open5GS daemon v1.3.0-213-gd190548+
|
||||
$ ./install/bin/open5gs-mmed
|
||||
Open5GS daemon v2.1.0
|
||||
|
||||
08/21 22:53:47.328: [app] INFO: Configuration: '/home/acetcom/Documents/git/open5gs/install/etc/open5gs/mme.yaml' (../src/main.c:54)
|
||||
08/21 22:53:47.328: [app] INFO: File Logging: '/home/acetcom/Documents/git/open5gs/install/var/log/open5gs/mme.log' (../src/main.c:57)
|
||||
@@ -242,8 +221,8 @@ Open5GS daemon v1.3.0-213-gd190548+
|
||||
08/21 22:53:47.365: [gtp] INFO: gtp_connect() [127.0.0.3]:2123 (../lib/gtp/path.c:59)
|
||||
08/21 22:53:47.366: [mme] INFO: s1ap_server() [127.0.0.2]:36412 (../src/mme/s1ap-sctp.c:57)
|
||||
|
||||
$ ./install/bin/open5gs-sgwcd
|
||||
Open5GS daemon v1.3.0-213-gd190548+
|
||||
$ ./install/bin/open5gs-sgwcd
|
||||
Open5GS daemon v2.1.0
|
||||
|
||||
08/21 22:54:43.059: [app] INFO: Configuration: '/home/acetcom/Documents/git/open5gs/install/etc/open5gs/sgwc.yaml' (../src/main.c:54)
|
||||
08/21 22:54:43.059: [app] INFO: File Logging: '/home/acetcom/Documents/git/open5gs/install/var/log/open5gs/sgwc.log' (../src/main.c:57)
|
||||
@@ -253,7 +232,7 @@ Open5GS daemon v1.3.0-213-gd190548+
|
||||
08/21 22:54:43.066: [pfcp] INFO: ogs_pfcp_connect() [127.0.0.6]:8805 (../lib/pfcp/path.c:60)
|
||||
|
||||
$ ./install/bin/open5gs-smfd
|
||||
Open5GS daemon v1.3.0-213-gd190548+
|
||||
Open5GS daemon v2.1.0
|
||||
|
||||
08/21 22:54:56.000: [app] INFO: Configuration: '/home/acetcom/Documents/git/open5gs/install/etc/open5gs/smf.yaml' (../src/main.c:54)
|
||||
08/21 22:54:56.000: [app] INFO: File Logging: '/home/acetcom/Documents/git/open5gs/install/var/log/open5gs/smf.log' (../src/main.c:57)
|
||||
@@ -266,7 +245,7 @@ Open5GS daemon v1.3.0-213-gd190548+
|
||||
08/21 22:54:56.051: [sbi] INFO: sbi_server() [127.0.0.4]:7777 (../lib/sbi/server.c:298)
|
||||
|
||||
$ ./install/bin/open5gs-amfd
|
||||
Open5GS daemon v1.3.0-213-gd190548+
|
||||
Open5GS daemon v2.1.0
|
||||
|
||||
08/21 22:55:14.015: [app] INFO: Configuration: '/home/acetcom/Documents/git/open5gs/install/etc/open5gs/amf.yaml' (../src/main.c:54)
|
||||
08/21 22:55:14.015: [app] INFO: File Logging: '/home/acetcom/Documents/git/open5gs/install/var/log/open5gs/amf.log' (../src/main.c:57)
|
||||
@@ -274,8 +253,8 @@ Open5GS daemon v1.3.0-213-gd190548+
|
||||
08/21 22:55:14.040: [sbi] INFO: sbi_server() [127.0.0.5]:7777 (../lib/sbi/server.c:298)
|
||||
08/21 22:55:14.040: [amf] INFO: ngap_server() [127.0.0.5]:38412 (../src/amf/ngap-sctp.c:56)
|
||||
|
||||
$ ./install/bin/open5gs-sgwud
|
||||
Open5GS daemon v1.3.0-213-gd190548+
|
||||
$ ./install/bin/open5gs-sgwud
|
||||
Open5GS daemon v2.1.0
|
||||
|
||||
08/21 22:54:10.357: [app] INFO: Configuration: '/home/acetcom/Documents/git/open5gs/install/etc/open5gs/sgwu.yaml' (../src/main.c:54)
|
||||
08/21 22:54:10.357: [app] INFO: File Logging: '/home/acetcom/Documents/git/open5gs/install/var/log/open5gs/sgwu.log' (../src/main.c:57)
|
||||
@@ -283,8 +262,8 @@ Open5GS daemon v1.3.0-213-gd190548+
|
||||
08/21 22:54:10.360: [app] INFO: SGW-U initialize...done (../src/sgwu/app.c:31)
|
||||
08/21 22:54:10.361: [gtp] INFO: gtp_server() [127.0.0.6]:2152 (../lib/gtp/path.c:32)
|
||||
|
||||
$ ./install/bin/open5gs-upfd
|
||||
Open5GS daemon v1.3.0-213-gd190548+
|
||||
$ ./install/bin/open5gs-upfd
|
||||
Open5GS daemon v2.1.0
|
||||
|
||||
08/21 22:54:21.596: [app] INFO: Configuration: '/home/acetcom/Documents/git/open5gs/install/etc/open5gs/upf.yaml' (../src/main.c:54)
|
||||
08/21 22:54:21.596: [app] INFO: File Logging: '/home/acetcom/Documents/git/open5gs/install/var/log/open5gs/upf.log' (../src/main.c:57)
|
||||
@@ -294,15 +273,15 @@ Open5GS daemon v1.3.0-213-gd190548+
|
||||
08/21 22:54:21.601: [gtp] INFO: gtp_server() [::1]:2152 (../lib/gtp/path.c:32)
|
||||
|
||||
$ ./install/bin/open5gs-hssd
|
||||
Open5GS daemon v1.3.0-213-gd190548+
|
||||
Open5GS daemon v2.1.0
|
||||
|
||||
08/21 22:57:17.450: [app] INFO: Configuration: '/home/acetcom/Documents/git/open5gs/install/etc/open5gs/hss.yaml' (../src/main.c:54)
|
||||
08/21 22:57:17.450: [app] INFO: File Logging: '/home/acetcom/Documents/git/open5gs/install/var/log/open5gs/hss.log' (../src/main.c:57)
|
||||
08/21 22:57:17.451: [dbi] INFO: MongoDB URI: 'mongodb://localhost/open5gs' (../lib/dbi/ogs-mongoc.c:99)
|
||||
08/21 22:57:17.519: [app] INFO: HSS initialize...done (../src/hss/app-init.c:31)
|
||||
|
||||
$ ./install/bin/open5gs-pcrfd
|
||||
Open5GS daemon v1.3.0-213-gd190548+
|
||||
$ ./install/bin/open5gs-pcrfd
|
||||
Open5GS daemon v2.1.0
|
||||
|
||||
08/21 22:57:45.894: [app] INFO: Configuration: '/home/acetcom/Documents/git/open5gs/install/etc/open5gs/pcrf.yaml' (../src/main.c:54)
|
||||
08/21 22:57:45.894: [app] INFO: File Logging: '/home/acetcom/Documents/git/open5gs/install/var/log/open5gs/pcrf.log' (../src/main.c:57)
|
||||
@@ -310,7 +289,7 @@ Open5GS daemon v1.3.0-213-gd190548+
|
||||
08/21 22:57:45.997: [app] INFO: PCRF initialize...done (../src/pcrf/app-init.c:31)
|
||||
|
||||
$ ./install/bin/open5gs-nrfd
|
||||
Open5GS daemon v1.3.0-213-gd190548+
|
||||
Open5GS daemon v2.1.0
|
||||
|
||||
08/21 22:56:35.472: [app] INFO: Configuration: '/home/acetcom/Documents/git/open5gs/install/etc/open5gs/nrf.yaml' (../src/main.c:54)
|
||||
08/21 22:56:35.472: [app] INFO: File Logging: '/home/acetcom/Documents/git/open5gs/install/var/log/open5gs/nrf.log' (../src/main.c:57)
|
||||
@@ -319,23 +298,39 @@ Open5GS daemon v1.3.0-213-gd190548+
|
||||
08/21 22:56:35.473: [sbi] INFO: sbi_server() [::1]:7777 (../lib/sbi/server.c:298
|
||||
|
||||
$ ./install/bin/open5gs-ausfd
|
||||
Open5GS daemon v1.3.0-213-gd190548+
|
||||
Open5GS daemon v2.1.0
|
||||
|
||||
08/21 22:55:41.899: [app] INFO: Configuration: '/home/acetcom/Documents/git/open5gs/install/etc/open5gs/ausf.yaml' (../src/main.c:54)
|
||||
08/21 22:55:41.899: [app] INFO: File Logging: '/home/acetcom/Documents/git/open5gs/install/var/log/open5gs/ausf.log' (../src/main.c:57)
|
||||
08/21 22:55:41.900: [app] INFO: AUSF initialize...done (../src/ausf/app.c:31)
|
||||
08/21 22:55:41.900: [sbi] INFO: sbi_server() [127.0.0.11]:7777 (../lib/sbi/server.c:298)
|
||||
|
||||
$ ./install/bin/open5gs-udmd
|
||||
Open5GS daemon v1.3.0-213-gd190548+
|
||||
$ ./install/bin/open5gs-udmd
|
||||
Open5GS daemon v2.1.0
|
||||
|
||||
08/21 22:56:02.154: [app] INFO: Configuration: '/home/acetcom/Documents/git/open5gs/install/etc/open5gs/udm.yaml' (../src/main.c:54)
|
||||
08/21 22:56:02.154: [app] INFO: File Logging: '/home/acetcom/Documents/git/open5gs/install/var/log/open5gs/udm.log' (../src/main.c:57)
|
||||
08/21 22:56:02.155: [app] INFO: UDM initialize...done (../src/udm/app.c:31)
|
||||
08/21 22:56:02.155: [sbi] INFO: sbi_server() [127.0.0.12]:7777 (../lib/sbi/server.c:298)
|
||||
|
||||
$ ./install/bin/open5gs-udrd
|
||||
Open5GS daemon v1.3.0-213-gd190548+
|
||||
$ ./install/bin/open5gs-pcfd
|
||||
Open5GS daemon v2.1.0
|
||||
|
||||
08/21 22:56:02.154: [app] INFO: Configuration: '/home/acetcom/Documents/git/open5gs/install/etc/open5gs/pcf.yaml' (../src/main.c:54)
|
||||
08/21 22:56:02.154: [app] INFO: File Logging: '/home/acetcom/Documents/git/open5gs/install/var/log/open5gs/pcf.log' (../src/main.c:57)
|
||||
08/21 22:56:02.155: [app] INFO: PCF initialize...done (../src/pcf/app.c:31)
|
||||
08/21 22:56:02.155: [sbi] INFO: sbi_server() [127.0.0.12]:7777 (../lib/sbi/server.c:298)
|
||||
|
||||
$ ./install/bin/open5gs-nssfd
|
||||
Open5GS daemon v2.1.0
|
||||
|
||||
08/21 22:56:02.154: [app] INFO: Configuration: '/home/acetcom/Documents/git/open5gs/install/etc/open5gs/nssfd.yaml' (../src/main.c:54)
|
||||
08/21 22:56:02.154: [app] INFO: File Logging: '/home/acetcom/Documents/git/open5gs/install/var/log/open5gs/nssfd.log' (../src/main.c:57)
|
||||
08/21 22:56:02.155: [app] INFO: NSSF initialize...done (../src/nssfd/app.c:31)
|
||||
08/21 22:56:02.155: [sbi] INFO: sbi_server() [127.0.0.12]:7777 (../lib/sbi/server.c:298)
|
||||
|
||||
$ ./install/bin/open5gs-udrd
|
||||
Open5GS daemon v2.1.0
|
||||
|
||||
08/21 22:56:15.810: [app] INFO: Configuration: '/home/acetcom/Documents/git/open5gs/install/etc/open5gs/udr.yaml' (../src/main.c:54)
|
||||
08/21 22:56:15.810: [app] INFO: File Logging: '/home/acetcom/Documents/git/open5gs/install/var/log/open5gs/udr.log' (../src/main.c:57)
|
||||
@@ -368,14 +363,9 @@ $ cp open5gs* /usr/bin/
|
||||
|
||||
For convenience, you can execute all NFs at once by using the following command.
|
||||
```bash
|
||||
$ cd build
|
||||
$ cat configs/sample.yaml ## check the configuration
|
||||
|
||||
$ ./test/app/5gc ## 5G Core Only with sample.yaml
|
||||
OR
|
||||
$ ./test/app/epc -c ./config/srslte.yaml ## EPC Only with srslte.yaml
|
||||
OR
|
||||
$ ./test/app/app ## Both 5G Core and EPC with sample.yaml
|
||||
$ ./build/tests/app/5gc ## 5G Core Only with ./build/configs/sample.yaml
|
||||
$ ./build/tests/app/epc -c ./build/configs/srslte.yaml ## EPC Only with ./build/configs/srslte.yaml
|
||||
$ ./build/tests/app/app ## Both 5G Core and EPC with ./build/configs/sample.yaml
|
||||
```
|
||||
|
||||
### Building the WebUI of Open5GS
|
||||
@@ -402,10 +392,17 @@ The WebUI runs as an [npm](https://www.npmjs.com/) script.
|
||||
$ npm run dev
|
||||
```
|
||||
|
||||
Server listening can be changed by setting the environment variable HOSTNAME or PORT as below.
|
||||
|
||||
```bash
|
||||
$ HOSTNAME=192.168.0.11 npm run dev
|
||||
$ PORT=7777 npm run dev
|
||||
```
|
||||
|
||||
### Register Subscriber Information
|
||||
---
|
||||
|
||||
Connect to `http://localhost:3000` and login with **admin** account.
|
||||
Connect to `http://127.0.0.1:3000` and login with **admin** account.
|
||||
|
||||
> Username : admin
|
||||
> Password : 1423
|
||||
@@ -455,11 +452,13 @@ target prot opt source destination
|
||||
Chain POSTROUTING (policy ACCEPT)
|
||||
target prot opt source destination
|
||||
|
||||
### Enable IPv4 Forwarding
|
||||
$ sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
|
||||
### Enable IPv4/IPv6 Forwarding
|
||||
$ sudo sysctl -w net.ipv4.ip_forward=1
|
||||
$ sudo sysctl -w net.ipv6.conf.all.forwarding=1
|
||||
|
||||
### Add NAT Rule
|
||||
$ sudo iptables -t nat -A POSTROUTING -s 10.45.0.0/16 ! -o ogstun -j MASQUERADE
|
||||
$ sudo ip6tables -t nat -A POSTROUTING -s cafe::/64 ! -o ogstun -j MASQUERADE
|
||||
```
|
||||
|
||||
**Note:** The above assumes you do not have any existing rules in the filter and nat tables. If a program such as docker has already set up rules, you may need to add the Open5GS related rules differently.
|
||||
@@ -491,7 +490,7 @@ Debugging tools can help you troubleshoot problems.
|
||||
You can use the command line option[`-d`] to record more logs.
|
||||
|
||||
```bash
|
||||
$ ./test/app/app -d
|
||||
$ ./tests/app/app -d
|
||||
Open5GS daemon v1.3.0-213-gd190548+
|
||||
|
||||
08/21 23:01:54.246: [app] INFO: Configuration: '/home/acetcom/Documents/git/open5gs/build/configs/sample.yaml' (../src/main.c:54)
|
||||
|
||||
@@ -1,165 +0,0 @@
|
||||
---
|
||||
title: Open5GS Splitting Network Elements
|
||||
head_inline: "<style> .blue { color: blue; } </style>"
|
||||
---
|
||||
|
||||
In a production network, NFs would typically not all be on the same machine, as is the default example that ships with Open5GS.
|
||||
|
||||
Open5GS is designed to be standards compliant, so in theory you can connect any core network function from Open5GS or any other vendor to form a functioning network, so long as they are 3GPP compliant.
|
||||
|
||||
To demonstrate this we will cover isolating each network element onto it's on machine and connect each network element to the other. For some interfaces specifying multiple interfaces is supported to allow connection to multiple
|
||||
|
||||
In these examples we'll be connecting Open5GS NFs together, but it could just as easily be NFs from a different vendor in the place of any Open5GS network functions.
|
||||
|
||||
| Service | IP | Identity |
|
||||
| ------------- |:-------------:|:-------------:|
|
||||
| SMF | 10.0.1.121 | smf.localdomain |
|
||||
| SGW-C | 10.0.1.122 | |
|
||||
| PCRF | 10.0.1.123 | pcrf.localdomain |
|
||||
| MME | 10.0.1.124 | mme.localdomain |
|
||||
| HSS | 10.0.1.118 | hss.localdomain |
|
||||
|
||||
|
||||
# External SMF
|
||||
In it's simplest from the SMF has 3 interfaces:
|
||||
* S5 - Connection to home network SGW-C (GTP-C)
|
||||
* Gx - Connection to PCRF (Diameter)
|
||||
* Sgi - Connection to external network (Generally the Internet via standard TCP/IP)
|
||||
|
||||
### S5 Interface Configuration
|
||||
Edit ```/etc/open5gs/smf.yaml``` and change the address to IP of the server running the SMF for the listener on GTP-C interfaces.
|
||||
|
||||
```
|
||||
smf:
|
||||
freeDiameter: /etc/freeDiameter/smf.conf
|
||||
gtpc:
|
||||
addr:
|
||||
- 10.0.1.121
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
### Gx Interface Configuration
|
||||
Edit ```/etc/freeDiameter/smf.conf```
|
||||
|
||||
Update ```ListenOn``` address to IP of the server running the SMF:
|
||||
|
||||
``` ListenOn = "10.0.1.121"; ```
|
||||
|
||||
Update ConnectPeer to connect to the PCRF on it's IP.
|
||||
|
||||
```ConnectPeer = "pcrf.localdomain" { ConnectTo = "10.0.1.123"; No_TLS; };```
|
||||
|
||||
|
||||
### Restart Services
|
||||
Restart Open5GS SMF Daemon:
|
||||
|
||||
``` $ sudo systemctl restart open5gs-smfd ```
|
||||
|
||||
|
||||
# External SGW-C
|
||||
In it's simplest form the SGW-C has 2 interfaces:
|
||||
* S11 - Connection to MME (GTP-C)
|
||||
* S5 - Connection to the home network SMF (GTP-C)
|
||||
|
||||
### S5 Interface Configuration
|
||||
Edit ```/etc/open5gs/sgwc.yaml``` and change the address to IP of the server running the SGW-C for the listener on GTP-C interface.
|
||||
|
||||
```
|
||||
sgwc:
|
||||
gtpc:
|
||||
addr:
|
||||
- 10.0.1.122
|
||||
```
|
||||
|
||||
Restart Open5GS SGW-C Daemon:
|
||||
|
||||
``` $ sudo systemctl restart open5gs-sgwcd ```
|
||||
|
||||
|
||||
# External PCRF
|
||||
In it's simplest from the PCRF has 1 network interface:
|
||||
* Gx - Connection to SMF (Diameter)
|
||||
|
||||
### Gx Interface Configuration
|
||||
Edit ```/etc/freeDiameter/pcrf.conf```
|
||||
|
||||
Update ```ListenOn``` address to IP of the server running the HSS on it's IP:
|
||||
|
||||
``` ListenOn = "10.0.1.123"; ```
|
||||
|
||||
Update ConnectPeer to connect to the MME.
|
||||
|
||||
```ConnectPeer = "smf.localdomain" { ConnectTo = "10.0.1.121"; No_TLS; };```
|
||||
|
||||
### MongoDB Interface Configuration
|
||||
Edit the ```db_uri:``` to point at the Open5GS: ```db_uri: mongodb://10.0.1.118/open5gs```
|
||||
|
||||
Restart Open5GS PCRF Daemon:
|
||||
|
||||
``` $ sudo systemctl restart open5gs-pcrfd ```
|
||||
|
||||
# External HSS
|
||||
In it's simplest form the HSS has 1 network interface:
|
||||
* S6a - Connection to MME (Diameter)
|
||||
|
||||
### S6a Interface Configuration
|
||||
Edit ```/etc/freeDiameter/hss.conf```
|
||||
|
||||
Update ```ListenOn``` address to IP of the server running the HSS on it's IP:
|
||||
|
||||
``` ListenOn = "10.0.1.118"; ```
|
||||
|
||||
Update ConnectPeer to connect to the MME.
|
||||
|
||||
```ConnectPeer = "mme.localdomain" { ConnectTo = "10.0.1.124"; No_TLS; };```
|
||||
|
||||
Restart Open5GS HSS Daemon:
|
||||
|
||||
``` $ sudo systemctl restart open5gs-hssd ```
|
||||
|
||||
### MongoDB Interface Configuration (Open5GS specific)
|
||||
If you are using Open5GS's HSS you may need to enable MongoDB access from the PCRF. This is done by editing ''/etc/mongodb.conf'' and changing the bind IP to:
|
||||
``` bind_ip = 0.0.0.0 ```
|
||||
|
||||
Restart MongoDB for changes to take effect.
|
||||
|
||||
``` $ /etc/init.d/mongodb restart ```
|
||||
|
||||
# External MME
|
||||
In it's simplest form the MME has 3 interfaces:
|
||||
* S1AP - Connections from eNodeBs
|
||||
* S6a - Connection to HSS (Diameter)
|
||||
* S11 - Connection to SGW-C (GTP-C)
|
||||
|
||||
### S11 Interface Configuration
|
||||
Edit ```/etc/open5gs/mme.yaml``` and filling the IP address of the SGW-C and SMF servers.
|
||||
```
|
||||
sgwc:
|
||||
gtpc:
|
||||
addr: 10.0.1.122
|
||||
|
||||
smf:
|
||||
gtpc:
|
||||
addr:
|
||||
- 10.0.1.121
|
||||
```
|
||||
|
||||
### S6a Interface Configuration
|
||||
Edit ```/etc/freeDiameter/mme.conf```
|
||||
|
||||
Update ```ListenOn``` address to IP of the server running the MME:
|
||||
|
||||
``` ListenOn = "10.0.1.124"; ```
|
||||
|
||||
Update ConnectPeer to connect to the PCRF on it's IP.
|
||||
|
||||
```ConnectPeer = "hss.localdomain" { ConnectTo = "10.0.1.118"; No_TLS; };```
|
||||
|
||||
|
||||
### Restart Services
|
||||
Restart Open5GS MME Daemon:
|
||||
|
||||
``` $ sudo systemctl restart open5gs-mmed ```
|
||||
|
||||
371
docs/_docs/guide/03-splitting-network-functions.md
Normal file
371
docs/_docs/guide/03-splitting-network-functions.md
Normal file
@@ -0,0 +1,371 @@
|
||||
---
|
||||
title: Open5GS Splitting Network Functions
|
||||
head_inline: "<style> .blue { color: blue; } </style>"
|
||||
---
|
||||
|
||||
In a production network, NFs are usually not on the same machine as the default example that comes with Open5GS.
|
||||
|
||||
Open5GS is designed to comply with standards, so in theory you can connect core network functions from Open5GS or other vendors to form a functioning network. However, this is only possible if it complies with 3GPP.
|
||||
|
||||
To demonstrate this, we will cover how to isolate each network function and connect each network function to another. For some interfaces, you can specify multiple interfaces to connect to multiple interfaces.
|
||||
|
||||
In this example, we are connecting the Open5GS NF together, but instead of the Open5GS network function, you can easily connect them like other vendors' NFs.
|
||||
|
||||
## 1. Configuring Open5GS (Without other vendors' NFs)
|
||||
|
||||
_Cloud Authentication and Session Management Server_
|
||||
|
||||
```
|
||||
MongoDB = 127.0.0.1 (subscriber data) - http://localhost:3000
|
||||
MME-s1ap = 10.10.0.2 :36412 (authVPN) for S1-MME
|
||||
MME-gtpc = 127.0.0.2 :2123 for S11
|
||||
MME-frDi = 127.0.0.2 :3868 for S6a auth
|
||||
SGWC-gtpc = 127.0.0.3 :2123 for S11
|
||||
SGWC-pfcp = 10.10.0.3 :8805 (authVPN) for Sxa
|
||||
SMF-gtpc = 127.0.0.4 :2123 for S5/8c, N11
|
||||
SMF-pfcp = 10.10.0.4 :8805 (authVPN) for N4
|
||||
SMF-frDi = 127.0.0.4 :3868 for Gx auth
|
||||
SMF-sbi = 127.0.0.4 :7777 for 5G SBI (N7,N10,N11)
|
||||
AMF-ngap = 10.10.0.5 :38412 (authVPN) for N2
|
||||
AMF-sbi = 127.0.0.5 :7777 for 5G SBI (N8,N12,N11)
|
||||
HSS-frDi = 127.0.0.8 :3868 for S6a auth
|
||||
PCRF-frDi = 127.0.0.9 :3868 for Gx auth
|
||||
NRF-sbi = 127.0.0.10:7777 for 5G SBI
|
||||
AUSF-sbi = 127.0.0.11:7777 for 5G SBI
|
||||
UDM-sbi = 127.0.0.12:7777 for 5G SBI
|
||||
PCF-sbi = 127.0.0.13:7777 for 5G SBI
|
||||
NSSF-sbi = 127.0.0.14:7777 for 5G SBI
|
||||
UDR-sbi = 127.0.0.20:7777 for 5G SBI
|
||||
```
|
||||
|
||||
_Cloud Userplane Server (to host IMS etc)_
|
||||
|
||||
```
|
||||
SGWU-pfcp = 10.10.0.6 :8805 (authVPN) for Sxa
|
||||
SGWU-gtpu = 10.11.0.6 :2152 (userplaneVPN) for S1-U, S5/8u
|
||||
UPF-pfcp = 10.10.0.7 :8805 (authVPN) for N4
|
||||
UPF-gtpu = 10.11.0.7 :2152 (userplaneVPN) for S5/8u, N3
|
||||
```
|
||||
|
||||
You can refer to the network settings at
|
||||
[{{ site.url }}{{ site.baseurl }}/assets/Open5GS-Diagram.pdf]({{ site.url }}{{ site.baseurl }}/assets/Open5GS-Diagram.pdf) provided by [@kbarlee](https://github.com/kbarlee) in issue [#528](https://github.com/{{ site.github_username }}/open5gs/issues/528)
|
||||
{: .notice--danger}
|
||||
|
||||
Modify [install/etc/open5gs/mme.yaml](https://github.com/{{ site.github_username }}/open5gs/blob/main/configs/open5gs/mme.yaml.in) to set the S1AP IP address, PLMN ID, and TAC.
|
||||
|
||||
```diff
|
||||
$ diff -u /etc/open5gs/mme.yaml.old /etc/open5gs/mme.yaml
|
||||
--- mme.yaml.old 2020-08-22 11:36:40.512418765 -0400
|
||||
+++ mme.yaml 2020-08-22 11:36:27.081466682 -0400
|
||||
@@ -204,20 +204,20 @@
|
||||
mme:
|
||||
freeDiameter: /home/acetcom/Documents/git/open5gs/install/etc/freeDiameter/mme.conf
|
||||
s1ap:
|
||||
- addr: 127.0.0.2
|
||||
+ addr: 10.10.0.2
|
||||
gtpc:
|
||||
addr: 127.0.0.2
|
||||
gummei:
|
||||
plmn_id:
|
||||
- mcc: 001
|
||||
- mnc: 01
|
||||
+ mcc: 901
|
||||
+ mnc: 70
|
||||
mme_gid: 2
|
||||
mme_code: 1
|
||||
tai:
|
||||
plmn_id:
|
||||
- mcc: 001
|
||||
- mnc: 01
|
||||
- tac: 7
|
||||
+ mcc: 901
|
||||
+ mnc: 70
|
||||
+ tac: 1
|
||||
security:
|
||||
integrity_order : [ EIA1, EIA2, EIA0 ]
|
||||
ciphering_order : [ EEA0, EEA1, EEA2 ]
|
||||
```
|
||||
|
||||
Modify [install/etc/open5gs/sgwc.yaml](https://github.com/{{ site.github_username }}/open5gs/blob/main/configs/open5gs/sgwc.yaml.in) to set the PFCP IP address.
|
||||
```diff
|
||||
$ diff -u /etc/open5gs/sgwc.yaml.old /etc/open5gs/sgwc.yaml
|
||||
@@ -49,7 +49,7 @@
|
||||
gtpc:
|
||||
addr: 127.0.0.3
|
||||
pfcp:
|
||||
- addr: 127.0.0.3
|
||||
+ addr: 10.10.0.3
|
||||
|
||||
#
|
||||
# sgwu:
|
||||
@@ -100,7 +100,7 @@
|
||||
#
|
||||
sgwu:
|
||||
pfcp:
|
||||
- addr: 127.0.0.6
|
||||
+ addr: 10.10.0.6
|
||||
|
||||
#
|
||||
# parameter:
|
||||
```
|
||||
|
||||
Modify [install/etc/open5gs/smf.yaml](https://github.com/{{ site.github_username }}/open5gs/blob/main/configs/open5gs/smf.yaml.in) to set the PFCP IP address.
|
||||
```diff
|
||||
$ diff -u /etc/open5gs/smf.yaml.old /etc/open5gs/smf.yaml
|
||||
--- smf.yaml.old 2020-08-22 11:37:39.990816411 -0400
|
||||
+++ smf.yaml 2020-08-22 11:38:18.647999952 -0400
|
||||
@@ -187,8 +187,7 @@
|
||||
- addr: 127.0.0.4
|
||||
- addr: ::1
|
||||
pfcp:
|
||||
- - addr: 127.0.0.4
|
||||
- - addr: ::1
|
||||
+ - addr: 10.10.0.4
|
||||
pdn:
|
||||
- addr: 10.45.0.1/16
|
||||
- addr: cafe::1/64
|
||||
@@ -282,7 +281,7 @@
|
||||
#
|
||||
upf:
|
||||
pfcp:
|
||||
- - addr: 127.0.0.7
|
||||
+ - addr: 10.10.0.7
|
||||
|
||||
#
|
||||
# parameter:
|
||||
|
||||
```
|
||||
|
||||
Modify [install/etc/open5gs/amf.yaml](https://github.com/{{ site.github_username }}/open5gs/blob/main/configs/open5gs/amf.yaml.in) to set the NGAP IP address, PLMN ID, TAC and NSSAI.
|
||||
|
||||
```diff
|
||||
diff -u /etc/open5gs/amf.yaml.old /etc/open5gs/amf.yaml
|
||||
--- amf.yaml.old 2020-06-21 23:34:14.643114779 -0400
|
||||
+++ amf.yaml 2020-06-21 23:34:28.718482095 -0400
|
||||
@@ -67,25 +67,25 @@
|
||||
- addr: 127.0.0.5
|
||||
port: 7777
|
||||
ngap:
|
||||
- - addr: 127.0.0.5
|
||||
+ - addr: 10.10.0.5
|
||||
guami:
|
||||
- plmn_id:
|
||||
- mcc: 001
|
||||
- mnc: 01
|
||||
+ mcc: 901
|
||||
+ mnc: 70
|
||||
amf_id:
|
||||
region: 2
|
||||
set: 1
|
||||
tai:
|
||||
- plmn_id:
|
||||
- mcc: 001
|
||||
- mnc: 01
|
||||
- tac: 7
|
||||
+ mcc: 901
|
||||
+ mnc: 70
|
||||
+ tac: 1
|
||||
plmn:
|
||||
- plmn_id:
|
||||
- mcc: 001
|
||||
- mnc: 01
|
||||
+ mcc: 901
|
||||
+ mnc: 70
|
||||
s_nssai:
|
||||
- sst: 1
|
||||
- - sd: 2
|
||||
security:
|
||||
integrity_order : [ NIA1, NIA2, NIA0 ]
|
||||
ciphering_order : [ NEA0, NEA1, NEA2 ]
|
||||
```
|
||||
|
||||
Modify [install/etc/open5gs/sgwu.yaml](https://github.com/{{ site.github_username }}/open5gs/blob/main/configs/open5gs/sgwu.yaml.in) to set the GTP-U and PFCP IP address.
|
||||
```diff
|
||||
$ diff -u /etc/open5gs/sgwu.yaml.old /etc/open5gs/sgwu.yaml
|
||||
--- sgwu.yaml.old 2020-08-22 11:41:09.214670723 -0400
|
||||
+++ sgwu.yaml 2020-08-22 11:41:27.433937124 -0400
|
||||
@@ -51,9 +51,9 @@
|
||||
#
|
||||
sgwu:
|
||||
gtpu:
|
||||
- addr: 127.0.0.6
|
||||
+ addr: 10.11.0.6
|
||||
pfcp:
|
||||
- addr: 127.0.0.6
|
||||
+ addr: 10.10.0.6
|
||||
|
||||
#
|
||||
# sgwc:
|
||||
```
|
||||
|
||||
Modify [install/etc/open5gs/upf.yaml](https://github.com/{{ site.github_username }}/open5gs/blob/main/configs/open5gs/upf.yaml.in) to set the GTP-U and PFCP IP address.
|
||||
```diff
|
||||
$ diff -u /etc/open5gs/upf.yaml.old /etc/open5gs/upf.yaml
|
||||
--- upf.yaml.old 2020-08-22 11:42:57.781750067 -0400
|
||||
+++ upf.yaml 2020-08-22 11:43:13.268901616 -0400
|
||||
@@ -59,11 +59,9 @@
|
||||
#
|
||||
upf:
|
||||
pfcp:
|
||||
- - addr: 127.0.0.7
|
||||
+ - addr: 10.10.0.7
|
||||
gtpu:
|
||||
- - addr:
|
||||
- - 127.0.0.7
|
||||
- - ::1
|
||||
+ - addr: 10.11.0.7
|
||||
pdn:
|
||||
- addr: 10.45.0.1/16
|
||||
- addr: cafe::1/64
|
||||
```
|
||||
|
||||
After changing conf files, please restart Open5GS daemons.
|
||||
|
||||
```bash
|
||||
$ sudo systemctl restart open5gs-mmed.service
|
||||
$ sudo systemctl restart open5gs-sgwcd.service
|
||||
$ sudo systemctl restart open5gs-smfd.service
|
||||
$ sudo systemctl restart open5gs-amfd.service
|
||||
$ sudo systemctl restart open5gs-upfd.service
|
||||
$ sudo systemctl restart open5gs-sgwud.service
|
||||
```
|
||||
|
||||
## 2. External SMF
|
||||
In it's simplest form the SMF has 4 interfaces:
|
||||
* S5 - Connection to home network SGW-C (GTP-C)
|
||||
* Gx - Connection to PCRF (Diameter)
|
||||
* SBI - Service-based interface(HTTP2)
|
||||
* Sgi - Connection to external network (Generally the Internet via standard TCP/IP)
|
||||
|
||||
#### S5 Interface Configuration
|
||||
Edit ```/etc/open5gs/smf.yaml``` and change the address to IP of the server running the SMF for the listener on GTP-C interfaces.
|
||||
|
||||
```
|
||||
smf:
|
||||
freeDiameter: /etc/freeDiameter/smf.conf
|
||||
gtpc:
|
||||
addr:
|
||||
- 10.0.1.121
|
||||
```
|
||||
|
||||
#### Gx Interface Configuration
|
||||
Edit ```/etc/freeDiameter/smf.conf```
|
||||
|
||||
Update ```ListenOn``` address to IP of the server running the SMF:
|
||||
|
||||
``` ListenOn = "10.0.1.121"; ```
|
||||
|
||||
Update ConnectPeer to connect to the PCRF on it's IP.
|
||||
|
||||
```ConnectPeer = "pcrf.localdomain" { ConnectTo = "10.0.1.123"; No_TLS; };```
|
||||
|
||||
#### Restart Services
|
||||
Restart Open5GS SMF Daemon:
|
||||
|
||||
``` $ sudo systemctl restart open5gs-smfd.service ```
|
||||
|
||||
|
||||
## 3. External SGW-C
|
||||
In it's simplest form the SGW-C has 2 interfaces:
|
||||
* S11 - Connection to MME (GTP-C)
|
||||
* S5 - Connection to the home network SMF (GTP-C)
|
||||
|
||||
#### S5 Interface Configuration
|
||||
Edit ```/etc/open5gs/sgwc.yaml``` and change the address to IP of the server running the SGW-C for the listener on GTP-C interface.
|
||||
|
||||
```
|
||||
sgwc:
|
||||
gtpc:
|
||||
addr:
|
||||
- 10.0.1.122
|
||||
```
|
||||
|
||||
Restart Open5GS SGW-C Daemon:
|
||||
|
||||
``` $ sudo systemctl restart open5gs-sgwcd.service ```
|
||||
|
||||
|
||||
## 4. External PCRF
|
||||
In it's simplest from the PCRF has 1 network interface:
|
||||
* Gx - Connection to SMF (Diameter)
|
||||
|
||||
#### Gx Interface Configuration
|
||||
Edit ```/etc/freeDiameter/pcrf.conf```
|
||||
|
||||
Update ```ListenOn``` address to IP of the server running the HSS on it's IP:
|
||||
|
||||
``` ListenOn = "10.0.1.123"; ```
|
||||
|
||||
Update ConnectPeer to connect to the MME.
|
||||
|
||||
```ConnectPeer = "smf.localdomain" { ConnectTo = "10.0.1.121"; No_TLS; };```
|
||||
|
||||
#### MongoDB Interface Configuration
|
||||
Edit the ```db_uri:``` to point at the Open5GS: ```db_uri: mongodb://10.0.1.118/open5gs```
|
||||
|
||||
Restart Open5GS PCRF Daemon:
|
||||
|
||||
``` $ sudo systemctl restart open5gs-pcrfd.service ```
|
||||
|
||||
## 5. External HSS
|
||||
In it's simplest form the HSS has 1 network interface:
|
||||
* S6a - Connection to MME (Diameter)
|
||||
|
||||
#### S6a Interface Configuration
|
||||
Edit ```/etc/freeDiameter/hss.conf```
|
||||
|
||||
Update ```ListenOn``` address to IP of the server running the HSS on it's IP:
|
||||
|
||||
``` ListenOn = "10.0.1.118"; ```
|
||||
|
||||
Update ConnectPeer to connect to the MME.
|
||||
|
||||
```ConnectPeer = "mme.localdomain" { ConnectTo = "10.0.1.124"; No_TLS; };```
|
||||
|
||||
Restart Open5GS HSS Daemon:
|
||||
|
||||
``` $ sudo systemctl restart open5gs-hssd.service ```
|
||||
|
||||
#### MongoDB Interface Configuration (Open5GS specific)
|
||||
If you are using Open5GS's HSS you may need to enable MongoDB access from the PCRF. This is done by editing ''/etc/mongodb.conf'' and changing the bind IP to:
|
||||
``` bind_ip = 0.0.0.0 ```
|
||||
|
||||
Restart MongoDB for changes to take effect.
|
||||
|
||||
``` $ /etc/init.d/mongodb restart ```
|
||||
|
||||
## 6. External MME
|
||||
In it's simplest form the MME has 3 interfaces:
|
||||
* S1AP - Connections from eNodeBs
|
||||
* S6a - Connection to HSS (Diameter)
|
||||
* S11 - Connection to SGW-C (GTP-C)
|
||||
|
||||
#### S11 Interface Configuration
|
||||
Edit ```/etc/open5gs/mme.yaml``` and filling the IP address of the SGW-C and SMF servers.
|
||||
```
|
||||
sgwc:
|
||||
gtpc:
|
||||
addr: 10.0.1.122
|
||||
|
||||
smf:
|
||||
gtpc:
|
||||
addr:
|
||||
- 10.0.1.121
|
||||
```
|
||||
|
||||
#### S6a Interface Configuration
|
||||
Edit ```/etc/freeDiameter/mme.conf```
|
||||
|
||||
Update ```ListenOn``` address to IP of the server running the MME:
|
||||
|
||||
``` ListenOn = "10.0.1.124"; ```
|
||||
|
||||
Update ConnectPeer to connect to the PCRF on it's IP.
|
||||
|
||||
```ConnectPeer = "hss.localdomain" { ConnectTo = "10.0.1.118"; No_TLS; };```
|
||||
|
||||
|
||||
#### Restart Services
|
||||
Restart Open5GS MME Daemon:
|
||||
|
||||
``` $ sudo systemctl restart open5gs-mmed.service ```
|
||||
51
docs/_docs/hardware/01-genodebs.md
Normal file
51
docs/_docs/hardware/01-genodebs.md
Normal file
@@ -0,0 +1,51 @@
|
||||
---
|
||||
title: eNodeBs / gNodeBs tested on Open5GS
|
||||
head_inline: "<style> .blue { color: blue; } .bold { font-weight: bold; } </style>"
|
||||
---
|
||||
|
||||
This page lists Radio hardware that has been tested by members of the Open5GS community,
|
||||
|
||||
Listed eNodeBs have at a minimum connected to Open5GS. This does not mean all functionality (dedicated bearers, GBRs, etc) has been tested.
|
||||
|
||||
If you have tested radio hardware from a vendor not listed with Open5GS, please add it to this page [by creating a PR on GitHub.](https://github.com/open5gs/open5gs)
|
||||
|
||||
### Commercial Macro BTS
|
||||
---
|
||||
|
||||
* Huawei BTS 3900 (S/W version V100R011C10SPC230)
|
||||
|
||||
### Small Cells
|
||||
---
|
||||
|
||||
* Baicells Neutrino
|
||||
* Baicells Nova 243
|
||||
* Baicells Nova 246
|
||||
* Baicells Nova 436Q
|
||||
* Baicells Nova 227 (EBS & CBRS)
|
||||
* Baicells Nova 233
|
||||
* Airspan AirSpeed 1030
|
||||
* Airspan AirHarmony 1000
|
||||
* AirHarmony 4000
|
||||
* AirHarmony 4200
|
||||
* AirHarmony 4400
|
||||
* Gemtek WLTGFC-101 (S/W version 2.1.1746.1116)
|
||||
* NOKIA FW2PC BC28 Flexi Zone G2 Outdoor Micro FDD LTE 700 MHz High Power
|
||||
* NOKIA FWH1 B38 Flexi Zone Outdoor Micro TD LTE 2600 MHz
|
||||
* Accelleran E1010 (LTE TDD B42)
|
||||
|
||||
### OpenRAN Hardware
|
||||
---
|
||||
|
||||
|
||||
### 4G/5G Software Stacks + SDRs
|
||||
---
|
||||
|
||||
* [srsLTE / srsENB](https://github.com/srsLTE/srsLTE) + LimeSDR, USRP, BladeRF x40 (BladeRF Not stable)
|
||||
* [Amarisoft](https://www.amarisoft.com/) + LimeSDR, USRP, Amarisoft PCI Express Card
|
||||
|
||||
### Misc Radio Hardware
|
||||
---
|
||||
* [OsmoBTS](https://osmocom.org/projects/osmobts/wiki) controlled ip.access NanoBTS (Used for CSFB with Osmocom)
|
||||
* [UERANSIM](https://github.com/aligungr/UERANSIM) 5G RAN Simulator
|
||||
* [OpenAirInterface v1.0.3](https://gitlab.eurecom.fr/oai/openairinterface5g/-/tree/v1.0.3) 4G RAN Simulator
|
||||
|
||||
@@ -6,10 +6,85 @@ head_inline: "<style> .blue { color: blue; } </style>"
|
||||
This guide is based on **CentOS 8** Distribution.
|
||||
{: .blue}
|
||||
|
||||
### Getting MongoDB
|
||||
## Install **CentOS 8** from Vagrant box (optional)
|
||||
---
|
||||
Vagrant provides a simple way to create and deploy Virtual Machines from
|
||||
pre-built images using VirtualBox, libvirt, or VMWare as a hypervisor engine.
|
||||
This allows the user to quickly create a virtual machine without the hassle
|
||||
of installing the operating system by hand.
|
||||
|
||||
### Install Vagrant
|
||||
---
|
||||
|
||||
Create the MongoDB repository file.
|
||||
The instructions to install Vagrant are provided at
|
||||
[vagrantup.com](https://www.vagrantup.com/).
|
||||
|
||||
|
||||
### Create a CentOS 8 Virtual Machine using Vagrant
|
||||
---
|
||||
|
||||
Use the supplied `Vagrantfile` in the `vagrant` directory to create the
|
||||
virtual machine.
|
||||
|
||||
Note that this Vagrantfile is identical to the base CentOS 8 box, with
|
||||
the exception that the amount of virtual memory has been increased to 1GB:
|
||||
|
||||
```bash
|
||||
cd vagrant/centos
|
||||
vagrant up --provider virtualbox
|
||||
```
|
||||
|
||||
### Log into the newly created CentOS VM
|
||||
---
|
||||
|
||||
Use SSH to log into the CentOS 8 VM:
|
||||
|
||||
```bash
|
||||
vagrant ssh
|
||||
```
|
||||
|
||||
Note that the Open5GS source is *not* copied into the VM. The instructions
|
||||
below provide the step by step instructions for setting up Open5GS for
|
||||
either a bare metal or virtual CentOS 8 system.
|
||||
|
||||
The rest of the commands below are performed inside the CentOS VM as the
|
||||
user 'vagrant', or on your bare metal CentOS 8 system as any normal user.
|
||||
|
||||
## Install prerequisite packages to build and run Open5GS
|
||||
---
|
||||
|
||||
### Enable CentOS 8 PowerTools repository
|
||||
---
|
||||
|
||||
```bash
|
||||
$ sudo dnf install 'dnf-command(config-manager)'
|
||||
$ sudo dnf config-manager --set-enabled PowerTools
|
||||
```
|
||||
|
||||
### Enable the Extra Packages for Enterprise Linux
|
||||
---
|
||||
|
||||
Enable the Extra Packages for Enterprise Linux repo by installing the
|
||||
``epel-release`` package:
|
||||
```bash
|
||||
$ sudo dnf install epel-release
|
||||
```
|
||||
|
||||
### Enable [ELRepo](https://elrepo.org)
|
||||
---
|
||||
|
||||
Enable the ELRepo repo (with testing enabled):
|
||||
|
||||
```bash
|
||||
$ sudo dnf install https://www.elrepo.org/elrepo-release-8.el8.elrepo.noarch.rpm
|
||||
$ sudo dnf config-manager --set-enabled elrepo-testing
|
||||
```
|
||||
|
||||
### Install MongoDB using the package manager:
|
||||
---
|
||||
|
||||
Create a repository file to install the MongoDB packages:
|
||||
|
||||
```bash
|
||||
$ sudo sh -c 'cat << EOF > /etc/yum.repos.d/mongodb-org-3.4.repo
|
||||
[mongodb-org-3.4]
|
||||
@@ -21,28 +96,128 @@ gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc
|
||||
EOF'
|
||||
```
|
||||
|
||||
Install MongoDB with Package Manager.
|
||||
Install MongoDB using the package manager:
|
||||
|
||||
```bash
|
||||
sudo dnf -y install mongodb-org
|
||||
$ sudo dnf -y install mongodb-org
|
||||
```
|
||||
|
||||
Run MongoDB server.
|
||||
### Install the dependencies for building the source code.
|
||||
---
|
||||
Open5GS requires several packages which are not installed by default in
|
||||
a base CentOS 8 installation.
|
||||
|
||||
|
||||
```bash
|
||||
$ mkdir -p ./data/db
|
||||
$ mongod --dbpath ./data/db
|
||||
$ sudo dnf install python3 meson ninja-build gcc flex bison git lksctp-tools-devel libidn-devel gnutls-devel libgcrypt-devel openssl-devel cyrus-sasl-devel libyaml-devel mongo-c-driver-devel libmicrohttpd-devel libcurl-devel libnghttp2-devel
|
||||
```
|
||||
|
||||
### Setting up TUN device (No persistent after rebooting)
|
||||
### Install the SCTP kernel module in kernel-modules-extra.
|
||||
---
|
||||
|
||||
Create the TUN device. Interface name will be `ogstun`.
|
||||
```bash
|
||||
$ sudo yum -y install iproute
|
||||
$ sudo dnf install kernel-modules-extra
|
||||
```
|
||||
|
||||
### Install iproute IP interface tools.
|
||||
---
|
||||
|
||||
```bash
|
||||
$ sudo dnf install iproute
|
||||
```
|
||||
|
||||
### Update all installed packages to the latest versions.
|
||||
---
|
||||
|
||||
This will update all of the installed packages to the latest versions from
|
||||
all of the repos that we enabled above.
|
||||
|
||||
```bash
|
||||
$ sudo dnf update
|
||||
```
|
||||
|
||||
Note that this may update the kernel version so you may need to reboot
|
||||
after this step to ensure that you are running this new kernel version.
|
||||
This is important when you try to load the SCTP kernel module later.
|
||||
|
||||
```bash
|
||||
[vm] $ sudo reboot
|
||||
[host] $ # ssh back into the VM after it reboots...
|
||||
[host] $ vagrant ssh
|
||||
```
|
||||
|
||||
## Build Open5GS from Source
|
||||
---
|
||||
|
||||
### Git clone the Open5GS source code.
|
||||
---
|
||||
|
||||
Clone a copy of the open5GS source code from github:
|
||||
|
||||
```bash
|
||||
$ cd ~
|
||||
$ git clone https://github.com/{{ site.github_username }}/open5gs
|
||||
```
|
||||
|
||||
### Compile the Open5GS source.
|
||||
---
|
||||
|
||||
Compile the source using `meson`. Note that this sets the installation prefix
|
||||
to `~/open5gs/install`:
|
||||
|
||||
```bash
|
||||
$ cd ~/open5gs
|
||||
$ meson build --prefix=`pwd`/install
|
||||
$ ninja -C build
|
||||
```
|
||||
|
||||
## Run and Test Open5GS
|
||||
---
|
||||
|
||||
### Start MongoDB
|
||||
---
|
||||
|
||||
After installing the MongoDB server, it will be started automatically
|
||||
when the machine is rebooted. You can check the status using `systemctl`:
|
||||
|
||||
```bash
|
||||
$ sudo systemctl status mongod.service
|
||||
● mongod.service - MongoDB Database Server
|
||||
Loaded: loaded (/usr/lib/systemd/system/mongod.service; enabled; vendor preset: disabled)
|
||||
Active: active (running) since Fri 2020-11-20 09:46:40 UTC; 10h ago
|
||||
Docs: https://docs.mongodb.org/manual
|
||||
Process: 779 ExecStart=/usr/bin/mongod $OPTIONS (code=exited, status=0/SUCCESS)
|
||||
Process: 775 ExecStartPre=/usr/bin/chmod 0755 /var/run/mongodb (code=exited, status=0/SUCCESS)
|
||||
Process: 770 ExecStartPre=/usr/bin/chown mongod:mongod /var/run/mongodb (code=exited, status=0/SUCCESS)
|
||||
Process: 732 ExecStartPre=/usr/bin/mkdir -p /var/run/mongodb (code=exited, status=0/SUCCESS)
|
||||
Main PID: 781 (mongod)
|
||||
Memory: 99.7M
|
||||
CGroup: /system.slice/mongod.service
|
||||
└─781 /usr/bin/mongod -f /etc/mongod.conf
|
||||
```
|
||||
|
||||
If it has not started, then it can be started using `systemctl`:
|
||||
|
||||
```bash
|
||||
$ sudo systemctl enable mongod.service
|
||||
$ sudo systemctl start mongod.service
|
||||
```
|
||||
|
||||
The default database location is `/var/log/mongodb/mongod.log`. This can
|
||||
be adjusted in `/etc/mongod.conf`.
|
||||
|
||||
### Set up a TUN interface
|
||||
---
|
||||
|
||||
Create a TUN/TAP interface. The interface name will be `ogstun`.
|
||||
```bash
|
||||
$ sudo ip tuntap add name ogstun mode tun
|
||||
$ ip link show
|
||||
```
|
||||
|
||||
Then, to support IPv6-enabled UEs, you must configure your TUN device to support IPv6.
|
||||
To support IPv6-enabled UEs, you must configure the `ogstun` interface
|
||||
to support IPv6. This is done by setting the `diable_ipv6` option for
|
||||
`ogstun` to 0 (false):
|
||||
|
||||
```bash
|
||||
$ sysctl -n net.ipv6.conf.ogstun.disable_ipv6
|
||||
@@ -54,10 +229,10 @@ $ sysctl -n net.ipv6.conf.ogstun.disable_ipv6
|
||||
0
|
||||
```
|
||||
|
||||
**Note:** If your TUN device already supports IPv6, you can skip this steps above.
|
||||
{: .notice--warning}
|
||||
**Note:** If your TUN interface already supports IPv6, you can skip this steps above.
|
||||
{: .notice--info}
|
||||
|
||||
You are now ready to set the IP address on TUN device.
|
||||
Set the IP address on the `ogstun` TUN interface.
|
||||
|
||||
```bash
|
||||
$ sudo ip addr add 10.45.0.1/16 dev ogstun
|
||||
@@ -70,84 +245,102 @@ $ sudo ip link set ogstun up
|
||||
$ ip link show
|
||||
```
|
||||
|
||||
**Tip:** The script provided in [$GIT_REPO/misc/netconf.sh](https://github.com/{{ site.github_username }}/open5gs/blob/master/misc/netconf.sh) makes it easy to configure the TUN device as follows:
|
||||
**Notice:** This configuration is not persistent after rebooting. The
|
||||
script provided in [$GIT_REPO/misc/netconf.sh](https://github.com/{{
|
||||
site.github_username }}/open5gs/blob/main/misc/netconf.sh) makes it easy
|
||||
to configure the TUN device as follows:
|
||||
`$ sudo ./misc/netconf.sh`
|
||||
{: .notice--info}
|
||||
|
||||
### Building Open5GS
|
||||
### Install the SCTP kernel module
|
||||
---
|
||||
Open5GS requires the Linux SCTP kernel module to be loaded in the kernel.
|
||||
In the CentOS 8 Vagrant box SCTP is not loaded into the kernel automatically
|
||||
so must be installed as follows:
|
||||
|
||||
```bash
|
||||
$ sudo modprobe sctp
|
||||
$ # Check that SCTP was loaded successfully:
|
||||
$ sudo dmesg | grep sctp
|
||||
[ 639.971360] sctp: Hash tables configured (bind 256/256)
|
||||
```
|
||||
|
||||
## Testing Open5GS
|
||||
---
|
||||
|
||||
Configure EPEL package.
|
||||
### Run Individual Open5GS tests.
|
||||
----
|
||||
Open5GS test applications are created in the `~/open5gs/build/tests` directory.
|
||||
|
||||
```bash
|
||||
$ sudo dnf install epel-release
|
||||
$ cd ~/open5gs
|
||||
|
||||
$ ./build/tests/attach/attach ## EPC Only
|
||||
s1setup-test : SUCCESS
|
||||
guti-test : SUCCESS
|
||||
auth-test : SUCCESS
|
||||
idle-test : SUCCESS
|
||||
emm-status-test : SUCCESS
|
||||
ue-context-test : SUCCESS
|
||||
reset-test : SUCCESS
|
||||
All tests passed.
|
||||
|
||||
$ ./build/tests/registration/registration ## 5G Core Only
|
||||
guti-test : SUCCESS
|
||||
auth-test : SUCCESS
|
||||
idle-test : SUCCESS
|
||||
dereg-test : SUCCESS
|
||||
identity-test : SUCCESS
|
||||
gmm-status-test : SUCCESS
|
||||
ue-context-test : SUCCESS
|
||||
All tests passed.
|
||||
|
||||
```
|
||||
|
||||
Enable PowerTools.
|
||||
### Run all Open5GS tests.
|
||||
----
|
||||
|
||||
Run all Open5GS test programs:
|
||||
```bash
|
||||
$ sudo dnf install 'dnf-command(config-manager)'
|
||||
$ sudo dnf config-manager --set-enabled PowerTools
|
||||
$ sudo update
|
||||
$ cd ~/open5gs
|
||||
$ cd build
|
||||
$ meson test -v
|
||||
```
|
||||
|
||||
Configure ELRepo(with testing) package.
|
||||
```bash
|
||||
$ sudo dnf install https://www.elrepo.org/elrepo-release-8.el8.elrepo.noarch.rpm
|
||||
$ sudo dnf config-manager --set-enabled elrepo-testing
|
||||
$ sudo dnf update
|
||||
```
|
||||
|
||||
Install the depedencies for building the source code.
|
||||
```bash
|
||||
$ sudo dnf install python3 ninja-build gcc flex bison git lksctp-tools-devel libidn-devel gnutls-devel libgcrypt-devel openssl-devel cyrus-sasl-devel libyaml-devel mongo-c-driver-devel libmicrohttpd-devel libcurl-devel iproute
|
||||
```
|
||||
|
||||
Install Meson
|
||||
```bash
|
||||
$ sudo dnf install meson
|
||||
```
|
||||
|
||||
Git clone.
|
||||
|
||||
```bash
|
||||
$ git clone https://github.com/{{ site.github_username }}/open5gs
|
||||
```
|
||||
|
||||
To compile with meson:
|
||||
|
||||
```bash
|
||||
$ cd open5gs
|
||||
$ meson build --prefix=`pwd`/install
|
||||
$ ninja -C build
|
||||
```
|
||||
|
||||
Check whether the compilation is correct.
|
||||
```bash
|
||||
$ ninja -C build test
|
||||
```
|
||||
|
||||
**Tip:** You can also check the result of `ninja -C build test` with a tool that captures packets. If you are running `wireshark`, select the `loopback` interface and set FILTER to `s1ap || gtpv2 || diameter || gtp`. You can see the virtually created packets. [[testsimple.pcapng]]({{ site.url }}{{ site.baseurl }}/assets/pcapng/testsimple.pcapng)
|
||||
**Tip:** You can also check the result of `meson test -v` with a tool that captures packets. If you are running `wireshark`, select the `loopback` interface and set FILTER to `s1ap || gtpv2 || pfcp || diameter || gtp || ngap || http`. You can see the virtually created packets. [testattach.pcapng]({{ site.url }}{{ site.baseurl }}/assets/pcapng/testattach.pcapng)/[testregistration.pcapng]({{ site.url }}{{ site.baseurl }}/assets/pcapng/testregistration.pcapng)
|
||||
{: .notice--info}
|
||||
|
||||
You need to perform the **installation process**.
|
||||
|
||||
### Installing Open5GS.
|
||||
----
|
||||
|
||||
Open5GS can be installed using meson as well. This will install the
|
||||
product to `$(HOME)/open5gs/install` if the `prefix` was set as shown above.
|
||||
|
||||
```bash
|
||||
$ cd ~/open5gs
|
||||
$ cd build
|
||||
$ ninja install
|
||||
$ cd ../
|
||||
$ ls install/bin
|
||||
open5gs-amfd open5gs-hssd open5gs-nrfd open5gs-sgwcd open5gs-smfd open5gs-udrd
|
||||
open5gs-ausfd open5gs-mmed open5gs-pcrfd open5gs-sgwud open5gs-udmd open5gs-pcfd
|
||||
open5gs-upfd open5gs-nssfd
|
||||
```
|
||||
|
||||
### Building WebUI of Open5GS
|
||||
## Building WebUI of Open5GS
|
||||
---
|
||||
|
||||
[Node.js](https://nodejs.org/) is required to build WebUI of Open5GS
|
||||
|
||||
Install Node.js:
|
||||
```bash
|
||||
$ curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -
|
||||
$ sudo yum -y install nodejs
|
||||
$ sudo dnf install nodejs
|
||||
```
|
||||
|
||||
Install the dependencies to run WebUI
|
||||
|
||||
```bash
|
||||
$ cd ~/open5gs
|
||||
$ cd webui
|
||||
$ npm install
|
||||
```
|
||||
|
||||
@@ -3,9 +3,12 @@ title: Fedora
|
||||
head_inline: "<style> .blue { color: blue; } </style>"
|
||||
---
|
||||
|
||||
This guide is based on **Fedora 31** Distribution.
|
||||
This guide is based on **Fedora 33** Distribution.
|
||||
{: .blue}
|
||||
|
||||
**Note:** Fedora 33 is not working
|
||||
{: .notice--danger}
|
||||
|
||||
### Getting MongoDB
|
||||
---
|
||||
|
||||
@@ -58,7 +61,7 @@ $ sudo ip link set ogstun up
|
||||
$ ip link show
|
||||
```
|
||||
|
||||
**Tip:** The script provided in [$GIT_REPO/misc/netconf.sh](https://github.com/{{ site.github_username }}/open5gs/blob/master/misc/netconf.sh) makes it easy to configure the TUN device as follows:
|
||||
**Tip:** The script provided in [$GIT_REPO/misc/netconf.sh](https://github.com/{{ site.github_username }}/open5gs/blob/main/misc/netconf.sh) makes it easy to configure the TUN device as follows:
|
||||
`$ sudo ./misc/netconf.sh`
|
||||
{: .notice--info}
|
||||
|
||||
@@ -67,7 +70,7 @@ $ ip link show
|
||||
|
||||
Install the depedencies for building the source code.
|
||||
```bash
|
||||
$ sudo dnf install python3 ninja-build gcc flex bison git lksctp-tools-devel libidn-devel gnutls-devel libgcrypt-devel openssl-devel cyrus-sasl-devel libyaml-devel mongo-c-driver-devel libmicrohttpd-devel libcurl-devel iproute
|
||||
$ sudo dnf install python3 ninja-build gcc flex bison git lksctp-tools-devel libidn-devel gnutls-devel libgcrypt-devel openssl-devel cyrus-sasl-devel libyaml-devel mongo-c-driver-devel libmicrohttpd-devel libcurl-devel libnghttp2-devel iproute
|
||||
```
|
||||
|
||||
Install Meson
|
||||
@@ -91,16 +94,24 @@ $ ninja -C build
|
||||
|
||||
Check whether the compilation is correct.
|
||||
```bash
|
||||
$ ninja -C build test
|
||||
$ ./build/tests/attach/attach ## EPC Only
|
||||
$ ./build/tests/registration/registration ## 5G Core Only
|
||||
```
|
||||
|
||||
**Tip:** You can also check the result of `ninja -C build test` with a tool that captures packets. If you are running `wireshark`, select the `loopback` interface and set FILTER to `s1ap || gtpv2 || diameter || gtp`. You can see the virtually created packets. [[testsimple.pcapng]]({{ site.url }}{{ site.baseurl }}/assets/pcapng/testsimple.pcapng)
|
||||
Run all test programs as below.
|
||||
```bash
|
||||
$ cd build
|
||||
$ meson test -v
|
||||
```
|
||||
|
||||
**Tip:** You can also check the result of `ninja -C build test` with a tool that captures packets. If you are running `wireshark`, select the `loopback` interface and set FILTER to `s1ap || gtpv2 || pfcp || diameter || gtp || ngap || http2.data.data || http2.headers`. You can see the virtually created packets. [testattach.pcapng]({{ site.url }}{{ site.baseurl }}/assets/pcapng/testattach.pcapng)/[testregistration.pcapng]({{ site.url }}{{ site.baseurl }}/assets/pcapng/testregistration.pcapng)
|
||||
{: .notice--info}
|
||||
|
||||
You need to perform **the installation process**.
|
||||
You need to perform the **installation process**.
|
||||
```bash
|
||||
$ cd build
|
||||
$ ninja install
|
||||
$ cd ../
|
||||
```
|
||||
|
||||
### Building WebUI of Open5GS
|
||||
|
||||
@@ -1,109 +0,0 @@
|
||||
---
|
||||
title: FreeBSD
|
||||
head_inline: "<style> .blue { color: blue; } </style>"
|
||||
---
|
||||
|
||||
This guide is based on **FreeBSD Relase 11.1**.
|
||||
{: .blue}
|
||||
|
||||
### Getting MongoDB
|
||||
---
|
||||
|
||||
Install MongoDB with package manager.
|
||||
```bash
|
||||
$ sudo pkg install mongodb
|
||||
```
|
||||
|
||||
Run MongoDB server.
|
||||
```bash
|
||||
$ mkdir -p ./data/db
|
||||
$ mongod --dbpath ./data/db
|
||||
```
|
||||
|
||||
### Setting up TUN device (No persistent after rebooting)
|
||||
---
|
||||
|
||||
Configure the TUN device.
|
||||
```bash
|
||||
$ sudo ifconfig lo0 alias 127.0.0.2 netmask 255.255.255.255
|
||||
$ sudo ifconfig lo0 alias 127.0.0.3 netmask 255.255.255.255
|
||||
$ sudo ifconfig lo0 alias 127.0.0.4 netmask 255.255.255.255
|
||||
$ sudo ifconfig lo0 alias 127.0.0.5 netmask 255.255.255.255
|
||||
```
|
||||
|
||||
Enable IP forwarding
|
||||
```bash
|
||||
$ sudo sysctl -w net.inet.ip.forwarding=1
|
||||
```
|
||||
|
||||
**Tip:** The script provided in [$GIT_REPO/support/network/restart.sh](https://github.com/{{ site.github_username }}/open5gs/blob/master/support/network/restart.sh) makes it easy to configure the TUN device as follows:
|
||||
`$ sudo ./support/network/restart.sh`
|
||||
{: .notice--info}
|
||||
|
||||
### Building Open5GS
|
||||
---
|
||||
|
||||
Install the depedencies for building the source code.
|
||||
```bash
|
||||
$ sudo pkg install py36-pip ninja gcc bison gsed pkgconf git mongo-c-driver gnutls libgcrypt libidn libyaml libmicrohttpd curl
|
||||
```
|
||||
|
||||
Install Meson using Python.
|
||||
```bash
|
||||
$ sudo pip install --upgrade pip
|
||||
$ sudo pip install meson
|
||||
```
|
||||
|
||||
Git clone.
|
||||
|
||||
```bash
|
||||
$ git clone https://github.com/{{ site.github_username }}/open5gs
|
||||
```
|
||||
|
||||
To compile with autotools:
|
||||
|
||||
```bash
|
||||
$ cd open5gs
|
||||
$ meson build --prefix=`pwd`/install
|
||||
$ ninja -C build
|
||||
```
|
||||
|
||||
Check whether the compilation is correct.
|
||||
|
||||
**Note:** This should require *sudo* due to access `/dev/tun0`.
|
||||
{: .notice--danger}
|
||||
```bash
|
||||
$ sudo ninja -C build test
|
||||
```
|
||||
|
||||
**Tip:** You can also check the result of `sudo ninja -C build test` with a tool that captures packets. If you are running `wireshark`, select the `loopback` interface and set FILTER to `s1ap || gtpv2 || diameter || gtp`. You can see the virtually created packets. [[testsimple.pcapng]]({{ site.url }}{{ site.baseurl }}/assets/pcapng/testsimple.pcapng)
|
||||
{: .notice--info}
|
||||
|
||||
You need to perform **the installation process**.
|
||||
```bash
|
||||
$ cd build
|
||||
$ ninja install
|
||||
```
|
||||
|
||||
### Building WebUI of Open5GS
|
||||
---
|
||||
|
||||
[Node.js](https://nodejs.org/) is required to build WebUI of Open5GS
|
||||
|
||||
```bash
|
||||
$ sudo pkg install node
|
||||
```
|
||||
|
||||
Install the dependencies to run WebUI
|
||||
|
||||
```bash
|
||||
$ cd webui
|
||||
$ npm install
|
||||
```
|
||||
|
||||
The WebUI runs as an [npm](https://www.npmjs.com/) script.
|
||||
|
||||
```bash
|
||||
$ npm run dev
|
||||
```
|
||||
|
||||
172
docs/_docs/platform/05-macosx-apple-silicon.md
Normal file
172
docs/_docs/platform/05-macosx-apple-silicon.md
Normal file
@@ -0,0 +1,172 @@
|
||||
---
|
||||
title: Mac OS X
|
||||
head_inline: "<style> .blue { color: blue; } </style>"
|
||||
---
|
||||
|
||||
This guide is based on macOS Big Sur 11.2 on a Macbook Air(Apple M1 Chips) computer.
|
||||
{: .blue}
|
||||
|
||||
### Install Xcode Command-Line Tools
|
||||
---
|
||||
|
||||
Homebrew requires the Xcode command-line tools from Apple's Xcode.
|
||||
```bash
|
||||
$ xcode-select --install
|
||||
```
|
||||
|
||||
### Installing Homebrew
|
||||
---
|
||||
|
||||
Install brew using the official Homebrew installation instructions.
|
||||
```bash
|
||||
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
|
||||
```
|
||||
|
||||
### Getting MongoDB
|
||||
---
|
||||
|
||||
Install MongoDB with Package Manager.
|
||||
```bash
|
||||
$ brew tap mongodb/brew
|
||||
$ brew install mongodb-community
|
||||
```
|
||||
|
||||
Run MongoDB server.
|
||||
```bash
|
||||
$ mongod --config /usr/local/etc/mongod.conf
|
||||
```
|
||||
|
||||
**Tip:** MongoDB is persistent after rebooting with the following commands:
|
||||
`$ brew services start mongodb-community`
|
||||
{: .notice--info}
|
||||
|
||||
|
||||
### Setting up network (No persistent after rebooting)
|
||||
---
|
||||
|
||||
Note that Open5GS uses built-in "utun" device driver. So, You don't have to install external TUN/TAP driver.
|
||||
{: .blue}
|
||||
|
||||
Configure the loopback interface.
|
||||
```bash
|
||||
$ sudo ifconfig lo0 alias 127.0.0.2 netmask 255.255.255.255
|
||||
$ sudo ifconfig lo0 alias 127.0.0.3 netmask 255.255.255.255
|
||||
$ sudo ifconfig lo0 alias 127.0.0.4 netmask 255.255.255.255
|
||||
$ sudo ifconfig lo0 alias 127.0.0.5 netmask 255.255.255.255
|
||||
$ sudo ifconfig lo0 alias 127.0.0.5 netmask 255.255.255.255
|
||||
$ sudo ifconfig lo0 alias 127.0.0.6 netmask 255.255.255.255
|
||||
$ sudo ifconfig lo0 alias 127.0.0.7 netmask 255.255.255.255
|
||||
$ sudo ifconfig lo0 alias 127.0.0.8 netmask 255.255.255.255
|
||||
$ sudo ifconfig lo0 alias 127.0.0.9 netmask 255.255.255.255
|
||||
$ sudo ifconfig lo0 alias 127.0.0.10 netmask 255.255.255.255
|
||||
$ sudo ifconfig lo0 alias 127.0.0.11 netmask 255.255.255.255
|
||||
$ sudo ifconfig lo0 alias 127.0.0.12 netmask 255.255.255.255
|
||||
$ sudo ifconfig lo0 alias 127.0.0.13 netmask 255.255.255.255
|
||||
$ sudo ifconfig lo0 alias 127.0.0.14 netmask 255.255.255.255
|
||||
$ sudo ifconfig lo0 alias 127.0.0.15 netmask 255.255.255.255
|
||||
$ sudo ifconfig lo0 alias 127.0.0.16 netmask 255.255.255.255
|
||||
$ sudo ifconfig lo0 alias 127.0.0.17 netmask 255.255.255.255
|
||||
$ sudo ifconfig lo0 alias 127.0.0.18 netmask 255.255.255.255
|
||||
$ sudo ifconfig lo0 alias 127.0.0.19 netmask 255.255.255.255
|
||||
$ sudo ifconfig lo0 alias 127.0.0.20 netmask 255.255.255.255
|
||||
```
|
||||
|
||||
Enable IP forwarding & Masquerading
|
||||
```bash
|
||||
$ sudo sysctl -w net.inet.ip.forwarding=1
|
||||
$ sudo sysctl -w net.inet6.ip6.forwarding=1
|
||||
$ sudo sh -c "echo 'nat on {en0} from 10.45.0.0/16 to any -> {en0}' > /etc/pf.anchors/org.open5gs"
|
||||
$ sudo sh -c "echo 'nat on {en0} from cafe::1/64 to any -> {en0}' > /etc/pf.anchors/org.open5gs"
|
||||
$ sudo pfctl -e -f /etc/pf.anchors/org.open5gs
|
||||
```
|
||||
|
||||
**Tip:** The script provided in [$GIT_REPO/misc/netconf.sh](https://github.com/{{ site.github_username }}/open5gs/blob/main/misc/netconf.sh) makes it easy to configure the TUN device as follows:
|
||||
`$ sudo ./misc/netconf.sh`
|
||||
{: .notice--info}
|
||||
|
||||
### Building Open5GS
|
||||
---
|
||||
|
||||
Install the depedencies for building the source code.
|
||||
```bash
|
||||
$ brew install mongo-c-driver gnutls libgcrypt libidn libyaml libmicrohttpd nghttp2 pkg-config bison
|
||||
```
|
||||
|
||||
Configure Homebrew PATH
|
||||
```bash
|
||||
$ export PATH="/opt/homebrew/opt/bison/bin:/opt/homebrew/bin:$PATH"
|
||||
$ export LIBRARY_PATH=/opt/homebrew/lib
|
||||
$ export C_INCLUDE_PATH=/opt/homebrew/include
|
||||
```
|
||||
|
||||
Install Meson using Homebrew.
|
||||
```bash
|
||||
$ brew install meson
|
||||
```
|
||||
|
||||
Git clone.
|
||||
|
||||
```bash
|
||||
$ git clone https://github.com/{{ site.github_username }}/open5gs
|
||||
```
|
||||
|
||||
To compile with meson:
|
||||
|
||||
```bash
|
||||
$ cd open5gs
|
||||
$ meson build --prefix=`pwd`/install -D c_std=c99
|
||||
$ ninja -C build
|
||||
```
|
||||
|
||||
Check whether the compilation is correct.
|
||||
|
||||
**Note:** This should require *sudo* due to access `/dev/tun0`.
|
||||
{: .notice--danger}
|
||||
|
||||
```bash
|
||||
$ sudo ./build/tests/attach/attach ## EPC Only
|
||||
$ sudo ./build/tests/registration/registration ## 5G Core Only
|
||||
```
|
||||
|
||||
Run all test programs as below.
|
||||
|
||||
**Note:** This should require *sudo* due to access `/dev/tun0`.
|
||||
{: .notice--danger}
|
||||
|
||||
```bash
|
||||
$ cd build
|
||||
$ sudo meson test -v
|
||||
```
|
||||
|
||||
**Tip:** You can also check the result of `ninja -C build test` with a tool that captures packets. If you are running `wireshark`, select the `loopback` interface and set FILTER to `s1ap || gtpv2 || pfcp || diameter || gtp || ngap || http2.data.data || http2.headers`. You can see the virtually created packets. [testattach.pcapng]({{ site.url }}{{ site.baseurl }}/assets/pcapng/testattach.pcapng)/[testregistration.pcapng]({{ site.url }}{{ site.baseurl }}/assets/pcapng/testregistration.pcapng)
|
||||
{: .notice--info}
|
||||
|
||||
You need to perform the **installation process**.
|
||||
```bash
|
||||
$ cd build
|
||||
$ ninja install
|
||||
$ cd ../
|
||||
```
|
||||
|
||||
|
||||
### Building WebUI of Open5GS
|
||||
---
|
||||
|
||||
[Node.js](https://nodejs.org/) is required to build WebUI of Open5GS
|
||||
|
||||
```bash
|
||||
$ brew install node
|
||||
```
|
||||
|
||||
Install the dependencies to run WebUI
|
||||
|
||||
```bash
|
||||
$ cd webui
|
||||
$ npm install
|
||||
```
|
||||
|
||||
The WebUI runs as an [npm](https://www.npmjs.com/) script.
|
||||
|
||||
```bash
|
||||
$ npm run dev
|
||||
```
|
||||
@@ -1,126 +0,0 @@
|
||||
---
|
||||
title: Mac OS X
|
||||
head_inline: "<style> .blue { color: blue; } </style>"
|
||||
---
|
||||
|
||||
This guide is based on **macOS Catalina 10.15**.
|
||||
{: .blue}
|
||||
|
||||
### Installing Homebrew
|
||||
---
|
||||
|
||||
```bash
|
||||
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
|
||||
```
|
||||
|
||||
### Getting MongoDB
|
||||
---
|
||||
|
||||
Install MongoDB with Package Manager.
|
||||
```bash
|
||||
$ brew tap mongodb/brew
|
||||
$ brew install mongodb-community
|
||||
```
|
||||
|
||||
Run MongoDB server.
|
||||
```bash
|
||||
$ mkdir -p ./data/db
|
||||
$ mongod --dbpath ./data/db
|
||||
```
|
||||
|
||||
**Tip:** MongoDB is persistent after rebooting with the following commands:
|
||||
`$ brew services start mongodb-community`
|
||||
{: .notice--info}
|
||||
|
||||
|
||||
### Setting up TUN device (No persistent after rebooting)
|
||||
---
|
||||
|
||||
Install TUN/TAP driver
|
||||
- You can download it from [http://tuntaposx.sourceforge.net/](http://tuntaposx.sourceforge.net/)
|
||||
|
||||
Configure the TUN device.
|
||||
```bash
|
||||
$ sudo ifconfig lo0 alias 127.0.0.2 netmask 255.255.255.255
|
||||
$ sudo ifconfig lo0 alias 127.0.0.3 netmask 255.255.255.255
|
||||
$ sudo ifconfig lo0 alias 127.0.0.4 netmask 255.255.255.255
|
||||
$ sudo ifconfig lo0 alias 127.0.0.5 netmask 255.255.255.255
|
||||
```
|
||||
|
||||
Enable IP forwarding & Masquerading
|
||||
```bash
|
||||
$ sudo sysctl -w net.inet.ip.forwarding=1
|
||||
$ sudo sh -c "echo 'nat on {en0} from 10.45.0.0/16 to any -> {en0}' > /etc/pf.anchors/org.open5gs"
|
||||
$ sudo pfctl -e -f /etc/pf.anchors/org.open5gs
|
||||
```
|
||||
|
||||
**Tip:** The script provided in [$GIT_REPO/misc/netconf.sh](https://github.com/{{ site.github_username }}/open5gs/blob/master/misc/netconf.sh) makes it easy to configure the TUN device as follows:
|
||||
`$ sudo ./misc/netconf.sh`
|
||||
{: .notice--info}
|
||||
|
||||
### Building Open5GS
|
||||
---
|
||||
|
||||
Install the depedencies for building the source code.
|
||||
```bash
|
||||
$ brew install mongo-c-driver gnutls libgcrypt libidn libyaml libmicrohttpd curl pkg-config
|
||||
```
|
||||
|
||||
Install Meson using Homebrew.
|
||||
```bash
|
||||
$ brew install meson
|
||||
```
|
||||
|
||||
Git clone.
|
||||
|
||||
```bash
|
||||
$ git clone https://github.com/{{ site.github_username }}/open5gs
|
||||
```
|
||||
|
||||
To compile with meson:
|
||||
|
||||
```bash
|
||||
$ cd open5gs
|
||||
$ meson build --prefix=`pwd`/install -D c_std=c99
|
||||
$ ninja -C build
|
||||
```
|
||||
|
||||
Check whether the compilation is correct.
|
||||
|
||||
**Note:** This should require `sudo` due to access `/dev/tun0`.
|
||||
{: .notice--danger}
|
||||
```bash
|
||||
$ sudo ninja -C build test
|
||||
```
|
||||
|
||||
**Tip:** You can also check the result of `sudo ninja -C build test` with a tool that captures packets. If you are running `wireshark`, select the `loopback` interface and set FILTER to `s1ap || gtpv2 || diameter || gtp`. You can see the virtually created packets. [[testsimple.pcapng]]({{ site.url }}{{ site.baseurl }}/assets/pcapng/testsimple.pcapng)
|
||||
{: .notice--info}
|
||||
|
||||
You need to perform **the installation process**.
|
||||
```bash
|
||||
$ cd build
|
||||
$ ninja install
|
||||
```
|
||||
|
||||
### Building WebUI of Open5GS
|
||||
---
|
||||
|
||||
[Node.js](https://nodejs.org/) is required to build WebUI of Open5GS
|
||||
|
||||
```bash
|
||||
$ brew install node
|
||||
```
|
||||
|
||||
Install the dependencies to run WebUI
|
||||
|
||||
```bash
|
||||
$ cd webui
|
||||
$ npm install
|
||||
```
|
||||
|
||||
The WebUI runs as an [npm](https://www.npmjs.com/) script.
|
||||
|
||||
```bash
|
||||
$ npm run dev
|
||||
```
|
||||
|
||||
171
docs/_docs/platform/06-macosx-intel.md
Normal file
171
docs/_docs/platform/06-macosx-intel.md
Normal file
@@ -0,0 +1,171 @@
|
||||
---
|
||||
title: Mac OS X
|
||||
head_inline: "<style> .blue { color: blue; } </style>"
|
||||
---
|
||||
|
||||
This guide is based on macOS Big Sur 11.2 on a Macbook Pro(Intel Chips) computer.
|
||||
{: .blue}
|
||||
|
||||
### Install Xcode Command-Line Tools
|
||||
---
|
||||
|
||||
Homebrew requires the Xcode command-line tools from Apple's Xcode.
|
||||
```bash
|
||||
$ xcode-select --install
|
||||
```
|
||||
|
||||
### Installing Homebrew
|
||||
---
|
||||
|
||||
Install brew using the official Homebrew installation instructions.
|
||||
```bash
|
||||
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
|
||||
```
|
||||
|
||||
### Getting MongoDB
|
||||
---
|
||||
|
||||
Install MongoDB with Package Manager.
|
||||
```bash
|
||||
$ brew tap mongodb/brew
|
||||
$ brew install mongodb-community
|
||||
```
|
||||
|
||||
Run MongoDB server.
|
||||
```bash
|
||||
$ mongod --config /usr/local/etc/mongod.conf
|
||||
```
|
||||
|
||||
**Tip:** MongoDB is persistent after rebooting with the following commands:
|
||||
`$ brew services start mongodb-community`
|
||||
{: .notice--info}
|
||||
|
||||
|
||||
### Setting up network (No persistent after rebooting)
|
||||
---
|
||||
|
||||
Note that Open5GS uses built-in "utun" device driver. So, You don't have to install external TUN/TAP driver.
|
||||
{: .blue}
|
||||
|
||||
Configure the loopback interface.
|
||||
```bash
|
||||
$ sudo ifconfig lo0 alias 127.0.0.2 netmask 255.255.255.255
|
||||
$ sudo ifconfig lo0 alias 127.0.0.3 netmask 255.255.255.255
|
||||
$ sudo ifconfig lo0 alias 127.0.0.4 netmask 255.255.255.255
|
||||
$ sudo ifconfig lo0 alias 127.0.0.5 netmask 255.255.255.255
|
||||
$ sudo ifconfig lo0 alias 127.0.0.5 netmask 255.255.255.255
|
||||
$ sudo ifconfig lo0 alias 127.0.0.6 netmask 255.255.255.255
|
||||
$ sudo ifconfig lo0 alias 127.0.0.7 netmask 255.255.255.255
|
||||
$ sudo ifconfig lo0 alias 127.0.0.8 netmask 255.255.255.255
|
||||
$ sudo ifconfig lo0 alias 127.0.0.9 netmask 255.255.255.255
|
||||
$ sudo ifconfig lo0 alias 127.0.0.10 netmask 255.255.255.255
|
||||
$ sudo ifconfig lo0 alias 127.0.0.11 netmask 255.255.255.255
|
||||
$ sudo ifconfig lo0 alias 127.0.0.12 netmask 255.255.255.255
|
||||
$ sudo ifconfig lo0 alias 127.0.0.13 netmask 255.255.255.255
|
||||
$ sudo ifconfig lo0 alias 127.0.0.14 netmask 255.255.255.255
|
||||
$ sudo ifconfig lo0 alias 127.0.0.15 netmask 255.255.255.255
|
||||
$ sudo ifconfig lo0 alias 127.0.0.16 netmask 255.255.255.255
|
||||
$ sudo ifconfig lo0 alias 127.0.0.17 netmask 255.255.255.255
|
||||
$ sudo ifconfig lo0 alias 127.0.0.18 netmask 255.255.255.255
|
||||
$ sudo ifconfig lo0 alias 127.0.0.19 netmask 255.255.255.255
|
||||
$ sudo ifconfig lo0 alias 127.0.0.20 netmask 255.255.255.255
|
||||
```
|
||||
|
||||
Enable IP forwarding & Masquerading
|
||||
```bash
|
||||
$ sudo sysctl -w net.inet.ip.forwarding=1
|
||||
$ sudo sysctl -w net.inet6.ip6.forwarding=1
|
||||
$ sudo sh -c "echo 'nat on {en0} from 10.45.0.0/16 to any -> {en0}' > /etc/pf.anchors/org.open5gs"
|
||||
$ sudo sh -c "echo 'nat on {en0} from cafe::1/64 to any -> {en0}' > /etc/pf.anchors/org.open5gs"
|
||||
$ sudo pfctl -e -f /etc/pf.anchors/org.open5gs
|
||||
```
|
||||
|
||||
**Tip:** The script provided in [$GIT_REPO/misc/netconf.sh](https://github.com/{{ site.github_username }}/open5gs/blob/main/misc/netconf.sh) makes it easy to configure the TUN device as follows:
|
||||
`$ sudo ./misc/netconf.sh`
|
||||
{: .notice--info}
|
||||
|
||||
### Building Open5GS
|
||||
---
|
||||
|
||||
Install the depedencies for building the source code.
|
||||
```bash
|
||||
$ brew install mongo-c-driver gnutls libgcrypt libidn libyaml libmicrohttpd nghttp2 pkg-config
|
||||
```
|
||||
|
||||
Install Bison and Create soft link.
|
||||
```bash
|
||||
$ brew install bison
|
||||
$ export PATH="/usr/local/opt/bison/bin:$PATH"
|
||||
```
|
||||
|
||||
Install Meson using Homebrew.
|
||||
```bash
|
||||
$ brew install meson
|
||||
```
|
||||
|
||||
Git clone.
|
||||
|
||||
```bash
|
||||
$ git clone https://github.com/{{ site.github_username }}/open5gs
|
||||
```
|
||||
|
||||
To compile with meson:
|
||||
|
||||
```bash
|
||||
$ cd open5gs
|
||||
$ meson build --prefix=`pwd`/install -D c_std=c99
|
||||
$ ninja -C build
|
||||
```
|
||||
|
||||
Check whether the compilation is correct.
|
||||
|
||||
**Note:** This should require *sudo* due to access `/dev/tun0`.
|
||||
{: .notice--danger}
|
||||
|
||||
```bash
|
||||
$ sudo ./build/tests/attach/attach ## EPC Only
|
||||
$ sudo ./build/tests/registration/registration ## 5G Core Only
|
||||
```
|
||||
|
||||
Run all test programs as below.
|
||||
|
||||
**Note:** This should require *sudo* due to access `/dev/tun0`.
|
||||
{: .notice--danger}
|
||||
|
||||
```bash
|
||||
$ cd build
|
||||
$ sudo meson test -v
|
||||
```
|
||||
|
||||
**Tip:** You can also check the result of `ninja -C build test` with a tool that captures packets. If you are running `wireshark`, select the `loopback` interface and set FILTER to `s1ap || gtpv2 || pfcp || diameter || gtp || ngap || http2.data.data || http2.headers`. You can see the virtually created packets. [testattach.pcapng]({{ site.url }}{{ site.baseurl }}/assets/pcapng/testattach.pcapng)/[testregistration.pcapng]({{ site.url }}{{ site.baseurl }}/assets/pcapng/testregistration.pcapng)
|
||||
{: .notice--info}
|
||||
|
||||
You need to perform the **installation process**.
|
||||
```bash
|
||||
$ cd build
|
||||
$ ninja install
|
||||
$ cd ../
|
||||
```
|
||||
|
||||
|
||||
### Building WebUI of Open5GS
|
||||
---
|
||||
|
||||
[Node.js](https://nodejs.org/) is required to build WebUI of Open5GS
|
||||
|
||||
```bash
|
||||
$ brew install node
|
||||
```
|
||||
|
||||
Install the dependencies to run WebUI
|
||||
|
||||
```bash
|
||||
$ cd webui
|
||||
$ npm install
|
||||
```
|
||||
|
||||
The WebUI runs as an [npm](https://www.npmjs.com/) script.
|
||||
|
||||
```bash
|
||||
$ npm run dev
|
||||
```
|
||||
216
docs/_docs/platform/07-freebsd.md
Normal file
216
docs/_docs/platform/07-freebsd.md
Normal file
@@ -0,0 +1,216 @@
|
||||
---
|
||||
title: FreeBSD
|
||||
head_inline: "<style> .blue { color: blue; } </style>"
|
||||
---
|
||||
|
||||
This guide is based on **FreeBSD-11.4-STABLE**.
|
||||
{: .blue}
|
||||
|
||||
## Install **FreeBSD-11.4-STABLE** from Vagrant box (optional)
|
||||
---
|
||||
Vagrant provides a simple way to create and deploy Virtual Machines from
|
||||
pre-built images using VirtualBox, libvirt, or VMWare as a hypervisor engine.
|
||||
This allows the user to quickly create a virtual machine without the hassle
|
||||
of installing the operating system by hand.
|
||||
|
||||
### Install Vagrant
|
||||
---
|
||||
|
||||
The instructions to install Vagrant are provided at
|
||||
[vagrantup.com](https://www.vagrantup.com/).
|
||||
|
||||
|
||||
### Create a FreeBSD-11.4-STABLE Virtual Machine using Vagrant
|
||||
---
|
||||
|
||||
Use the supplied `Vagrantfile` in the `vagrant` directory to create the
|
||||
virtual machine.
|
||||
|
||||
Note that this Vagrantfile is identical to the base FreeBSD 11 box, with
|
||||
the exception that the amount of virtual memory has been increased to 1GB:
|
||||
|
||||
```bash
|
||||
cd vagrant/freebsd
|
||||
vagrant up --provider virtualbox
|
||||
```
|
||||
|
||||
### Log into the newly created FreeBSD VM
|
||||
---
|
||||
|
||||
Use SSH to log into the FreeBSD 11 VM:
|
||||
|
||||
```bash
|
||||
vagrant ssh
|
||||
```
|
||||
|
||||
Note that the Open5GS source is *not* copied into the VM. The instructions
|
||||
below provide the step by step instructions for setting up Open5GS for
|
||||
either a bare metal or virtual FreeBSD 11 system.
|
||||
|
||||
The rest of the commands below are performed inside the FreeBSD VM as the
|
||||
user 'vagrant', or on your bare metal FreeBSD 11 system as any normal user.
|
||||
|
||||
### Getting MongoDB
|
||||
---
|
||||
|
||||
Install MongoDB with package manager.
|
||||
```bash
|
||||
$ sudo pkg install mongodb44
|
||||
```
|
||||
|
||||
Run MongoDB server.
|
||||
```bash
|
||||
$ mkdir -p ./data/db
|
||||
$ mongod --dbpath ./data/db
|
||||
```
|
||||
|
||||
### Setting up network (No persistent after rebooting)
|
||||
---
|
||||
|
||||
Configure the loopback interface.
|
||||
```bash
|
||||
$ sudo ifconfig lo0 alias 127.0.0.2 netmask 255.255.255.255
|
||||
$ sudo ifconfig lo0 alias 127.0.0.3 netmask 255.255.255.255
|
||||
$ sudo ifconfig lo0 alias 127.0.0.4 netmask 255.255.255.255
|
||||
$ sudo ifconfig lo0 alias 127.0.0.5 netmask 255.255.255.255
|
||||
$ sudo ifconfig lo0 alias 127.0.0.5 netmask 255.255.255.255
|
||||
$ sudo ifconfig lo0 alias 127.0.0.6 netmask 255.255.255.255
|
||||
$ sudo ifconfig lo0 alias 127.0.0.7 netmask 255.255.255.255
|
||||
$ sudo ifconfig lo0 alias 127.0.0.8 netmask 255.255.255.255
|
||||
$ sudo ifconfig lo0 alias 127.0.0.9 netmask 255.255.255.255
|
||||
$ sudo ifconfig lo0 alias 127.0.0.10 netmask 255.255.255.255
|
||||
$ sudo ifconfig lo0 alias 127.0.0.11 netmask 255.255.255.255
|
||||
$ sudo ifconfig lo0 alias 127.0.0.12 netmask 255.255.255.255
|
||||
$ sudo ifconfig lo0 alias 127.0.0.13 netmask 255.255.255.255
|
||||
$ sudo ifconfig lo0 alias 127.0.0.14 netmask 255.255.255.255
|
||||
$ sudo ifconfig lo0 alias 127.0.0.15 netmask 255.255.255.255
|
||||
$ sudo ifconfig lo0 alias 127.0.0.16 netmask 255.255.255.255
|
||||
$ sudo ifconfig lo0 alias 127.0.0.17 netmask 255.255.255.255
|
||||
$ sudo ifconfig lo0 alias 127.0.0.18 netmask 255.255.255.255
|
||||
$ sudo ifconfig lo0 alias 127.0.0.19 netmask 255.255.255.255
|
||||
$ sudo ifconfig lo0 alias 127.0.0.20 netmask 255.255.255.255
|
||||
```
|
||||
|
||||
Enable IP forwarding
|
||||
```bash
|
||||
$ sudo sysctl -w net.inet.ip.forwarding=1
|
||||
$ sudo sysctl -w net.inet6.ip6.forwarding=1
|
||||
```
|
||||
|
||||
**Tip:** The script provided in [$GIT_REPO/misc/netconf.sh](https://github.com/{{ site.github_username }}/open5gs/blob/main/misc/netconf.sh) makes it easy to configure the TUN device as follows:
|
||||
`$ sudo ./misc/netconf.sh`
|
||||
{: .notice--info}
|
||||
|
||||
### Building Open5GS
|
||||
---
|
||||
|
||||
Install the depedencies for building the source code.
|
||||
```bash
|
||||
$ sudo pkg install meson ninja gcc bison gsed pkgconf git mongo-c-driver gnutls libgcrypt libidn libyaml libmicrohttpd nghttp2
|
||||
```
|
||||
|
||||
Configure gcc PATH
|
||||
```bash
|
||||
$ setenv LIBRARY_PATH /usr/local/lib
|
||||
$ setenv C_INCLUDE_PATH /usr/local/include
|
||||
```
|
||||
|
||||
If you are using BASH instead of default CSH,
|
||||
```bash
|
||||
$ export LIBRARY_PATH=/usr/local/lib
|
||||
$ export C_INCLUDE_PATH=/usr/local/include
|
||||
```
|
||||
|
||||
Git clone.
|
||||
|
||||
```bash
|
||||
$ git clone https://github.com/{{ site.github_username }}/open5gs
|
||||
```
|
||||
|
||||
To compile with meson:
|
||||
|
||||
```bash
|
||||
$ cd open5gs
|
||||
$ meson build --prefix=`pwd`/install
|
||||
$ ninja -C build
|
||||
```
|
||||
|
||||
**Note:** No source code changes are required for FreeBSD 11.x version. However, in FreeBSD 12.x version, we'll getting a crash with segmentation fault when calling basename(3). To avoid this, you need to change the freeDiameter source code as below.
|
||||
{: .blue}
|
||||
|
||||
```diff
|
||||
$ cd open5gs/subprojects/freeDiameter
|
||||
|
||||
$ diff --git a/include/freeDiameter/libfdproto.h b/include/freeDiameter/libfdproto.h
|
||||
index 52c11ef..cd7f383 100644
|
||||
--- a/include/freeDiameter/libfdproto.h
|
||||
+++ b/include/freeDiameter/libfdproto.h
|
||||
@@ -293,7 +293,7 @@ extern int fd_g_debug_lvl;
|
||||
|
||||
/* A version of __FILE__ without the full path. This is specific to each C file being compiled */
|
||||
static char * file_bname = NULL;
|
||||
-static char * file_bname_init(char * full) { file_bname = basename(full); return file_bname; }
|
||||
+static char * file_bname_init(char * full) { file_bname = __old_basename(full); return file_bname; }
|
||||
#define __STRIPPED_FILE__ (file_bname ?: file_bname_init((char *)__FILE__))
|
||||
|
||||
```
|
||||
|
||||
Now, compile again:
|
||||
{: .blue}
|
||||
|
||||
```bash
|
||||
$ cd open5gs
|
||||
$ ninja -C build
|
||||
```
|
||||
|
||||
Check whether the compilation is correct.
|
||||
|
||||
**Note:** This should require *sudo* due to access `/dev/tun0`.
|
||||
{: .notice--danger}
|
||||
|
||||
```bash
|
||||
$ sudo ./build/tests/attach/attach ## EPC Only
|
||||
$ sudo ./build/tests/registration/registration ## 5G Core Only
|
||||
```
|
||||
|
||||
Run all test programs as below.
|
||||
|
||||
**Note:** This should require *sudo* due to access `/dev/tun0`.
|
||||
{: .notice--danger}
|
||||
|
||||
```bash
|
||||
$ cd build
|
||||
$ sudo meson test -v
|
||||
```
|
||||
|
||||
**Tip:** You can also check the result of `ninja -C build test` with a tool that captures packets. If you are running `wireshark`, select the `loopback` interface and set FILTER to `s1ap || gtpv2 || pfcp || diameter || gtp || ngap || http2.data.data || http2.headers`. You can see the virtually created packets. [testattach.pcapng]({{ site.url }}{{ site.baseurl }}/assets/pcapng/testattach.pcapng)/[testregistration.pcapng]({{ site.url }}{{ site.baseurl }}/assets/pcapng/testregistration.pcapng)
|
||||
{: .notice--info}
|
||||
|
||||
You need to perform the **installation process**.
|
||||
```bash
|
||||
$ cd build
|
||||
$ ninja install
|
||||
$ cd ../
|
||||
```
|
||||
|
||||
### Building WebUI of Open5GS
|
||||
---
|
||||
|
||||
[Node.js](https://nodejs.org/) is required to build WebUI of Open5GS
|
||||
|
||||
```bash
|
||||
$ sudo pkg install node
|
||||
```
|
||||
|
||||
Install the dependencies to run WebUI
|
||||
|
||||
```bash
|
||||
$ cd webui
|
||||
$ npm install
|
||||
```
|
||||
|
||||
The WebUI runs as an [npm](https://www.npmjs.com/) script.
|
||||
|
||||
```bash
|
||||
$ npm run dev
|
||||
```
|
||||
@@ -11,25 +11,46 @@ title: Simple Issue
|
||||
Before we get too far in troubleshooting let's first check all our services are running.
|
||||
|
||||
```bash
|
||||
$ ps aux | grep open5gs
|
||||
open5gs 3434 0.2 2.8 1074020 27972 ? Ssl 02:39 0:00 /usr/bin/open5gs-pgwd -c /etc/open5gs/pgw.yaml
|
||||
open5gs 3672 0.0 1.0 922972 10408 ? Ssl 02:39 0:00 /usr/bin/open5gs-sgwd -c /etc/open5gs/sgw.yaml
|
||||
open5gs 3893 0.1 1.3 958412 13260 ? Ssl 02:39 0:00 /usr/bin/open5gs-hssd -c /etc/open5gs/hss.yaml
|
||||
open5gs 4011 0.1 1.3 956320 13140 ? Ssl 02:39 0:00 /usr/bin/open5gs-pcrfd -c /etc/open5gs/pcrf.yaml
|
||||
open5gs 4138 0.3 1.2 986524 12608 ? Ssl 02:40 0:00 /usr/bin/open5gs-mmed -c /etc/open5gs/mme.yaml
|
||||
root 4198 0.0 0.1 13136 1060 pts/0 S+ 02:40 0:00 grep --color=auto open5gs
|
||||
ps aux | grep open5gs
|
||||
open5gs 26633 0.1 0.0 2890828 12308 ? Ssl 12:13 0:00 /usr/bin/open5gs-mmed -c /etc/open5gs/mme.yaml
|
||||
open5gs 26784 0.0 0.1 1534456 18344 ? Ssl 12:13 0:00 /usr/bin/open5gs-sgwcd -c /etc/open5gs/sgwc.yaml
|
||||
open5gs 27076 0.1 0.2 3811148 42192 ? Ssl 12:13 0:00 /usr/bin/open5gs-smfd -c /etc/open5gs/smf.yaml
|
||||
open5gs 27174 0.0 0.0 258096 12720 ? Ssl 12:13 0:00 /usr/bin/open5gs-amfd -c /etc/open5gs/amf.yaml
|
||||
open5gs 26844 0.0 0.0 1237524 14084 ? Ssl 12:13 0:00 /usr/bin/open5gs-sgwud -c /etc/open5gs/sgwu.yaml
|
||||
open5gs 26934 0.0 0.0 707472 12732 ? Ssl 12:13 0:00 /usr/bin/open5gs-upfd -c /etc/open5gs/upf.yaml
|
||||
open5gs 27244 0.2 0.0 2861424 13584 ? Ssl 12:13 0:00 /usr/bin/open5gs-hssd -c /etc/open5gs/hss.yaml
|
||||
open5gs 27366 0.0 0.0 2890772 14380 ? Ssl 12:13 0:00 /usr/bin/open5gs-pcrfd -c /etc/open5gs/pcrf.yaml
|
||||
open5gs 27485 0.0 0.0 243816 15064 ? Ssl 12:13 0:00 /usr/bin/open5gs-nrfd -c /etc/open5gs/nrf.yaml
|
||||
open5gs 27543 0.0 0.0 222416 9672 ? Ssl 12:13 0:00 /usr/bin/open5gs-ausfd -c /etc/open5gs/ausf.yaml
|
||||
open5gs 27600 0.0 0.0 222328 9668 ? Ssl 12:13 0:00 /usr/bin/open5gs-udmd -c /etc/open5gs/udm.yaml
|
||||
open5gs 27600 0.0 0.0 222329 9669 ? Ssl 12:13 0:00 /usr/bin/open5gs-pcfd -c /etc/open5gs/pcf.yaml
|
||||
open5gs 27600 0.0 0.0 222329 9669 ? Ssl 12:13 0:00 /usr/bin/open5gs-nssfd -c /etc/open5gs/nssf.yaml
|
||||
open5gs 27697 0.0 0.0 243976 13716 ? Ssl 12:13 0:00 /usr/bin/open5gs-udrd -c /etc/open5gs/udr.yaml
|
||||
```
|
||||
|
||||
You should see each of the services above, PGW, SGW, HSS, PCRF & MME all running.
|
||||
You should see each of the above services, MME, SGW-C, SMF, AMF, SGW-U, UPF, HSS, PCRF, NRF, AUSF, UDM, PCF, NSSF & UDR are all running.
|
||||
|
||||
If your instance doesn't show this make sure you're started each service:
|
||||
```bash
|
||||
$ systemctl start open5gs-*
|
||||
$ systemctl start open5gs-mmed.service
|
||||
$ systemctl start open5gs-sgwcd.service
|
||||
$ systemctl start open5gs-smfd.service
|
||||
$ systemctl start open5gs-amfd.service
|
||||
$ systemctl start open5gs-sgwud.service
|
||||
$ systemctl start open5gs-upfd.service
|
||||
$ systemctl start open5gs-hssd.service
|
||||
$ systemctl start open5gs-pcrfd.service
|
||||
$ systemctl start open5gs-nrfd.service
|
||||
$ systemctl start open5gs-ausfd.service
|
||||
$ systemctl start open5gs-udmd.service
|
||||
$ systemctl start open5gs-pcfd.service
|
||||
$ systemctl start open5gs-nssfd.service
|
||||
$ systemctl start open5gs-udrd.service
|
||||
```
|
||||
|
||||
#### Finding out why a Service isn't Starting
|
||||
|
||||
If a service isn't running check the log for that service - logs for each service live in */var/log/open5gs/* where each service logs to it's own file - MME logs in mme.log, PGW logs in pgw.log, and so on.
|
||||
If a service isn't running check the log for that service - logs for each service live in */var/log/open5gs/* where each service logs to it's own file - MME logs in mme.log, AMF logs in amf.log, and so on.
|
||||
|
||||
```bash
|
||||
$ cat /var/log/open5gs/mme.log
|
||||
@@ -37,7 +58,7 @@ Open5GS daemon v1.0.0
|
||||
|
||||
[app] INFO: Configuration: '/etc/open5gs/mme.yaml' (../src/main.c:54)
|
||||
[app] INFO: File Logging: '/var/log/open5gs/mme.log' (../src/main.c:57)
|
||||
[mme] ERROR: No sgw.gtpc in '/etc/open5gs/mme.yaml' (../src/mme/mme-context.c:192)
|
||||
[mme] ERROR: No sgwc.gtpc in '/etc/open5gs/mme.yaml' (../src/mme/mme-context.c:192)
|
||||
[app] ERROR: Failed to intialize MME (../src/mme/app-init.c:30)
|
||||
[app] FATAL: Open5GS initialization failed. Aborted (../src/main.c:222)
|
||||
```
|
||||
@@ -48,38 +69,38 @@ Or, you can use `journalctl` like below to view live log.
|
||||
$ journalctl -u open5gs-mmed.service --since today -f
|
||||
```
|
||||
|
||||
In the example above we can see the error - no SGW GTPC address is configured in the mme.yaml file, meaning Open5GS MME is failing to start.
|
||||
In the example above we can see the error - no SGW-C GTP-C address is configured in the mme.yaml file, meaning Open5GS MME is failing to start.
|
||||
|
||||
The errors you experience may be different, but if a service is failing to start it's most often due to a misconfiguration issue in one or more of the Open5GS *.yaml* configuration files. The log should tell you which section of the yaml file is missing or invalid.
|
||||
|
||||
|
||||
## eNB Connection Issues
|
||||
## gNB/eNB Connection Issues
|
||||
---
|
||||
When a UE connects to Open5GS MME the log shows the presence of a new S1AP connection the log at */var/log/open5gs/mme.log*:
|
||||
When a UE connects to Open5GS AMF/MME the log shows the presence of a new NGAP/S1AP connection the log at */var/log/open5gs/mme.log*:
|
||||
|
||||
##### No S1AP Connection
|
||||
If you're not seeing any S1AP connection attempts check the eNB can contact the IP the MME is on (No firewall / ACLs etc blocking) and that SCTP Traffic is able to be carried across your transmission network.
|
||||
##### No NGAP/S1AP Connection
|
||||
If you're not seeing any NGAP/S1AP connection attempts check the gNB/eNB can contact the IP the AMF/MME is on (No firewall / ACLs etc blocking) and that SCTP Traffic is able to be carried across your transmission network.
|
||||
|
||||
**Note:** 3GPP defines SCTP as the transport protocol for S1-AP/S1-CP traffic (not TCP/UDP). Not all devices / routers support S1AP, particularly over the Internet.
|
||||
**Note:** 3GPP defines SCTP as the transport protocol for NGAP/S1AP traffic (not TCP/UDP). Not all devices / routers support NGAP/S1AP, particularly over the Internet.
|
||||
|
||||
If you're confident the service is running and connectivity is able to be established across your transmission network, you should see the *SCTP INIT* packets in Wireshark. If you're not seeing these packets go back and check your network.
|
||||
|
||||
If you are seeing the SCTP INIT messages and seeing an ABORT after each one, that suggests the SCTP connection is trying to be established. Check that the MME service is started and listening on the interface / IP you're sending traffic to.
|
||||
If you are seeing the SCTP INIT messages and seeing an ABORT after each one, that suggests the SCTP connection is trying to be established. Check that the AMF/MME service is started and listening on the interface / IP you're sending traffic to.
|
||||
|
||||
##### S1AP Connection Rejected
|
||||
If you're seeing S1AP Connection attempts but seeing them rejected by Open5GS, the S1AP message show in a packet capture will indicate the rejection reason, as well as in the mme log.
|
||||
##### NGAP/S1AP Connection Rejected
|
||||
If you're seeing NGAP/S1AP Connection attempts but seeing them rejected by Open5GS, the NGAP/S1AP message show in a packet capture will indicate the rejection reason, as well as in the mme log.
|
||||
```
|
||||
$ tail -f /var/log/open5gs/mme.log
|
||||
[mme] INFO: eNB-S1[10.0.1.14] connection refused!!! (mme-sm.c:176)
|
||||
```
|
||||
|
||||
Typically S1AP connections are rejected due to one of these reasons:
|
||||
* MNC / MCC in eNB does not match *gummei* and *tai* MCC/MNC pair in (mme.yaml*.
|
||||
* Tracking Area Code does not match configured TACs in *mme.yaml*.
|
||||
Typically NGAP/S1AP connections are rejected due to one of these reasons:
|
||||
* MNC / MCC in gNB/eNB does not match *guami/gummei* and *tai* MCC/MNC pair in amf.yaml/mme.yaml*.
|
||||
* Tracking Area Code does not match configured TACs in *amf.yaml/mme.yaml*.
|
||||
|
||||
Each of these can be addressed by editing the relevant section in the MME config in */etc/open5gs/mme.yaml*
|
||||
Each of these can be addressed by editing the relevant section in the AMF/MME config in */etc/open5gs/amf.yaml* OR */etc/open5gs/mme.yaml*
|
||||
|
||||
__Example of sucesful eNB connection to MME:__
|
||||
__Example of successful eNB connection to MME:__
|
||||
```
|
||||
$ tail -f /var/log/open5gs/mme.log
|
||||
[mme] INFO: eNB-S1 accepted[10.0.1.14]:3223 in s1_path module (s1ap-lkpath.c:70)
|
||||
@@ -92,42 +113,42 @@ If your network is setup there are a variety of reasons your network may not per
|
||||
|
||||
#### UE cannot See Network
|
||||
If while scanning for the networks on your UE / Phone you're not seeing your network, there's a few things to check:
|
||||
* Check your eNB is connected to the MME
|
||||
* Check the eNB status
|
||||
* Check your gNB/eNB is connected to the AMF/MME
|
||||
* Check the gNB/eNB status
|
||||
* Check the UE you are scanning with is capable of working on the frequencies / bands and duplex mode (TDD or FDD) used by the UE
|
||||
* Check UE is within range of eNB
|
||||
* Check UE is within range of gNB/eNB
|
||||
* Check PLMN is not forbidden on USIM (F-PLMN List)
|
||||
|
||||
#### UE Fails to Attach to the Network
|
||||
#### UE Fails to Register/Attach to the Network
|
||||
Assuming while scanning for networks the UE can see the network, but not connect, the most common issues stem from Authentication.
|
||||
|
||||
LTE/E-UTRAN employs *Mutual Authentication* of both the network and the subscriber. This means the credentials in the HSS must match the credentials on the USIM and the credentials in the USIM must match those in the HSS. This means unlike GSM, you cannot use just any SIM and disable crypto, you have to know the details on the USIM or be able to program this yourself in order to authenticate.
|
||||
NR/LTE employs *Mutual Authentication* of both the network and the subscriber. This means the credentials in the UDM/HSS must match the credentials on the USIM and the credentials in the USIM must match those in the UDM/HSS. This means unlike GSM, you cannot use just any SIM and disable crypto, you have to know the details on the USIM or be able to program this yourself in order to authenticate.
|
||||
|
||||
If the issue is authentication, the mme and hss log will give you an indication as to which side is rejecting the authentication, the UE or the Network (Open5GS);
|
||||
If the issue is authentication, the amf/mme and udm/hss log will give you an indication as to which side is rejecting the authentication, the UE or the Network (Open5GS);
|
||||
|
||||
__IMSI/Subscriber not present in HSS:__
|
||||
If the USIM's IMSI is not present in the HSS the HSS will reject the Authentication.
|
||||
__IMSI/Subscriber not present in UDM/HSS:__
|
||||
If the USIM's IMSI is not present in the UDM/HSS the UDM/HSS will reject the Authentication.
|
||||
|
||||
```
|
||||
$ tail -f /var/log/open5gs/hss.log
|
||||
[hss] WARNING: Cannot find IMSI in DB : 001000000000001 (hss-context.c:309)
|
||||
```
|
||||
|
||||
__IMSI/Subscriber configured in HSS with wrong credentails:__
|
||||
If the credentials on the HSS do not match what is configured on the USIM, the USIM will reject the connection (MAC Error).
|
||||
__IMSI/Subscriber configured in UDM/HSS with wrong credentails:__
|
||||
If the credentials on the UDM/HSS do not match what is configured on the USIM, the USIM will reject the connection (MAC Error).
|
||||
|
||||
```
|
||||
$ tail -f /var/log/open5gs/mme.log
|
||||
[emm] WARNING: Authentication failure(MAC failure) (emm-sm.c:573)
|
||||
```
|
||||
|
||||
__APN Requested by UE not present in HSS:__
|
||||
Ensure the APNs requested by the UE are present in the HSS.
|
||||
__DNN/APN Requested by UE not present in UDM/HSS:__
|
||||
Ensure the DNNs/APNs requested by the UE are present in the UDM/HSS.
|
||||
|
||||
|
||||
#### UE shows "4G" or "LTE" Connection but has no IP Connectivity to the outside World
|
||||
If your device shows as connected (Includes LTE/4G symbol) there are a few simple things to check to diagnose connectivity issues:
|
||||
* The PGW can contact the outside world (Can resolve DNS, browse, etc)
|
||||
#### UE shows "5G" or "LTE" Connection but has no IP Connectivity to the outside World
|
||||
If your device shows as connected (Includes 5G/LTE symbol) there are a few simple things to check to diagnose connectivity issues:
|
||||
* The UPF can contact the outside world (Can resolve DNS, browse, etc)
|
||||
* Check if the interface connected to the internet is correctly `NAT` with the `ogstun` interface.
|
||||
- Ensure that the packets in the `INPUT` chain to the `ogstun` interface are accepted
|
||||
```
|
||||
@@ -143,7 +164,7 @@ If your device shows as connected (Includes LTE/4G symbol) there are a few simpl
|
||||
## Further Debugging
|
||||
---
|
||||
|
||||
Problem with Open5GS can be filed as [GitHub Issues](https://github.com/open5gs/open5gs/issues). Please include the following to get help:
|
||||
Problem with Open5GS can be filed as [GitHub Issues](https://github.com/{{ site.github_username }}/open5gs/issues). Please include the following to get help:
|
||||
|
||||
- Attach `*.pcapng` file created by wireskark.
|
||||
- Attach configuration files at `/etc/open5gs/*.yaml`.
|
||||
@@ -152,22 +173,22 @@ Problem with Open5GS can be filed as [GitHub Issues](https://github.com/open5gs/
|
||||
You can modify the configuration file to record more logs.
|
||||
|
||||
```diff
|
||||
diff -u /etc/open5gs/mme.yaml.old /etc/open5gs/mme.yaml
|
||||
--- mme.yaml.old 2018-04-15 18:28:31.000000000 +0900
|
||||
+++ mme.yaml 2018-04-15 19:53:10.000000000 +0900
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
$ diff -u /etc/open5gs/amf.yaml.old /etc/open5gs/amf.yaml
|
||||
--- amf.yaml.old 2020-08-22 12:26:56.132213488 -0400
|
||||
+++ amf.yaml 2020-08-22 12:27:04.135901201 -0400
|
||||
@@ -20,6 +20,7 @@
|
||||
#
|
||||
logger:
|
||||
file: /var/log/open5gs/mme.log
|
||||
file: /home/acetcom/Documents/git/open5gs/install/var/log/open5gs/amf.log
|
||||
+ level: debug
|
||||
|
||||
parameter:
|
||||
#
|
||||
# amf:
|
||||
#
|
||||
```
|
||||
|
||||
After changing conf files, please restart Open5GS daemons.
|
||||
|
||||
```bash
|
||||
$ sudo systemctl restart open5gs-mmed
|
||||
$ sudo systemctl restart open5gs-sgwd
|
||||
$ sudo systemctl restart open5gs-amfd.service
|
||||
```
|
||||
|
||||
|
||||
@@ -3,98 +3,248 @@ title: Now in the Github Issue
|
||||
head_inline: "<style> .blue { color: blue; } </style>"
|
||||
---
|
||||
|
||||
#### Test failed (e.g. `meson test`)
|
||||
<style>
|
||||
img {
|
||||
max-width: 100%;
|
||||
height: auto;
|
||||
}
|
||||
</style>
|
||||
|
||||
Sometimes you may get a message like the one below due to a problem with the freeDiameter library.
|
||||
#### Cannot open shared object file when running daemon
|
||||
|
||||
An error occurred when running as follows.
|
||||
|
||||
```
|
||||
$ meson test
|
||||
$ ./install/bin/open5gs-nrfd
|
||||
./install/bin/open5gs-nrfd: error while loading shared libraries: libogscrypt.so.2: cannot open shared object file: No such file or directory
|
||||
```
|
||||
|
||||
You need to specify the absolute path to the shared library as follows.
|
||||
|
||||
```bash
|
||||
$ echo $(cd $(dirname ./install/lib/x86_64-linux-gnu/) && pwd -P)/$(basename ./install/lib/x86_64-linux-gnu/)
|
||||
/home/acetcom/Documents/git/open5gs/install/lib/x86_64-linux-gnu
|
||||
$ export LD_LIBRARY_PATH=/home/acetcom/Documents/git/open5gs/install/lib/x86_64-linux-gnu
|
||||
$ ldd ./install/bin/open5gs-amfd
|
||||
...
|
||||
5/8 open5gs:epc / simple OK 7.69 s
|
||||
|
||||
--- command ---
|
||||
08:06:23 /home/parallels/open5gs/build/tests/epc/simple
|
||||
--- stdout ---
|
||||
s1setup-test : SUCCESS
|
||||
attach-test : SUCCESS
|
||||
volte-test : SUCCESS
|
||||
handover-test : SUCCESS
|
||||
crash-test : SUCCESS
|
||||
All tests passed.
|
||||
-------
|
||||
|
||||
6/8 open5gs:system / mnc3 FAIL 12.80 s (exit status 1)
|
||||
|
||||
--- command ---
|
||||
08:06:31 /home/parallels/open5gs/build/tests/mnc3/mnc3
|
||||
--- stdout ---
|
||||
mnc3-test : ERROR: ../subprojects/freeDiameter/extensions/dbg_msg_dumps/dbg_msg_dumps.c:112 ROUTING ERROR 'No remaining suitable candidate to route the message to' for: (../lib/diameter/common/init.c:116)
|
||||
: ../subprojects/freeDiameter/extensions/dbg_msg_dumps/dbg_msg_dumps.c:113 'Credit-Control-Request' (../lib/diameter/common/init.c:116)
|
||||
: ../subprojects/freeDiameter/extensions/dbg_msg_dumps/dbg_msg_dumps.c:113 Version: 0x01 (../lib/diameter/common/init.c:116)
|
||||
: ../subprojects/freeDiameter/extensions/dbg_msg_dumps/dbg_msg_dumps.c:113 Length: 20 (../lib/diameter/common/init.c:116)
|
||||
: ../subprojects/freeDiameter/extensions/dbg_msg_dumps/dbg_msg_dumps.c:113 Flags: 0xC0 (RP--) (../lib/diameter/common/init.c:116)
|
||||
: ../subprojects/freeDiameter/extensions/dbg_msg_dumps/dbg_msg_dumps.c:113 Command Code: 272 (../lib/diameter/common/init.c:116)
|
||||
: ../subprojects/freeDiameter/extensions/dbg_msg_dumps/dbg_msg_dumps.c:113 ApplicationId: 16777238 (../lib/diameter/common/init.c:116)
|
||||
: ../subprojects/freeDiameter/extensions/dbg_msg_dumps/dbg_msg_dumps.c:113 Hop-by-Hop Identifier: 0x00000000 (../lib/diameter/common/init.c:116)
|
||||
: ../subprojects/freeDiameter/extensions/dbg_msg_dumps/dbg_msg_dumps.c:113 End-to-End Identifier: 0x2875502B (../lib/diameter/common/init.c:116)
|
||||
: ../subprojects/freeDiameter/extensions/dbg_msg_dumps/dbg_msg_dumps.c:113 {internal data}: src:(nil)(0) rwb:(nil) rt:0 cb:0x564527642502,(nil)(0x7f71a86df418) qry:(nil) asso:0 sess:0x7f7158001140 (../lib/diameter/common/init.c:116)
|
||||
: ../subprojects/freeDiameter/extensions/dbg_msg_dumps/dbg_msg_dumps.c:113 AVP: 'Session-Id'(263) l=8 f=-M val="pgw.localdomain;1585209991;1;app_gx" (../lib/diameter/common/init.c:116)
|
||||
: ../subprojects/freeDiameter/extensions/dbg_msg_dumps/dbg_msg_dumps.c:113 AVP: 'Origin-Host'(264) l=8 f=-M val="pgw.localdomain" (../lib/diameter/common/init.c:116)
|
||||
: ../subprojects/freeDiameter/extensions/dbg_msg_dumps/dbg_msg_dumps.c:113 AVP: 'Origin-Realm'(296) l=8 f=-M val="localdomain" (../lib/diameter/common/init.c:116)
|
||||
: ../subprojects/freeDiameter/extensions/dbg_msg_dumps/dbg_msg_dumps.c:113 AVP: 'Destination-Realm'(283) l=8 f=-M val="localdomain" (../lib/diameter/common/init.c:116)
|
||||
: ../subprojects/freeDiameter/extensions/dbg_msg_dumps/dbg_msg_dumps.c:113 AVP: 'Auth-Application-Id'(258) l=12 f=-M val=16777238 (0x1000016) (../lib/diameter/common/init.c:116)
|
||||
: ../subprojects/freeDiameter/extensions/dbg_msg_dumps/dbg_msg_dumps.c:113 AVP: 'CC-Request-Type'(416) l=12 f=-M val='INITIAL_REQUEST' (1 (0x1)) (../lib/diameter/common/init.c:116)
|
||||
: ../subprojects/freeDiameter/extensions/dbg_msg_dumps/dbg_msg_dumps.c:113 AVP: 'CC-Request-Number'(415) l=12 f=-M val=0 (0x0) (../lib/diameter/common/init.c:116)
|
||||
: ../subprojects/freeDiameter/extensions/dbg_msg_dumps/dbg_msg_dumps.c:113 AVP: 'Subscription-Id'(443) l=8 f=-M val=(grouped) (../lib/diameter/common/init.c:116)
|
||||
: ../subprojects/freeDiameter/extensions/dbg_msg_dumps/dbg_msg_dumps.c:113 AVP: 'Subscription-Id-Type'(450) l=12 f=-M val='END_USER_IMSI' (1 (0x1)) (../lib/diameter/common/init.c:116)
|
||||
: ../subprojects/freeDiameter/extensions/dbg_msg_dumps/dbg_msg_dumps.c:113 AVP: 'Subscription-Id-Data'(444) l=8 f=-M val="310014987654004" (../lib/diameter/common/init.c:116)
|
||||
: ../subprojects/freeDiameter/extensions/dbg_msg_dumps/dbg_msg_dumps.c:113 AVP: 'Supported-Features'(628) vend='3GPP'(10415) l=12 f=V- val=(grouped) (../lib/diameter/common/init.c:116)
|
||||
: ../subprojects/freeDiameter/extensions/dbg_msg_dumps/dbg_msg_dumps.c:113 AVP: 'Feature-List-ID'(629) vend='3GPP'(10415) l=16 f=V- val=1 (0x1) (../lib/diameter/common/init.c:116)
|
||||
: ../subprojects/freeDiameter/extensions/dbg_msg_dumps/dbg_msg_dumps.c:113 AVP: 'Feature-List'(630) vend='3GPP'(10415) l=16 f=V- val=11 (0xb) (../lib/diameter/common/init.c:116)
|
||||
: ../subprojects/freeDiameter/extensions/dbg_msg_dumps/dbg_msg_dumps.c:113 AVP: 'Network-Request-Support'(1024) vend='3GPP'(10415) l=16 f=VM val=1 (0x1) (../lib/diameter/common/init.c:116)
|
||||
: ../subprojects/freeDiameter/extensions/dbg_msg_dumps/dbg_msg_dumps.c:113 AVP: 'Framed-IP-Address'(8) l=8 f=-M val=<0A 2D 00 02> (../lib/diameter/common/init.c:116)
|
||||
: ../subprojects/freeDiameter/extensions/dbg_msg_dumps/dbg_msg_dumps.c:113 AVP: 'IP-CAN-Type'(1027) vend='3GPP'(10415) l=16 f=VM val=5 (0x5) (../lib/diameter/common/init.c:116)
|
||||
: ../subprojects/freeDiameter/extensions/dbg_msg_dumps/dbg_msg_dumps.c:113 AVP: 'RAT-Type'(1032) vend='3GPP'(10415) l=16 f=V- val=1004 (0x3ec) (../lib/diameter/common/init.c:116)
|
||||
: ../subprojects/freeDiameter/extensions/dbg_msg_dumps/dbg_msg_dumps.c:113 AVP: 'QoS-Information'(1016) vend='3GPP'(10415) l=12 f=VM val=(grouped) (../lib/diameter/common/init.c:116)
|
||||
: ../subprojects/freeDiameter/extensions/dbg_msg_dumps/dbg_msg_dumps.c:113 AVP: 'APN-Aggregate-Max-Bitrate-UL'(1041) vend='3GPP'(10415) l=16 f=V- val=1024000000 (0x3d090000) (../lib/diameter/common/init.c:116)
|
||||
: ../subprojects/freeDiameter/extensions/dbg_msg_dumps/dbg_msg_dumps.c:113 AVP: 'APN-Aggregate-Max-Bitrate-DL'(1040) vend='3GPP'(10415) l=16 f=V- val=1024000000 (0x3d090000) (../lib/diameter/common/init.c:116)
|
||||
: ../subprojects/freeDiameter/extensions/dbg_msg_dumps/dbg_msg_dumps.c:113 AVP: 'Default-EPS-Bearer-QoS'(1049) vend='3GPP'(10415) l=12 f=V- val=(grouped) (../lib/diameter/common/init.c:116)
|
||||
: ../subprojects/freeDiameter/extensions/dbg_msg_dumps/dbg_msg_dumps.c:113 AVP: 'QoS-Class-Identifier'(1028) vend='3GPP'(10415) l=16 f=VM val=9 (0x9) (../lib/diameter/common/init.c:116)
|
||||
: ../subprojects/freeDiameter/extensions/dbg_msg_dumps/dbg_msg_dumps.c:113 AVP: 'Allocation-Retention-Priority'(1034) vend='3GPP'(10415) l=12 f=V- val=(grouped) (../lib/diameter/common/init.c:116)
|
||||
: ../subprojects/freeDiameter/extensions/dbg_msg_dumps/dbg_msg_dumps.c:113 AVP: 'Priority-Level'(1046) vend='3GPP'(10415) l=16 f=V- val=15 (0xf) (../lib/diameter/common/init.c:116)
|
||||
: ../subprojects/freeDiameter/extensions/dbg_msg_dumps/dbg_msg_dumps.c:113 AVP: 'Pre-emption-Capability'(1047) vend='3GPP'(10415) l=16 f=V- val=1 (0x1) (../lib/diameter/common/init.c:116)
|
||||
: ../subprojects/freeDiameter/extensions/dbg_msg_dumps/dbg_msg_dumps.c:113 AVP: 'Pre-emption-Vulnerability'(1048) vend='3GPP'(10415) l=16 f=V- val=0 (0x0) (../lib/diameter/common/init.c:116)
|
||||
: ../subprojects/freeDiameter/extensions/dbg_msg_dumps/dbg_msg_dumps.c:113 AVP: '3GPP-User-Location-Info'(22) vend='3GPP'(10415) l=12 f=VM val=<82 13 00 41 00 33 13 00 41 08 D0 1B 78> (../lib/diameter/common/init.c:116)
|
||||
: ../subprojects/freeDiameter/extensions/dbg_msg_dumps/dbg_msg_dumps.c:113 AVP: '3GPP-MS-TimeZone'(23) vend='3GPP'(10415) l=12 f=VM val=<23 00> (../lib/diameter/common/init.c:116)
|
||||
: ../subprojects/freeDiameter/extensions/dbg_msg_dumps/dbg_msg_dumps.c:113 AVP: 'Called-Station-Id'(30) l=8 f=-M val=<73 74 61 72 65 6E 74 2E 63 6F 6D> (../lib/diameter/common/init.c:116)
|
||||
: no_CC-Request-Number (../src/pgw/pgw-fd-path.c:505)
|
||||
/home/parallels/open5gs/build/src/pgw/../../lib/core/libogscore.so.1(ogs_abort+0x2e)[0x7f71abdbdbf8]
|
||||
/home/parallels/open5gs/build/src/pgw/open5gs-pgwd(+0x1cb8f)[0x564527642b8f]
|
||||
/home/parallels/open5gs/build/src/pgw/../../subprojects/freeDiameter/libfdcore/libfdcore.so.7(+0x492d7)[0x7f71ab7702d7]
|
||||
/home/parallels/open5gs/build/src/pgw/../../subprojects/freeDiameter/libfdcore/libfdcore.so.7(+0x4cb63)[0x7f71ab773b63]
|
||||
/home/parallels/open5gs/build/src/pgw/../../subprojects/freeDiameter/libfdcore/libfdcore.so.7(+0x4ccef)[0x7f71ab773cef]
|
||||
/lib/x86_64-linux-gnu/libpthread.so.0(+0x76db)[0x7f71aae686db]
|
||||
/lib/x86_64-linux-gnu/libc.so.6(clone+0x3f)[0x7f71aab9188f]
|
||||
03/26 16:06:43.674ERROR: GTP Timeout : IMSI[310014987654004] Message-Type[32] (../src/sgw/sgw-s11-handler.c:39)
|
||||
FAILED 1 of 1
|
||||
Failed Tests Total Fail Failed %
|
||||
===================================================
|
||||
mnc3-test 1 1 100.00%
|
||||
--- stderr ---
|
||||
03/26 16:06:43.681: [ERROR: GTP Timeout : IMSI[310014987654004] Message-Type[32] (../src/mme/mme-gtp-path.c:110)
|
||||
Line 202: Condition is false, but expected true
|
||||
-------
|
||||
|
||||
7/8 open5gs:system / volte FAIL 10.57 s (killed by signal 6 SIGABRT)
|
||||
|
||||
libogsapp.so.1 => /home/acetcom/Documents/git/open5gs/install/lib/x86_64-linux-gnu/libogsapp.so.1 (0x00007f161ab51000)
|
||||
libogscore.so.1 => /home/acetcom/Documents/git/open5gs/install/lib/x86_64-linux-gnu/libogscore.so.1 (0x00007f161a922000)
|
||||
libogssctp.so.1 => /home/acetcom/Documents/git/open5gs/install/lib/x86_64-linux-gnu/libogssctp.so.1 (0x00007f161a71d000)
|
||||
libogss1ap.so.1 => /home/acetcom/Documents/git/open5gs/install/lib/x86_64-linux-gnu/libogss1ap.so.1 (0x00007f161a519000)
|
||||
...
|
||||
```
|
||||
|
||||
I cannot solve the problem exactly at this point.
|
||||
If you want to set the shared library path permanently, you can use ldconfig.
|
||||
```bash
|
||||
$ sudo sh -c "echo /home/acetcom/Documents/git/open5gs/install/lib/x86_64-linux-gnu > /etc/ld.so.conf.d/open5gs.conf"
|
||||
$ sudo ldconfig
|
||||
```
|
||||
|
||||
#### Can I disable specific services if 5G functionally is not needed?
|
||||
|
||||
|
||||
From v2.0.x, SGW was divided into SGW-C and SGW-U, and PGW function was seperated into SMF and UPF.
|
||||
|
||||
In order to use 4G only, you need to run the process below.
|
||||
```bash
|
||||
$ open5gs-mmed
|
||||
$ open5gs-sgwcd
|
||||
$ open5gs-smfd
|
||||
$ open5gs-sgwud
|
||||
$ open5gs-upfd
|
||||
$ open5gs-hssd
|
||||
$ open5gs-pcrfd
|
||||
```
|
||||
|
||||
And the process below is only used in 5G, so there is no need to run it.
|
||||
|
||||
```bash
|
||||
$ open5gs-nrfd
|
||||
$ open5gs-amfd
|
||||
$ open5gs-ausfd
|
||||
$ open5gs-udmd
|
||||
$ open5gs-pcfd
|
||||
$ open5gs-nssfd
|
||||
$ open5gs-udrd
|
||||
```
|
||||
|
||||
However, among these, SMF and UPF are used by both 4G EPC and 5G Core. And SMF has a protocol stack to interact with 5G NRF. Therefore, if you run SMF without running 5G NRF, the following WARNING occurs in SMF.
|
||||
|
||||
```
|
||||
10/08 14:44:03.045: [sbi] WARNING: [7] Failed to connect to ::1 port 7777: Connection refused (../lib/sbi/client.c:450)
|
||||
10/08 14:44:03.045: [smf] INFO: PFCP associated (../src/smf/pfcp-sm.c:174)
|
||||
10/08 14:44:03.046: [diam] INFO: CONNECTED TO 'pcrf.localdomain' (SCTP,soc#16): (../lib/diameter/common/logger.c:108)
|
||||
10/08 14:44:06.046: [smf] WARNING: [3c85dd06-0996-41eb-a985-476fa905aefc] Retry to registration with NRF (../src/smf/nf-sm.c:161)
|
||||
10/08 14:44:06.047: [sbi] WARNING: [7] Failed to connect to ::1 port 7777: Connection refused (../lib/sbi/client.c:450)
|
||||
```
|
||||
|
||||
To prevent SMF from attempting to access the 5G NRF, you need to modify the SMF configuration file as below.
|
||||
|
||||
```diff
|
||||
$ diff -u ./install/etc/open5gs/smf.yaml.old ./install/etc/open5gs/smf.yaml
|
||||
--- ./install/etc/open5gs/smf.yaml.old 2020-10-08 14:43:20.599734045 -0400
|
||||
+++ ./install/etc/open5gs/smf.yaml 2020-10-08 14:44:21.864952687 -0400
|
||||
@@ -168,9 +168,9 @@
|
||||
# - ::1
|
||||
#
|
||||
smf:
|
||||
- sbi:
|
||||
- - addr: 127.0.0.4
|
||||
- port: 7777
|
||||
+# sbi:
|
||||
+# - addr: 127.0.0.4
|
||||
+# port: 7777
|
||||
gtpc:
|
||||
- addr: 127.0.0.4
|
||||
- addr: ::1
|
||||
@@ -214,12 +214,12 @@
|
||||
# - 127.0.0.10
|
||||
# - fe80::1%lo
|
||||
#
|
||||
-nrf:
|
||||
- sbi:
|
||||
- - addr:
|
||||
- - 127.0.0.10
|
||||
- - ::1
|
||||
- port: 7777
|
||||
+#nrf:
|
||||
+# sbi:
|
||||
+# - addr:
|
||||
+# - 127.0.0.10
|
||||
+# - ::1
|
||||
+# port: 7777
|
||||
|
||||
#
|
||||
# upf:
|
||||
```
|
||||
|
||||
If you set as above and run SMF, you do not need to run NRF. Seven daemons operate in 4G only state.
|
||||
|
||||
#### How to change UE IP Pool
|
||||
|
||||
The Open5GS package contains a systemd-networkd configuration file for `ogstun`. Therefore, you must first modify the configuration file as follows.
|
||||
|
||||
```diff
|
||||
$ diff -u /etc/systemd/network/99-open5gs.network /etc/systemd/network/99-open5gs.network.new
|
||||
--- /etc/systemd/network/99-open5gs.network 2020-09-17 09:29:09.137392040 -0400
|
||||
+++ /etc/systemd/network/99-open5gs.network.new 2020-09-17 09:29:03.375719620 -0400
|
||||
@@ -2,5 +2,5 @@
|
||||
Name=ogstun
|
||||
|
||||
[Network]
|
||||
-Address=10.45.0.1/16
|
||||
+Address=10.46.0.1/16
|
||||
Address=cafe::1/64
|
||||
```
|
||||
|
||||
Restart systemd-networkd
|
||||
```
|
||||
$ sudo systemctl restart systemd-networkd
|
||||
```
|
||||
|
||||
And then, you need to chanage NAT table as below.
|
||||
```
|
||||
$ sudo iptables -t nat -A POSTROUTING -s 10.46.0.0/16 ! -o ogstun -j MASQUERADE
|
||||
```
|
||||
|
||||
Now, you need to modify the configuration file of Open5GS to adjust the UE IP Pool. UE IP Pool can be allocated by SMF or UPF, but in this tutorial, we will modify both configuration files.
|
||||
|
||||
```diff
|
||||
$ diff -u smf.yaml smf.yaml.new
|
||||
--- smf.yaml 2020-09-17 09:31:16.547882093 -0400
|
||||
+++ smf.yaml.new 2020-09-17 09:32:18.267726844 -0400
|
||||
@@ -190,7 +190,7 @@
|
||||
- addr: 127.0.0.4
|
||||
- addr: ::1
|
||||
pdn:
|
||||
- - addr: 10.45.0.1/16
|
||||
+ - addr: 10.46.0.1/16
|
||||
- addr: cafe::1/64
|
||||
dns:
|
||||
- 8.8.8.8
|
||||
```
|
||||
|
||||
```diff
|
||||
$ diff -u upf.yaml upf.yaml.new
|
||||
--- upf.yaml 2020-09-17 09:31:16.547882093 -0400
|
||||
+++ upf.yaml.new 2020-09-17 09:32:25.199619989 -0400
|
||||
@@ -139,7 +139,7 @@
|
||||
gtpu:
|
||||
- addr: 127.0.0.7
|
||||
pdn:
|
||||
- - addr: 10.45.0.1/16
|
||||
+ - addr: 10.46.0.1/16
|
||||
- addr: cafe::1/64
|
||||
|
||||
#
|
||||
```
|
||||
|
||||
Restart SMF/UPF
|
||||
```
|
||||
$ sudo systemctl restart open5gs-smfd.service
|
||||
$ sudo systemctl restart open5gs-upfd.service
|
||||
```
|
||||
|
||||
#### Wireshark cannot decode NAS-5GS
|
||||
|
||||
By default, wireshark cannot decode NAS-5GS message when the security header type is "Integrity protected and ciphered".
|
||||
|
||||

|
||||
|
||||
You need to turn on "Try to detect and decode 5G-EA0 ciphered messages" in the wireshark perference menu.
|
||||
|
||||

|
||||
|
||||
Now, you can see the NAS-5GS message in the wireshark.
|
||||
|
||||

|
||||
|
||||
#### Test failed (e.g. `meson test -v`)
|
||||
|
||||
If MongoDB server is not started, you may get a message like this:
|
||||
|
||||
```
|
||||
$ meson test -v
|
||||
|
||||
...
|
||||
4/10 open5gs:unit / unit OK 0.06 s
|
||||
09/30 01:12:37.829: [core] FATAL: test_5gc_init: Assertion ogs_dbi_init(ogs_app()->db_uri) == OGS_OK' failed. (../tests/app/5gc-init.c:100)
|
||||
09/30 01:12:37.830: [core] FATAL: backtrace() returned 8 addresses (../lib/core/ogs-abort.c:37)
|
||||
/home/open5gs/build/tests/registration/registration(+0x1bfd0) [0x55af96a05fd0]
|
||||
/home/open5gs/build/tests/registration/registration(+0x3c2e) [0x55af969edc2e]
|
||||
/home/open5gs/build/tests/registration/registration(+0x25151) [0x55af96a0f151]
|
||||
/home/open5gs/build/tests/registration/registration(+0x251a5) [0x55af96a0f1a5]
|
||||
/home/open5gs/build/tests/registration/registration(+0x3cde) [0x55af969edcde]
|
||||
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xe7) [0x7f3c2bb97b97]
|
||||
/home/open5gs/build/tests/registration/registration(+0x39aa) [0x55af969ed9aa]
|
||||
5/10 open5gs:5gc / registration FAIL 0.27 s
|
||||
09/30 01:12:38.073: [core] FATAL: test_epc_init: Assertion ogs_dbi_init(ogs_app()->db_uri) == OGS_OK' failed. (../tests/app/epc-init.c:105)
|
||||
09/30 01:12:38.073: [core] FATAL: backtrace() returned 8 addresses (../lib/core/ogs-abort.c:37)
|
||||
/home/open5gs/build/tests/attach/attach(+0x12362) [0x55ef42081362]
|
||||
/home/open5gs/build/tests/attach/attach(+0x367e) [0x55ef4207267e]
|
||||
/home/open5gs/build/tests/attach/attach(+0x1b4e3) [0x55ef4208a4e3]
|
||||
/home/open5gs/build/tests/attach/attach(+0x1b537) [0x55ef4208a537]
|
||||
/home/open5gs/build/tests/attach/attach(+0x372e) [0x55ef4207272e]
|
||||
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xe7) [0x7f10b2e30b97]
|
||||
/home/open5gs/build/tests/attach/attach(+0x33fa) [0x55ef420723fa]
|
||||
6/10 open5gs:epc / attach FAIL 0.17 s
|
||||
09/30 01:12:38.239: [core] FATAL: test_epc_init: Assertion `ogs_dbi_init(ogs_app()->db_uri) == OGS_OK' failed. (../tests/app/epc-init.c:105)
|
||||
09/30 01:12:38.239: [core] FATAL: backtrace() returned 8 addresses (../lib/core/ogs-abort.c:37)
|
||||
/home/open5gs/build/tests/volte/volte(+0x22272) [0x555df9643272]
|
||||
/home/open5gs/build/tests/volte/volte(+0x1210a) [0x555df963310a]
|
||||
/home/open5gs/build/tests/volte/volte(+0x2b3f3) [0x555df964c3f3]
|
||||
/home/open5gs/build/tests/volte/volte(+0x2b447) [0x555df964c447]
|
||||
/home/open5gs/build/tests/volte/volte(+0x12221) [0x555df9633221]
|
||||
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xe7) [0x7fd1df6b6b97]
|
||||
/home/open5gs/build/tests/volte/volte(+0x4daa) [0x555df9625daa]
|
||||
7/10 open5gs:epc / volte FAIL 0.17 s
|
||||
...
|
||||
```
|
||||
|
||||
Please make sure that MongoDB server daemon is running.
|
||||
{: .blue}
|
||||
|
||||
Remove all subscriber information using MongoDB Client
|
||||
Then, remove all subscriber information using MongoDB Client
|
||||
```
|
||||
$ mongo
|
||||
> use open5gs
|
||||
@@ -118,41 +268,106 @@ $ sudo pkill -9 open5gs-pcrfd
|
||||
$ sudo pkill -9 open5gs-nrfd
|
||||
$ sudo pkill -9 open5gs-ausfd
|
||||
$ sudo pkill -9 open5gs-udmd
|
||||
$ sudo pkill -9 open5gs-pcfd
|
||||
$ sudo pkill -9 open5gs-nssfd
|
||||
$ sudo pkill -9 open5gs-udrd
|
||||
```
|
||||
|
||||
Run `meson test` again
|
||||
Run `meson test -v` again
|
||||
```
|
||||
$ meson test
|
||||
ninja: Entering directory `/Users/acetcom/Documents/git/open5gs/build'
|
||||
$ meson test -v
|
||||
ninja: Entering directory `/home/acetcom/Documents/git/open5gs/build'
|
||||
ninja: no work to do.
|
||||
1/8 open5gs:unit / core OK 6.93 s
|
||||
2/8 open5gs:unit / crypt OK 0.08 s
|
||||
3/8 open5gs:system / sctp OK 1.09 s
|
||||
4/8 open5gs:unit / unit OK 0.04 s
|
||||
5/8 open5gs:epc / simple OK 5.07 s
|
||||
6/8 open5gs:epc / mnc3 OK 1.18 s
|
||||
7/8 open5gs:epc / volte OK 2.99 s
|
||||
8/8 open5gs:epc / csfb OK 6.53 s
|
||||
list-test : SUCCESS
|
||||
pool-test : SUCCESS
|
||||
strings-test : SUCCESS
|
||||
time-test : SUCCESS
|
||||
conv-test : SUCCESS
|
||||
log-test : SUCCESS
|
||||
pkbuf-test : SUCCESS
|
||||
memory-test : SUCCESS
|
||||
rbtree-test : SUCCESS
|
||||
timer-test : SUCCESS
|
||||
thread-test : SUCCESS
|
||||
socket-test : SUCCESS
|
||||
queue-test : SUCCESS
|
||||
poll-test : SUCCESS
|
||||
tlv-test : SUCCESS
|
||||
fsm-test : SUCCESS
|
||||
hash-test : SUCCESS
|
||||
uuid-test : SUCCESS
|
||||
All tests passed.
|
||||
1/10 open5gs:unit / core OK 6.89 s
|
||||
aes-test : SUCCESS
|
||||
sha-test : SUCCESS
|
||||
base64-test : SUCCESS
|
||||
All tests passed.
|
||||
2/10 open5gs:unit / crypt OK 0.12 s
|
||||
sctp-test : SUCCESS
|
||||
All tests passed.
|
||||
3/10 open5gs:app / sctp OK 0.02 s
|
||||
s1ap-message-test : SUCCESS
|
||||
nas-message-test : SUCCESS
|
||||
gtp-message-test : SUCCESS
|
||||
sbi-message-test : SUCCESS
|
||||
security-test : SUCCESS
|
||||
crash-test : SUCCESS
|
||||
All tests passed.
|
||||
4/10 open5gs:unit / unit OK 0.03 s
|
||||
guti-test : SUCCESS
|
||||
auth-test : SUCCESS
|
||||
idle-test : SUCCESS
|
||||
dereg-test : SUCCESS
|
||||
identity-test : SUCCESS
|
||||
gmm-status-test : SUCCESS
|
||||
ue-context-test : SUCCESS
|
||||
All tests passed.
|
||||
5/10 open5gs:5gc / registration OK 4.98 s
|
||||
s1setup-test : SUCCESS
|
||||
guti-test : SUCCESS
|
||||
auth-test : SUCCESS
|
||||
idle-test : SUCCESS
|
||||
emm-status-test : SUCCESS
|
||||
reset-test : SUCCESS
|
||||
ue-context-test : SUCCESS
|
||||
All tests passed.
|
||||
6/10 open5gs:epc / attach OK 4.68 s
|
||||
bearer-test : SUCCESS
|
||||
session-test : SUCCESS
|
||||
rx-test : SUCCESS
|
||||
All tests passed.
|
||||
7/10 open5gs:epc / volte OK 4.33 s
|
||||
mo-idle-test : SUCCESS
|
||||
mt-idle-test : SUCCESS
|
||||
mo-active-test : SUCCESS
|
||||
mt-active-test : SUCCESS
|
||||
mo-sms-test : SUCCESS
|
||||
mt-sms-test : SUCCESS
|
||||
crash-test : SUCCESS
|
||||
All tests passed.
|
||||
8/10 open5gs:epc / csfb OK 4.08 s
|
||||
epc-test : SUCCESS
|
||||
All tests passed.
|
||||
9/10 open5gs:app / 310014 OK 2.37 s
|
||||
epc-x2-test : SUCCESS
|
||||
epc-s1-test : SUCCESS
|
||||
All tests passed.
|
||||
10/10 open5gs:app / handover OK 4.78 s
|
||||
|
||||
Ok: 8
|
||||
Ok: 10
|
||||
Expected Fail: 0
|
||||
Fail: 0
|
||||
Unexpected Pass: 0
|
||||
Skipped: 0
|
||||
Timeout: 0
|
||||
|
||||
Full log written to /Users/acetcom/Documents/git/open5gs/build/meson-logs/testlog.txt
|
||||
```
|
||||
|
||||
**Note:** If your test result more than once is same as above, there should be no problem with code you modified.
|
||||
{: .notice--danger}
|
||||
|
||||
#### Is it possible to setup IP/NAT table along with Docker?
|
||||
|
||||
Enable IP Forward.
|
||||
Enable IPv4/IPv6 Forward.
|
||||
```
|
||||
$ sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
|
||||
$ sudo sysctl -w net.ipv4.ip_forward=1
|
||||
$ sudo sysctl -w net.ipv6.conf.all.forwarding=1
|
||||
```
|
||||
|
||||
The following is the default docker IP/NAT table.
|
||||
@@ -228,6 +443,11 @@ And then, apply **newtables** as below.
|
||||
$ sudo iptables-restore < newtables
|
||||
```
|
||||
|
||||
Docker doesn't have IPv6 NAT rules. In this case, you just add the NAT rule as below.
|
||||
```
|
||||
$ sudo ip6tables -t nat -A POSTROUTING -s cafe::/64 ! -o ogstun -j MASQUERADE
|
||||
```
|
||||
|
||||
The above operation is the same as described in the following manuals.
|
||||
```
|
||||
### Check IP Tables
|
||||
@@ -255,89 +475,98 @@ target prot opt source destination
|
||||
Chain POSTROUTING (policy ACCEPT)
|
||||
target prot opt source destination
|
||||
|
||||
### Enable IPv4 Forwarding
|
||||
$ sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
|
||||
### Enable IPv4/IPv6 Forwarding
|
||||
$ sudo sysctl -w net.ipv4.ip_forward=1
|
||||
$ sudo sysctl -w net.ipv6.conf.all.forwarding=1
|
||||
|
||||
### Add NAT Rule
|
||||
$ sudo iptables -t nat -A POSTROUTING -s 10.45.0.0/16 ! -o ogstun -j MASQUERADE
|
||||
$ sudo ip6tables -t nat -A POSTROUTING -s cafe::/64 ! -o ogstun -j MASQUERADE
|
||||
```
|
||||
|
||||
#### How to use a different APN for each PGW
|
||||
#### How to use a different DNN/APN for each SMF
|
||||
|
||||
By default, MME selects the PGW as the first PGW node. To use a different APN for each PGW, specify gtpc.apn as the APN name. If the HSS uses WebUI to set the PGW IP for each UE, you can use a specific PGW node for each UE.
|
||||
By default, MME selects the SMF as the first SMF node. To use a different DNN/APN for each SMF, specify gtpc.dnn as the DNN/APN name. If the HSS uses WebUI to set the SMF IP for each UE, you can use a specific SMF node for each UE.
|
||||
|
||||
See the following example.
|
||||
|
||||
```
|
||||
### For reference, see `pgw.yaml`
|
||||
#------------------------ MME --------------------------
|
||||
### For reference, see `smf.yaml`
|
||||
#
|
||||
# o Two PGW are defined. 127.0.0.3:2123 is used.
|
||||
# smf:
|
||||
#
|
||||
# <GTP-C Client>
|
||||
#
|
||||
# o By default, the SMF uses the first SMF node.
|
||||
# - To use a different DNN/APN for each SMF, specify gtpc.dnn
|
||||
# as the DNN/APN name.
|
||||
# - If the HSS uses WebUI to set the SMF IP for each UE,
|
||||
# you can use a specific SMF node for each UE.
|
||||
#
|
||||
# o Two SMF are defined. 127.0.0.4:2123 is used.
|
||||
# [fe80::3%lo]:2123 is ignored.
|
||||
# gtpc:
|
||||
# - addr: 127.0.0.3
|
||||
# - addr: 127.0.0.4
|
||||
# - addr: fe80::3%lo
|
||||
#
|
||||
# o One PGW is defined. if prefer_ipv4 is not true,
|
||||
# o One SMF is defined. if prefer_ipv4 is not true,
|
||||
# [fe80::3%lo] is selected.
|
||||
# gtpc:
|
||||
# - addr:
|
||||
# - 127.0.0.3
|
||||
# - 127.0.0.4
|
||||
# - fe80::3%lo
|
||||
#
|
||||
# o Two PGW are defined with a different APN.
|
||||
# - Note that if PGW IP for UE is configured in HSS,
|
||||
# o Two SMF are defined with a different DNN/APN.
|
||||
# - Note that if SMF IP for UE is configured in HSS,
|
||||
# the following configurion for this UE is ignored.
|
||||
# gtpc:
|
||||
# - addr: 127.0.0.3
|
||||
# apn: internet
|
||||
# - addr: 127.0.0.4
|
||||
# dnn: internet
|
||||
# - addr: 127.0.0.5
|
||||
# apn: volte
|
||||
# dnn: volte
|
||||
#
|
||||
# o If APN is omitted, the default APN uses the first PGW node.
|
||||
# o If DNN/APN is omitted, the default DNN/APN uses the first SMF node.
|
||||
# gtpc:
|
||||
# - addr: 127.0.0.3
|
||||
# - addr: 127.0.0.4
|
||||
# - addr: 127.0.0.5
|
||||
# apn: volte
|
||||
#
|
||||
# dnn: volte
|
||||
```
|
||||
|
||||
The IP address of the UE can also use a different UE pool depending on the APN.
|
||||
The IP address of the UE can also use a different UE pool depending on the DNN/APN.
|
||||
|
||||
```
|
||||
### For reference, see `pgw.yaml`
|
||||
#
|
||||
# <UE Pool>
|
||||
### For reference, see `smf.yaml`
|
||||
# <PDN Configuration with UE Pool>
|
||||
#
|
||||
# o IPv4 Pool
|
||||
# $ sudo ip addr add 10.45.0.1/16 dev ogstun
|
||||
#
|
||||
# ue_pool:
|
||||
# pdn:
|
||||
# addr: 10.45.0.1/16
|
||||
#
|
||||
# o IPv4/IPv6 Pool
|
||||
# $ sudo ip addr add 10.45.0.1/16 dev ogstun
|
||||
# $ sudo ip addr add cafe:1::1/64 dev ogstun
|
||||
#
|
||||
# ue_pool:
|
||||
# pdn:
|
||||
# - addr: 10.45.0.1/16
|
||||
# - addr: cafe:1::1/64
|
||||
#
|
||||
#
|
||||
# o Specific APN(e.g 'volte') uses 10.46.0.1/16, cafe:2::1/64
|
||||
# All other APNs use 10.45.0.1/16, cafe:1::1/64
|
||||
# o Specific DNN/APN(e.g 'volte') uses 10.46.0.1/16, cafe:2::1/64
|
||||
# All other DNNs/APNs use 10.45.0.1/16, cafe:1::1/64
|
||||
# $ sudo ip addr add 10.45.0.1/16 dev ogstun
|
||||
# $ sudo ip addr add 10.46.0.1/16 dev ogstun
|
||||
# $ sudo ip addr add cafe:1::1/64 dev ogstun
|
||||
# $ sudo ip addr add cafe:2::1/64 dev ogstun
|
||||
#
|
||||
# ue_pool:
|
||||
# pdn:
|
||||
# - addr: 10.45.0.1/16
|
||||
# - addr: cafe:1::1/64
|
||||
# - addr: 10.46.0.1/16
|
||||
# apn: volte
|
||||
# dnn: volte
|
||||
# - addr: cafe:2::1/64
|
||||
# apn: volte
|
||||
# dnn: volte
|
||||
#
|
||||
# o Multiple Devices (default: ogstun)
|
||||
# $ sudo ip addr add 10.45.0.1/16 dev ogstun
|
||||
@@ -345,17 +574,44 @@ The IP address of the UE can also use a different UE pool depending on the APN.
|
||||
# $ sudo ip addr add 10.46.0.1/16 dev ogstun3
|
||||
# $ sudo ip addr add cafe:2::1/64 dev ogstun3
|
||||
#
|
||||
# ue_pool:
|
||||
# pdn:
|
||||
# - addr: 10.45.0.1/16
|
||||
# - addr: cafe:1::1/64
|
||||
# dev: ogstun2
|
||||
# - addr: 10.46.0.1/16
|
||||
# apn: volte
|
||||
# dnn: volte
|
||||
# dev: ogstun3
|
||||
# - addr: cafe:2::1/64
|
||||
# apn: volte
|
||||
# dnn: volte
|
||||
# dev: ogstun3
|
||||
#
|
||||
# o Pool Range Sample
|
||||
# pdn:
|
||||
# - addr: 10.45.0.1/24
|
||||
# range: 10.45.0.100-10.45.0.200
|
||||
#
|
||||
# pdn:
|
||||
# - addr: 10.45.0.1/24
|
||||
# range:
|
||||
# - 10.45.0.5-10.45.0.50
|
||||
# - 10.45.0.100-
|
||||
#
|
||||
# pdn:
|
||||
# - addr: 10.45.0.1/24
|
||||
# range:
|
||||
# - -10.45.0.200
|
||||
# - 10.45.0.210-10.45.0.220
|
||||
#
|
||||
# pdn:
|
||||
# - addr: 10.45.0.1/16
|
||||
# range:
|
||||
# - 10.45.0.100-10.45.0.200
|
||||
# - 10.45.1.100-10.45.1.200
|
||||
# - addr: cafe::1/64
|
||||
# range:
|
||||
# - cafe::a0-cafe:b0
|
||||
# - cafe::c0-cafe:d0
|
||||
#
|
||||
```
|
||||
|
||||
#### Failing to run `./open5gs-mmed`
|
||||
@@ -392,11 +648,11 @@ You can start MongoDB using systemctl.
|
||||
$ sudo systemctl start mongodb
|
||||
```
|
||||
|
||||
#### I have some error when running `./build/test/attach/attach`
|
||||
#### I have some error when running `./build/tests/attach/attach`
|
||||
|
||||
Did you see the following error after executing `./build/test/attach/attach`?
|
||||
Did you see the following error after executing `./build/tests/attach/attach`?
|
||||
```bash
|
||||
$ ./build/test/epc/simple
|
||||
$ ./build/tests/attach/attach
|
||||
s1setup_test : SUCCESS
|
||||
attach_test : -Line 134: Condition is false, but expected true
|
||||
\04/09 15:49:09.285: [esm] FATAL: esm_handle_pdn_connectivity_request: Assertion `SECURITY_CONTEXT_IS_VALID(mme_ue)' failed. (esm_handler.c:29)
|
||||
@@ -416,15 +672,15 @@ $ mongo
|
||||
|
||||
Kill all processes.
|
||||
```bash
|
||||
$ ps -ef | grep simple
|
||||
$ ps -ef | grep attach
|
||||
$ ps -ef | grep open5gs
|
||||
$ sudo pkill -9 simple
|
||||
$ sudo pkill -9 attach
|
||||
$ sudo pkill -9 open5gs-mmed ...
|
||||
```
|
||||
|
||||
Execute `./build/test/epc/simple`
|
||||
Execute `./build/tests/attach/attach`
|
||||
```bash
|
||||
$ ./build/test/epc/simple
|
||||
$ ./build/tests/attach/attach
|
||||
```
|
||||
|
||||
#### My gNB/eNB does not support IPv6.
|
||||
@@ -452,7 +708,7 @@ You should configure the domain name on your computer. Otherwise, freeDiameter r
|
||||
|
||||
#### How many of UEs can Open5GS support?
|
||||
|
||||
See the [lib/core/ogs-3gpp-types.h](https://github.com/{{ site.github_username }}/open5gs/blob/master/lib/core/ogs-3gpp-types.h).
|
||||
See the [lib/core/ogs-3gpp-types.h](https://github.com/{{ site.github_username }}/open5gs/blob/main/lib/core/ogs-3gpp-types.h).
|
||||
|
||||
```
|
||||
#define MAX_NUM_OF_ENB 128
|
||||
@@ -489,7 +745,9 @@ Currently, the number of UE is limited to `128*128`.
|
||||
* NRF : 127.0.0.10
|
||||
* AUSF : 127.0.0.11
|
||||
* UDM : 127.0.0.12
|
||||
* UDR : 127.0.0.13
|
||||
* PCF : 127.0.0.13
|
||||
* NSSF : 127.0.0.14
|
||||
* UDR : 127.0.0.20
|
||||
```
|
||||
|
||||
- AMF_ID, TAC and S_NSSAI
|
||||
@@ -564,7 +822,7 @@ By default, Open5GS is designed to support the Embedding System. To do so, we in
|
||||
- We'll use Debian Docker Environment.
|
||||
|
||||
```bash
|
||||
$ git clone https://github.com/open5gs/open5gs
|
||||
$ git clone https://github.com/{{ site.github_username }}/open5gs
|
||||
$ cd open5gs/docker
|
||||
$ DIST=debian TAG=stretch docker-compose run dev
|
||||
```
|
||||
@@ -577,7 +835,7 @@ $ sudo apt update
|
||||
$ sudo apt install libsctp-dev:armel libyaml-dev:armel libgnutls28-dev:armel libgcrypt-dev:armel libidn11-dev:armel libssl-dev:armel libmongoc-dev:armel libbson-dev:armel
|
||||
$ sudo apt install crossbuild-essential-armel
|
||||
$ sudo apt install qemu
|
||||
$ git clone https://github.com/acetcom/open5gs
|
||||
$ git clone https://github.com/{{ site.github_username }}/open5gs
|
||||
$ cd open5gs/
|
||||
|
||||
$ cat << EOF > cross_file.txt
|
||||
|
||||
@@ -222,21 +222,21 @@ Then proceed as follows:
|
||||
3. Fill the IMSI, security context(K, OPc, AMF), and APN of the subscriber.
|
||||
4. Click `SAVE` Button
|
||||
|
||||
Modify [/etc/open5gs/mme.yaml](https://github.com/{{ site.github_username }}/open5gs/blob/master/configs/open5gs/mme.yaml.in) to set the S1AP IP address, PLMN ID, and TAC
|
||||
Modify [install/etc/open5gs/mme.yaml](https://github.com/{{ site.github_username }}/open5gs/blob/main/configs/open5gs/mme.yaml.in) to set the S1AP IP address, PLMN ID, and TAC.
|
||||
|
||||
```diff
|
||||
diff -u /etc/open5gs/mme.yaml.old /etc/open5gs/mme.yaml
|
||||
--- mme.yaml.old 2018-04-15 18:28:31.000000000 +0900
|
||||
+++ mme.yaml 2018-04-15 19:53:10.000000000 +0900
|
||||
@@ -204,20 +204,20 @@ logger:
|
||||
$ diff -u /etc/open5gs/mme.yaml.old /etc/open5gs/mme.yaml
|
||||
--- mme.yaml.old 2020-08-22 12:07:32.755250028 -0400
|
||||
+++ mme.yaml 2020-08-22 12:08:17.309320211 -0400
|
||||
@@ -204,20 +204,20 @@
|
||||
mme:
|
||||
freeDiameter: @sysconfdir@/freeDiameter/mme.conf
|
||||
freeDiameter: /home/acetcom/Documents/git/open5gs/install/etc/freeDiameter/mme.conf
|
||||
s1ap:
|
||||
- addr: 127.0.0.2
|
||||
+ addr: 127.0.1.100
|
||||
gtpc:
|
||||
addr: 127.0.0.2
|
||||
gummei:
|
||||
gummei:
|
||||
plmn_id:
|
||||
- mcc: 901
|
||||
- mnc: 70
|
||||
@@ -255,25 +255,14 @@ diff -u /etc/open5gs/mme.yaml.old /etc/open5gs/mme.yaml
|
||||
security:
|
||||
integrity_order : [ EIA1, EIA2, EIA0 ]
|
||||
ciphering_order : [ EEA0, EEA1, EEA2 ]
|
||||
|
||||
```
|
||||
|
||||
S1AP/GTP-C IP address, PLMN ID, TAC are changed as follows.
|
||||
|
||||
```
|
||||
S1AP address : 127.0.1.100 - srsENB default value
|
||||
PLMN ID : MNC(310), MCC(789) - Programmed USIM with a card reader
|
||||
TAC : 7 - srsENB default value
|
||||
```
|
||||
|
||||
|
||||
The GTP-U IP address will be set to 127.0.0.6. To do this, modify [/etc/open5gs/sgwu.yaml](https://github.com/{{ site.github_username }}/open5gs/blob/master/configs/open5gs/sgwu.yaml.in) to set the GTP-U IP address.
|
||||
|
||||
Modify [install/etc/open5gs/sgwu.yaml](https://github.com/{{ site.github_username }}/open5gs/blob/main/configs/open5gs/sgwu.yaml.in) to set the GTP-U IP address.
|
||||
```diff
|
||||
diff -u /etc/open5gs/sgwu.yaml.old /etc/open5gs/sgwu.yaml
|
||||
--- sgwu.yaml.old 2018-04-15 18:30:25.000000000 +0900
|
||||
+++ sgwu.yaml 2018-04-15 18:30:30.000000000 +0900
|
||||
@@ -51,7 +51,7 @@ logger:
|
||||
$ diff -u /etc/open5gs/sgwu.yaml.old /etc/open5gs/sgwu.yaml
|
||||
--- sgwu.yaml.old 2020-08-22 12:08:44.782880778 -0400
|
||||
+++ sgwu.yaml 2020-08-22 12:06:49.809299514 -0400
|
||||
@@ -51,7 +51,7 @@
|
||||
#
|
||||
sgwu:
|
||||
gtpu:
|
||||
@@ -287,8 +276,8 @@ diff -u /etc/open5gs/sgwu.yaml.old /etc/open5gs/sgwu.yaml
|
||||
After changing conf files, please restart Open5GS daemons.
|
||||
|
||||
```bash
|
||||
$ sudo systemctl restart open5gs-mmed
|
||||
$ sudo systemctl restart open5gs-sgwud
|
||||
$ sudo systemctl restart open5gs-mmed.service
|
||||
$ sudo systemctl restart open5gs-sgwud.service
|
||||
```
|
||||
|
||||
If your phone can connect to internet, you must run the following command in Open5GS-PGW installed host.
|
||||
@@ -319,11 +308,13 @@ target prot opt source destination
|
||||
Chain POSTROUTING (policy ACCEPT)
|
||||
target prot opt source destination
|
||||
|
||||
### Enable IPv4 Forwarding
|
||||
$ sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
|
||||
### Enable IPv4/IPv6 Forwarding
|
||||
$ sudo sysctl -w net.ipv4.ip_forward=1
|
||||
$ sudo sysctl -w net.ipv6.conf.all.forwarding=1
|
||||
|
||||
### Add NAT Rule
|
||||
$ sudo iptables -t nat -A POSTROUTING -s 10.45.0.0/16 ! -o ogstun -j MASQUERADE
|
||||
$ sudo ip6tables -t nat -A POSTROUTING -s cafe::/64 ! -o ogstun -j MASQUERADE
|
||||
```
|
||||
|
||||
**Note:** For the first time, it is a good condition if you do not have any rules in the IP/NAT tables. If a program such as docker has already set up a rule, you will need to add a rule differently.
|
||||
|
||||
@@ -740,7 +740,7 @@ Please refer to instructions at [https://open5gs.org/open5gs/docs/guide/02-build
|
||||
If you are using OpenStack, installing Open5GS and Kamailio IMS on the same machine is very important because the **Framed-IP-Address** in the AAR request via Rx interface takes received IP address and port in ims_qos module, hence, if the Open5GS is on a separate VM/machine, the IP and port received in received_ip and received_port values seen by Kamailio IMS will be the NATed IP of the Open5GS machine resulting in failing of AAR request.
|
||||
{: .notice--danger}
|
||||
|
||||
Modify below mentioned parts of configuration files in addition to **Configure Open5GS** section. For reference, look at the configuration files at [https://github.com/herlesupreeth/Open5gs_Config](https://github.com/herlesupreeth/Open5gs_Config)
|
||||
Modify below mentioned parts of configuration files in addition to **Configure Open5GS** section. For reference, look at the configuration files at [https://github.com/herlesupreeth/Open5gs_Config](https://github.com/herlesupreeth/Open5gs_Config). These configuration only holds for open5gs tag v1.3.0, please tweak configuration files based on the open5gs tag you use.
|
||||
{: .notice--warning}
|
||||
|
||||
- Change realm of components to `epc.mnc001.mcc001.3gppnetwork.org`
|
||||
@@ -754,8 +754,8 @@ Below startup script can be used for setting up interfaces:
|
||||
```
|
||||
#!/bin/bash
|
||||
|
||||
sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
|
||||
sh -c "echo 1 > /proc/sys/net/ipv6/ip_forward"
|
||||
sudo sysctl -w net.ipv4.ip_forward=1
|
||||
sudo sysctl -w net.ipv6.conf.all.forwarding=1
|
||||
|
||||
ip tuntap add name ogstun mode tun
|
||||
ip addr add 192.168.100.1/24 dev ogstun
|
||||
@@ -772,8 +772,6 @@ ip addr add 192.168.101.1/24 dev ogstun2
|
||||
ip addr add fd1f:76f3:da9b:0101::/64 dev ogstun2
|
||||
ip link set ogstun2 mtu 1400
|
||||
ip link set ogstun2 up
|
||||
iptables -t nat -A POSTROUTING -s 192.168.101.0/24 ! -o ogstun2 -j MASQUERADE
|
||||
ip6tables -t nat -A POSTROUTING -s fd1f:76f3:da9b:0101::/64 ! -o ogstun2 -j MASQUERADE
|
||||
iptables -I INPUT -i ogstun2 -j ACCEPT
|
||||
ip6tables -I INPUT -i ogstun2 -j ACCEPT
|
||||
```
|
||||
@@ -782,14 +780,14 @@ Add users with following APN settings in Open5GS:
|
||||
|
||||
<pre>
|
||||
APN Configuration:
|
||||
-------------------------------------------------------------------------------------------------------------------------
|
||||
| APN | QCI | ARP | Capability | Vulnerablility | MBR DL/UL(Kbps) | GBR DL/UL(Kbps) | PGW IP |
|
||||
-------------------------------------------------------------------------------------------------------------------------
|
||||
| internet | 9 | 8 | Disabled | Disabled | unlimited/unlimited | | |
|
||||
-------------------------------------------------------------------------------------------------------------------------
|
||||
| ims | 5 | 1 | Disabled | Disabled | 3850/1530 | | |
|
||||
| | 1 | 2 | Enabled | Enabled | 128/128 | 128/128 | |
|
||||
-------------------------------------------------------------------------------------------------------------------------
|
||||
---------------------------------------------------------------------------------------------------------------------
|
||||
| APN | Type | QCI | ARP | Capability | Vulnerablility | MBR DL/UL(Kbps) | GBR DL/UL(Kbps) | PGW IP |
|
||||
---------------------------------------------------------------------------------------------------------------------
|
||||
| internet | IPv4 | 9 | 8 | Disabled | Disabled | unlimited/unlimited | | |
|
||||
---------------------------------------------------------------------------------------------------------------------
|
||||
| ims | IPv4 | 5 | 1 | Disabled | Disabled | 3850/1530 | | |
|
||||
| | | 1 | 2 | Enabled | Enabled | 128/128 | 128/128 | |
|
||||
---------------------------------------------------------------------------------------------------------------------
|
||||
</pre>
|
||||
|
||||
Finally, make sure of the following in Open5GS
|
||||
@@ -873,8 +871,7 @@ $ cd /opt/OpenIMSCore
|
||||
Download:
|
||||
|
||||
```
|
||||
$ svn checkout svn://svn.code.sf.net/p/openimscore/code/FHoSS/trunk
|
||||
$ mv trunk FHoSS
|
||||
$ git clone https://github.com/herlesupreeth/FHoSS
|
||||
```
|
||||
|
||||
Compile:
|
||||
|
||||
@@ -13,16 +13,18 @@ Open5GS is a C-language Open Source implementation of 5GC and EPC, i.e. the core
|
||||
- AES, Snow3G, ZUC algorithms for encryption
|
||||
- Support of USIM cards using Milenage
|
||||
- IPv6 support
|
||||
- Multiple PDU session resource(EPC only)
|
||||
- S1/X2 Handover(EPC only)
|
||||
- Multiple PDU session
|
||||
- Handover(5GC Xn/N2 and EPC S1/X2)
|
||||
- CSFB(Circuit Switched Fall Back) and SMSoS(SMS Over SGs)
|
||||
- VoLTE(Voice over LTE)
|
||||
|
||||
#### Known Limitations
|
||||
---
|
||||
|
||||
- No OCS/OFCS
|
||||
- No VoNR(Voice over NR)
|
||||
- No Interworking with EPC
|
||||
- No NB-IoT
|
||||
- No OCS/OFCS
|
||||
- No eMBMS
|
||||
- No SRVCC
|
||||
- No Roaming
|
||||
|
||||
@@ -8,12 +8,18 @@ head_inline: "<style> ul { padding-bottom: 1em; } </style>"
|
||||
- User's Guide
|
||||
- [Quickstart](guide/01-quickstart)
|
||||
- [Building Open5GS from Sources](guide/02-building-open5gs-from-sources)
|
||||
- [Splitting Network Elements](guide/03-splitting-network-elements)
|
||||
- [Splitting Network Functions](guide/03-splitting-network-functions)
|
||||
|
||||
- Tutorials
|
||||
- [Your First LTE](tutorial/01-your-first-lte)
|
||||
- [EPC Advanced Example with OpenAirInterface UE/RAN](https://github.com/s5uishida/open5gs_epc_oai_sample_config)
|
||||
- [VoLTE Setup with Kamailio IMS and Open5GS](tutorial/02-VoLTE-setup)
|
||||
- [Dockerized VoLTE Setup](tutorial/03-VoLTE-dockerized)
|
||||
- [My first 5G Core : Open5GS and UERANSIM](http://nickvsnetworking.com/my-first-5g-core-open5gs-and-ueransim/)
|
||||
- [5GC Advanced Example with UERANSIM](https://github.com/s5uishida/open5gs_5gc_ueransim_sample_config)
|
||||
- [Sending SMS in Open5GS LTE Networks using the SGs Interface and OsmoMSC](https://nickvsnetworking.com/sending-sms-in-open5gs-lte-networks-using-the-sgs-interface-and-osmomsc-with-smsos/)
|
||||
- [OsmoMSC and Open5GS MME – SGs Interface for CSCF / InterRAT Handover](https://nickvsnetworking.com/osmomsc-and-open5gs-mme-sgs-interface-for-cscf-interran-handover/)
|
||||
- [Static IPs for UEs](http://nickvsnetworking.com/open5gs-epc-static-ip-addresses-for-ues-apns-subscribers/)
|
||||
- [Kubernetes Open5GS Deployment](https://dev.to/infinitydon/virtual-4g-simulation-using-kubernetes-and-gns3-3b7k?fbclid=IwAR1p99h13a-mCfejanbBQe0H0-jp5grXkn5mWf1WrTHf47UtegB2-UHGGZQ)
|
||||
|
||||
- Troubleshooting
|
||||
@@ -24,5 +30,10 @@ head_inline: "<style> ul { padding-bottom: 1em; } </style>"
|
||||
- [Debian/Ubuntu](platform/01-debian-ubuntu)
|
||||
- [CentOS](platform/02-centos)
|
||||
- [Fedora](platform/03-fedora)
|
||||
- [FreeBSD](platform/04-freebsd)
|
||||
- [MacOSX](platform/05-macosx)
|
||||
- [MacOSX(Apple Silicon)](platform/05-macosx-apple-silicon)
|
||||
- [MacOSX(Intel)](platform/06-macosx-intel)
|
||||
- [FreeBSD](platform/07-freebsd)
|
||||
|
||||
- Hardware Specific Notes
|
||||
- [Tested e/gNodeBs](hardware/01-genodebs)
|
||||
|
||||
|
||||
@@ -1,20 +0,0 @@
|
||||
---
|
||||
layout: page
|
||||
title: FAQ
|
||||
permalink: /faq/
|
||||
---
|
||||
|
||||
#### What are the Open5GS license terms?
|
||||
|
||||
Open5GS is licensed under the GNU Affero General Public License (AGPL), Version 3.0.
|
||||
|
||||
#### Are there any companies providing commercial support for Open5GS?
|
||||
|
||||
[sysmocom](https://sysmocom.de/) is providing commercial services around Open5GS,
|
||||
including support, development, consulting, training and system integration.
|
||||
|
||||
Please contact [Harald Welte \<sales@sysmocom.de\>](mailto:sales@sysmocom.de) for any related inquiries.
|
||||
|
||||
#### Are there any success stories about Open5GS deployments?
|
||||
|
||||
See [https://github.com/open5gs/open5gs/issues/360](https://github.com/open5gs/open5gs/issues/360)
|
||||
26
docs/_pages/support.md
Normal file
26
docs/_pages/support.md
Normal file
@@ -0,0 +1,26 @@
|
||||
---
|
||||
layout: page
|
||||
title: Support
|
||||
permalink: /support/
|
||||
---
|
||||
|
||||
###### Updated Sep, 2020
|
||||
|
||||
### Open5GS Licensing
|
||||
|
||||
Open5GS is licensed under a dual licensing model designed to meet the development and distribution needs of both commercial and open source projects.
|
||||
|
||||
### For Commercial Projects
|
||||
|
||||
Commercial distributors that develop and distribute commercially licensed Open5GS software and do not wish their software under version 3 of the GNU Affero General Public License (the “AGPL-3.0”) must enter into a commercial license agreement with [NextEPC, Inc.](https://nextepc.com)
|
||||
|
||||
Please contact [sales@nextepc.com](mailto:sales@nextepc.com) for more informations.
|
||||
|
||||
### For Open Source Projects
|
||||
|
||||
For developers of Free Open Source Software ("FOSS") applications under the AGPL-3.0 that want to combine and distribute those FOSS applications with Open5GS software, Open5GS open source software licensed under the AGPL-3.0 is the best option.
|
||||
|
||||
[sysmocom](https://sysmocom.de/) is providing commercial services around Open5GS
|
||||
open source software including support, development, consulting, training and system integration.
|
||||
|
||||
Please contact [Harald Welte \<sales@sysmocom.de\>](mailto:sales@sysmocom.de) for any related inquiries.
|
||||
@@ -15,7 +15,7 @@ The Open5GS project has implemented several NFs required for 5G Core(SA). Also,
|
||||
|
||||
However, the package contains only MME/SGW/PGW/HSS/PCRF. If the tests are fully verified, I will include other NFs in the package later. You'll need to compile the source code for the time being to use added features.
|
||||
- To use CUPS, you need to run NRF/SMF/UPF instead of PGW.
|
||||
- 5G Core installation is described separately in this [LINK](/open5gs/docs/new/02-installing-5g-core).
|
||||
- 5G Core installation is described in this [LINK](/open5gs/docs/guide/02-building-open5gs-from-sources/)
|
||||
|
||||
Next, I am considering the separation of SGW-C/SGW-U to implement full CUPS functionality. And, if I have more time, I would like to add NB-IoT function.
|
||||
|
||||
|
||||
24
docs/_posts/2020-08-21-release-v2.0.0.md
Normal file
24
docs/_posts/2020-08-21-release-v2.0.0.md
Normal file
@@ -0,0 +1,24 @@
|
||||
---
|
||||
title: "v2.0.0 - Package release for 5G Core and EPC"
|
||||
date: 2020-08-21 15:26:00 -0400
|
||||
categories:
|
||||
- Release
|
||||
tags:
|
||||
- News
|
||||
- Release
|
||||
head_inline: "<style> ul { padding-bottom: 1em; } </style>"
|
||||
---
|
||||
|
||||
#### What's New?
|
||||
|
||||
Now a Debian/Ubuntu package is created to support both 5G Core and EPC. You can easily install both 5G Core and EPC using a [quick start guide](/open5gs/docs/guide/01-quickstart).
|
||||
|
||||
If you look at [the picture](https://open5gs.org/open5gs/assets/Open5GS-Diagram.pdf) provided by [@kbarlee](https://github.com/kbarlee) in issue [#528](https://github.com/open5gs/open5gs/issues/528), you can make this configuration easier to understand.
|
||||
|
||||
#### Bug Fixed
|
||||
- AMF crashed when sending error indication ([#521](https://github.com/open5gs/open5gs/issues/521)) -- [chenhao5651](https://github.com/chenhao5651)
|
||||
- fix SMF crash ([#512](https://github.com/open5gs/open5gs/issues/512)) -- [chenhao5651](https://github.com/chenhao5651)
|
||||
- fix the PFD management request ([#510](https://github.com/open5gs/open5gs/issues/510)) -- [lijhnihaoa](https://github.com/lijhnihaoa)
|
||||
|
||||
Download -- [v2.0.0.tar.gz](https://github.com/open5gs/open5gs/archive/v2.0.0.tar.gz)
|
||||
{: .notice--info}
|
||||
32
docs/_posts/2020-10-09-release-v2.0.18.md
Normal file
32
docs/_posts/2020-10-09-release-v2.0.18.md
Normal file
@@ -0,0 +1,32 @@
|
||||
---
|
||||
title: "v2.0.18 - 250+ UEs tested"
|
||||
date: 2020-10-09 07:53:00 -0400
|
||||
categories:
|
||||
- Release
|
||||
tags:
|
||||
- News
|
||||
- Release
|
||||
head_inline: "<style> ul { padding-bottom: 1em; } </style>"
|
||||
---
|
||||
|
||||
#### Enhancement & Bug Fixes
|
||||
- fix sysctl() build error with glibc >= 2.30 ([#600](https://github.com/open5gs/open5gs/pull/600)) -- [mnhauke](https://github.com/mnhauke)
|
||||
- Add Vendor-Specific-Application-Id in CER ([#590](https://github.com/open5gs/open5gs/pull/590), [#591](https://github.com/open5gs/open5gs/pull/591)) -- [herlesupreeth](https://github.com/herlesupreeth)
|
||||
- Add EMM/GMM message handler in exception state ([#569](https://github.com/open5gs/open5gs/pull/569)) -- [list1982](https://github.com/list1982)
|
||||
- Exception handling when SGW-U/UPF buffer is exhausted ([#568](https://github.com/open5gs/open5gs/issues/568)) -- [labradiator](https://github.com/labradiator)
|
||||
- Change AMF configuration : plmn -> plmn_support ([d4a9c14](https://github.com/open5gs/open5gs/commit/d4a9c140a8457e64b57e918cd1dd5c6f81acab46))
|
||||
- Enhance UPF/SGW-U selection ([#559](https://github.com/open5gs/open5gs/pull/559),[#560](https://github.com/open5gs/open5gs/pull/560)) -- [kbarlee](https://github.com/kbarlee)
|
||||
- Add routine for checking NSSAI ([#554](https://github.com/open5gs/open5gs/issues/554)) -- [s5uishida](https://github.com/s5uishida)
|
||||
- GUTI is not present in Attach-Accept/Registration-Accept ([#553](https://github.com/open5gs/open5gs/issues/553)) -- [chenhao5651](https://github.com/chenhao5651)
|
||||
- 100+ UEs tested ([#551](https://github.com/open5gs/open5gs/issues/551)) -- [cecrevier](https://github.com/cecrevier)
|
||||
- Try to stablize test program ([#549](https://github.com/open5gs/open5gs/issues/549)) -- [JorgeVBZ](https://github.com/JorgeVBZ), ([#536](https://github.com/open5gs/open5gs/issues/536)) -- [s5uishida](https://github.com/s5uishida)
|
||||
- Allow subnet skipping in SMF configuration ([#548](https://github.com/open5gs/open5gs/issues/548)) -- [cecrevier](https://github.com/cecrevier)
|
||||
- Maintaining old NAS signalling ([#546](https://github.com/open5gs/open5gs/issues/546)) -- [carhercla2cat](https://github.com/carhercla2cat)
|
||||
- Fix the log rotate configuration ([#542](https://github.com/open5gs/open5gs/issues/542)) -- [kbarlee](https://github.com/kbarlee)
|
||||
- Fix the bug for multiple video call ([#535](https://github.com/open5gs/open5gs/issues/535)) -- [kuanghanqian](https://github.com/kuanghanqian)
|
||||
- Change the number of UEs usage ([#533](https://github.com/open5gs/open5gs/issues/533)) -- [herlesupreeth](https://github.com/herlesupreeth)
|
||||
- Fix PDN connectivity request in PDN DISCONNECT ESM-state([#486](https://github.com/open5gs/open5gs/issues/486)) -- [yc541](https://github.com/yc541)
|
||||
- Fix SEMANTIC ERROR in PACKET FILTER ([#338](https://github.com/open5gs/open5gs/issues/338)) -- [herlesupreeth](https://github.com/herlesupreeth)
|
||||
|
||||
Download -- [v2.0.18.tar.gz](https://github.com/open5gs/open5gs/archive/v2.0.18.tar.gz)
|
||||
{: .notice--info}
|
||||
40
docs/_posts/2020-11-19-release-v2.0.22.md
Normal file
40
docs/_posts/2020-11-19-release-v2.0.22.md
Normal file
@@ -0,0 +1,40 @@
|
||||
---
|
||||
title: "v2.0.22 - Running for 1 Month"
|
||||
date: 2020-11-19 09:35:00 -0500
|
||||
categories:
|
||||
- Release
|
||||
tags:
|
||||
- News
|
||||
- Release
|
||||
head_inline: "<style> ul { padding-bottom: 1em; } </style>"
|
||||
---
|
||||
|
||||
#### Enhancement
|
||||
- Add information of the used APN in the SMF log file ([#674](https://github.com/open5gs/open5gs/pull/674)) -- [medeiros405](https://github.com/medeiros405)
|
||||
- Use buffering method when sending packet through stream socket ([6f11a780](https://github.com/open5gs/open5gs/commit/6f11a780792ff0d695d9f735c84e5bff3ee1804b))
|
||||
- Support VoLTE service in IDLE state ([#627](https://github.com/open5gs/open5gs/issues/627)) -- [kuanghanqian](https://github.com/kuanghanqian)
|
||||
- F-TEID Allocation and Release by the UP function ([a470131](https://github.com/open5gs/open5gs/commit/a470131489231bff384d54561f66b937328d2e2d))
|
||||
- Network Restorations from GTP-U Error Indication ([1bed0d5](https://github.com/open5gs/open5gs/commit/1bed0d587275ad105c5fe6f0d9ca4ef1508a74e0))
|
||||
- Work around SCTP_EVENTS broken - copy blindly from Osmocom's libosmo-netif ([f137d194](https://github.com/open5gs/open5gs/commit/f137d1947f0afaaf0a3ec37b35ff1ce99c757ded))
|
||||
|
||||
#### Re-adding features
|
||||
- Support OAI UE/RAN ([#651](https://github.com/open5gs/open5gs/issues/651), [#584](https://github.com/open5gs/open5gs/issues/584)) -- [asoltanian1979](https://github.com/asoltanian1979), [s5uishida](https://github.com/s5uishida)
|
||||
- Provide SGW GTP(S1) address to be advertised inside S1AP messages ([#367](https://github.com/open5gs/open5gs/pull/367)) -- [herlesupreeth](https://github.com/herlesupreeth)
|
||||
|
||||
#### Bug Fixes
|
||||
- Resolves an issues with DL data traffic not working in v2.0.20 and v2.0.21 ([#672](https://github.com/open5gs/open5gs/issues/672)) -- [CarlosYLee](https://github.com/CarlosYLee)
|
||||
- Fix the select/kqueue bug in Win32/MacOSX [23e8e657](https://github.com/open5gs/open5gs/commit/23e8e6577c3bc4f785e797084b66fef707bfa450)
|
||||
- Fix the possible vulnerabilities [830587a2](https://github.com/open5gs/open5gs/commit/830587a250fb22f01327a14812d778d2a51bc5b9)
|
||||
- Fix MME crash if SGs interface is DOWN ([#448](https://github.com/open5gs/open5gs/issues/448), [#628](https://github.com/open5gs/open5gs/issues/628)) -- [nickvsnetworking](https://github.com/nickvsnetworking), [kbarlee](https://github.com/kbarlee)
|
||||
- Add `rpath` to required shared library ([#535](https://github.com/open5gs/open5gs/issues/535), [#595](https://github.com/open5gs/open5gs/issues/595)) -- [kuanghanqian](https://github.com/kuanghanqian), [RafalArciszewski](https://github.com/RafalArciszewski)
|
||||
- Change not to remove UE context when receiving Extended Service Request without MSC/VLC ([#627](https://github.com/open5gs/open5gs/issues/627)) -- [kuanghanqian](https://github.com/kuanghanqian)
|
||||
- Case-insensitive APN/DNN check ([#617](https://github.com/open5gs/open5gs/issues/617)) -- [RafalArciszewski](https://github.com/RafalArciszewski)
|
||||
- Fix the bug for Update-Type in Tracking area update accept ([#568](https://github.com/open5gs/open5gs/issues/568)) -- [cecrevier](https://github.com/cecrevier)
|
||||
- Only Send PDN connectivity reject if APN is mismatch ([#568](https://github.com/open5gs/open5gs/issues/568)) -- [cecrevier](https://github.com/cecrevier)
|
||||
- Fix the bug for S1-reset or eNB restart ([#627](https://github.com/open5gs/open5gs/issues/627)) -- [kuanghanqian](https://github.com/kuanghanqian)
|
||||
- Fix MME crash when VoLTE is enabled ([#619](https://github.com/open5gs/open5gs/issues/619)) -- [kuanghanqian](https://github.com/kuanghanqian)
|
||||
- Fix the DIAMETER_MISSING_AVP on Rx ([#610](https://github.com/open5gs/open5gs/issues/610)) -- [RafalArciszewski](https://github.com/RafalArciszewski)
|
||||
- Make WebUI listen on 0.0.0.0:3000 ([#587](https://github.com/open5gs/open5gs/pull/587)) -- [bjoern-r](https://github.com/bjoern-r)
|
||||
|
||||
Download -- [v2.0.22.tar.gz](https://github.com/open5gs/open5gs/archive/v2.0.22.tar.gz)
|
||||
{: .notice--info}
|
||||
32
docs/_posts/2020-12-11-release-v2.1.0.md
Normal file
32
docs/_posts/2020-12-11-release-v2.1.0.md
Normal file
@@ -0,0 +1,32 @@
|
||||
---
|
||||
title: "v2.1.0 - More Feature in 5G Core"
|
||||
date: 2020-12-11 14:20:00 -0500
|
||||
categories:
|
||||
- Release
|
||||
tags:
|
||||
- News
|
||||
- Release
|
||||
head_inline: "<style> ul { padding-bottom: 1em; } </style>"
|
||||
---
|
||||
|
||||
#### Add PCF(Policy Control Function)
|
||||
|
||||
#### Use HTTP/2 instead of HTTP/1.1 in 5G Core SBI
|
||||
|
||||
#### PFCP Update
|
||||
- Flow-Description use 'to assigned' in Gx Interface
|
||||
- Support SDF Filter ID
|
||||
- Support F-TEID's Choose
|
||||
- BAR(Buffering) is added in PFCP session
|
||||
- Default Apply Action uses NOCP+BUFF
|
||||
|
||||
#### Enhancement
|
||||
- Add parameter 'use_openair' for legacy UE ([#688](https://github.com/open5gs/open5gs/issues/688)) -- [s5uishida](https://github.com/s5uishida)
|
||||
- Add CentOS vagrant ([#684](https://github.com/open5gs/open5gs/pull/684)) -- [danielgora](https://github.com/danielgora)
|
||||
|
||||
#### Bug Fixes
|
||||
- SCTP workaround for PEER_ADDR_PARAMS ([#707](https://github.com/open5gs/open5gs/issues/707)) -- [infinitydon](https://github.com/infinitydon)
|
||||
- Fix UPF for Landslide ([#685](https://github.com/open5gs/open5gs/issues/685)) -- [valenciakarlos](https://github.com/valenciakarlos)
|
||||
|
||||
Download -- [v2.1.0.tar.gz](https://github.com/open5gs/open5gs/archive/v2.1.0.tar.gz)
|
||||
{: .notice--info}
|
||||
16
docs/_posts/2020-12-16-release-v2.1.1.md
Normal file
16
docs/_posts/2020-12-16-release-v2.1.1.md
Normal file
@@ -0,0 +1,16 @@
|
||||
---
|
||||
title: "v2.1.1 - 4G EPC Hotfix"
|
||||
date: 2020-12-16 11:08:00 -0500
|
||||
categories:
|
||||
- Release
|
||||
tags:
|
||||
- News
|
||||
- Release
|
||||
head_inline: "<style> ul { padding-bottom: 1em; } </style>"
|
||||
---
|
||||
|
||||
#### Bug Fixes
|
||||
- Fix the assertion BUG with Unexpected PDN Type ([#721](https://github.com/open5gs/open5gs/issues/721)) -- [cecrevier](https://github.com/cecrevier)
|
||||
|
||||
Download -- [v2.1.1.tar.gz](https://github.com/open5gs/open5gs/archive/v2.1.1.tar.gz)
|
||||
{: .notice--info}
|
||||
35
docs/_posts/2021-01-08-release-v2.1.3.md
Normal file
35
docs/_posts/2021-01-08-release-v2.1.3.md
Normal file
@@ -0,0 +1,35 @@
|
||||
---
|
||||
title: "v2.1.3 - 5GC improvements"
|
||||
date: 2021-01-08 22:50:00 -0500
|
||||
categories:
|
||||
- Release
|
||||
tags:
|
||||
- News
|
||||
- Release
|
||||
head_inline: "<style> ul { padding-bottom: 1em; } </style>"
|
||||
---
|
||||
|
||||
#### New features
|
||||
- [5GC] Dedicated QoS flow & Multiple PDU session ([235a041](https://github.com/open5gs/open5gs/commit/235a041b8d7638db931114ace49e4f771508830f), [a96d3ca](https://github.com/open5gs/open5gs/commit/a96d3ca0fa88828f4efb1135ebcb8a88d8bdc66c))
|
||||
- [5GC] Xn Handover ([#726](https://github.com/open5gs/open5gs/pull/726)) -- [lester-001](https://github.com/lester-001)
|
||||
|
||||
#### Test
|
||||
- [5GC] 1024 UEs Registration ([#753](https://github.com/open5gs/open5gs/issues/753)) -- [mmailand](https://github.com/mmailand)
|
||||
|
||||
#### Enhancement
|
||||
- [AMF] Handling UEContextRequest of InitialUEMessage ([7b29cdf](https://github.com/open5gs/open5gs/commit/7b29cdf89871be0a00c0dd907ae5da7bcf88e305))
|
||||
|
||||
#### Bug Fixes
|
||||
- [SBI] Time string conversion error on 32bit machine ([a0ebf20](https://github.com/open5gs/open5gs/commit/e531ccab5a82698dad46d5d9d41a0e0c496b5ed6))
|
||||
- [MME] Add handler for NAS EPS activate_dedicated EPS bearer context reject ([#755](https://github.com/open5gs/open5gs/pull/755)) -- [herlesupreeth](https://github.com/herlesupreeth)
|
||||
- [PFCP] Remvoe repeated QER in handling Create-PDR ([#749](https://github.com/open5gs/open5gs/pull/749)) -- [zhonglin6666](https://github.com/zhonglin6666)
|
||||
- [AMF] Re-add SCTP ppid and stream-no ([#743](https://github.com/open5gs/open5gs/issues/743)) -- [aligungr](https://github.com/aligungr)
|
||||
- [5GC] Fix wrong usage of SBI heartbeat timer ([#741](https://github.com/open5gs/open5gs/issues/741)) -- [fatihozer90](https://github.com/fatihozer90)
|
||||
- [5GC] Fix the problem of receiving large HTTP2 message(Max: 8,192 bytes) ([#738](https://github.com/open5gs/open5gs/issues/738)) -- [fatihozer90](https://github.com/fatihozer90)
|
||||
- [NRF] Support subscrCond ([#730](https://github.com/open5gs/open5gs/issues/730)) -- [fatihozer90](https://github.com/fatihozer90)
|
||||
- [NRF] Many BUG fixes ([#727](https://github.com/open5gs/open5gs/issues/727), [#728](https://github.com/open5gs/open5gs/issues/728), [#729](https://github.com/open5gs/open5gs/issues/729), [#737](https://github.com/open5gs/open5gs/issues/737)) -- [fatihozer90](https://github.com/fatihozer90)
|
||||
- [AMF] AMF sets default DNN if UE does not sent it
|
||||
- [MME] Fix the MME crash ([#708](https://github.com/open5gs/open5gs/issues/708), [#721](https://github.com/open5gs/open5gs/issues/721)) -- [cecrevier](https://github.com/cecrevier)
|
||||
|
||||
Download -- [v2.1.3.tar.gz](https://github.com/open5gs/open5gs/archive/v2.1.3.tar.gz)
|
||||
{: .notice--info}
|
||||
23
docs/_posts/2021-01-18-release-v2.1.4.md
Normal file
23
docs/_posts/2021-01-18-release-v2.1.4.md
Normal file
@@ -0,0 +1,23 @@
|
||||
---
|
||||
title: "v2.1.4 - Paging was added"
|
||||
date: 2021-01-18 21:23:00 -0500
|
||||
categories:
|
||||
- Release
|
||||
tags:
|
||||
- News
|
||||
- Release
|
||||
head_inline: "<style> ul { padding-bottom: 1em; } </style>"
|
||||
---
|
||||
|
||||
#### New feature
|
||||
- [5GC] Paging ([c9363b1](https://github.com/open5gs/open5gs/commit/c9363b132093581b6fd2ce794aa63cd597bf83a6))
|
||||
|
||||
#### Enhancement
|
||||
- [PFCP] Legacy support for pre-release LTE11 devices while performing VoLTE call([#757](https://github.com/open5gs/open5gs/pull/757)) -- [herlesupreeth](https://github.com/herlesupreeth)
|
||||
|
||||
#### Bug Fixes
|
||||
- [EPC] Use ESM cause(43:Invalid EPS bearer identity) if SGW-C sends GTP cause(Context Not Found) ([#755](https://github.com/open5gs/open5gs/issues/755)) -- [herlesupreeth](https://github.com/herlesupreeth)
|
||||
- [MME] fix a bug where SCTP stream number was not set while sending S1-Paging message. ([c9363b1](https://github.com/open5gs/open5gs/commit/c9363b132093581b6fd2ce794aa63cd597bf83a6))
|
||||
|
||||
Download -- [v2.1.4.tar.gz](https://github.com/open5gs/open5gs/archive/v2.1.4.tar.gz)
|
||||
{: .notice--info}
|
||||
29
docs/_posts/2021-02-02-release-v2.1.5.md
Normal file
29
docs/_posts/2021-02-02-release-v2.1.5.md
Normal file
@@ -0,0 +1,29 @@
|
||||
---
|
||||
title: "v2.1.5 - 5G Core N2 based handover"
|
||||
date: 2021-02-02 14:52:00 -0500
|
||||
categories:
|
||||
- Release
|
||||
tags:
|
||||
- News
|
||||
- Release
|
||||
head_inline: "<style> ul { padding-bottom: 1em; } </style>"
|
||||
---
|
||||
|
||||
#### New feature
|
||||
- [5GC] N2 Handver ([49a9e58](https://github.com/open5gs/open5gs/commit/49a9e58efe3f6ecd482c3b77b98cd0841688b647), [ff5236f](https://github.com/open5gs/open5gs/commit/ff5236f3e01ee6984bc78eaacc7d84e08c321266))
|
||||
|
||||
#### Enhancement
|
||||
- [AMF/MME] Check IMEISV length == 16 digits ([388e642](https://github.com/open5gs/open5gs/commit/388e64213fcebc257eb7bd0223105c3055c56252))
|
||||
- [AMF] Add Handling Duplicated PDU Session ID ([d9417be](https://github.com/open5gs/open5gs/commit/d9417be9a62255efa91a11ee2c424ec1e739b919))
|
||||
- [ASN] S1AP/NGAP update to v16.4.0(2021-01-04) ([ada01fc](https://github.com/open5gs/open5gs/commit/ada01fca8ffaea029d2ae04e6bc1bb499ab37894))
|
||||
- [AMF/MME] Add UserLocation Handling in UplinkNASTransport ([#772](https://github.com/open5gs/open5gs/pull/772)) -- [zhonglin6666](https://github.com/zhonglin6666)
|
||||
|
||||
#### Bug Fixes
|
||||
- [UDR] Modify SmfSelectionSubscriptionData ([#785](https://github.com/open5gs/open5gs/pull/785)) -- [zhonglin6666](https://github.com/zhonglin6666)
|
||||
- [MME] ENBDirectInformationTransfer decoding problem ([#783](https://github.com/open5gs/open5gs/issues/783)) -- [kuanghanqian](https://github.com/kuanghanqian)
|
||||
- [AMF] PartOfNG-Interface in NGReset decoding problem ([#773](https://github.com/open5gs/open5gs/issues/773)) -- [acetcom](https://github.com/acetcom)
|
||||
- [AMF] Fix UE Context Request IE Handling ([#771](https://github.com/open5gs/open5gs/issues/771)) -- [kuanghanqian](https://github.com/kuanghanqian)
|
||||
- [5GC] Fix the AMF/SMF/UDM crash issues ([#770](https://github.com/open5gs/open5gs/issues/770), [#771](https://github.com/open5gs/open5gs/issues/771)) -- [kuanghanqian](https://github.com/kuanghanqian)
|
||||
|
||||
Download -- [v2.1.5.tar.gz](https://github.com/open5gs/open5gs/archive/v2.1.5.tar.gz)
|
||||
{: .notice--info}
|
||||
22
docs/_posts/2021-02-08-release-v2.1.7.md
Normal file
22
docs/_posts/2021-02-08-release-v2.1.7.md
Normal file
@@ -0,0 +1,22 @@
|
||||
---
|
||||
title: "v2.1.7 - 5G Core Hotfix"
|
||||
date: 2021-02-07 22:31:00 -0500
|
||||
categories:
|
||||
- Release
|
||||
tags:
|
||||
- News
|
||||
- Release
|
||||
head_inline: "<style> ul { padding-bottom: 1em; } </style>"
|
||||
---
|
||||
|
||||
#### Bug Fixes
|
||||
- [5GC/EPC] Pool size adjusted to support 1,024 UEs ([#753](https://github.com/open5gs/open5gs/issues/753)) -- [zhouxiang93123](https://github.com/zhouxiang93123)
|
||||
- [AMF] Crash during handling Duplicated PDU Session ID ([#793](https://github.com/open5gs/open5gs/issues/783)) -- [kuanghanqian](https://github.com/kuanghanqian)
|
||||
|
||||
#### New Platform
|
||||
- MacOSX with Apple M1 Silicon ([7901a1](https://github.com/open5gs/open5gs/commit/7901a1164fdaa04cf72a5a944f50474d569f619d))
|
||||
- FreeBSD ([852756](https://github.com/open5gs/open5gs/commit/852756f90222a8e0821f6e1994baa32eafbdc47c))
|
||||
|
||||
|
||||
Download -- [v2.1.7.tar.gz](https://github.com/open5gs/open5gs/archive/v2.1.7.tar.gz)
|
||||
{: .notice--info}
|
||||
30
docs/_posts/2021-03-08-release-v2.2.0.md
Normal file
30
docs/_posts/2021-03-08-release-v2.2.0.md
Normal file
@@ -0,0 +1,30 @@
|
||||
---
|
||||
title: "v2.2.0 - DB Schema Changes"
|
||||
date: 2021-03-08 21:35:00 +0900
|
||||
categories:
|
||||
- Release
|
||||
tags:
|
||||
- News
|
||||
- Release
|
||||
head_inline: "<style> ul { padding-bottom: 1em; } </style>"
|
||||
---
|
||||
|
||||
#### DB Schema Changes
|
||||
- No backward compatibility. If you are using an old subscription DB, you should change to the new DB schema.
|
||||
|
||||
#### New features
|
||||
- NSSF(Network Slice Selection Function) is added.
|
||||
- SMF selection is added.
|
||||
|
||||
#### Enhancement
|
||||
- [DB] Masking MongoDB credentials when logging ([#827](https://github.com/open5gs/open5gs/pull/827)) -- [cglewis](https://github.com/cglewis)
|
||||
- [EPC/5GC] Branch name changes from master to main ([#811](https://github.com/open5gs/open5gs/pull/811)) -- [PawelMack](https://github.com/PawelMack)
|
||||
- [AMF] Cause of UEContextRelaseCommand uses Cause of UEContextReleaseRequest ([#789](https://github.com/open5gs/open5gs/issues/789)) -- [PawelMack](https://github.com/PawelMack)
|
||||
|
||||
#### Bug Fixes
|
||||
- [SMF] Fix the bug for DataForwardingNotPossible ([31977bf](https://github.com/open5gs/open5gs/commit/31977bf30a396389557c8be0f82cfdfb8152d580))
|
||||
- [AMF] Fix the exception handling routine when UE/gNB repeatedly sends NGAP messages ([#804](https://github.com/open5gs/open5gs/issues/804)) -- [strongcourage](https://github.com/strongcourage)
|
||||
|
||||
|
||||
Download -- [v2.2.0.tar.gz](https://github.com/open5gs/open5gs/archive/v2.2.0.tar.gz)
|
||||
{: .notice--info}
|
||||
BIN
docs/assets/Open5GS-Diagram.pdf
Normal file
BIN
docs/assets/Open5GS-Diagram.pdf
Normal file
Binary file not shown.
BIN
docs/assets/images/Open5GS_CUPS-01.jpg
Normal file
BIN
docs/assets/images/Open5GS_CUPS-01.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 300 KiB |
1336
docs/assets/images/Open5GS_CUPS-01.pdf
Normal file
1336
docs/assets/images/Open5GS_CUPS-01.pdf
Normal file
File diff suppressed because one or more lines are too long
BIN
docs/assets/images/wireshark_can_decode_nas_5gs.png
Normal file
BIN
docs/assets/images/wireshark_can_decode_nas_5gs.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 955 KiB |
BIN
docs/assets/images/wireshark_cannot_decode_nas_5gs.png
Normal file
BIN
docs/assets/images/wireshark_cannot_decode_nas_5gs.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 892 KiB |
BIN
docs/assets/images/wireshark_preference.png
Normal file
BIN
docs/assets/images/wireshark_preference.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 343 KiB |
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user