mirror of
https://github.com/open5gs/open5gs.git
synced 2025-10-30 19:43:43 +00:00
Compare commits
262 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a80f5cb77c | ||
|
|
dbb7ae2de9 | ||
|
|
b54ab2923c | ||
|
|
fdfce08b68 | ||
|
|
f78ca3c483 | ||
|
|
f42b45a061 | ||
|
|
7bb1c7055f | ||
|
|
997b716cda | ||
|
|
d711b26dfa | ||
|
|
dd67b1e533 | ||
|
|
a71d2ee3db | ||
|
|
8ddbb03f65 | ||
|
|
c7d87c9180 | ||
|
|
3b0db8c384 | ||
|
|
ad12949469 | ||
|
|
7343941a50 | ||
|
|
d9743286c5 | ||
|
|
8afc4b7887 | ||
|
|
fae342ecce | ||
|
|
5eabfc8275 | ||
|
|
3c6711c9c8 | ||
|
|
7e29e7486f | ||
|
|
2dfeade346 | ||
|
|
70d02a3b8b | ||
|
|
ca4ee27e84 | ||
|
|
da364e03b7 | ||
|
|
01b69e046f | ||
|
|
85555daa15 | ||
|
|
6e84ac670d | ||
|
|
d652075ab9 | ||
|
|
a7280c2fcb | ||
|
|
300123d990 | ||
|
|
ee41a751f0 | ||
|
|
8487a2b4b3 | ||
|
|
e6ecaaa4fc | ||
|
|
99f7b3ce35 | ||
|
|
4b906b3010 | ||
|
|
b35c2277be | ||
|
|
bcd02b1f33 | ||
|
|
c54e85c5c0 | ||
|
|
dbee687a75 | ||
|
|
20008b6a13 | ||
|
|
7f19916f05 | ||
|
|
a381c89f2e | ||
|
|
e514316493 | ||
|
|
41ff775a37 | ||
|
|
8702605b5f | ||
|
|
72370ff0b2 | ||
|
|
0c0241d5e5 | ||
|
|
1494cd9fec | ||
|
|
9bfb4591ea | ||
|
|
6ef5a746e5 | ||
|
|
c534d47a78 | ||
|
|
68dba64d0d | ||
|
|
7ba5e31c80 | ||
|
|
6f6800b52e | ||
|
|
3c3aec340e | ||
|
|
a9eaed18aa | ||
|
|
3b19cd85cc | ||
|
|
dbf3e17fda | ||
|
|
1fd3f48860 | ||
|
|
d0673e3066 | ||
|
|
46f20cc979 | ||
|
|
4e01d270eb | ||
|
|
00ec906b0c | ||
|
|
82eebc3b80 | ||
|
|
cde847c53d | ||
|
|
e6ee163140 | ||
|
|
ae75f43a88 | ||
|
|
37a69e6332 | ||
|
|
4ceae8857d | ||
|
|
f0a405f17c | ||
|
|
7c47a8901a | ||
|
|
c6ea286fe2 | ||
|
|
b50c77c9f8 | ||
|
|
7aae20e04a | ||
|
|
8323114945 | ||
|
|
c26d525488 | ||
|
|
74d631aaaa | ||
|
|
2e784a331d | ||
|
|
5009876c16 | ||
|
|
63809a3677 | ||
|
|
713693ee78 | ||
|
|
c00f67caab | ||
|
|
3feddd5424 | ||
|
|
2b69283a81 | ||
|
|
88981a570d | ||
|
|
23251fa6e3 | ||
|
|
a1569e5d86 | ||
|
|
5f7d1c5d90 | ||
|
|
0789216201 | ||
|
|
d84f79f4f2 | ||
|
|
235d61a2ea | ||
|
|
3bb763292a | ||
|
|
2e7d19a7f1 | ||
|
|
e13a7a1161 | ||
|
|
9b9cad288e | ||
|
|
7b5f9520d9 | ||
|
|
c7856bf3b2 | ||
|
|
27b3bec169 | ||
|
|
ef8d7d5d34 | ||
|
|
e7b40a3a09 | ||
|
|
cbc557f51a | ||
|
|
557d9532b0 | ||
|
|
9c150253d9 | ||
|
|
1225d1f1d5 | ||
|
|
db13836426 | ||
|
|
3d6a84ca85 | ||
|
|
0521d9fccf | ||
|
|
df60fbd0a5 | ||
|
|
5eb1c87e43 | ||
|
|
0796ce3d7e | ||
|
|
44455d55b3 | ||
|
|
85dbeb05cc | ||
|
|
1e56141d1e | ||
|
|
bf751dcee7 | ||
|
|
8472aa3743 | ||
|
|
3f2ad4ca08 | ||
|
|
6f97e32dca | ||
|
|
f2df9db68c | ||
|
|
787d8ebe01 | ||
|
|
24e9def813 | ||
|
|
baad38cab3 | ||
|
|
c3627e6852 | ||
|
|
4f29b912e8 | ||
|
|
34384de197 | ||
|
|
44ff12aa03 | ||
|
|
c639569c91 | ||
|
|
82e27f3ad9 | ||
|
|
cd6d51ad65 | ||
|
|
7df3d0509b | ||
|
|
9a3d5b50fc | ||
|
|
e9a8944189 | ||
|
|
307cf190c4 | ||
|
|
f27699abf5 | ||
|
|
045f013f39 | ||
|
|
5d99df4036 | ||
|
|
7c658091c5 | ||
|
|
81856afff9 | ||
|
|
5ff8376a64 | ||
|
|
f49e5e2360 | ||
|
|
4beba8e104 | ||
|
|
047ad240e7 | ||
|
|
2abdef74cb | ||
|
|
96af2d0337 | ||
|
|
8536fe3979 | ||
|
|
ce07bc16d4 | ||
|
|
d39582ff6e | ||
|
|
e418eda22f | ||
|
|
65b262a7f9 | ||
|
|
c4cc7f60ba | ||
|
|
6ee8ae0774 | ||
|
|
04233e505b | ||
|
|
0e1fcb43a7 | ||
|
|
1bf78f7655 | ||
|
|
75c431855b | ||
|
|
322d4d9157 | ||
|
|
c403e250fa | ||
|
|
a4670ca6e1 | ||
|
|
f3dd605c67 | ||
|
|
3975f6e775 | ||
|
|
0891ee5b19 | ||
|
|
d1f3439f93 | ||
|
|
e35bc4cc0d | ||
|
|
8cf9da560b | ||
|
|
f577f8dc9f | ||
|
|
4fcbb65eca | ||
|
|
d191a5135e | ||
|
|
e6432868de | ||
|
|
5664b90e38 | ||
|
|
768e4d9eb3 | ||
|
|
6a470c8881 | ||
|
|
8e26a9adf3 | ||
|
|
b8928ee849 | ||
|
|
3bc9b6e9aa | ||
|
|
ef6e16acf0 | ||
|
|
3b6b024866 | ||
|
|
428fbffa36 | ||
|
|
0f0d87d742 | ||
|
|
a62e07318e | ||
|
|
d7657a8f0b | ||
|
|
04f1730982 | ||
|
|
83cf871ff7 | ||
|
|
50f5a527a8 | ||
|
|
219899b8d0 | ||
|
|
2ac9d931cf | ||
|
|
10235922f4 | ||
|
|
a86e296afc | ||
|
|
66f839592f | ||
|
|
324f3d158f | ||
|
|
f06a8b92fe | ||
|
|
b86658e173 | ||
|
|
b7360d37d4 | ||
|
|
79bada897b | ||
|
|
f7a4d0ed78 | ||
|
|
cef1b46130 | ||
|
|
b5307cdb7a | ||
|
|
dfa5c4f0ee | ||
|
|
8749c2d666 | ||
|
|
896ca50253 | ||
|
|
cd6a295039 | ||
|
|
e051941a45 | ||
|
|
79c4afe277 | ||
|
|
d0822c2e6b | ||
|
|
5e59349d17 | ||
|
|
36dc786e01 | ||
|
|
4e2d7bf708 | ||
|
|
ce6d2c5889 | ||
|
|
ed701ce90e | ||
|
|
636170e0da | ||
|
|
2cd9f496e2 | ||
|
|
5b59f09d9f | ||
|
|
552045aa28 | ||
|
|
46e04210da | ||
|
|
31f1fc030f | ||
|
|
b31836d8fc | ||
|
|
7afc017cf9 | ||
|
|
eb905e4514 | ||
|
|
9341d756cc | ||
|
|
a808423631 | ||
|
|
fd05d25715 | ||
|
|
ee213e160a | ||
|
|
7b7acea59b | ||
|
|
552305afe2 | ||
|
|
f3ccd71db0 | ||
|
|
a622feac84 | ||
|
|
835b3c9851 | ||
|
|
c8bcfffe2e | ||
|
|
ad7fc34fa2 | ||
|
|
b994a8efbf | ||
|
|
cdbbbc500b | ||
|
|
71f54a4500 | ||
|
|
8639c0f43c | ||
|
|
b65d76d0b2 | ||
|
|
439ba9c82c | ||
|
|
f2e34dd7ff | ||
|
|
3743ef98a2 | ||
|
|
4b8e2a5c97 | ||
|
|
6f44ff5f4d | ||
|
|
c131295dfb | ||
|
|
ee80d1f996 | ||
|
|
da242e6734 | ||
|
|
4fcde77017 | ||
|
|
13ee6960aa | ||
|
|
14427de551 | ||
|
|
aa7d7f3b7d | ||
|
|
d4f982427c | ||
|
|
e55c7f9174 | ||
|
|
f2831ff1fd | ||
|
|
29e8a68dea | ||
|
|
46f9e1369b | ||
|
|
9f1a5d19a4 | ||
|
|
32c80cb031 | ||
|
|
b47e0e510e | ||
|
|
28f6d16ce2 | ||
|
|
06f8e42173 | ||
|
|
1e30669d6c | ||
|
|
04f5c31287 | ||
|
|
dcef973a09 | ||
|
|
290cdfac42 | ||
|
|
87b6b66cfd | ||
|
|
79759f4599 |
3
.gitignore
vendored
Normal file
3
.gitignore
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
# This directory is fetched during first build and is present in this directory
|
||||
subprojects/freeDiameter
|
||||
subprojects/usrsctp
|
||||
11
README.md
11
README.md
@@ -6,21 +6,14 @@ If you don't understand something about Open5GS, the [https://open5gs.org/open5g
|
||||
|
||||
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 [open5gs@lists.osmocom.org](mailto:open5gs@lists.osmocom.org) mailing list, please see <https://lists.osmocom.org/mailman/listinfo/open5gs> for subscription options and the list archive.
|
||||
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.
|
||||
|
||||
## Contributing
|
||||
|
||||
Open5GS is a pure/classic FOSS project, open to contributions from anyone.
|
||||
|
||||
[Pull requests](https://github.com/open5gs/open5gs/pulls) are always welcome, and I appreciates any help the community can give to help make Open5GS better.
|
||||
|
||||
Do you want to be a committer? Please [send me an email](mailto:acetcom@gmail.com). You will be added as a committer to this project. However, if someone consistently causes difficulties with these source repositories due to poor behavior or other serious problems then commit access may be revoked.
|
||||
If you're contributing through a pull request to Open5GS project on GitHub, please read the [Contributor License Agreement](https://open5gs.org/open5gs/cla/) in advance.
|
||||
|
||||
## License
|
||||
|
||||
Open5GS source files are made available under the terms of the GNU Affero General Public License (GNU AGPLv3).
|
||||
|
||||
When you contribute code for Open5GS, the same license applies.
|
||||
|
||||
|
||||
101
configs/00101.yaml.in
Normal file
101
configs/00101.yaml.in
Normal file
@@ -0,0 +1,101 @@
|
||||
db_uri: mongodb://localhost/open5gs
|
||||
|
||||
logger:
|
||||
|
||||
parameter:
|
||||
|
||||
amf:
|
||||
sbi:
|
||||
- addr: 127.0.0.2
|
||||
port: 7777
|
||||
ngap:
|
||||
- addr: 127.0.0.2
|
||||
guami:
|
||||
- plmn_id:
|
||||
mcc: 001
|
||||
mnc: 01
|
||||
amf_id:
|
||||
region: 1
|
||||
set: 1
|
||||
pointer: 1
|
||||
tai:
|
||||
- plmn_id:
|
||||
mcc: 001
|
||||
mnc: 01
|
||||
tac: 81
|
||||
plmn:
|
||||
- plmn_id:
|
||||
mcc: 001
|
||||
mnc: 01
|
||||
s_nssai:
|
||||
- sst: 1
|
||||
security:
|
||||
integrity_order : [ NIA2, NIA1, NIA0 ]
|
||||
ciphering_order : [ NEA0, NEA1, NEA2 ]
|
||||
network_name:
|
||||
full: Open5GS
|
||||
amf_name: open5gs-amf0
|
||||
|
||||
smf:
|
||||
sbi:
|
||||
- addr: 127.0.0.3
|
||||
port: 7777
|
||||
gtpc:
|
||||
- addr: 127.0.0.3
|
||||
- addr: ::1
|
||||
pfcp:
|
||||
- addr: 127.0.0.3
|
||||
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
|
||||
freeDiameter:
|
||||
identity: pgw.open-ims.test
|
||||
realm: open-ims.test
|
||||
listen_on: 127.0.0.3
|
||||
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.open-ims.test
|
||||
addr: 127.0.0.5
|
||||
upf:
|
||||
pfcp:
|
||||
- addr: 127.0.0.4
|
||||
gtpu:
|
||||
- addr:
|
||||
- 127.0.0.4
|
||||
- ::1
|
||||
pdn:
|
||||
|
||||
ausf:
|
||||
sbi:
|
||||
- addr: 127.0.0.5
|
||||
port: 7777
|
||||
|
||||
udm:
|
||||
sbi:
|
||||
- addr: 127.0.0.6
|
||||
port: 7777
|
||||
|
||||
udr:
|
||||
sbi:
|
||||
- addr: 127.0.0.7
|
||||
port: 7777
|
||||
nrf:
|
||||
sbi:
|
||||
- addr:
|
||||
- 127.0.0.1
|
||||
- ::1
|
||||
port: 7777
|
||||
126
configs/23504.yaml.in
Normal file
126
configs/23504.yaml.in
Normal file
@@ -0,0 +1,126 @@
|
||||
db_uri: mongodb://localhost/open5gs
|
||||
|
||||
logger:
|
||||
|
||||
parameter:
|
||||
no_ipv6: 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.4
|
||||
|
||||
s1ap:
|
||||
addr: 127.0.0.1
|
||||
gtpc:
|
||||
addr: 127.0.0.1
|
||||
gummei:
|
||||
plmn_id:
|
||||
mcc: 235
|
||||
mnc: 04
|
||||
mme_gid: 32769
|
||||
mme_code: 1
|
||||
tai:
|
||||
plmn_id:
|
||||
mcc: 235
|
||||
mnc: 04
|
||||
tac: 1
|
||||
security:
|
||||
integrity_order : [ EIA2, EIA1, EIA0 ]
|
||||
ciphering_order : [ EEA0, EEA1, EEA2 ]
|
||||
|
||||
network_name:
|
||||
full: Open5GS
|
||||
|
||||
hss:
|
||||
freeDiameter:
|
||||
identity: hss.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: mme.localdomain
|
||||
addr: 127.0.0.2
|
||||
|
||||
sgw:
|
||||
gtpc:
|
||||
addr: 127.0.0.2
|
||||
gtpu:
|
||||
addr: 127.0.0.2
|
||||
|
||||
pgw:
|
||||
freeDiameter:
|
||||
identity: pgw.localdomain
|
||||
realm: localdomain
|
||||
listen_on: 127.0.0.3
|
||||
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:
|
||||
connect:
|
||||
- identity: pcrf.localdomain
|
||||
addr: 127.0.0.5
|
||||
|
||||
gtpc:
|
||||
- addr:
|
||||
- 127.0.0.3
|
||||
- ::1
|
||||
- addr:
|
||||
- 127.0.0.4
|
||||
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
|
||||
|
||||
pcrf:
|
||||
freeDiameter:
|
||||
identity: pcrf.localdomain
|
||||
realm: localdomain
|
||||
listen_on: 127.0.0.5
|
||||
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: pgw.localdomain
|
||||
addr: 127.0.0.3
|
||||
100
configs/5gc-sample.yaml.in
Normal file
100
configs/5gc-sample.yaml.in
Normal file
@@ -0,0 +1,100 @@
|
||||
db_uri: mongodb://localhost/open5gs
|
||||
|
||||
logger:
|
||||
|
||||
parameter:
|
||||
|
||||
amf:
|
||||
sbi:
|
||||
- addr: 127.0.0.2
|
||||
port: 7777
|
||||
ngap:
|
||||
- addr: 127.0.0.2
|
||||
guami:
|
||||
- plmn_id:
|
||||
mcc: 901
|
||||
mnc: 70
|
||||
amf_id:
|
||||
region: 2
|
||||
set: 1
|
||||
tai:
|
||||
- plmn_id:
|
||||
mcc: 901
|
||||
mnc: 70
|
||||
tac: 1
|
||||
plmn:
|
||||
- plmn_id:
|
||||
mcc: 901
|
||||
mnc: 70
|
||||
s_nssai:
|
||||
- sst: 1
|
||||
security:
|
||||
integrity_order : [ NIA1, NIA2, NIA0 ]
|
||||
ciphering_order : [ NEA0, NEA1, NEA2 ]
|
||||
network_name:
|
||||
full: Open5GS
|
||||
amf_name: open5gs-amf0
|
||||
|
||||
smf:
|
||||
sbi:
|
||||
- addr: 127.0.0.3
|
||||
port: 7777
|
||||
gtpc:
|
||||
- addr: 127.0.0.3
|
||||
- addr: ::1
|
||||
pfcp:
|
||||
- addr: 127.0.0.3
|
||||
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
|
||||
freeDiameter:
|
||||
identity: pgw.open-ims.test
|
||||
realm: open-ims.test
|
||||
listen_on: 127.0.0.3
|
||||
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.open-ims.test
|
||||
addr: 127.0.0.5
|
||||
upf:
|
||||
pfcp:
|
||||
- addr: 127.0.0.4
|
||||
gtpu:
|
||||
- addr:
|
||||
- 127.0.0.4
|
||||
- ::1
|
||||
pdn:
|
||||
|
||||
ausf:
|
||||
sbi:
|
||||
- addr: 127.0.0.5
|
||||
port: 7777
|
||||
|
||||
udm:
|
||||
sbi:
|
||||
- addr: 127.0.0.6
|
||||
port: 7777
|
||||
|
||||
udr:
|
||||
sbi:
|
||||
- addr: 127.0.0.7
|
||||
port: 7777
|
||||
nrf:
|
||||
sbi:
|
||||
- addr:
|
||||
- 127.0.0.1
|
||||
- ::1
|
||||
port: 7777
|
||||
96
configs/5gc.yaml.in
Normal file
96
configs/5gc.yaml.in
Normal file
@@ -0,0 +1,96 @@
|
||||
db_uri: mongodb://localhost/open5gs
|
||||
|
||||
logger:
|
||||
|
||||
parameter:
|
||||
|
||||
amf:
|
||||
sbi:
|
||||
- addr: 127.0.0.2
|
||||
port: 7777
|
||||
ngap:
|
||||
guami:
|
||||
- plmn_id:
|
||||
mcc: 901
|
||||
mnc: 70
|
||||
amf_id:
|
||||
region: 2
|
||||
set: 1
|
||||
tai:
|
||||
- plmn_id:
|
||||
mcc: 901
|
||||
mnc: 70
|
||||
tac: 1
|
||||
plmn:
|
||||
- plmn_id:
|
||||
mcc: 901
|
||||
mnc: 70
|
||||
s_nssai:
|
||||
- sst: 1
|
||||
security:
|
||||
integrity_order : [ NIA1, NIA2, NIA0 ]
|
||||
ciphering_order : [ NEA0, NEA1, NEA2 ]
|
||||
network_name:
|
||||
full: Open5GS
|
||||
amf_name: open5gs-amf0
|
||||
|
||||
smf:
|
||||
sbi:
|
||||
- addr: 127.0.0.3
|
||||
port: 7777
|
||||
gtpc:
|
||||
- addr: 127.0.0.3
|
||||
- addr: ::1
|
||||
pfcp:
|
||||
- addr: 127.0.0.3
|
||||
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
|
||||
freeDiameter:
|
||||
identity: pgw.open-ims.test
|
||||
realm: open-ims.test
|
||||
listen_on: 127.0.0.3
|
||||
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.open-ims.test
|
||||
addr: 127.0.0.5
|
||||
upf:
|
||||
pfcp:
|
||||
addr: 127.0.0.4
|
||||
gtpu:
|
||||
pdn:
|
||||
|
||||
ausf:
|
||||
sbi:
|
||||
- addr: 127.0.0.5
|
||||
port: 7777
|
||||
|
||||
udm:
|
||||
sbi:
|
||||
- addr: 127.0.0.6
|
||||
port: 7777
|
||||
|
||||
udr:
|
||||
sbi:
|
||||
- addr: 127.0.0.7
|
||||
port: 7777
|
||||
nrf:
|
||||
sbi:
|
||||
- addr:
|
||||
- 127.0.0.1
|
||||
- ::1
|
||||
port: 7777
|
||||
@@ -19,7 +19,6 @@ mme:
|
||||
- module: @freediameter_extensions_builddir@/dict_nas_mipv6.fdx
|
||||
- module: @freediameter_extensions_builddir@/dict_dcca.fdx
|
||||
- module: @freediameter_extensions_builddir@/dict_dcca_3gpp.fdx
|
||||
- module: @freediameter_extensions_builddir@/dict_s6a.fdx
|
||||
connect:
|
||||
- identity: hss.localdomain
|
||||
addr: 127.0.0.4
|
||||
@@ -94,7 +93,6 @@ hss:
|
||||
- module: @freediameter_extensions_builddir@/dict_nas_mipv6.fdx
|
||||
- module: @freediameter_extensions_builddir@/dict_dcca.fdx
|
||||
- module: @freediameter_extensions_builddir@/dict_dcca_3gpp.fdx
|
||||
- module: @freediameter_extensions_builddir@/dict_s6a.fdx
|
||||
connect:
|
||||
- identity: mme.localdomain
|
||||
addr: 127.0.0.2
|
||||
@@ -130,14 +128,16 @@ pgw:
|
||||
gtpu:
|
||||
- addr: 127.0.0.3
|
||||
- addr: ::1
|
||||
ue_pool:
|
||||
- addr: 45.45.0.1/16
|
||||
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
|
||||
|
||||
pcrf:
|
||||
freeDiameter:
|
||||
identity: pcrf.localdomain
|
||||
|
||||
136
configs/cups.yaml.in
Normal file
136
configs/cups.yaml.in
Normal file
@@ -0,0 +1,136 @@
|
||||
db_uri: mongodb://localhost/open5gs
|
||||
|
||||
logger:
|
||||
|
||||
parameter:
|
||||
|
||||
mme:
|
||||
freeDiameter:
|
||||
identity: mme.open-ims.test
|
||||
realm: open-ims.test
|
||||
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.open-ims.test
|
||||
addr: 127.0.0.4
|
||||
|
||||
s1ap:
|
||||
addr: 127.0.0.1
|
||||
gtpc:
|
||||
addr: 127.0.0.1
|
||||
gummei:
|
||||
plmn_id:
|
||||
mcc: 001
|
||||
mnc: 01
|
||||
mme_gid: 2
|
||||
mme_code: 1
|
||||
tai:
|
||||
plmn_id:
|
||||
mcc: 001
|
||||
mnc: 01
|
||||
tac: 12345
|
||||
security:
|
||||
integrity_order : [ EIA1, EIA2, EIA0 ]
|
||||
ciphering_order : [ EEA0, EEA1, EEA2 ]
|
||||
|
||||
hss:
|
||||
freeDiameter:
|
||||
identity: hss.open-ims.test
|
||||
realm: open-ims.test
|
||||
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: mme.open-ims.test
|
||||
addr: 127.0.0.2
|
||||
|
||||
sgw:
|
||||
gtpc:
|
||||
addr: 127.0.0.2
|
||||
gtpu:
|
||||
addr: 127.0.0.2
|
||||
|
||||
smf:
|
||||
sbi:
|
||||
- addr: 127.0.0.3
|
||||
port: 7777
|
||||
gtpc:
|
||||
- addr: 127.0.0.3
|
||||
- addr: ::1
|
||||
pfcp:
|
||||
- addr: 127.0.0.3
|
||||
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
|
||||
freeDiameter:
|
||||
identity: pgw.open-ims.test
|
||||
realm: open-ims.test
|
||||
listen_on: 127.0.0.3
|
||||
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.open-ims.test
|
||||
addr: 127.0.0.5
|
||||
nrf:
|
||||
sbi:
|
||||
addr:
|
||||
- 127.0.0.1
|
||||
- ::1
|
||||
port: 7777
|
||||
|
||||
upf:
|
||||
pfcp:
|
||||
- addr: 127.0.0.4
|
||||
gtpu:
|
||||
- addr:
|
||||
- 127.0.0.4
|
||||
- ::1
|
||||
pdn:
|
||||
|
||||
pcrf:
|
||||
freeDiameter:
|
||||
identity: pcrf.open-ims.test
|
||||
realm: open-ims.test
|
||||
listen_on: 127.0.0.5
|
||||
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: pgw.open-ims.test
|
||||
addr: 127.0.0.3
|
||||
- identity: pcscf.open-ims.test
|
||||
addr: 127.0.0.1
|
||||
121
configs/epc-custom.yaml.in
Normal file
121
configs/epc-custom.yaml.in
Normal file
@@ -0,0 +1,121 @@
|
||||
db_uri: mongodb://localhost/open5gs
|
||||
|
||||
logger:
|
||||
|
||||
parameter:
|
||||
no_ipv6: 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.4
|
||||
|
||||
s1ap:
|
||||
gtpc:
|
||||
addr: 127.0.0.1
|
||||
gummei:
|
||||
plmn_id:
|
||||
mcc: 901
|
||||
mnc: 70
|
||||
mme_gid: 2
|
||||
mme_code: 1
|
||||
tai:
|
||||
plmn_id:
|
||||
mcc: 901
|
||||
mnc: 70
|
||||
tac: 7
|
||||
security:
|
||||
integrity_order : [ EIA1, EIA2, EIA0 ]
|
||||
ciphering_order : [ EEA0, EEA1, EEA2 ]
|
||||
|
||||
network_name:
|
||||
full: Open5GS
|
||||
|
||||
hss:
|
||||
freeDiameter:
|
||||
identity: hss.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: mme.localdomain
|
||||
addr: 127.0.0.2
|
||||
|
||||
sgw:
|
||||
gtpc:
|
||||
addr: 127.0.0.2
|
||||
gtpu:
|
||||
|
||||
pgw:
|
||||
freeDiameter:
|
||||
identity: pgw.localdomain
|
||||
realm: localdomain
|
||||
listen_on: 127.0.0.3
|
||||
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.5
|
||||
|
||||
gtpc:
|
||||
addr:
|
||||
- 127.0.0.3
|
||||
- ::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
|
||||
|
||||
pcrf:
|
||||
freeDiameter:
|
||||
identity: pcrf.localdomain
|
||||
realm: localdomain
|
||||
listen_on: 127.0.0.5
|
||||
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: pgw.localdomain
|
||||
addr: 127.0.0.3
|
||||
61
configs/epc-fdconf.yaml.in
Normal file
61
configs/epc-fdconf.yaml.in
Normal file
@@ -0,0 +1,61 @@
|
||||
db_uri: mongodb://localhost/open5gs
|
||||
|
||||
logger:
|
||||
file: @localstatedir@/log/open5gs/open5gs.log
|
||||
|
||||
parameter:
|
||||
no_ipv6: true
|
||||
|
||||
mme:
|
||||
freeDiameter: @sysconfdir@/freeDiameter/mme.conf
|
||||
s1ap:
|
||||
gtpc:
|
||||
sgsap:
|
||||
gummei:
|
||||
plmn_id:
|
||||
mcc: 001
|
||||
mnc: 01
|
||||
mme_gid: 2
|
||||
mme_code: 1
|
||||
tai:
|
||||
plmn_id:
|
||||
mcc: 001
|
||||
mnc: 01
|
||||
tac: 12345
|
||||
|
||||
security:
|
||||
integrity_order : [ EIA1, EIA2, EIA0 ]
|
||||
ciphering_order : [ EEA0, EEA1, EEA2 ]
|
||||
network_name:
|
||||
full: Open5GS
|
||||
|
||||
hss:
|
||||
freeDiameter: @sysconfdir@/freeDiameter/hss.conf
|
||||
|
||||
sgw:
|
||||
gtpc:
|
||||
addr: 127.0.0.2
|
||||
gtpu:
|
||||
|
||||
pgw:
|
||||
freeDiameter: @sysconfdir@/freeDiameter/pgw.conf
|
||||
gtpc:
|
||||
addr:
|
||||
- 127.0.0.3
|
||||
- ::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
|
||||
|
||||
pcrf:
|
||||
freeDiameter: @sysconfdir@/freeDiameter/pcrf.conf
|
||||
123
configs/epc.yaml.in
Normal file
123
configs/epc.yaml.in
Normal file
@@ -0,0 +1,123 @@
|
||||
db_uri: mongodb://localhost/open5gs
|
||||
|
||||
logger:
|
||||
|
||||
parameter:
|
||||
no_ipv6: 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.4
|
||||
|
||||
s1ap:
|
||||
addr: 127.0.0.1
|
||||
gtpc:
|
||||
addr: 127.0.0.1
|
||||
gummei:
|
||||
plmn_id:
|
||||
mcc: 001
|
||||
mnc: 01
|
||||
mme_gid: 2
|
||||
mme_code: 1
|
||||
tai:
|
||||
plmn_id:
|
||||
mcc: 001
|
||||
mnc: 01
|
||||
tac: 12345
|
||||
security:
|
||||
integrity_order : [ EIA1, EIA2, EIA0 ]
|
||||
ciphering_order : [ EEA0, EEA1, EEA2 ]
|
||||
|
||||
network_name:
|
||||
full: Open5GS
|
||||
|
||||
hss:
|
||||
freeDiameter:
|
||||
identity: hss.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: mme.localdomain
|
||||
addr: 127.0.0.2
|
||||
|
||||
sgw:
|
||||
gtpc:
|
||||
addr: 127.0.0.2
|
||||
gtpu:
|
||||
addr: 127.0.0.2
|
||||
|
||||
pgw:
|
||||
freeDiameter:
|
||||
identity: pgw.localdomain
|
||||
realm: localdomain
|
||||
listen_on: 127.0.0.3
|
||||
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.5
|
||||
|
||||
gtpc:
|
||||
addr:
|
||||
- 127.0.0.3
|
||||
- ::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
|
||||
|
||||
pcrf:
|
||||
freeDiameter:
|
||||
identity: pcrf.localdomain
|
||||
realm: localdomain
|
||||
listen_on: 127.0.0.5
|
||||
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: pgw.localdomain
|
||||
addr: 127.0.0.3
|
||||
@@ -229,7 +229,6 @@ 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";
|
||||
LoadExtension = "@libdir@/freeDiameter/dict_s6a.fdx";
|
||||
|
||||
|
||||
##############################################################
|
||||
|
||||
@@ -229,7 +229,6 @@ 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";
|
||||
LoadExtension = "@libdir@/freeDiameter/dict_s6a.fdx";
|
||||
|
||||
|
||||
##############################################################
|
||||
|
||||
@@ -1,537 +0,0 @@
|
||||
db_uri: mongodb://localhost/open5gs
|
||||
|
||||
logger:
|
||||
file: @localstatedir@/log/open5gs/open5gs.log
|
||||
#
|
||||
# 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,s1ap,nas,fd,gtp,mme,emm,esm,sgw,pgw,hss,pcrf,event,tlv,mem,sock
|
||||
#
|
||||
|
||||
#
|
||||
# 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
|
||||
|
||||
#
|
||||
# sctp:
|
||||
#
|
||||
# o heartbit_interval : 5000 (5secs)
|
||||
# o rto_initial : 3000 (3secs)
|
||||
# o rto_min : 1000 (1sec)
|
||||
# o rto_max : 5000 (5secs)
|
||||
# o max_num_of_ostreams : 30
|
||||
# o max_num_of_istreams : 65535
|
||||
# o max_attempts : 4
|
||||
# o max_initial_timeout : 8000(8secs)
|
||||
# o usrsctp_udp_port : 9899
|
||||
sctp:
|
||||
|
||||
#
|
||||
# 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 SGW
|
||||
# - Maximum Number of packet(SDU size = 8Kbytes) pool in SGW
|
||||
# - SGW Memory Usage : 65536 * 8Kbytes = 512Mbytes
|
||||
#
|
||||
# packet: 65536
|
||||
pool:
|
||||
|
||||
mme:
|
||||
freeDiameter: @sysconfdir@/freeDiameter/mme.conf
|
||||
|
||||
#
|
||||
# <S1AP Server>>
|
||||
#
|
||||
# o S1AP Server(all address avaiable)
|
||||
# s1ap:
|
||||
#
|
||||
# o S1AP Server(0.0.0.0:36412)
|
||||
# s1ap:
|
||||
# addr: 0.0.0.0
|
||||
#
|
||||
# o S1AP Server(127.0.0.1:36412, [::1]:36412)
|
||||
# s1ap:
|
||||
# - addr: 127.0.0.1
|
||||
# - addr: ::1
|
||||
|
||||
# o S1AP Server(different port)
|
||||
# s1ap:
|
||||
# - addr: 127.0.0.1
|
||||
# port: 36413
|
||||
#
|
||||
# o S1AP Server(address avaiable in `eth0` interface)
|
||||
# s1ap:
|
||||
# dev: eth0
|
||||
#
|
||||
s1ap:
|
||||
|
||||
#
|
||||
# <GTP-C Server>>
|
||||
#
|
||||
# o GTP-C Server(all address avaiable)
|
||||
# gtpc:
|
||||
#
|
||||
# o GTP-C Server(127.0.0.1:2123, [::1]:2123)
|
||||
# gtpc:
|
||||
# - addr: 127.0.0.1
|
||||
# - addr: ::1
|
||||
#
|
||||
gtpc:
|
||||
|
||||
#
|
||||
# <sgsap>
|
||||
#
|
||||
# o Single MSC/VLR(127.0.0.2)
|
||||
# sgsap:
|
||||
# addr: 127.0.0.2
|
||||
# map:
|
||||
# tai:
|
||||
# plmn_id:
|
||||
# mcc: 001
|
||||
# mnc: 01
|
||||
# tac: 4130
|
||||
# lai:
|
||||
# plmn_id:
|
||||
# mcc: 001
|
||||
# mnc: 01
|
||||
# lac: 43690
|
||||
# map:
|
||||
# tai:
|
||||
# plmn_id:
|
||||
# mcc: 002
|
||||
# mnc: 02
|
||||
# tac: 4132
|
||||
# lai:
|
||||
# plmn_id:
|
||||
# mcc: 002
|
||||
# mnc: 02
|
||||
# lac: 43692
|
||||
#
|
||||
# o Multiple MSC/VLR
|
||||
# sgsap:
|
||||
# - addr: 127.0.0.2
|
||||
# port: 29119
|
||||
# map:
|
||||
# tai:
|
||||
# plmn_id:
|
||||
# mcc: 001
|
||||
# mnc: 01
|
||||
# tac: 4131
|
||||
# lai:
|
||||
# plmn_id:
|
||||
# mcc: 001
|
||||
# mnc: 01
|
||||
# lac: 43691
|
||||
# map:
|
||||
# tai:
|
||||
# plmn_id:
|
||||
# mcc: 002
|
||||
# mnc: 02
|
||||
# tac: 4132
|
||||
# lai:
|
||||
# plmn_id:
|
||||
# mcc: 002
|
||||
# mnc: 02
|
||||
# lac: 43692
|
||||
# - addr
|
||||
# - 127.0.0.3
|
||||
# - fe80::2%@loopback_devname@
|
||||
# map:
|
||||
# tai:
|
||||
# plmn_id:
|
||||
# mcc: 001
|
||||
# mnc: 01
|
||||
# tac: 4132
|
||||
# lai:
|
||||
# plmn_id:
|
||||
# mcc: 002
|
||||
# mnc: 02
|
||||
# lac: 43692
|
||||
# - name: msc.open5gs.org
|
||||
# map:
|
||||
# tai:
|
||||
# plmn_id:
|
||||
# mcc: 001
|
||||
# mnc: 01
|
||||
# tac: 4133
|
||||
# lai:
|
||||
# plmn_id:
|
||||
# mcc: 002
|
||||
# mnc: 02
|
||||
# lac: 43693
|
||||
#
|
||||
sgsap:
|
||||
|
||||
|
||||
#
|
||||
# <GUMMEI>
|
||||
#
|
||||
# o Multiple GUMMEI
|
||||
# gummei:
|
||||
# - plmn_id:
|
||||
# mcc: 001
|
||||
# mnc: 01
|
||||
# mme_gid: 2
|
||||
# mme_code: 1
|
||||
# - plmn_id:
|
||||
# - mcc: 002
|
||||
# mnc: 02
|
||||
# - mcc: 003
|
||||
# mnc: 03
|
||||
# mme_gid: [3, 4]
|
||||
# mme_code:
|
||||
# - 2
|
||||
# - 3
|
||||
#
|
||||
gummei:
|
||||
plmn_id:
|
||||
mcc: 001
|
||||
mnc: 01
|
||||
mme_gid: 2
|
||||
mme_code: 1
|
||||
|
||||
#
|
||||
# <TAI>
|
||||
#
|
||||
# o Multiple TAI
|
||||
# tai:
|
||||
# - plmn_id:
|
||||
# mcc: 001
|
||||
# mnc: 01
|
||||
# tac: [1, 2, 3]
|
||||
# tai:
|
||||
# - plmn_id:
|
||||
# mcc: 002
|
||||
# mnc: 02
|
||||
# tac: 4
|
||||
# - plmn_id:
|
||||
# mcc: 003
|
||||
# mnc: 03
|
||||
# tac: 5
|
||||
# tai:
|
||||
# - plmn_id:
|
||||
# mcc: 004
|
||||
# mnc: 04
|
||||
# tac: [6, 7]
|
||||
# - plmn_id:
|
||||
# mcc: 005
|
||||
# mnc: 05
|
||||
# tac: 8
|
||||
# - plmn_id:
|
||||
# mcc: 006
|
||||
# mnc: 06
|
||||
# tac: [9, 10]
|
||||
#
|
||||
tai:
|
||||
plmn_id:
|
||||
mcc: 001
|
||||
mnc: 01
|
||||
tac: 12345
|
||||
|
||||
security:
|
||||
integrity_order : [ EIA1, EIA2, EIA0 ]
|
||||
ciphering_order : [ EEA0, EEA1, EEA2 ]
|
||||
|
||||
#
|
||||
# <Network Name>
|
||||
# network_name:
|
||||
# full: Open5GS
|
||||
# short: Next
|
||||
#
|
||||
|
||||
network_name:
|
||||
full: Open5GS
|
||||
|
||||
hss:
|
||||
freeDiameter: @sysconfdir@/freeDiameter/hss.conf
|
||||
|
||||
sgw:
|
||||
#
|
||||
# ------------------------ MME --------------------------
|
||||
#
|
||||
# o Specify SGW addresses the GTP-C must connect to
|
||||
#
|
||||
# o One SGW is defined. If prefer_ipv4 is not true, [fe80::2%@loopback_devname@] is selected.
|
||||
# gtpc:
|
||||
# addr:
|
||||
# - 127.0.0.2
|
||||
# - fe80::2%@loopback_devname@
|
||||
#
|
||||
# o Two SGW are defined. MME selects SGW with round-robin manner per UE
|
||||
# gtpc:
|
||||
# - addr: 127.0.0.2
|
||||
# - addr: fe80::2%@loopback_devname@
|
||||
#
|
||||
# o Three SGW are defined. MME selects SGW with round-robin manner per UE
|
||||
# gtpc:
|
||||
# - addr
|
||||
# - 127.0.0.2
|
||||
# - fe80::2%@loopback_devname@
|
||||
# - addr
|
||||
# - 127.0.0.12
|
||||
# - fe80::12%@loopback_devname@
|
||||
# - name: sgw3.open5gs.org
|
||||
#
|
||||
# ------------------------ SGW --------------------------
|
||||
#
|
||||
# o GTP-C Server(127.0.0.2:2123, [fe80::2%@loopback_devname@]:2123)
|
||||
# gtpc:
|
||||
# addr:
|
||||
# - 127.0.0.2
|
||||
# - fe80::2%@loopback_devname@
|
||||
#
|
||||
# o On SGW, Same Configuration(127.0.0.2:2123, [fe80::2%@loopback_devname@]:2123) as below.
|
||||
# gtpc:
|
||||
# - addr: 127.0.0.2
|
||||
# - addr: fe80::2%@loopback_devname@
|
||||
#
|
||||
gtpc:
|
||||
addr: 127.0.0.2
|
||||
|
||||
#
|
||||
# <SGW Selection Mode>
|
||||
#
|
||||
# o Round-Robin
|
||||
# (If `selection_mode` is omitted, the default mode is Round-Robin)
|
||||
#
|
||||
# selection_mode: rr
|
||||
# gtpc:
|
||||
# addr: 127.0.0.2
|
||||
# addr: 127.0.2.2
|
||||
# addr: 127.0.4.2
|
||||
#
|
||||
# o SGW selection by eNodeB TAC
|
||||
#
|
||||
# selection_mode: tac
|
||||
# gtpc:
|
||||
# - addr: 127.0.0.2
|
||||
# tac: 26000
|
||||
# - addr: 127.0.2.2
|
||||
# tac: [25000, 27000, 28000]
|
||||
#
|
||||
|
||||
#
|
||||
# <GTP-U Server>
|
||||
#
|
||||
# o GTP-U Server(all address avaiable)
|
||||
# gtpu:
|
||||
#
|
||||
gtpu:
|
||||
|
||||
pgw:
|
||||
freeDiameter: @sysconfdir@/freeDiameter/pgw.conf
|
||||
|
||||
#
|
||||
# ------------------------ MME --------------------------
|
||||
#
|
||||
# o By default, the PGW uses 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 eacho UE,
|
||||
# you can use a specific PGW node for each UE.
|
||||
#
|
||||
# o Two PGW are defined. 127.0.0.3:2123 is used.
|
||||
# [fe80::3%@loopback_devname@]:2123 is ignored.
|
||||
# gtpc:
|
||||
# - addr: 127.0.0.3
|
||||
# - addr: fe80::3%@loopback_devname@
|
||||
#
|
||||
# o One PGW is defined. if prefer_ipv4 is not true,
|
||||
# [fe80::3%@loopback_devname@] is selected.
|
||||
# gtpc:
|
||||
# - addr:
|
||||
# - 127.0.0.3
|
||||
# - fe80::3%@loopback_devname@
|
||||
#
|
||||
# o Two PGW are defined with a different APN.
|
||||
# - Note that if PGW 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.5
|
||||
# apn: volte
|
||||
#
|
||||
# o If APN is omitted, the default APN uses the first PGW node.
|
||||
# gtpc:
|
||||
# - addr: 127.0.0.3
|
||||
# - addr: 127.0.0.5
|
||||
# apn: volte
|
||||
# ------------------------ PGW --------------------------
|
||||
#
|
||||
# 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@
|
||||
#
|
||||
gtpc:
|
||||
addr:
|
||||
- 127.0.0.3
|
||||
- ::1
|
||||
|
||||
#
|
||||
# <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
|
||||
#
|
||||
gtpu:
|
||||
- addr: 127.0.0.3
|
||||
- addr: ::1
|
||||
|
||||
#
|
||||
# <UE Pool>
|
||||
#
|
||||
# o IPv4 Pool
|
||||
# $ sudo ip addr add 45.45.0.1/16 dev ogstun
|
||||
#
|
||||
# ue_pool:
|
||||
# addr: 45.45.0.1/16
|
||||
#
|
||||
# o IPv4/IPv6 Pool
|
||||
# $ sudo ip addr add 45.45.0.1/16 dev ogstun
|
||||
# $ sudo ip addr add cafe:1::1/64 dev ogstun
|
||||
#
|
||||
# ue_pool:
|
||||
# - addr: 45.45.0.1/16
|
||||
# - addr: cafe:1::1/64
|
||||
#
|
||||
#
|
||||
# o Specific APN(e.g 'volte') uses 45.46.0.1/16, cafe:2::1/64
|
||||
# All other APNs use 45.45.0.1/16, cafe:1::1/64
|
||||
# $ sudo ip addr add 45.45.0.1/16 dev ogstun
|
||||
# $ sudo ip addr add 45.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:
|
||||
# - addr: 45.45.0.1/16
|
||||
# - addr: cafe:1::1/64
|
||||
# - addr: 45.46.0.1/16
|
||||
# apn: volte
|
||||
# - addr: cafe:2::1/64
|
||||
# apn: volte
|
||||
#
|
||||
# o Multiple Devices (default: ogstun)
|
||||
# $ sudo ip addr add 45.45.0.1/16 dev ogstun
|
||||
# $ sudo ip addr add cafe:1::1/64 dev ogstun2
|
||||
# $ sudo ip addr add 45.46.0.1/16 dev ogstun3
|
||||
# $ sudo ip addr add cafe:2::1/64 dev ogstun3
|
||||
#
|
||||
# ue_pool:
|
||||
# - addr: 45.45.0.1/16
|
||||
# - addr: cafe:1::1/64
|
||||
# dev: ogstun2
|
||||
# - addr: 45.46.0.1/16
|
||||
# apn: volte
|
||||
# dev: ogstun3
|
||||
# - addr: cafe:2::1/64
|
||||
# apn: volte
|
||||
# dev: ogstun3
|
||||
#
|
||||
ue_pool:
|
||||
- addr: 45.45.0.1/16
|
||||
- addr: cafe::1/64
|
||||
|
||||
#
|
||||
# <Domain Name Server>
|
||||
#
|
||||
# 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
|
||||
|
||||
#
|
||||
# <P-CSCF>
|
||||
#
|
||||
# o Proxy Call Session Control Function
|
||||
#
|
||||
# p-cscf:
|
||||
# - 127.0.0.1
|
||||
# - ::1
|
||||
#
|
||||
|
||||
pcrf:
|
||||
freeDiameter: @sysconfdir@/freeDiameter/pcrf.conf
|
||||
@@ -23,7 +23,7 @@ conf_data.set('libdir', libdir)
|
||||
conf_data.set('localstatedir', localstatedir)
|
||||
|
||||
freediameter_extensions_builddir = join_paths(
|
||||
meson.build_root(), 'subprojects', 'freediameter', 'extensions')
|
||||
meson.build_root(), 'subprojects', 'freeDiameter', 'extensions')
|
||||
conf_data.set('freediameter_extensions_builddir',
|
||||
freediameter_extensions_builddir)
|
||||
|
||||
@@ -34,12 +34,19 @@ else
|
||||
endif
|
||||
|
||||
example_conf = '''
|
||||
simple.yaml
|
||||
installed.yaml
|
||||
5gc.yaml
|
||||
5gc-sample.yaml
|
||||
00101.yaml
|
||||
23504.yaml
|
||||
minimal.yaml
|
||||
epc.yaml
|
||||
epc-fdconf.yaml
|
||||
epc-custom.yaml
|
||||
mnc3.yaml
|
||||
csfb.yaml
|
||||
volte.yaml
|
||||
srslte.yaml
|
||||
cups.yaml
|
||||
'''.split()
|
||||
|
||||
foreach file : example_conf
|
||||
|
||||
103
configs/minimal.yaml.in
Normal file
103
configs/minimal.yaml.in
Normal file
@@ -0,0 +1,103 @@
|
||||
db_uri: mongodb://localhost/open5gs
|
||||
|
||||
logger:
|
||||
|
||||
parameter:
|
||||
|
||||
amf:
|
||||
sbi:
|
||||
- addr: 127.0.0.2
|
||||
port: 7777
|
||||
ngap:
|
||||
- addr: 127.0.0.2
|
||||
guami:
|
||||
- plmn_id:
|
||||
mcc: 208
|
||||
mnc: 93
|
||||
amf_id:
|
||||
region: 202
|
||||
set: 1016
|
||||
tai:
|
||||
- plmn_id:
|
||||
mcc: 208
|
||||
mnc: 93
|
||||
tac: 1
|
||||
plmn:
|
||||
- plmn_id:
|
||||
mcc: 208
|
||||
mnc: 93
|
||||
s_nssai:
|
||||
- sst: 1
|
||||
sd: 010203
|
||||
- sst: 1
|
||||
sd: 112233
|
||||
security:
|
||||
integrity_order : [ NIA2, NIA1 ]
|
||||
ciphering_order : [ NEA0, NEA1, NEA2 ]
|
||||
network_name:
|
||||
full: Open5GS
|
||||
amf_name: open5gs-amf0
|
||||
|
||||
smf:
|
||||
sbi:
|
||||
- addr: 127.0.0.3
|
||||
port: 7777
|
||||
gtpc:
|
||||
- addr: 127.0.0.3
|
||||
- addr: ::1
|
||||
pfcp:
|
||||
- addr: 127.0.0.3
|
||||
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
|
||||
freeDiameter:
|
||||
identity: pgw.open-ims.test
|
||||
realm: open-ims.test
|
||||
listen_on: 127.0.0.3
|
||||
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.open-ims.test
|
||||
addr: 127.0.0.5
|
||||
upf:
|
||||
pfcp:
|
||||
- addr: 127.0.0.4
|
||||
gtpu:
|
||||
- addr:
|
||||
- 127.0.0.4
|
||||
- ::1
|
||||
pdn:
|
||||
|
||||
ausf:
|
||||
sbi:
|
||||
- addr: 127.0.0.5
|
||||
port: 7777
|
||||
|
||||
udm:
|
||||
sbi:
|
||||
- addr: 127.0.0.6
|
||||
port: 7777
|
||||
|
||||
udr:
|
||||
sbi:
|
||||
- addr: 127.0.0.7
|
||||
port: 7777
|
||||
nrf:
|
||||
sbi:
|
||||
- addr:
|
||||
- 127.0.0.1
|
||||
- ::1
|
||||
port: 7777
|
||||
@@ -19,7 +19,6 @@ mme:
|
||||
- module: @freediameter_extensions_builddir@/dict_nas_mipv6.fdx
|
||||
- module: @freediameter_extensions_builddir@/dict_dcca.fdx
|
||||
- module: @freediameter_extensions_builddir@/dict_dcca_3gpp.fdx
|
||||
- module: @freediameter_extensions_builddir@/dict_s6a.fdx
|
||||
connect:
|
||||
- identity: hss.localdomain
|
||||
addr: 127.0.0.4
|
||||
@@ -60,7 +59,6 @@ hss:
|
||||
- module: @freediameter_extensions_builddir@/dict_nas_mipv6.fdx
|
||||
- module: @freediameter_extensions_builddir@/dict_dcca.fdx
|
||||
- module: @freediameter_extensions_builddir@/dict_dcca_3gpp.fdx
|
||||
- module: @freediameter_extensions_builddir@/dict_s6a.fdx
|
||||
connect:
|
||||
- identity: mme.localdomain
|
||||
addr: 127.0.0.2
|
||||
@@ -100,14 +98,16 @@ pgw:
|
||||
gtpu:
|
||||
- addr: 127.0.0.3
|
||||
- addr: ::1
|
||||
ue_pool:
|
||||
- addr: 45.45.0.1/16
|
||||
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
|
||||
|
||||
pcrf:
|
||||
freeDiameter:
|
||||
identity: pcrf.localdomain
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
# 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 @LOCALSTATE_DIR@/run/open5gs-pcrfd/pid`
|
||||
@localstatedir@/log/open5gs/pgw.log 644 14 * $D0 GZ @LOCALSTATE_DIR@/run/open5gs-pgwd/pid`
|
||||
@localstatedir@/log/open5gs/sgw.log 644 14 * $D0 GZ @LOCALSTATE_DIR@/run/open5gs-sgwd/pid`
|
||||
@localstatedir@/log/open5gs/hss.log 644 14 * $D0 GZ @LOCALSTATE_DIR@/run/open5gs-hssd/pid`
|
||||
@localstatedir@/log/open5gs/mme.log 644 14 * $D0 GZ @LOCALSTATE_DIR@/run/open5gs-mmed/pid`
|
||||
@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/hss.log 644 14 * $D0 GZ @localstatedir@/run/open5gs-hssd/pid`
|
||||
@localstatedir@/log/open5gs/mme.log 644 14 * $D0 GZ @localstatedir@/run/open5gs-mmed/pid`
|
||||
|
||||
303
configs/open5gs/amf.yaml.in
Normal file
303
configs/open5gs/amf.yaml.in
Normal file
@@ -0,0 +1,303 @@
|
||||
#
|
||||
# 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,pfcp,fd,gtp,amf,event,tlv,mem,sock
|
||||
#
|
||||
logger:
|
||||
file: @localstatedir@/log/open5gs/amf.log
|
||||
#
|
||||
# amf:
|
||||
#
|
||||
# <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: amf.key
|
||||
# pem: amf.pem
|
||||
#
|
||||
# o SBI Server(https://127.0.0.2:443, http://[::1]:80)
|
||||
# sbi:
|
||||
# - addr: 127.0.0.2
|
||||
# tls:
|
||||
# key: amf.key
|
||||
# pem: amf.pem
|
||||
# - addr: ::1
|
||||
#
|
||||
# o SBI Server(http://amf.open5gs.org:80)
|
||||
# sbi:
|
||||
# name: amf.open5gs.org
|
||||
#
|
||||
# o SBI Server(http://127.0.0.2:7777)
|
||||
# sbi:
|
||||
# - addr: 127.0.0.2
|
||||
# port: 7777
|
||||
#
|
||||
# o SBI Server(http://<eth0 IP address>:80)
|
||||
# sbi:
|
||||
# dev: eth0
|
||||
#
|
||||
# <NGAP Server>>
|
||||
#
|
||||
# o NGAP Server(all address avaiable)
|
||||
# ngap:
|
||||
#
|
||||
# o NGAP Server(0.0.0.0:38412)
|
||||
# ngap:
|
||||
# addr: 0.0.0.0
|
||||
#
|
||||
# o NGAP Server(127.0.0.1:38412, [::1]:38412)
|
||||
# ngap:
|
||||
# - addr: 127.0.0.1
|
||||
# - addr: ::1
|
||||
#
|
||||
# o NGAP Server(different port)
|
||||
# ngap:
|
||||
# - addr: 127.0.0.1
|
||||
# port: 38413
|
||||
#
|
||||
# o NGAP Server(address avaiable in `eth0` interface)
|
||||
# ngap:
|
||||
# dev: eth0
|
||||
#
|
||||
# <GUAMI>
|
||||
#
|
||||
# o Multiple GUAMI
|
||||
# guami:
|
||||
# - plmn_id:
|
||||
# mcc: 901
|
||||
# mnc: 70
|
||||
# amf_id:
|
||||
# region: 2
|
||||
# set: 1
|
||||
# pointer: 4
|
||||
# - plmn_id:
|
||||
# mcc: 001
|
||||
# mnc: 01
|
||||
# amf_id:
|
||||
# region: 5
|
||||
# set: 2
|
||||
#
|
||||
# <TAI>
|
||||
#
|
||||
# o Multiple TAI
|
||||
# tai:
|
||||
# - plmn_id:
|
||||
# mcc: 001
|
||||
# mnc: 01
|
||||
# tac: [1, 2, 3]
|
||||
# tai:
|
||||
# - plmn_id:
|
||||
# mcc: 002
|
||||
# mnc: 02
|
||||
# tac: 4
|
||||
# - plmn_id:
|
||||
# mcc: 003
|
||||
# mnc: 03
|
||||
# tac: 5
|
||||
# tai:
|
||||
# - plmn_id:
|
||||
# mcc: 004
|
||||
# mnc: 04
|
||||
# tac: [6, 7]
|
||||
# - plmn_id:
|
||||
# mcc: 005
|
||||
# mnc: 05
|
||||
# tac: 8
|
||||
# - plmn_id:
|
||||
# mcc: 006
|
||||
# mnc: 06
|
||||
# tac: [9, 10]
|
||||
#
|
||||
# <PLMN Support>
|
||||
#
|
||||
# o Multiple PLMN Support
|
||||
# plmn:
|
||||
# - plmn_id:
|
||||
# mcc: 901
|
||||
# mnc: 70
|
||||
# s_nssai:
|
||||
# - sst: 1
|
||||
# - sd: 010000
|
||||
# - plmn_id:
|
||||
# mcc: 901
|
||||
# mnc: 70
|
||||
# s_nssai:
|
||||
# - sst: 1
|
||||
#
|
||||
# <Network Name>
|
||||
#
|
||||
# network_name:
|
||||
# full: Open5GS
|
||||
# short: Next
|
||||
#
|
||||
# <AMF Name>
|
||||
#
|
||||
# amf_name: amf1.open5gs.amf.5gc.mnc70.mcc901.3gppnetwork.org
|
||||
#
|
||||
amf:
|
||||
sbi:
|
||||
- addr: 127.0.0.2
|
||||
port: 7777
|
||||
ngap:
|
||||
- addr: 127.0.0.2
|
||||
guami:
|
||||
- plmn_id:
|
||||
mcc: 901
|
||||
mnc: 70
|
||||
amf_id:
|
||||
region: 2
|
||||
set: 1
|
||||
tai:
|
||||
- plmn_id:
|
||||
mcc: 901
|
||||
mnc: 70
|
||||
tac: 1
|
||||
plmn:
|
||||
- plmn_id:
|
||||
mcc: 901
|
||||
mnc: 70
|
||||
s_nssai:
|
||||
- sst: 1
|
||||
security:
|
||||
integrity_order : [ NIA1, NIA2, NIA0 ]
|
||||
ciphering_order : [ NEA0, NEA1, NEA2 ]
|
||||
network_name:
|
||||
full: Open5GS
|
||||
amf_name: open5gs-amf0
|
||||
|
||||
#
|
||||
# nrf:
|
||||
#
|
||||
# <SBI Client>>
|
||||
#
|
||||
# o SBI Client(http://127.0.0.1:7777)
|
||||
# sbi:
|
||||
# addr: 127.0.0.1
|
||||
# port: 7777
|
||||
#
|
||||
# o SBI Client(https://127.0.0.1:443, http://nrf.open5gs.org:80)
|
||||
# sbi:
|
||||
# - addr: 127.0.0.1
|
||||
# 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.1:80 is selected.
|
||||
#
|
||||
# sbi:
|
||||
# addr:
|
||||
# - 127.0.0.1
|
||||
# - fe80::1%@loopback_devname@
|
||||
#
|
||||
nrf:
|
||||
sbi:
|
||||
- addr:
|
||||
- 127.0.0.1
|
||||
- ::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 gNB per AMF
|
||||
# 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
|
||||
#
|
||||
# - 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:
|
||||
|
||||
#
|
||||
# time:
|
||||
#
|
||||
# o NF Instance Heartbeat (Default : 10 seconds)
|
||||
#
|
||||
# o NF Instance Heartbeat (Disabled)
|
||||
# nf_instance:
|
||||
# heartbeat: 0
|
||||
#
|
||||
# o NF Instance Heartbeat (10 seconds)
|
||||
# nf_instance:
|
||||
# heartbeat: 10
|
||||
time:
|
||||
179
configs/open5gs/ausf.yaml.in
Normal file
179
configs/open5gs/ausf.yaml.in
Normal file
@@ -0,0 +1,179 @@
|
||||
#
|
||||
# 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,pfcp,fd,gtp,ausf,event,tlv,mem,sock
|
||||
#
|
||||
logger:
|
||||
file: @localstatedir@/log/open5gs/ausf.log
|
||||
#
|
||||
# ausf:
|
||||
#
|
||||
# <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: ausf.key
|
||||
# pem: ausf.pem
|
||||
#
|
||||
# o SBI Server(https://127.0.0.5:443, http://[::1]:80)
|
||||
# sbi:
|
||||
# - addr: 127.0.0.5
|
||||
# tls:
|
||||
# key: ausf.key
|
||||
# pem: ausf.pem
|
||||
# - addr: ::1
|
||||
#
|
||||
# o SBI Server(http://ausf.open5gs.org:80)
|
||||
# sbi:
|
||||
# name: ausf.open5gs.org
|
||||
#
|
||||
# o SBI Server(http://127.0.0.5:7777)
|
||||
# sbi:
|
||||
# - addr: 127.0.0.5
|
||||
# port: 7777
|
||||
#
|
||||
# o SBI Server(http://<eth0 IP address>:80)
|
||||
# sbi:
|
||||
# dev: eth0
|
||||
#
|
||||
ausf:
|
||||
sbi:
|
||||
- addr: 127.0.0.5
|
||||
port: 7777
|
||||
|
||||
#
|
||||
# nrf:
|
||||
#
|
||||
# <SBI Client>>
|
||||
#
|
||||
# o SBI Client(http://127.0.0.1:7777)
|
||||
# sbi:
|
||||
# addr: 127.0.0.1
|
||||
# port: 7777
|
||||
#
|
||||
# o SBI Client(https://127.0.0.1:443, http://nrf.open5gs.org:80)
|
||||
# sbi:
|
||||
# - addr: 127.0.0.1
|
||||
# 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.1:80 is selected.
|
||||
#
|
||||
# sbi:
|
||||
# addr:
|
||||
# - 127.0.0.1
|
||||
# - fe80::1%@loopback_devname@
|
||||
#
|
||||
nrf:
|
||||
sbi:
|
||||
- addr:
|
||||
- 127.0.0.1
|
||||
- ::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 gNB per AMF
|
||||
# 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
|
||||
#
|
||||
# - 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:
|
||||
|
||||
#
|
||||
# time:
|
||||
#
|
||||
# o NF Instance Heartbeat (Default : 10 seconds)
|
||||
#
|
||||
# o NF Instance Heartbeat (Disabled)
|
||||
# nf_instance:
|
||||
# heartbeat: 0
|
||||
#
|
||||
# o NF Instance Heartbeat (10 seconds)
|
||||
# nf_instance:
|
||||
# heartbeat: 10
|
||||
time:
|
||||
@@ -1,9 +1,95 @@
|
||||
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,fd,hss,event,mem,sock
|
||||
#
|
||||
logger:
|
||||
file: @localstatedir@/log/open5gs/hss.log
|
||||
|
||||
parameter:
|
||||
|
||||
hss:
|
||||
freeDiameter: @sysconfdir@/freeDiameter/hss.conf
|
||||
|
||||
#
|
||||
# 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:
|
||||
|
||||
@@ -25,6 +25,14 @@ open5gs_conf = '''
|
||||
sgw.yaml
|
||||
pgw.yaml
|
||||
pcrf.yaml
|
||||
|
||||
nrf.yaml
|
||||
udr.yaml
|
||||
udm.yaml
|
||||
ausf.yaml
|
||||
upf.yaml
|
||||
smf.yaml
|
||||
amf.yaml
|
||||
'''.split()
|
||||
|
||||
foreach file : open5gs_conf
|
||||
|
||||
@@ -1,8 +1,206 @@
|
||||
#
|
||||
# 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,s1ap,nas,fd,gtp,mme,emm,esm,event,tlv,mem,sock
|
||||
#
|
||||
logger:
|
||||
file: @localstatedir@/log/open5gs/mme.log
|
||||
|
||||
parameter:
|
||||
|
||||
#
|
||||
# mme:
|
||||
#
|
||||
# <S1AP Server>>
|
||||
#
|
||||
# o S1AP Server(all address avaiable)
|
||||
# s1ap:
|
||||
#
|
||||
# o S1AP Server(0.0.0.0:36412)
|
||||
# s1ap:
|
||||
# addr: 0.0.0.0
|
||||
#
|
||||
# o S1AP Server(127.0.0.1:36412, [::1]:36412)
|
||||
# s1ap:
|
||||
# - addr: 127.0.0.1
|
||||
# - addr: ::1
|
||||
#
|
||||
# o S1AP Server(different port)
|
||||
# s1ap:
|
||||
# - addr: 127.0.0.1
|
||||
# port: 36413
|
||||
#
|
||||
# o S1AP Server(address avaiable in `eth0` interface)
|
||||
# s1ap:
|
||||
# dev: eth0
|
||||
#
|
||||
# <GTP-C Server>>
|
||||
#
|
||||
# o GTP-C Server(all address avaiable)
|
||||
# gtpc:
|
||||
#
|
||||
# o GTP-C Server(127.0.0.1:2123, [::1]:2123)
|
||||
# gtpc:
|
||||
# - addr: 127.0.0.1
|
||||
# - addr: ::1
|
||||
#
|
||||
# <SGsAP>
|
||||
#
|
||||
# o Single MSC/VLR(127.0.0.2)
|
||||
# sgsap:
|
||||
# addr: 127.0.0.2
|
||||
# map:
|
||||
# tai:
|
||||
# plmn_id:
|
||||
# mcc: 001
|
||||
# mnc: 01
|
||||
# tac: 4130
|
||||
# lai:
|
||||
# plmn_id:
|
||||
# mcc: 001
|
||||
# mnc: 01
|
||||
# lac: 43690
|
||||
# map:
|
||||
# tai:
|
||||
# plmn_id:
|
||||
# mcc: 002
|
||||
# mnc: 02
|
||||
# tac: 4132
|
||||
# lai:
|
||||
# plmn_id:
|
||||
# mcc: 002
|
||||
# mnc: 02
|
||||
# lac: 43692
|
||||
#
|
||||
# o Multiple MSC/VLR
|
||||
# sgsap:
|
||||
# - addr: 127.0.0.2
|
||||
# port: 29119
|
||||
# map:
|
||||
# tai:
|
||||
# plmn_id:
|
||||
# mcc: 001
|
||||
# mnc: 01
|
||||
# tac: 4131
|
||||
# lai:
|
||||
# plmn_id:
|
||||
# mcc: 001
|
||||
# mnc: 01
|
||||
# lac: 43691
|
||||
# map:
|
||||
# tai:
|
||||
# plmn_id:
|
||||
# mcc: 002
|
||||
# mnc: 02
|
||||
# tac: 4132
|
||||
# lai:
|
||||
# plmn_id:
|
||||
# mcc: 002
|
||||
# mnc: 02
|
||||
# lac: 43692
|
||||
# - addr
|
||||
# - 127.0.0.3
|
||||
# - fe80::2%@loopback_devname@
|
||||
# map:
|
||||
# tai:
|
||||
# plmn_id:
|
||||
# mcc: 001
|
||||
# mnc: 01
|
||||
# tac: 4132
|
||||
# lai:
|
||||
# plmn_id:
|
||||
# mcc: 002
|
||||
# mnc: 02
|
||||
# lac: 43692
|
||||
# - name: msc.open5gs.org
|
||||
# map:
|
||||
# tai:
|
||||
# plmn_id:
|
||||
# mcc: 001
|
||||
# mnc: 01
|
||||
# tac: 4133
|
||||
# lai:
|
||||
# plmn_id:
|
||||
# mcc: 002
|
||||
# mnc: 02
|
||||
# lac: 43693
|
||||
#
|
||||
#
|
||||
# <GUMMEI>
|
||||
#
|
||||
# o Multiple GUMMEI
|
||||
# gummei:
|
||||
# - plmn_id:
|
||||
# mcc: 001
|
||||
# mnc: 01
|
||||
# mme_gid: 2
|
||||
# mme_code: 1
|
||||
# - plmn_id:
|
||||
# - mcc: 002
|
||||
# mnc: 02
|
||||
# - mcc: 003
|
||||
# mnc: 03
|
||||
# mme_gid: [3, 4]
|
||||
# mme_code:
|
||||
# - 2
|
||||
# - 3
|
||||
#
|
||||
#
|
||||
# <TAI>
|
||||
#
|
||||
# o Multiple TAI
|
||||
# tai:
|
||||
# - plmn_id:
|
||||
# mcc: 001
|
||||
# mnc: 01
|
||||
# tac: [1, 2, 3]
|
||||
# tai:
|
||||
# - plmn_id:
|
||||
# mcc: 002
|
||||
# mnc: 02
|
||||
# tac: 4
|
||||
# - plmn_id:
|
||||
# mcc: 003
|
||||
# mnc: 03
|
||||
# tac: 5
|
||||
# tai:
|
||||
# - plmn_id:
|
||||
# mcc: 004
|
||||
# mnc: 04
|
||||
# tac: [6, 7]
|
||||
# - plmn_id:
|
||||
# mcc: 005
|
||||
# mnc: 05
|
||||
# tac: 8
|
||||
# - plmn_id:
|
||||
# mcc: 006
|
||||
# mnc: 06
|
||||
# tac: [9, 10]
|
||||
#
|
||||
#
|
||||
# <Network Name>
|
||||
#
|
||||
# network_name:
|
||||
# full: Open5GS
|
||||
# short: Next
|
||||
#
|
||||
# <MME Name>
|
||||
#
|
||||
# mme_name: open5gs-mme0
|
||||
#
|
||||
mme:
|
||||
freeDiameter: @sysconfdir@/freeDiameter/mme.conf
|
||||
s1ap:
|
||||
@@ -23,13 +221,190 @@ mme:
|
||||
ciphering_order : [ EEA0, EEA1, EEA2 ]
|
||||
network_name:
|
||||
full: Open5GS
|
||||
mme_name: open5gs-mme0
|
||||
|
||||
#
|
||||
# sgw:
|
||||
#
|
||||
# <GTP-C Client>
|
||||
#
|
||||
# o Specify SGW addresses the GTP-C must connect to
|
||||
#
|
||||
# o One SGW is defined.
|
||||
# If prefer_ipv4 is not true, [fe80::2%@loopback_devname@] is selected.
|
||||
# gtpc:
|
||||
# addr:
|
||||
# - 127.0.0.2
|
||||
# - fe80::2%@loopback_devname@
|
||||
#
|
||||
# o Two SGW are defined. MME selects SGW with round-robin manner per UE
|
||||
# gtpc:
|
||||
# - addr: 127.0.0.2
|
||||
# - addr: fe80::2%@loopback_devname@
|
||||
#
|
||||
# o Three SGW are defined. MME selects SGW with round-robin manner per UE
|
||||
# gtpc:
|
||||
# - addr
|
||||
# - 127.0.0.2
|
||||
# - fe80::2%@loopback_devname@
|
||||
# - addr
|
||||
# - 127.0.0.12
|
||||
# - fe80::12%@loopback_devname@
|
||||
# - name: sgw3.open5gs.org
|
||||
#
|
||||
# <SGW Selection Mode>
|
||||
#
|
||||
# o Round-Robin
|
||||
#
|
||||
# gtpc:
|
||||
# addr: 127.0.0.2
|
||||
# addr: 127.0.2.2
|
||||
# addr: 127.0.4.2
|
||||
#
|
||||
# o SGW selection by eNodeB TAC
|
||||
# (either single TAC or multiple TACs, DECIMAL representation)
|
||||
#
|
||||
# gtpc:
|
||||
# - addr: 127.0.0.2
|
||||
# tac: 26000
|
||||
# - addr: 127.0.2.2
|
||||
# tac: [25000, 27000, 28000]
|
||||
#
|
||||
# o SGW selection by e_cell_id(28bit)
|
||||
# (either single or multiple e_cell_id, HEX representation)
|
||||
#
|
||||
# gtpc:
|
||||
# - addr: 127.0.0.2
|
||||
# e_cell_id: abcde01
|
||||
# - addr: 127.0.2.2
|
||||
# e_cell_id: [12345, a9413, 98765]
|
||||
#
|
||||
sgw:
|
||||
gtpc:
|
||||
addr: 127.0.0.2
|
||||
|
||||
#
|
||||
# pgw:
|
||||
#
|
||||
# <GTP-C Client>
|
||||
#
|
||||
# o By default, the PGW uses 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 eacho UE,
|
||||
# you can use a specific PGW node for each UE.
|
||||
#
|
||||
# o Two PGW are defined. 127.0.0.3:2123 is used.
|
||||
# [fe80::3%@loopback_devname@]:2123 is ignored.
|
||||
# gtpc:
|
||||
# - addr: 127.0.0.3
|
||||
# - addr: fe80::3%@loopback_devname@
|
||||
#
|
||||
# o One PGW is defined. if prefer_ipv4 is not true,
|
||||
# [fe80::3%@loopback_devname@] is selected.
|
||||
# gtpc:
|
||||
# - addr:
|
||||
# - 127.0.0.3
|
||||
# - fe80::3%@loopback_devname@
|
||||
#
|
||||
# o Two PGW are defined with a different APN.
|
||||
# - Note that if PGW 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.5
|
||||
# apn: volte
|
||||
#
|
||||
# o If APN is omitted, the default APN uses the first PGW node.
|
||||
# gtpc:
|
||||
# - addr: 127.0.0.3
|
||||
# - addr: 127.0.0.5
|
||||
# apn: volte
|
||||
pgw:
|
||||
gtpc:
|
||||
addr:
|
||||
- 127.0.0.3
|
||||
- ::1
|
||||
|
||||
#
|
||||
# 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:
|
||||
|
||||
#
|
||||
# sctp:
|
||||
#
|
||||
# o heartbit_interval : 5000 (5secs)
|
||||
# o rto_initial : 3000 (3secs)
|
||||
# o rto_min : 1000 (1sec)
|
||||
# o rto_max : 5000 (5secs)
|
||||
# o max_num_of_ostreams : 30
|
||||
# o max_num_of_istreams : 65535
|
||||
# o max_attempts : 4
|
||||
# o max_initial_timeout : 8000(8secs)
|
||||
# o usrsctp_udp_port : 9899
|
||||
#
|
||||
sctp:
|
||||
|
||||
158
configs/open5gs/nrf.yaml.in
Normal file
158
configs/open5gs/nrf.yaml.in
Normal file
@@ -0,0 +1,158 @@
|
||||
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,fd,nrf,event,mem,sock
|
||||
#
|
||||
logger:
|
||||
file: @localstatedir@/log/open5gs/nrf.log
|
||||
|
||||
#
|
||||
# nrf:
|
||||
#
|
||||
# <SBI Server>
|
||||
#
|
||||
# o SBI Server(http://<all address available>:80)
|
||||
# sbi:
|
||||
#
|
||||
# o SBI Server(http://<any address>:7777)
|
||||
# sbi:
|
||||
# - addr:
|
||||
# - 0.0.0.0
|
||||
# - ::0
|
||||
# port: 7777
|
||||
#
|
||||
# o SBI Server(https://<all address avaiable>:443)
|
||||
# sbi:
|
||||
# tls:
|
||||
# key: nrf.key
|
||||
# pem: nrf.pem
|
||||
#
|
||||
# o SBI Server(https://127.0.0.1:443, http://[::1]:80)
|
||||
# sbi:
|
||||
# - addr: 127.0.0.1
|
||||
# tls:
|
||||
# key: nrf.key
|
||||
# pem: nrf.pem
|
||||
# - addr: ::1
|
||||
#
|
||||
# o SBI Server(http://nrf.open5gs.org:80)
|
||||
# sbi:
|
||||
# name: nrf.open5gs.org
|
||||
#
|
||||
# o SBI Server(http://127.0.0.1:7777)
|
||||
# sbi:
|
||||
# - addr: 127.0.0.1
|
||||
# port: 7777
|
||||
#
|
||||
# o SBI Server(http://<eth0 IP address>:80)
|
||||
# sbi:
|
||||
# dev: eth0
|
||||
#
|
||||
nrf:
|
||||
sbi:
|
||||
addr:
|
||||
- 127.0.0.1
|
||||
- ::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 gNB per 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
|
||||
#
|
||||
# - 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:
|
||||
|
||||
#
|
||||
# time:
|
||||
#
|
||||
# o NF Instance Validity (Default : 3600 seconds = 1 hour)
|
||||
#
|
||||
# o NF Instance Validity (10 seconds)
|
||||
# nf_instance:
|
||||
# validity: 10
|
||||
#
|
||||
# o Subscription Validity (Default : 86400 seconds = 1 day)
|
||||
#
|
||||
# o Subscription Validity (Disabled)
|
||||
# subscription:
|
||||
# validity: 0
|
||||
#
|
||||
# o Subscription Validity (3600 seconds = 1 hour)
|
||||
# subscription:
|
||||
# validity: 3600
|
||||
#
|
||||
time:
|
||||
@@ -1,9 +1,94 @@
|
||||
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,fd,pcrf,event,mem,sock
|
||||
logger:
|
||||
file: @localstatedir@/log/open5gs/pcrf.log
|
||||
|
||||
parameter:
|
||||
|
||||
pcrf:
|
||||
freeDiameter: @sysconfdir@/freeDiameter/pcrf.conf
|
||||
|
||||
#
|
||||
# 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,8 +1,152 @@
|
||||
#
|
||||
# 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
|
||||
|
||||
parameter:
|
||||
|
||||
#
|
||||
# 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:
|
||||
@@ -11,11 +155,80 @@ pgw:
|
||||
gtpu:
|
||||
- addr: 127.0.0.3
|
||||
- addr: ::1
|
||||
ue_pool:
|
||||
- addr: 45.45.0.1/16
|
||||
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,10 +1,131 @@
|
||||
#
|
||||
# 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
|
||||
|
||||
parameter:
|
||||
no_ipv6: true
|
||||
|
||||
#
|
||||
# sgw:
|
||||
#
|
||||
# <GTP-C Server>
|
||||
#
|
||||
# o GTP-C Server(127.0.0.2:2123, [fe80::2%@loopback_devname@]:2123)
|
||||
# gtpc:
|
||||
# addr:
|
||||
# - 127.0.0.2
|
||||
# - fe80::2%@loopback_devname@
|
||||
#
|
||||
# o On SGW, Same Configuration(127.0.0.2:2123,
|
||||
# [fe80::2%@loopback_devname@]:2123) as below.
|
||||
# gtpc:
|
||||
# - addr: 127.0.0.2
|
||||
# - addr: fe80::2%@loopback_devname@
|
||||
#
|
||||
# <GTP-U Server>
|
||||
#
|
||||
# o GTP-U Server(all address avaiable)
|
||||
# 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.2
|
||||
gtpu:
|
||||
|
||||
#
|
||||
# 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:
|
||||
|
||||
363
configs/open5gs/smf.yaml.in
Normal file
363
configs/open5gs/smf.yaml.in
Normal file
@@ -0,0 +1,363 @@
|
||||
#
|
||||
# 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,pfcp,fd,gtp,smf,event,tlv,mem,sock
|
||||
#
|
||||
logger:
|
||||
file: @localstatedir@/log/open5gs/smf.log
|
||||
#
|
||||
# smf:
|
||||
#
|
||||
# <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: smf.key
|
||||
# pem: smf.pem
|
||||
#
|
||||
# o SBI Server(https://127.0.0.3:443, http://[::1]:80)
|
||||
# sbi:
|
||||
# - addr: 127.0.0.3
|
||||
# tls:
|
||||
# key: smf.key
|
||||
# pem: smf.pem
|
||||
# - addr: ::1
|
||||
#
|
||||
# o SBI Server(http://smf.open5gs.org:80)
|
||||
# sbi:
|
||||
# name: smf.open5gs.org
|
||||
#
|
||||
# o SBI Server(http://127.0.0.3:7777)
|
||||
# sbi:
|
||||
# - addr: 127.0.0.3
|
||||
# port: 7777
|
||||
#
|
||||
# o SBI Server(http://<eth0 IP address>:80)
|
||||
# sbi:
|
||||
# dev: eth0
|
||||
#
|
||||
# <PFCP Server>
|
||||
#
|
||||
# o PFCP Server(127.0.0.3:8805, ::1:8805)
|
||||
# pfcp:
|
||||
# - addr: 127.0.0.3
|
||||
# - addr: ::1
|
||||
#
|
||||
# <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 SMF, Same configuration
|
||||
# (127.0.0.3:2123, [fe80::3%@loopback_devname@]:2123).
|
||||
# gtpc:
|
||||
# - addr: 127.0.0.3
|
||||
# - addr: fe80::3%@loopback_devname@
|
||||
#
|
||||
# <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
|
||||
#
|
||||
smf:
|
||||
sbi:
|
||||
- addr: 127.0.0.3
|
||||
port: 7777
|
||||
gtpc:
|
||||
- addr: 127.0.0.3
|
||||
- addr: ::1
|
||||
pfcp:
|
||||
- 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
|
||||
freeDiameter: @sysconfdir@/freeDiameter/pgw.conf
|
||||
|
||||
#
|
||||
# nrf:
|
||||
#
|
||||
# <SBI Client>>
|
||||
#
|
||||
# o SBI Client(http://127.0.0.1:7777)
|
||||
# sbi:
|
||||
# addr: 127.0.0.1
|
||||
# port: 7777
|
||||
#
|
||||
# o SBI Client(https://127.0.0.1:443, http://nrf.open5gs.org:80)
|
||||
# sbi:
|
||||
# - addr: 127.0.0.1
|
||||
# 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.1:80 is selected.
|
||||
#
|
||||
# sbi:
|
||||
# addr:
|
||||
# - 127.0.0.1
|
||||
# - fe80::1%@loopback_devname@
|
||||
#
|
||||
nrf:
|
||||
sbi:
|
||||
- addr:
|
||||
- 127.0.0.1
|
||||
- ::1
|
||||
port: 7777
|
||||
|
||||
#
|
||||
# upf:
|
||||
#
|
||||
# <PFCP Client>>
|
||||
#
|
||||
# o PFCP Client(127.0.0.4:8805)
|
||||
#
|
||||
# pfcp:
|
||||
# addr: 127.0.0.4
|
||||
#
|
||||
# <UPF_SELECTION_MODE - EPC only>
|
||||
#
|
||||
# o Round-Robin
|
||||
# upf:
|
||||
# pfcp:
|
||||
# - addr: 127.0.0.4
|
||||
# - addr: 127.0.0.12
|
||||
#
|
||||
# o UPF selection by eNodeB TAC
|
||||
# (either single TAC or multiple TACs, DECIMAL representation)
|
||||
#
|
||||
# upf:
|
||||
# pfcp:
|
||||
# - addr: 127.0.0.4
|
||||
# tac: 1
|
||||
# - 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)
|
||||
#
|
||||
# upf:
|
||||
# pfcp:
|
||||
# - addr: 127.0.0.4
|
||||
# dnn: 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)
|
||||
#
|
||||
# upf:
|
||||
# pfcp:
|
||||
# - addr: 127.0.0.4
|
||||
# e_cell_id: 463
|
||||
# - addr: 127.0.0.12
|
||||
# nr_cell_id: [123456789, 9413]
|
||||
#
|
||||
upf:
|
||||
pfcp:
|
||||
- addr: 127.0.0.4
|
||||
|
||||
#
|
||||
# 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 gNB per AMF
|
||||
# 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
|
||||
#
|
||||
# - 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:
|
||||
|
||||
#
|
||||
# time:
|
||||
#
|
||||
# o NF Instance Heartbeat (Default : 10 seconds)
|
||||
#
|
||||
# o NF Instance Heartbeat (Disabled)
|
||||
# nf_instance:
|
||||
# heartbeat: 0
|
||||
#
|
||||
# o NF Instance Heartbeat (10 seconds)
|
||||
# nf_instance:
|
||||
# heartbeat: 10
|
||||
time:
|
||||
179
configs/open5gs/udm.yaml.in
Normal file
179
configs/open5gs/udm.yaml.in
Normal file
@@ -0,0 +1,179 @@
|
||||
#
|
||||
# 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,pfcp,fd,gtp,udm,event,tlv,mem,sock
|
||||
#
|
||||
logger:
|
||||
file: @localstatedir@/log/open5gs/udm.log
|
||||
#
|
||||
# udm:
|
||||
#
|
||||
# <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: udm.key
|
||||
# pem: udm.pem
|
||||
#
|
||||
# o SBI Server(https://127.0.0.6:443, http://[::1]:80)
|
||||
# sbi:
|
||||
# - addr: 127.0.0.6
|
||||
# tls:
|
||||
# key: udm.key
|
||||
# pem: udm.pem
|
||||
# - addr: ::1
|
||||
#
|
||||
# o SBI Server(http://udm.open5gs.org:80)
|
||||
# sbi:
|
||||
# name: udm.open5gs.org
|
||||
#
|
||||
# o SBI Server(http://127.0.0.6:7777)
|
||||
# sbi:
|
||||
# - addr: 127.0.0.6
|
||||
# port: 7777
|
||||
#
|
||||
# o SBI Server(http://<eth0 IP address>:80)
|
||||
# sbi:
|
||||
# dev: eth0
|
||||
#
|
||||
udm:
|
||||
sbi:
|
||||
- addr: 127.0.0.6
|
||||
port: 7777
|
||||
|
||||
#
|
||||
# nrf:
|
||||
#
|
||||
# <SBI Client>>
|
||||
#
|
||||
# o SBI Client(http://127.0.0.1:7777)
|
||||
# sbi:
|
||||
# addr: 127.0.0.1
|
||||
# port: 7777
|
||||
#
|
||||
# o SBI Client(https://127.0.0.1:443, http://nrf.open5gs.org:80)
|
||||
# sbi:
|
||||
# - addr: 127.0.0.1
|
||||
# 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.1:80 is selected.
|
||||
#
|
||||
# sbi:
|
||||
# addr:
|
||||
# - 127.0.0.1
|
||||
# - fe80::1%@loopback_devname@
|
||||
#
|
||||
nrf:
|
||||
sbi:
|
||||
- addr:
|
||||
- 127.0.0.1
|
||||
- ::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 gNB per AMF
|
||||
# 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
|
||||
#
|
||||
# - 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:
|
||||
|
||||
#
|
||||
# time:
|
||||
#
|
||||
# o NF Instance Heartbeat (Default : 10 seconds)
|
||||
#
|
||||
# o NF Instance Heartbeat (Disabled)
|
||||
# nf_instance:
|
||||
# heartbeat: 0
|
||||
#
|
||||
# o NF Instance Heartbeat (10 seconds)
|
||||
# nf_instance:
|
||||
# heartbeat: 10
|
||||
time:
|
||||
181
configs/open5gs/udr.yaml.in
Normal file
181
configs/open5gs/udr.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,pfcp,fd,gtp,udr,event,tlv,mem,sock
|
||||
#
|
||||
logger:
|
||||
file: @localstatedir@/log/open5gs/udr.log
|
||||
#
|
||||
# udr:
|
||||
#
|
||||
# <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: udr.key
|
||||
# pem: udr.pem
|
||||
#
|
||||
# o SBI Server(https://127.0.0.7:443, http://[::1]:80)
|
||||
# sbi:
|
||||
# - addr: 127.0.0.7
|
||||
# tls:
|
||||
# key: udr.key
|
||||
# pem: udr.pem
|
||||
# - addr: ::1
|
||||
#
|
||||
# o SBI Server(http://udr.open5gs.org:80)
|
||||
# sbi:
|
||||
# name: udr.open5gs.org
|
||||
#
|
||||
# o SBI Server(http://127.0.0.7:7777)
|
||||
# sbi:
|
||||
# - addr: 127.0.0.7
|
||||
# port: 7777
|
||||
#
|
||||
# o SBI Server(http://<eth0 IP address>:80)
|
||||
# sbi:
|
||||
# dev: eth0
|
||||
#
|
||||
udr:
|
||||
sbi:
|
||||
- addr: 127.0.0.7
|
||||
port: 7777
|
||||
|
||||
#
|
||||
# nrf:
|
||||
#
|
||||
# <SBI Client>>
|
||||
#
|
||||
# o SBI Client(http://127.0.0.1:7777)
|
||||
# sbi:
|
||||
# addr: 127.0.0.1
|
||||
# port: 7777
|
||||
#
|
||||
# o SBI Client(https://127.0.0.1:443, http://nrf.open5gs.org:80)
|
||||
# sbi:
|
||||
# - addr: 127.0.0.1
|
||||
# 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.1:80 is selected.
|
||||
#
|
||||
# sbi:
|
||||
# addr:
|
||||
# - 127.0.0.1
|
||||
# - fe80::1%@loopback_devname@
|
||||
#
|
||||
nrf:
|
||||
sbi:
|
||||
- addr:
|
||||
- 127.0.0.1
|
||||
- ::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 gNB per AMF
|
||||
# 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
|
||||
#
|
||||
# - 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:
|
||||
|
||||
#
|
||||
# time:
|
||||
#
|
||||
# o NF Instance Heartbeat (Default : 10 seconds)
|
||||
#
|
||||
# o NF Instance Heartbeat (Disabled)
|
||||
# nf_instance:
|
||||
# heartbeat: 0
|
||||
#
|
||||
# o NF Instance Heartbeat (10 seconds)
|
||||
# nf_instance:
|
||||
# heartbeat: 10
|
||||
time:
|
||||
145
configs/open5gs/upf.yaml.in
Normal file
145
configs/open5gs/upf.yaml.in
Normal file
@@ -0,0 +1,145 @@
|
||||
#
|
||||
# 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,pfcp,gtp,upf,event,tlv,mem,sock
|
||||
#
|
||||
logger:
|
||||
file: @localstatedir@/log/open5gs/upf.log
|
||||
|
||||
#
|
||||
# upf:
|
||||
#
|
||||
# <PFCP Server>
|
||||
#
|
||||
# o PFCP Server(127.0.0.4:8805)
|
||||
# pfcp:
|
||||
# addr: 127.0.0.4
|
||||
#
|
||||
# <GTP-U Server>>
|
||||
#
|
||||
# o GTP-U Server(127.0.0.4:2152, [::1]:2152)
|
||||
# gtpu:
|
||||
# - addr:
|
||||
# - 127.0.0.4
|
||||
# - ::1
|
||||
#
|
||||
# o Same configuration(127.0.0.4:2152, [::1]:2152) as below.
|
||||
# gtpu:
|
||||
# name: localhost
|
||||
#
|
||||
# o User Plane IP Resource information
|
||||
# gtpu:
|
||||
# - addr:
|
||||
# - 127.0.0.4
|
||||
# - ::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
|
||||
#
|
||||
upf:
|
||||
pfcp:
|
||||
- addr: 127.0.0.4
|
||||
gtpu:
|
||||
- addr:
|
||||
- 127.0.0.4
|
||||
- ::1
|
||||
pdn:
|
||||
|
||||
#
|
||||
# smf:
|
||||
#
|
||||
# <PFCP Client>>
|
||||
#
|
||||
# o PFCP Client(127.0.0.3:8805)
|
||||
#
|
||||
# pfcp:
|
||||
# addr: 127.0.0.3
|
||||
#
|
||||
smf:
|
||||
pfcp:
|
||||
- addr: 127.0.0.3
|
||||
|
||||
#
|
||||
# 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 gNB per AMF
|
||||
# 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
|
||||
#
|
||||
# - 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,123 +0,0 @@
|
||||
db_uri: mongodb://localhost/open5gs
|
||||
|
||||
logger:
|
||||
|
||||
parameter:
|
||||
no_ipv6: 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
|
||||
- module: @freediameter_extensions_builddir@/dict_s6a.fdx
|
||||
connect:
|
||||
- identity: hss.localdomain
|
||||
addr: 127.0.0.4
|
||||
|
||||
s1ap:
|
||||
addr: 127.0.0.1
|
||||
gtpc:
|
||||
addr: 127.0.0.1
|
||||
gummei:
|
||||
plmn_id:
|
||||
mcc: 001
|
||||
mnc: 01
|
||||
mme_gid: 2
|
||||
mme_code: 1
|
||||
tai:
|
||||
plmn_id:
|
||||
mcc: 001
|
||||
mnc: 01
|
||||
tac: 12345
|
||||
security:
|
||||
integrity_order : [ EIA1, EIA2, EIA0 ]
|
||||
ciphering_order : [ EEA0, EEA1, EEA2 ]
|
||||
|
||||
network_name:
|
||||
full: Open5GS
|
||||
|
||||
hss:
|
||||
freeDiameter:
|
||||
identity: hss.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
|
||||
- module: @freediameter_extensions_builddir@/dict_s6a.fdx
|
||||
connect:
|
||||
- identity: mme.localdomain
|
||||
addr: 127.0.0.2
|
||||
|
||||
sgw:
|
||||
gtpc:
|
||||
addr: 127.0.0.2
|
||||
gtpu:
|
||||
addr: 127.0.0.2
|
||||
|
||||
pgw:
|
||||
freeDiameter:
|
||||
identity: pgw.localdomain
|
||||
realm: localdomain
|
||||
listen_on: 127.0.0.3
|
||||
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.5
|
||||
|
||||
gtpc:
|
||||
addr:
|
||||
- 127.0.0.3
|
||||
- ::1
|
||||
gtpu:
|
||||
- addr: 127.0.0.3
|
||||
- addr: ::1
|
||||
ue_pool:
|
||||
- addr: 45.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
|
||||
pcrf:
|
||||
freeDiameter:
|
||||
identity: pcrf.localdomain
|
||||
realm: localdomain
|
||||
listen_on: 127.0.0.5
|
||||
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: pgw.localdomain
|
||||
addr: 127.0.0.3
|
||||
@@ -19,7 +19,6 @@ mme:
|
||||
- module: @freediameter_extensions_builddir@/dict_nas_mipv6.fdx
|
||||
- module: @freediameter_extensions_builddir@/dict_dcca.fdx
|
||||
- module: @freediameter_extensions_builddir@/dict_dcca_3gpp.fdx
|
||||
- module: @freediameter_extensions_builddir@/dict_s6a.fdx
|
||||
connect:
|
||||
- identity: hss.localdomain
|
||||
addr: 127.0.0.4
|
||||
@@ -60,7 +59,6 @@ hss:
|
||||
- module: @freediameter_extensions_builddir@/dict_nas_mipv6.fdx
|
||||
- module: @freediameter_extensions_builddir@/dict_dcca.fdx
|
||||
- module: @freediameter_extensions_builddir@/dict_dcca_3gpp.fdx
|
||||
- module: @freediameter_extensions_builddir@/dict_s6a.fdx
|
||||
connect:
|
||||
- identity: mme.localdomain
|
||||
addr: 127.0.0.2
|
||||
@@ -96,14 +94,16 @@ pgw:
|
||||
gtpu:
|
||||
- addr: 127.0.0.3
|
||||
- addr: ::1
|
||||
ue_pool:
|
||||
- addr: 45.45.0.1/16
|
||||
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
|
||||
|
||||
pcrf:
|
||||
freeDiameter:
|
||||
identity: pcrf.localdomain
|
||||
|
||||
@@ -2,5 +2,5 @@
|
||||
Name=ogstun
|
||||
|
||||
[Network]
|
||||
Address=45.45.0.1/16
|
||||
Address=10.45.0.1/16
|
||||
Address=cafe::1/64
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
[Unit]
|
||||
Description=Open5GS HSS Daemon
|
||||
BindTo=mongodb.service
|
||||
After=networking.service mongodb.service
|
||||
Wants=mongodb.service mongod.service
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
@@ -13,6 +12,7 @@ Restart=always
|
||||
ExecStart=@bindir@/open5gs-hssd -c @sysconfdir@/open5gs/hss.yaml
|
||||
RestartSec=2
|
||||
RestartPreventExitStatus=1
|
||||
ExecReload=/bin/kill -HUP $MAINPID
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
|
||||
@@ -12,6 +12,7 @@ Restart=always
|
||||
ExecStart=@bindir@/open5gs-mmed -c @sysconfdir@/open5gs/mme.yaml
|
||||
RestartSec=2
|
||||
RestartPreventExitStatus=1
|
||||
ExecReload=/bin/kill -HUP $MAINPID
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
[Unit]
|
||||
Description=Open5GS PCRF Daemon
|
||||
BindTo=mongodb.service
|
||||
After=networking.service mongodb.service
|
||||
Wants=mongodb.service mongod.service
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
@@ -13,6 +12,7 @@ Restart=always
|
||||
ExecStart=@bindir@/open5gs-pcrfd -c @sysconfdir@/open5gs/pcrf.yaml
|
||||
RestartSec=2
|
||||
RestartPreventExitStatus=1
|
||||
ExecReload=/bin/kill -HUP $MAINPID
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
[Unit]
|
||||
Description=Open5GS P-GW Daemon
|
||||
After=networking.service
|
||||
Requires=systemd-networkd.service
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
@@ -12,6 +13,7 @@ Restart=always
|
||||
ExecStart=@bindir@/open5gs-pgwd -c @sysconfdir@/open5gs/pgw.yaml
|
||||
RestartSec=2
|
||||
RestartPreventExitStatus=1
|
||||
ExecReload=/bin/kill -HUP $MAINPID
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
|
||||
@@ -12,6 +12,7 @@ Restart=always
|
||||
ExecStart=@bindir@/open5gs-sgwd -c @sysconfdir@/open5gs/sgw.yaml
|
||||
RestartSec=2
|
||||
RestartPreventExitStatus=1
|
||||
ExecReload=/bin/kill -HUP $MAINPID
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
|
||||
@@ -20,7 +20,6 @@ mme:
|
||||
- module: @freediameter_extensions_builddir@/dict_nas_mipv6.fdx
|
||||
- module: @freediameter_extensions_builddir@/dict_dcca.fdx
|
||||
- module: @freediameter_extensions_builddir@/dict_dcca_3gpp.fdx
|
||||
- module: @freediameter_extensions_builddir@/dict_s6a.fdx
|
||||
connect:
|
||||
- identity: hss.open-ims.test
|
||||
addr: 127.0.0.4
|
||||
@@ -61,7 +60,6 @@ hss:
|
||||
- module: @freediameter_extensions_builddir@/dict_nas_mipv6.fdx
|
||||
- module: @freediameter_extensions_builddir@/dict_dcca.fdx
|
||||
- module: @freediameter_extensions_builddir@/dict_dcca_3gpp.fdx
|
||||
- module: @freediameter_extensions_builddir@/dict_s6a.fdx
|
||||
connect:
|
||||
- identity: mme.open-ims.test
|
||||
addr: 127.0.0.2
|
||||
@@ -101,14 +99,16 @@ pgw:
|
||||
gtpu:
|
||||
- addr: 127.0.0.3
|
||||
- addr: ::1
|
||||
ue_pool:
|
||||
- addr: 45.45.0.1/16
|
||||
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
|
||||
|
||||
#
|
||||
# <P-CSCF>
|
||||
#
|
||||
|
||||
151
debian/changelog
vendored
151
debian/changelog
vendored
@@ -1,3 +1,154 @@
|
||||
open5gs (1.3.0~eoan1) eoan; urgency=medium
|
||||
|
||||
* Release-16
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Fri, 10 Jul 2020 17:33:18 -0400
|
||||
|
||||
open5gs (1.3.0~focal1) focal; urgency=medium
|
||||
|
||||
* Release-16
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Fri, 10 Jul 2020 17:32:17 -0400
|
||||
|
||||
open5gs (1.3.0~bionic1) bionic; urgency=medium
|
||||
|
||||
* Release-16
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Fri, 10 Jul 2020 17:30:57 -0400
|
||||
|
||||
open5gs (1.3.0) unstable; urgency=medium
|
||||
|
||||
* Release-16
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Fri, 10 Jul 2020 17:29:33 -0400
|
||||
|
||||
open5gs (1.2.4~eoan) eoan; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Sun, 26 Apr 2020 15:08:22 -0400
|
||||
|
||||
open5gs (1.2.4~bionic) bionic; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Sun, 26 Apr 2020 15:07:40 -0400
|
||||
|
||||
open5gs (1.2.4~focal) focal; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Sun, 26 Apr 2020 15:04:41 -0400
|
||||
|
||||
open5gs (1.2.4) unstable; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Sun, 26 Apr 2020 13:59:06 -0400
|
||||
|
||||
open5gs (1.2.3~eoan) eoan; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Sat, 04 Apr 2020 18:11:28 -0400
|
||||
|
||||
open5gs (1.2.3~disco) disco; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Sat, 04 Apr 2020 18:10:43 -0400
|
||||
|
||||
open5gs (1.2.3~bionic1) bionic; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Sat, 04 Apr 2020 18:08:17 -0400
|
||||
|
||||
open5gs (1.2.3) unstable; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Sat, 04 Apr 2020 18:03:59 -0400
|
||||
|
||||
open5gs (1.2.2~eoan) eoan; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Wed, 25 Mar 2020 23:52:52 +0000
|
||||
|
||||
open5gs (1.2.2~disco) disco; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Wed, 25 Mar 2020 23:51:53 +0000
|
||||
|
||||
open5gs (1.2.2~bionic) bionic; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Wed, 25 Mar 2020 23:49:09 +0000
|
||||
|
||||
open5gs (1.2.2) unstable; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Wed, 25 Mar 2020 23:46:47 +0000
|
||||
|
||||
open5gs (1.2.1~eoan) eoan; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Wed, 05 Feb 2020 19:59:15 +0900
|
||||
|
||||
open5gs (1.2.1~disco) disco; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Wed, 05 Feb 2020 19:58:05 +0900
|
||||
|
||||
open5gs (1.2.1~bionic) bionic; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Wed, 05 Feb 2020 19:56:44 +0900
|
||||
|
||||
open5gs (1.2.1) unstable; urgency=medium
|
||||
|
||||
* Bug Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Wed, 05 Feb 2020 19:52:54 +0900
|
||||
|
||||
open5gs (1.2.0~eoan) eoan; urgency=medium
|
||||
|
||||
* VoLTE tested
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Sun, 12 Jan 2020 23:08:38 +0900
|
||||
|
||||
open5gs (1.2.0~disco) disco; urgency=medium
|
||||
|
||||
* VoLTE tested
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Sun, 12 Jan 2020 23:07:41 +0900
|
||||
|
||||
open5gs (1.2.0~bionic2) bionic; urgency=medium
|
||||
|
||||
* VoLTE tested
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Sun, 12 Jan 2020 23:05:19 +0900
|
||||
|
||||
open5gs (1.2.0) unstable; urgency=medium
|
||||
|
||||
* VoLTE tested
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Sun, 12 Jan 2020 22:45:29 +0900
|
||||
|
||||
open5gs (1.1.0) unstable; urgency=medium
|
||||
|
||||
* Static IP addresses
|
||||
* Many BUGS Fixed
|
||||
|
||||
-- Sukchan Lee <acetcom@gmail.com> Mon, 18 Nov 2019 22:27:05 +0900
|
||||
|
||||
open5gs (1.0.0) unstable; urgency=medium
|
||||
|
||||
* Change build-tool to MESON
|
||||
|
||||
8
debian/control
vendored
8
debian/control
vendored
@@ -4,6 +4,7 @@ Priority: optional
|
||||
Maintainer: Harald Welte <laforge@gnumonks.org>
|
||||
Uploaders: Sukchan Lee <acetcom@gmail.com>
|
||||
Build-Depends: debhelper (>= 11),
|
||||
git,
|
||||
pkg-config,
|
||||
meson (>= 0.43.0),
|
||||
flex,
|
||||
@@ -16,6 +17,8 @@ Build-Depends: debhelper (>= 11),
|
||||
libbson-dev,
|
||||
libsctp-dev,
|
||||
libyaml-dev,
|
||||
libmicrohttpd-dev,
|
||||
libcurl4-gnutls-dev,
|
||||
Standards-Version: 4.3.0
|
||||
Rules-Requires-Root: no
|
||||
Homepage: https://open5gs.org
|
||||
@@ -85,7 +88,7 @@ Architecture: any
|
||||
Multi-Arch: same
|
||||
Depends: ${shlibs:Depends},
|
||||
${misc:Depends},
|
||||
mongodb,
|
||||
mongodb-org | mongodb,
|
||||
open5gs-common (= ${binary:Version})
|
||||
Description: Open Source based 3GPP EPC PCRF (Policy and Charging Rules Function)
|
||||
Open5GS is a C-language Open Source implementation of the 3GPP Evolved
|
||||
@@ -101,7 +104,7 @@ Architecture: any
|
||||
Multi-Arch: same
|
||||
Depends: ${shlibs:Depends},
|
||||
${misc:Depends},
|
||||
mongodb,
|
||||
mongodb-org | mongodb,
|
||||
open5gs-common (= ${binary:Version})
|
||||
Description: Open Source based 3GPP EPC HSS (Home Subscriber Server)
|
||||
Open5GS is a C-language Open Source implementation of the 3GPP Evolved
|
||||
@@ -117,7 +120,6 @@ Package: open5gs
|
||||
Architecture: any
|
||||
Multi-Arch: same
|
||||
Depends: ${misc:Depends},
|
||||
mongodb,
|
||||
open5gs-common (= ${binary:Version}),
|
||||
open5gs-mme (= ${binary:Version}),
|
||||
open5gs-sgw (= ${binary:Version}),
|
||||
|
||||
1
debian/open5gs-common.install
vendored
1
debian/open5gs-common.install
vendored
@@ -3,3 +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
|
||||
|
||||
@@ -66,8 +66,13 @@ export DEBEMAIL='acetcom@gmail.com'
|
||||
$ gpg --export > public.asc
|
||||
$ gpg --import public.asc
|
||||
|
||||
* Version Change
|
||||
$ vi meson.build
|
||||
$ ./misc/git-version-gen . > .tarball-version 2>/dev/null
|
||||
|
||||
* Upload OpenBuildService
|
||||
$ dch -i
|
||||
$ meson subprojects download freeDiameter
|
||||
$ debuild -S -uc -us -d
|
||||
$ osc co home:acetcom:open5gs latest
|
||||
$ cd home\:acetcom\:open5gs/latest/
|
||||
@@ -76,9 +81,13 @@ export DEBEMAIL='acetcom@gmail.com'
|
||||
|
||||
* Upload LaunchPad
|
||||
$ dch -i
|
||||
$ meson subprojects download freeDiameter
|
||||
$ debuild -S -d
|
||||
$ dput ppa:open5gs/latest *.source.changes
|
||||
|
||||
* Tagging
|
||||
$ git tag v1.x.x -a
|
||||
|
||||
* Build package
|
||||
$ dpkg-buildpackage -d
|
||||
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
if ! grep "ogstun" /proc/net/dev > /dev/null; then
|
||||
ip tuntap add name ogstun mode tun
|
||||
fi
|
||||
ip addr del 45.45.0.1/16 dev ogstun 2> /dev/null
|
||||
ip addr add 45.45.0.1/16 dev ogstun
|
||||
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
|
||||
|
||||
@@ -5,7 +5,7 @@ FROM ${dist}:${tag}
|
||||
MAINTAINER Sukchan Lee <acetcom@gmail.com>
|
||||
|
||||
RUN yum -y install epel-release
|
||||
RUN yum -y install https://centos7.iuscommunity.org/ius-release.rpm
|
||||
#RUN yum -y install https://centos7.iuscommunity.org/ius-release.rpm
|
||||
RUN yum -y update
|
||||
|
||||
RUN yum -y install \
|
||||
@@ -15,6 +15,7 @@ RUN yum -y install \
|
||||
flex \
|
||||
bison \
|
||||
git \
|
||||
meson \
|
||||
lksctp-tools-devel \
|
||||
libidn-devel \
|
||||
gnutls-devel \
|
||||
@@ -22,7 +23,7 @@ RUN yum -y install \
|
||||
openssl-devel \
|
||||
cyrus-sasl-devel \
|
||||
libyaml-devel \
|
||||
iproute \
|
||||
mongo-c-driver-devel
|
||||
|
||||
RUN pip3 install --upgrade pip && pip install meson
|
||||
mongo-c-driver-devel \
|
||||
libmicrohttpd-devel \
|
||||
libcurl-devel \
|
||||
iproute
|
||||
|
||||
@@ -1,29 +0,0 @@
|
||||
ARG dist=centos
|
||||
ARG tag=latest
|
||||
FROM ${dist}:${tag}
|
||||
|
||||
MAINTAINER Sukchan Lee <acetcom@gmail.com>
|
||||
|
||||
RUN dnf -y install epel-release && \
|
||||
dnf -y install 'dnf-command(config-manager)' && \
|
||||
dnf config-manager --set-enabled PowerTools && \
|
||||
dnf -y update
|
||||
|
||||
RUN dnf -y install \
|
||||
python3 \
|
||||
ninja-build \
|
||||
gcc \
|
||||
flex \
|
||||
bison \
|
||||
git \
|
||||
lksctp-tools-devel \
|
||||
libidn-devel \
|
||||
gnutls-devel \
|
||||
libgcrypt-devel \
|
||||
openssl-devel \
|
||||
cyrus-sasl-devel \
|
||||
libyaml-devel \
|
||||
iproute \
|
||||
mongo-c-driver-devel
|
||||
|
||||
RUN pip3 install --upgrade pip && pip install meson
|
||||
@@ -1,10 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
if ! grep "ogstun" /proc/net/dev > /dev/null; then
|
||||
ip tuntap add name ogstun mode tun
|
||||
fi
|
||||
ip addr del 45.45.0.1/16 dev ogstun 2> /dev/null
|
||||
ip addr add 45.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 @@
|
||||
8
|
||||
36
docker/centos/latest/base/Dockerfile
Normal file
36
docker/centos/latest/base/Dockerfile
Normal file
@@ -0,0 +1,36 @@
|
||||
ARG dist=centos
|
||||
ARG tag=latest
|
||||
FROM ${dist}:${tag}
|
||||
|
||||
MAINTAINER Sukchan Lee <acetcom@gmail.com>
|
||||
|
||||
RUN dnf -y install epel-release && \
|
||||
dnf -y install 'dnf-command(config-manager)' && \
|
||||
dnf config-manager --set-enabled PowerTools && \
|
||||
dnf -y update
|
||||
|
||||
RUN dnf -y install \
|
||||
https://www.elrepo.org/elrepo-release-8.el8.elrepo.noarch.rpm && \
|
||||
dnf config-manager --set-enabled elrepo-testing && \
|
||||
dnf -y update
|
||||
|
||||
RUN dnf -y 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
|
||||
|
||||
RUN dnf -y install meson
|
||||
10
docker/centos/latest/dev/setup.sh
Executable file
10
docker/centos/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
docker/debian/buster
Symbolic link
1
docker/debian/buster
Symbolic link
@@ -0,0 +1 @@
|
||||
../ubuntu/latest
|
||||
@@ -1,31 +0,0 @@
|
||||
ARG dist=ubuntu
|
||||
ARG tag=latest
|
||||
FROM ${dist}:${tag}
|
||||
|
||||
MAINTAINER Sukchan Lee <acetcom@gmail.com>
|
||||
|
||||
RUN apt-get update && \
|
||||
apt-get upgrade -y && \
|
||||
apt-get install -y --no-install-recommends \
|
||||
python3-pip \
|
||||
python3-setuptools \
|
||||
ninja-build \
|
||||
build-essential \
|
||||
flex \
|
||||
bison \
|
||||
git \
|
||||
libsctp-dev \
|
||||
libgnutls28-dev \
|
||||
libgcrypt-dev \
|
||||
libssl-dev \
|
||||
libidn11-dev \
|
||||
libmongoc-dev \
|
||||
libbson-dev \
|
||||
libyaml-dev \
|
||||
iproute2 \
|
||||
ca-certificates \
|
||||
netbase \
|
||||
pkg-config && \
|
||||
apt-get clean
|
||||
RUN python3 -m pip install --upgrade pip
|
||||
RUN python3 -m pip install meson
|
||||
@@ -1 +0,0 @@
|
||||
../../ubuntu/bionic/dev
|
||||
@@ -1 +0,0 @@
|
||||
stable
|
||||
@@ -1 +1 @@
|
||||
buster
|
||||
../ubuntu/latest
|
||||
@@ -1 +1 @@
|
||||
buster
|
||||
../ubuntu/latest
|
||||
@@ -1 +1 @@
|
||||
buster
|
||||
../ubuntu/latest
|
||||
@@ -1 +1 @@
|
||||
30
|
||||
latest
|
||||
1
docker/fedora/30
Symbolic link
1
docker/fedora/30
Symbolic link
@@ -0,0 +1 @@
|
||||
latest
|
||||
@@ -1,24 +0,0 @@
|
||||
ARG dist=fedora
|
||||
ARG tag=latest
|
||||
FROM ${dist}:${tag}
|
||||
|
||||
MAINTAINER Sukchan Lee <acetcom@gmail.com>
|
||||
|
||||
RUN dnf -y install \
|
||||
python3 \
|
||||
ninja-build \
|
||||
gcc \
|
||||
flex \
|
||||
bison \
|
||||
git \
|
||||
lksctp-tools-devel \
|
||||
libidn-devel \
|
||||
gnutls-devel \
|
||||
libgcrypt-devel \
|
||||
openssl-devel \
|
||||
cyrus-sasl-devel \
|
||||
libyaml-devel \
|
||||
iproute \
|
||||
mongo-c-driver-devel
|
||||
|
||||
RUN pip3 install --upgrade pip && pip install meson
|
||||
@@ -1,22 +0,0 @@
|
||||
ARG dist=fedora
|
||||
ARG tag=latest
|
||||
ARG username=acetcom
|
||||
FROM ${username}/${dist}-${tag}-open5gs-base
|
||||
|
||||
MAINTAINER Sukchan Lee <acetcom@gmail.com>
|
||||
|
||||
RUN dnf -y install \
|
||||
cscope \
|
||||
vim \
|
||||
sudo \
|
||||
iputils \
|
||||
net-tools
|
||||
|
||||
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}
|
||||
@@ -1,10 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
if ! grep "ogstun" /proc/net/dev > /dev/null; then
|
||||
ip tuntap add name ogstun mode tun
|
||||
fi
|
||||
ip addr del 45.45.0.1/16 dev ogstun 2> /dev/null
|
||||
ip addr add 45.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
docker/fedora/31
Symbolic link
1
docker/fedora/31
Symbolic link
@@ -0,0 +1 @@
|
||||
latest
|
||||
@@ -1 +0,0 @@
|
||||
30
|
||||
26
docker/fedora/latest/base/Dockerfile
Normal file
26
docker/fedora/latest/base/Dockerfile
Normal file
@@ -0,0 +1,26 @@
|
||||
ARG dist=fedora
|
||||
ARG tag=latest
|
||||
FROM ${dist}:${tag}
|
||||
|
||||
MAINTAINER Sukchan Lee <acetcom@gmail.com>
|
||||
|
||||
RUN dnf -y 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
|
||||
|
||||
RUN dnf -y install meson
|
||||
23
docker/fedora/latest/dev/Dockerfile
Normal file
23
docker/fedora/latest/dev/Dockerfile
Normal file
@@ -0,0 +1,23 @@
|
||||
ARG dist=fedora
|
||||
ARG tag=latest
|
||||
ARG username=acetcom
|
||||
FROM ${username}/${dist}-${tag}-open5gs-base
|
||||
|
||||
MAINTAINER Sukchan Lee <acetcom@gmail.com>
|
||||
|
||||
RUN dnf -y install \
|
||||
findutils \
|
||||
cscope \
|
||||
vim \
|
||||
sudo \
|
||||
iputils \
|
||||
net-tools
|
||||
|
||||
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/fedora/latest/dev/setup.sh
Executable file
10
docker/fedora/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
docker/ubuntu/bionic
Symbolic link
1
docker/ubuntu/bionic
Symbolic link
@@ -0,0 +1 @@
|
||||
latest
|
||||
@@ -1,30 +0,0 @@
|
||||
ARG dist=ubuntu
|
||||
ARG tag=latest
|
||||
FROM ${dist}:${tag}
|
||||
|
||||
MAINTAINER Sukchan Lee <acetcom@gmail.com>
|
||||
|
||||
RUN apt-get update && \
|
||||
apt-get upgrade -y && \
|
||||
apt-get install -y --no-install-recommends \
|
||||
python3-pip \
|
||||
python3-setuptools \
|
||||
ninja-build \
|
||||
build-essential \
|
||||
flex \
|
||||
bison \
|
||||
git \
|
||||
libsctp-dev \
|
||||
libgnutls28-dev \
|
||||
libgcrypt-dev \
|
||||
libssl-dev \
|
||||
libidn11-dev \
|
||||
libmongoc-dev \
|
||||
libbson-dev \
|
||||
libyaml-dev \
|
||||
iproute2 \
|
||||
ca-certificates \
|
||||
netbase \
|
||||
pkg-config && \
|
||||
apt-get clean
|
||||
RUN python3 -m pip install meson
|
||||
@@ -1,10 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
if ! grep "ogstun" /proc/net/dev > /dev/null; then
|
||||
ip tuntap add name ogstun mode tun
|
||||
fi
|
||||
ip addr del 45.45.0.1/16 dev ogstun 2> /dev/null
|
||||
ip addr add 45.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 +1 @@
|
||||
bionic
|
||||
latest
|
||||
1
docker/ubuntu/focal
Symbolic link
1
docker/ubuntu/focal
Symbolic link
@@ -0,0 +1 @@
|
||||
latest
|
||||
@@ -1 +0,0 @@
|
||||
bionic
|
||||
34
docker/ubuntu/latest/base/Dockerfile
Normal file
34
docker/ubuntu/latest/base/Dockerfile
Normal file
@@ -0,0 +1,34 @@
|
||||
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 \
|
||||
iproute2 \
|
||||
ca-certificates \
|
||||
netbase \
|
||||
pkg-config && \
|
||||
apt-get clean
|
||||
10
docker/ubuntu/latest/dev/setup.sh
Executable file
10
docker/ubuntu/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 +1 @@
|
||||
bionic
|
||||
latest
|
||||
@@ -16,8 +16,8 @@
|
||||
title: Open5GS
|
||||
email: acetcom@gmail.com
|
||||
description: >- # this means to ignore newlines until "baseurl:"
|
||||
An open source implementation of the Evolved Packet Core of LTE networks
|
||||
supporting 3GPP Release 14.
|
||||
Open5GS is a C-language Open Source implementation of 5GC and EPC,
|
||||
i.e. the core network of NR/LTE network (Release-16)
|
||||
baseurl: "/open5gs" # the subpath of your site, e.g. /blog
|
||||
url: "https://open5gs.org" # the base hostname & protocol for your site, e.g. http://example.com
|
||||
author: "Sukchan Lee"
|
||||
|
||||
@@ -8,7 +8,9 @@ title: Quickstart
|
||||
### Install Open5GS with a Package Manager
|
||||
---
|
||||
|
||||
The Open5GS package is available on the recent versions of *Ubuntu*.
|
||||
#### Ubuntu
|
||||
|
||||
*Ubuntu* makes it easy to install Open5GS as shown below,
|
||||
|
||||
```bash
|
||||
$ sudo apt update
|
||||
@@ -18,42 +20,57 @@ $ sudo apt update
|
||||
$ sudo apt install open5gs
|
||||
```
|
||||
|
||||
The Open5GS package is also available on [OBS](https://build.opensuse.org/package/show/home:acetcom:open5gs:snapshot/open5gs). First, install the authentication key as shown below.
|
||||
#### Debian
|
||||
|
||||
The Open5GS packages for Debian are available on [OBS](https://build.opensuse.org/project/show/home:acetcom:open5gs). If you want to use the latest Debian version like *Debian* 10(Buster), you need to install MongoDB first.
|
||||
|
||||
|
||||
```bash
|
||||
$ sudo apt update
|
||||
$ sudo apt install wget gnupg
|
||||
$ wget https://download.opensuse.org/repositories/home:/acetcom:/open5gs:/latest/Debian_10.0/Release.key
|
||||
$ sudo apt-key add Release.key
|
||||
|
||||
```
|
||||
|
||||
In Debian 10.0(buster), you can install it as follows:
|
||||
|
||||
```bash
|
||||
$ sudo sh -c "echo 'deb http://download.opensuse.org/repositories/home:/acetcom:/open5gs:/latest/Debian_9.0/ ./' > /etc/apt/sources.list.d/open5gs.list"
|
||||
$ wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add -
|
||||
$ echo "deb http://repo.mongodb.org/apt/debian buster/mongodb-org/4.2 main" | sudo tee /etc/apt/sources.list.d/mongodb-org.list
|
||||
$ wget -qO - https://download.opensuse.org/repositories/home:/acetcom:/open5gs:/latest/Debian_10/Release.key | sudo apt-key add -
|
||||
$ sudo sh -c "echo 'deb http://download.opensuse.org/repositories/home:/acetcom:/open5gs:/latest/Debian_10/ ./' > /etc/apt/sources.list.d/open5gs.list"
|
||||
$ sudo apt update
|
||||
$ sudo apt install mongodb-org
|
||||
$ sudo apt install open5gs
|
||||
```
|
||||
|
||||
Other Linux distributions can be installed by changing the path.
|
||||
Other distributions can be installed by changing the path.
|
||||
|
||||
```
|
||||
http://download.opensuse.org/repositories/home:/acetcom:/open5gs:/latest/Debian_10.0/
|
||||
http://download.opensuse.org/repositories/home:/acetcom:/open5gs:/latest/Debian_Testing/
|
||||
http://download.opensuse.org/repositories/home:/acetcom:/open5gs:/latest/Debian_Unstable/
|
||||
http://download.opensuse.org/repositories/home:/acetcom:/open5gs:/latest/Raspbian_10.0/
|
||||
http://download.opensuse.org/repositories/home:/acetcom:/open5gs:/latest/xUbuntu_18.04/
|
||||
http://download.opensuse.org/repositories/home:/acetcom:/open5gs:/latest/xUbuntu_19.04/
|
||||
http://download.opensuse.org/repositories/home:/acetcom:/open5gs:/latest/xUbuntu_19.10/
|
||||
https://download.opensuse.org/repositories/home:/acetcom:/open5gs:/latest/Debian_10/
|
||||
https://download.opensuse.org/repositories/home:/acetcom:/open5gs:/latest/Debian_Testing/
|
||||
https://download.opensuse.org/repositories/home:/acetcom:/open5gs:/latest/Debian_Unstable/
|
||||
https://download.opensuse.org/repositories/home:/acetcom:/open5gs:/latest/Raspbian_10/
|
||||
https://download.opensuse.org/repositories/home:/acetcom:/open5gs:/latest/xUbuntu_18.04/
|
||||
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/
|
||||
```
|
||||
|
||||
[Martin Hauke](https://build.opensuse.org/user/show/mnhauke) packaged Open5GS for *openSUSE* on [OBS](https://build.opensuse.org/package/show/home:mnhauke:nextepc/nextepc).
|
||||
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/
|
||||
```
|
||||
|
||||
#### openSUSE
|
||||
|
||||
[Martin Hauke](https://build.opensuse.org/user/show/mnhauke) packaged Open5GS for *openSUSE* on [OBS](https://build.opensuse.org/package/show/home:mnhauke:open5gs/open5gs).
|
||||
|
||||
```bash
|
||||
$ sudo zypper addrepo -f obs://home:mnhauke:nextepc home:mnhauke:nextepc
|
||||
$ sudo zypper install nextepc
|
||||
$ sudo zypper addrepo -f obs://home:mnhauke:open5gs home:mnhauke:open5gs
|
||||
$ sudo zypper install mongodb-server mongodb-shell
|
||||
$ sudo zypper install open5gs
|
||||
```
|
||||
|
||||
### Configure Open5GS
|
||||
@@ -160,7 +177,7 @@ To add subscriber information, you can do WebUI operations in the following orde
|
||||
{: .notice--info}
|
||||
|
||||
|
||||
### Adding a route for UE to have Internet connectivity
|
||||
### Adding a route for UE to have Internet connectivity {#UEInternet}
|
||||
---
|
||||
|
||||
If your phone can connect to internet, you must run the following command in Open5GS-PGW installed host.
|
||||
@@ -195,7 +212,7 @@ target prot opt source destination
|
||||
$ sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
|
||||
|
||||
### Add NAT Rule
|
||||
$ sudo iptables -t nat -A POSTROUTING -s 45.45.0.0/16 ! -o ogstun -j MASQUERADE
|
||||
$ sudo iptables -t nat -A POSTROUTING -s 10.45.0.0/16 ! -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.
|
||||
@@ -207,42 +224,12 @@ $ sudo iptables -t nat -A POSTROUTING -s 45.45.0.0/16 ! -o ogstun -j MASQUERADE
|
||||
- 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`.
|
||||
|
||||
### Troubleshooting
|
||||
---
|
||||
|
||||
Problem with Open5GS can be filed as [GitHub Issues](https://github.com/open5gs/open5gs/issues). Please include the following to get help:
|
||||
|
||||
- Attach `*.pcapng` file created by wireskark.
|
||||
- Attach configuration files at `/etc/open5gs/*.conf`.
|
||||
- Attach log files at `/var/log/open5gs/*.log`.
|
||||
|
||||
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 @@
|
||||
|
||||
logger:
|
||||
file: /var/log/open5gs/mme.log
|
||||
+ level: debug
|
||||
|
||||
parameter:
|
||||
```
|
||||
|
||||
After changing conf files, please restart Open5GS daemons.
|
||||
|
||||
```bash
|
||||
$ sudo systemctl restart open5gs-mmed
|
||||
$ sudo systemctl restart open5gs-sgwd
|
||||
```
|
||||
|
||||
### Uninstall Open5GS and WebUI
|
||||
|
||||
How to remove Open5GS package:
|
||||
|
||||
1. On *Ubuntu*:
|
||||
1. On *Ubuntu/Debian*:
|
||||
|
||||
```bash
|
||||
$ sudo apt purge open5gs
|
||||
|
||||
@@ -9,22 +9,23 @@ This post explains how to compile and install the source code on **Debian/Ubuntu
|
||||
### Getting MongoDB
|
||||
---
|
||||
|
||||
Install MongoDB with package manager.
|
||||
Install MongoDB with package manager. It is used as database for the HSS and PCRF.
|
||||
|
||||
```bash
|
||||
$ sudo apt update
|
||||
$ sudo apt install mongodb
|
||||
$ sudo systemctl start mongodb (if '/usr/bin/mongod' is not running)
|
||||
$ sudo systemctl enable mongodb (ensure to automatically start it on system boot)
|
||||
```
|
||||
|
||||
### Setting up TUN device (No persistent after rebooting)
|
||||
### Setting up TUN device (not persistent after rebooting)
|
||||
---
|
||||
|
||||
Create the TUN device with the interface name `ogstun`.
|
||||
|
||||
```bash
|
||||
$ sudo ip tuntap add name ogstun mode tun
|
||||
$ sudo ip addr add 45.45.0.1/16 dev ogstun
|
||||
$ sudo ip addr add 10.45.0.1/16 dev ogstun
|
||||
$ sudo ip addr add cafe::1/64 dev ogstun
|
||||
$ sudo ip link set ogstun up
|
||||
```
|
||||
@@ -36,16 +37,10 @@ $ sudo ip link set ogstun up
|
||||
### Building Open5GS
|
||||
---
|
||||
|
||||
Install the depedencies for building the source code.
|
||||
Install the dependencies for building the source code.
|
||||
|
||||
```bash
|
||||
$ sudo apt install python3-pip python3-setuptools ninja-build build-essential flex bison git libsctp-dev libgnutls28-dev libgcrypt-dev libssl-dev libidn11-dev libmongoc-dev libbson-dev libyaml-dev
|
||||
```
|
||||
|
||||
Install Meson using Python.
|
||||
|
||||
```bash
|
||||
$ pip3 install --user 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 libmicrohttpd-dev libcurl4-gnutls-dev meson
|
||||
```
|
||||
|
||||
Git clone.
|
||||
@@ -67,19 +62,25 @@ Check whether the compilation is correct.
|
||||
$ 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. [[testcomplex.pcapng]]({{ site.url }}{{ site.baseurl }}/assets/pcapng/testcomplex.pcapng)
|
||||
**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)
|
||||
{: .notice--info}
|
||||
|
||||
You need to perform the **installation process**.
|
||||
```bash
|
||||
$ cd build
|
||||
$ ninja install
|
||||
$ cd ../
|
||||
```
|
||||
|
||||
### Configure Open5GS
|
||||
---
|
||||
|
||||
Modify [/etc/open5gs/mme.yaml](https://github.com/{{ site.github_username }}/open5gs/blob/master/configs/open5gs/mme.yaml.in) to set the S1AP/GTP-C IP address, PLMN ID, and TAC
|
||||
Modify [install/etc/open5gs/mme.yaml](https://github.com/{{ site.github_username }}/open5gs/blob/master/configs/open5gs/mme.yaml.in) to set the S1AP/GTP-C 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 192.168.0.100 for the S1AP +GTP-U connection of MME/SGW to the eNB
|
||||
|
||||
```diff
|
||||
diff -u /etc/open5gs/mme.yaml.old /etc/open5gs/mme.yaml
|
||||
@@ -113,7 +114,7 @@ diff -u /etc/open5gs/mme.yaml.old /etc/open5gs/mme.yaml
|
||||
ciphering_order : [ EEA0, EEA1, EEA2 ]
|
||||
```
|
||||
|
||||
Modify [/etc/open5gs/sgw.yaml](https://github.com/{{ site.github_username }}/open5gs/blob/master/configs/open5gs/sgw.yaml.in) to set the GTP-U IP address.
|
||||
Modify [install/etc/open5gs/sgw.yaml](https://github.com/{{ site.github_username }}/open5gs/blob/master/configs/open5gs/sgw.yaml.in) to set the GTP-U IP address.
|
||||
```diff
|
||||
diff -u /etc/open5gs/sgw.yaml.old /etc/open5gs/sgw.yaml
|
||||
--- sgw.yaml.old 2018-04-15 18:30:25.000000000 +0900
|
||||
@@ -125,14 +126,37 @@ diff -u /etc/open5gs/sgw.yaml.old /etc/open5gs/sgw.yaml
|
||||
+ addr: 192.168.0.100
|
||||
```
|
||||
|
||||
After changing conf files, please restart Open5GS daemons.
|
||||
If you modify the config files while Open5GS daemons are running, please restart them
|
||||
|
||||
|
||||
### Running Open5GS
|
||||
---
|
||||
|
||||
Specify the absolute path to the sharead library as follows.
|
||||
|
||||
```bash
|
||||
$ cd install
|
||||
$ 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-mmed
|
||||
...
|
||||
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/
|
||||
$ ./open5gs-pcrfd
|
||||
Open5GS daemon v1.0.0
|
||||
|
||||
@@ -197,8 +221,12 @@ Options:
|
||||
-h : show this message and exit
|
||||
```
|
||||
|
||||
You can also copy the binaries to /usr/bin to be able to run them from anywhere on the system.
|
||||
```bash
|
||||
$ cp open5gs* /usr/bin/
|
||||
```
|
||||
|
||||
### Building WebUI of Open5GS
|
||||
### Building the WebUI of Open5GS
|
||||
---
|
||||
|
||||
[Node.js](https://nodejs.org/) is required to build WebUI of Open5GS
|
||||
@@ -241,16 +269,16 @@ 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.
|
||||
**Tip:** This addition immediately affects Open5GS without restarting any daemon.
|
||||
{: .notice--warning}
|
||||
|
||||
### Adding a route for UE to have internet connectivity
|
||||
### IP routing + NAT for UE internet connectivity
|
||||
---
|
||||
|
||||
If your phone can connect to internet, you must run the following command in Open5GS-PGW installed host.
|
||||
To allow your phones to connect to the internet, you must run the following command on the host running Open5GS-PGW:
|
||||
|
||||
```bash
|
||||
### Check IP Tables
|
||||
### Check IP Table 'forward'
|
||||
$ sudo iptables -L
|
||||
Chain INPUT (policy ACCEPT)
|
||||
target prot opt source destination
|
||||
@@ -261,7 +289,7 @@ target prot opt source destination
|
||||
Chain OUTPUT (policy ACCEPT)
|
||||
target prot opt source destination
|
||||
|
||||
### Check NAT Tables
|
||||
### Check IP Table 'nat'
|
||||
$ sudo iptables -L -t nat
|
||||
Chain PREROUTING (policy ACCEPT)
|
||||
target prot opt source destination
|
||||
@@ -279,10 +307,11 @@ target prot opt source destination
|
||||
$ sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
|
||||
|
||||
### Add NAT Rule
|
||||
$ sudo iptables -t nat -A POSTROUTING -s 45.45.0.0/16 ! -o ogstun -j MASQUERADE
|
||||
$ sudo iptables -t nat -A POSTROUTING -s 10.45.0.0/16 ! -o ogstun -j MASQUERADE
|
||||
```
|
||||
|
||||
**Note:** 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.
|
||||
**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.
|
||||
{: .notice--danger}
|
||||
|
||||
### Turn on your eNodeB and Phone
|
||||
---
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
426
docs/_docs/new/02-installing-5g-core.md
Normal file
426
docs/_docs/new/02-installing-5g-core.md
Normal file
@@ -0,0 +1,426 @@
|
||||
---
|
||||
title: Installing 5G Core from Sources
|
||||
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}
|
||||
|
||||
### Getting MongoDB
|
||||
---
|
||||
|
||||
Install MongoDB with package manager. It is used as database for the UDR.
|
||||
|
||||
```bash
|
||||
$ sudo apt update
|
||||
$ sudo apt install mongodb
|
||||
$ sudo systemctl start mongodb (if '/usr/bin/mongod' is not running)
|
||||
$ sudo systemctl enable mongodb (ensure to automatically start it on system boot)
|
||||
```
|
||||
|
||||
### Setting up TUN device (not persistent after rebooting)
|
||||
---
|
||||
|
||||
Create the TUN device with the interface name `ogstun`.
|
||||
|
||||
```bash
|
||||
$ sudo ip tuntap add name ogstun mode tun
|
||||
$ sudo ip addr add 10.45.0.1/16 dev ogstun
|
||||
$ 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:
|
||||
`$ sudo ./misc/netconf.sh`
|
||||
{: .notice--info}
|
||||
|
||||
### Building Open5GS
|
||||
---
|
||||
|
||||
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
|
||||
```
|
||||
|
||||
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 in your environment.
|
||||
```bash
|
||||
$ cd build
|
||||
$ ./tests/registration/registration
|
||||
```
|
||||
|
||||
**Tip:** You can also check the result of `./test/registration/registration` with a tool that captures packets. If you are running `wireshark`, select the `any` interface and set FILTER to `ngap || http || pfcp || gtp`.
|
||||
{: .notice--info}
|
||||
|
||||
You need to perform the **installation process**.
|
||||
```bash
|
||||
$ cd build
|
||||
$ ninja install
|
||||
$ cd ../
|
||||
```
|
||||
|
||||
### Configure Open5GS
|
||||
---
|
||||
|
||||
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 192.168.0.100 for the NGAP connection of AMF 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.2
|
||||
port: 7777
|
||||
ngap:
|
||||
+ - addr: 192.168.0.100
|
||||
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: 1
|
||||
+ mcc: 901
|
||||
+ mnc: 70
|
||||
+ tac: 7
|
||||
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.4
|
||||
gtpu:
|
||||
+ - addr: 192.168.0.100
|
||||
pdn:
|
||||
```
|
||||
|
||||
If you modify the config files while Open5GS daemons are running, please restart them
|
||||
|
||||
|
||||
### 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-nrfd
|
||||
Open5GS daemon v1.3.0
|
||||
|
||||
06/21 23:37:46.749: [app] INFO: Configuration: '/home/acetcom/Documents/git/open5gs/install/etc/open5gs/nrf.yaml' (../src/main.c:54)
|
||||
06/21 23:37:46.749: [app] INFO: File Logging: '/home/acetcom/Documents/git/open5gs/install/var/log/open5gs/nrf.log' (../src/main.c:57)
|
||||
06/21 23:37:46.749: [app] INFO: NRF initialize...done (../src/nrf/app.c:31)
|
||||
06/21 23:37:46.749: [sbi] INFO: sbi_server() [127.0.0.1]:7777 (../lib/sbi/server.c:291)
|
||||
06/21 23:37:46.749: [sbi] INFO: sbi_server() [::1]:7777 (../lib/sbi/server.c:291
|
||||
|
||||
|
||||
$ ./install/bin/open5gs-amfd
|
||||
Open5GS daemon v1.3.0
|
||||
|
||||
06/21 23:38:15.834: [app] INFO: Configuration: '/home/acetcom/Documents/git/open5gs/install/etc/open5gs/amf.yaml' (../src/main.c:54)
|
||||
06/21 23:38:15.834: [app] INFO: File Logging: '/home/acetcom/Documents/git/open5gs/install/var/log/open5gs/amf.log' (../src/main.c:57)
|
||||
06/21 23:38:15.876: [app] INFO: AMF initialize...done (../src/amf/app.c:33)
|
||||
06/21 23:38:15.876: [sbi] INFO: sbi_server() [127.0.0.2]:7777 (../lib/sbi/server.c:291)
|
||||
06/21 23:38:15.877: [amf] INFO: ngap_server() [192.168.0.11]:38412 (../src/amf/ngap-sctp.c:56)
|
||||
06/21 23:38:15.877: [amf] INFO: ngap_server() [172.19.0.1]:38412 (../src/amf/ngap-sctp.c:56)
|
||||
06/21 23:38:15.877: [amf] INFO: ngap_server() [172.17.0.1]:38412 (../src/amf/ngap-sctp.c:56)
|
||||
06/21 23:38:15.877: [amf] INFO: ngap_server() [2601:144:4100:a220:ee:f149:8f28:9572]:38412 (../src/amf/ngap-sctp.c:56)
|
||||
06/21 23:38:15.877: [amf] INFO: ngap_server() [2601:144:4100:a220:c643:4b3a:b0ee:c446]:38412 (../src/amf/ngap-sctp.c:56)
|
||||
06/21 23:38:15.877: [amf] INFO: [ce785804-b439-41ea-9c93-399fce5a75a5] NF registered (../src/amf/nf-sm.c:209)
|
||||
|
||||
$ ./install/bin/open5gs-smfd
|
||||
Open5GS daemon v1.3.0
|
||||
|
||||
06/21 23:38:35.313: [app] INFO: Configuration: '/home/acetcom/Documents/git/open5gs/install/etc/open5gs/smf.yaml' (../src/main.c:54)
|
||||
06/21 23:38:35.313: [app] INFO: File Logging: '/home/acetcom/Documents/git/open5gs/install/var/log/open5gs/smf.log' (../src/main.c:57)
|
||||
06/21 23:38:35.350: [gtp] INFO: gtp_server() [127.0.0.3]:2123 (../lib/gtp/path.c:32)
|
||||
06/21 23:38:35.350: [gtp] INFO: gtp_server() [::1]:2123 (../lib/gtp/path.c:32)
|
||||
06/21 23:38:35.350: [app] INFO: SMF initialize...done (../src/smf/app.c:31)
|
||||
06/21 23:38:35.350: [pfcp] INFO: pfcp_server() [127.0.0.3]:8805 (../lib/pfcp/path.c:32)
|
||||
06/21 23:38:35.350: [pfcp] INFO: pfcp_server() [::1]:8805 (../lib/pfcp/path.c:32)
|
||||
06/21 23:38:35.350: [pfcp] INFO: ogs_pfcp_connect() [127.0.0.4]:8805 (../lib/pfcp/path.c:60)
|
||||
06/21 23:38:35.351: [sbi] INFO: sbi_server() [127.0.0.3]:7777 (../lib/sbi/server.c:291)
|
||||
06/21 23:38:35.352: [smf] INFO: [da15f3e2-b439-41ea-bd58-c3fe61467c94] NF registered (../src/smf/nf-sm.c:210)
|
||||
|
||||
$ ./install/bin/open5gs-upfd
|
||||
Open5GS daemon v1.3.0
|
||||
|
||||
06/21 23:38:52.832: [app] INFO: Configuration: '/home/acetcom/Documents/git/open5gs/install/etc/open5gs/upf.yaml' (../src/main.c:54)
|
||||
06/21 23:38:52.832: [app] INFO: File Logging: '/home/acetcom/Documents/git/open5gs/install/var/log/open5gs/upf.log' (../src/main.c:57)
|
||||
06/21 23:38:52.844: [app] INFO: UPF initialize...done (../src/upf/app.c:31)
|
||||
06/21 23:38:52.844: [pfcp] INFO: pfcp_server() [127.0.0.4]:8805 (../lib/pfcp/path.c:32)
|
||||
06/21 23:38:52.844: [pfcp] INFO: ogs_pfcp_connect() [127.0.0.3]:8805 (../lib/pfcp/path.c:60)
|
||||
06/21 23:38:52.846: [gtp] INFO: gtp_server() [192.168.0.11]:2152 (../lib/gtp/path.c:32)
|
||||
06/21 23:38:52.846: [gtp] INFO: gtp_server() [172.19.0.1]:2152 (../lib/gtp/path.c:32)
|
||||
06/21 23:38:52.846: [gtp] INFO: gtp_server() [172.17.0.1]:2152 (../lib/gtp/path.c:32)
|
||||
06/21 23:38:52.846: [gtp] INFO: gtp_server() [2601:144:4100:a220:ee:f149:8f28:9572]:2152 (../lib/gtp/path.c:32)
|
||||
06/21 23:38:52.846: [gtp] INFO: gtp_server() [2601:144:4100:a220:c643:4b3a:b0ee:c446]:2152 (../lib/gtp/path.c:32)
|
||||
06/21 23:38:52.848: [upf] INFO: PFCP associated (../src/upf/pfcp-sm.c:171)
|
||||
06/21 23:38:53.358: [upf] WARNING: PFCP[REQ] has already been associated (../src/upf/pfcp-sm.c:201)
|
||||
|
||||
$ ./install/bin/open5gs-ausfd
|
||||
Open5GS daemon v1.3.0
|
||||
|
||||
06/21 23:39:11.641: [app] INFO: Configuration: '/home/acetcom/Documents/git/open5gs/install/etc/open5gs/ausf.yaml' (../src/main.c:54)
|
||||
06/21 23:39:11.641: [app] INFO: File Logging: '/home/acetcom/Documents/git/open5gs/install/var/log/open5gs/ausf.log' (../src/main.c:57)
|
||||
06/21 23:39:11.641: [app] INFO: AUSF initialize...done (../src/ausf/app.c:31)
|
||||
06/21 23:39:11.642: [sbi] INFO: sbi_server() [127.0.0.5]:7777 (../lib/sbi/server.c:291)
|
||||
06/21 23:39:11.643: [ausf] INFO: [efbbbe5c-b439-41ea-b95c-039d7a609671] NF registered (../src/ausf/nf-sm.c:209)
|
||||
|
||||
$ ./install/bin/open5gs-udmd
|
||||
Open5GS daemon v1.3.0
|
||||
|
||||
06/21 23:39:28.792: [app] INFO: Configuration: '/home/acetcom/Documents/git/open5gs/install/etc/open5gs/udm.yaml' (../src/main.c:54)
|
||||
06/21 23:39:28.792: [app] INFO: File Logging: '/home/acetcom/Documents/git/open5gs/install/var/log/open5gs/udm.log' (../src/main.c:57)
|
||||
06/21 23:39:28.792: [app] INFO: UDM initialize...done (../src/udm/app.c:31)
|
||||
06/21 23:39:28.793: [sbi] INFO: sbi_server() [127.0.0.6]:7777 (../lib/sbi/server.c:291)
|
||||
06/21 23:39:29.390: [udm] INFO: [f9f4ce22-b439-41ea-bf29-c309f36c787f] NF registered (../src/udm/nf-sm.c:209)
|
||||
|
||||
$ ./install/bin/open5gs-udrd
|
||||
Open5GS daemon v1.3.0
|
||||
|
||||
06/21 23:39:41.763: [app] INFO: Configuration: '/home/acetcom/Documents/git/open5gs/install/etc/open5gs/udr.yaml' (../src/main.c:54)
|
||||
06/21 23:39:41.763: [app] INFO: File Logging: '/home/acetcom/Documents/git/open5gs/install/var/log/open5gs/udr.log' (../src/main.c:57)
|
||||
06/21 23:39:41.765: [dbi] INFO: MongoDB URI: 'mongodb://localhost/open5gs' (../lib/dbi/ogs-mongoc.c:99)
|
||||
06/21 23:39:41.765: [app] INFO: UDR initialize...done (../src/udr/app.c:31)
|
||||
06/21 23:39:41.765: [sbi] INFO: sbi_server() [127.0.0.7]:7777 (../lib/sbi/server.c:291)
|
||||
06/21 23:39:41.767: [udr] INFO: [01b0191e-b43a-41ea-9abb-df3b42196e0a] NF registered (../src/udr/nf-sm.c:209)
|
||||
|
||||
```
|
||||
|
||||
Several command line options are provided.
|
||||
|
||||
```bash
|
||||
$ ./install/bin/open5gs-amfd -h
|
||||
Usage: ./install/bin/open5gs-amfd [options]
|
||||
Options:
|
||||
-c filename : set configuration file
|
||||
-l filename : set logging file
|
||||
-e level : set global log-level (default:info)
|
||||
-m domain : set log-domain (e.g. mme:sgw:gtp)
|
||||
-d : print lots of debugging information
|
||||
-t : print tracing information for developer
|
||||
-D : start as a daemon
|
||||
-v : show version number and exit
|
||||
-h : show this message and exit
|
||||
```
|
||||
|
||||
You can also copy the binaries to /usr/bin to be able to run them from anywhere on the system.
|
||||
```bash
|
||||
$ cp open5gs* /usr/bin/
|
||||
```
|
||||
|
||||
For convenience, you can execute all NFs at once by using the following command.
|
||||
```bash
|
||||
$ cd build
|
||||
$ vi configs/5gc.yaml ## check the configuration
|
||||
$ ./test/app/5gc ## run all NFs
|
||||
```
|
||||
|
||||
### Building the WebUI of Open5GS
|
||||
---
|
||||
|
||||
[Node.js](https://nodejs.org/) is required to build WebUI of Open5GS
|
||||
|
||||
```bash
|
||||
$ sudo apt install curl
|
||||
$ curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
|
||||
$ sudo apt install nodejs
|
||||
```
|
||||
|
||||
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
|
||||
```
|
||||
|
||||
### Register Subscriber Information
|
||||
---
|
||||
|
||||
Connect to `http://localhost:3000` and login with **admin** account.
|
||||
|
||||
> Username : admin
|
||||
> Password : 1423
|
||||
|
||||
**Note:**
|
||||
You can change the password in _Account_ Menu.
|
||||
{: .notice--info}
|
||||
|
||||
To add subscriber information, you can do WebUI operations in the following order:
|
||||
|
||||
1. Go to `Subscriber` Menu.
|
||||
2. Click `+` Button to add a new subscriber.
|
||||
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 restarting any daemon.
|
||||
{: .notice--warning}
|
||||
|
||||
### IP routing + NAT for UE internet connectivity
|
||||
---
|
||||
|
||||
To allow your phones to connect to the internet, you must run the following command on the host running Open5GS-PGW:
|
||||
|
||||
```bash
|
||||
### Check IP Table 'forward'
|
||||
$ sudo iptables -L
|
||||
Chain INPUT (policy ACCEPT)
|
||||
target prot opt source destination
|
||||
|
||||
Chain FORWARD (policy ACCEPT)
|
||||
target prot opt source destination
|
||||
|
||||
Chain OUTPUT (policy ACCEPT)
|
||||
target prot opt source destination
|
||||
|
||||
### Check IP Table 'nat'
|
||||
$ sudo iptables -L -t nat
|
||||
Chain PREROUTING (policy ACCEPT)
|
||||
target prot opt source destination
|
||||
|
||||
Chain INPUT (policy ACCEPT)
|
||||
target prot opt source destination
|
||||
|
||||
Chain OUTPUT (policy ACCEPT)
|
||||
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"
|
||||
|
||||
### Add NAT Rule
|
||||
$ sudo iptables -t nat -A POSTROUTING -s 10.45.0.0/16 ! -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.
|
||||
{: .notice--danger}
|
||||
|
||||
### Turn on your gNB and Phone
|
||||
---
|
||||
|
||||
- You can view the log at `$INSTALL_PREFIX/var/log/open5gs/*.log`.
|
||||
|
||||
### Troubleshooting
|
||||
---
|
||||
|
||||
If you run into any problems, please post the github issue. Providing packets using wireshark can help a lot.
|
||||
{: .blue}
|
||||
|
||||
To fix the problem yourself, debugging tools can help you troubleshoot problems.
|
||||
|
||||
- [GDB](https://www.gnu.org/software/gdb/) can be used as below:
|
||||
|
||||
```bash
|
||||
$ gdb ./open5gs-amfd
|
||||
```
|
||||
|
||||
- On *Mac OS X*, you can use the [LLDB](https://lldb.llvm.org/).
|
||||
|
||||
```bash
|
||||
$ lldb ./open5gs-amfd
|
||||
```
|
||||
|
||||
You can use the command line option[`-d`] to record more logs.
|
||||
|
||||
```bash
|
||||
$ ./test/app/5gc -d
|
||||
Open5GS daemon v1.3.0
|
||||
|
||||
06/21 23:44:54.500: [app] INFO: Configuration: '/home/acetcom/Documents/git/open5gs/build/configs/5gc.yaml' (../src/main.c:54)
|
||||
06/21 23:44:54.500: [thread] DEBUG: [0x7f3342a7d018] worker signal (../lib/core/ogs-thread.c:66)
|
||||
06/21 23:44:54.500: [thread] DEBUG: [0x7f3342a7d018] thread started (../lib/core/ogs-thread.c:101)
|
||||
Open5GS daemon v1.3.0
|
||||
|
||||
06/21 23:44:54.508: [app] INFO: Configuration: '/home/acetcom/Documents/git/open5gs/build/configs/5gc.yaml' (../src/main.c:54)
|
||||
06/21 23:44:54.508: [thread] DEBUG: [0x7f31d3620818] worker signal (../lib/core/ogs-thread.c:66)
|
||||
06/21 23:44:54.508: [nrf] DEBUG: nrf_state_initial(): INIT (../src/nrf/nrf-sm.c:25)
|
||||
06/21 23:44:54.508: [nrf] DEBUG: nrf_state_operational(): ENTRY (../src/nrf/nrf-sm.c:50)
|
||||
06/21 23:44:54.508: [thread] DEBUG: [0x7f31d3620818] thread started (../lib/core/ogs-thread.c:101)
|
||||
06/21 23:44:54.508: [app] INFO: NRF initialize...done (../src/nrf/app.c:31)
|
||||
06/21 23:44:54.509: [sbi] INFO: sbi_server() [127.0.0.1]:7777 (../lib/sbi/server.c:291)
|
||||
06/21 23:44:54.509: [sbi] INFO: sbi_server() [::1]:7777 (../lib/sbi/server.c:291)
|
||||
06/21 23:44:54.551: [thread] DEBUG: [0x7f3342a7d098] worker signal (../lib/core/ogs-thread.c:66)
|
||||
06/21 23:44:54.551: [thread] DEBUG: [0x7f3342a7d098] thread started (../lib/core/ogs-thread.c:101)
|
||||
Open5GS daemon v1.3.0
|
||||
|
||||
06/21 23:44:54.575: [app] INFO: Configuration: '/home/acetcom/Documents/git/open5gs/build/configs/5gc.yaml' (../src/main.c:54)
|
||||
06/21 23:44:54.601: [thread] DEBUG: [0x7f3342a7d118] worker signal (../lib/core/ogs-thread.c:66)
|
||||
06/21 23:44:54.601: [thread] DEBUG: [0x7f3342a7d118] thread started (../lib/core/ogs-thread.c:101)
|
||||
Open5GS daemon v1.3.0
|
||||
|
||||
06/21 23:44:54.607: [app] INFO: Configuration: '/home/acetcom/Documents/git/open5gs/build/configs/5gc.yaml' (../src/main.c:54)
|
||||
06/21 23:44:54.608: [thread] DEBUG: [0x7f996e1b2918] worker signal (../lib/core/ogs-thread.c:66)
|
||||
06/21 23:44:54.608: [ausf] DEBUG: ausf_state_initial(): INIT (../src/ausf/ausf-sm.c:25)
|
||||
```
|
||||
@@ -66,7 +66,7 @@ $ sudo sh -c "cat << EOF > /etc/systemd/network/99-open5gs.network
|
||||
[Match]
|
||||
Name=ogstun
|
||||
[Network]
|
||||
Address=45.45.0.1/16
|
||||
Address=10.45.0.1/16
|
||||
Address=cafe::1/64
|
||||
EOF"
|
||||
```
|
||||
@@ -83,7 +83,7 @@ Make sure it is set up properly.
|
||||
```bash
|
||||
$ ifconfig ogstun
|
||||
ogstun: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST> mtu 1500
|
||||
inet 45.45.0.1 netmask 255.255.0.0 destination 45.45.0.1
|
||||
inet 10.45.0.1 netmask 255.255.0.0 destination 10.45.0.1
|
||||
inet6 cafe::1 prefixlen 64 scopeid 0x0<global>
|
||||
inet6 fe80::e86e:86d8:ea24:f8ee prefixlen 64 scopeid 0x20<link>
|
||||
unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 500 (UNSPEC)
|
||||
|
||||
@@ -23,8 +23,13 @@ EOF'
|
||||
|
||||
Install MongoDB with Package Manager.
|
||||
```bash
|
||||
sudo yum -y install mongodb-org
|
||||
sudo systemctl start mongod (if '/usr/bin/mongod' is not running)
|
||||
sudo dnf -y install mongodb-org
|
||||
```
|
||||
|
||||
Run MongoDB server.
|
||||
```bash
|
||||
$ mkdir -p ./data/db
|
||||
$ mongod --dbpath ./data/db
|
||||
```
|
||||
|
||||
### Setting up TUN device (No persistent after rebooting)
|
||||
@@ -55,7 +60,7 @@ $ sysctl -n net.ipv6.conf.ogstun.disable_ipv6
|
||||
You are now ready to set the IP address on TUN device.
|
||||
|
||||
```bash
|
||||
$ sudo ip addr add 45.45.0.1/16 dev ogstun
|
||||
$ sudo ip addr add 10.45.0.1/16 dev ogstun
|
||||
$ sudo ip addr add cafe::1/64 dev ogstun
|
||||
```
|
||||
|
||||
@@ -85,15 +90,21 @@ $ sudo dnf config-manager --set-enabled PowerTools
|
||||
$ sudo update
|
||||
```
|
||||
|
||||
Install the depedencies for building the source code.
|
||||
Configure ELRepo(with testing) package.
|
||||
```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 iproute mongo-c-driver-devel
|
||||
$ 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 Meson using Python.
|
||||
Install the depedencies for building the source code.
|
||||
```bash
|
||||
$ sudo pip3 install --upgrade pip
|
||||
$ sudo pip install meson
|
||||
$ 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.
|
||||
@@ -115,7 +126,7 @@ Check whether the compilation is correct.
|
||||
$ 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. [[testcomplex.pcapng]]({{ site.url }}{{ site.baseurl }}/assets/pcapng/testcomplex.pcapng)
|
||||
**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)
|
||||
{: .notice--info}
|
||||
|
||||
You need to perform the **installation process**.
|
||||
|
||||
@@ -3,7 +3,7 @@ title: Fedora
|
||||
head_inline: "<style> .blue { color: blue; } </style>"
|
||||
---
|
||||
|
||||
This guide is based on **Fedora 30** Distribution.
|
||||
This guide is based on **Fedora 31** Distribution.
|
||||
{: .blue}
|
||||
|
||||
### Getting MongoDB
|
||||
@@ -48,7 +48,7 @@ $ sysctl -n net.ipv6.conf.ogstun.disable_ipv6
|
||||
You are now ready to set the IP address on TUN device.
|
||||
|
||||
```bash
|
||||
$ sudo ip addr add 45.45.0.1/16 dev ogstun
|
||||
$ sudo ip addr add 10.45.0.1/16 dev ogstun
|
||||
$ sudo ip addr add cafe::1/64 dev ogstun
|
||||
```
|
||||
|
||||
@@ -67,13 +67,12 @@ $ 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 iproute mongo-c-driver-devel
|
||||
$ 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 using Python.
|
||||
Install Meson
|
||||
```bash
|
||||
$ sudo pip3 install --upgrade pip
|
||||
$ sudo pip install meson
|
||||
$ sudo dnf install meson
|
||||
```
|
||||
|
||||
Git clone.
|
||||
@@ -95,7 +94,7 @@ Check whether the compilation is correct.
|
||||
$ 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. [[testcomplex.pcapng]]({{ site.url }}{{ site.baseurl }}/assets/pcapng/testcomplex.pcapng)
|
||||
**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)
|
||||
{: .notice--info}
|
||||
|
||||
You need to perform **the installation process**.
|
||||
|
||||
@@ -45,7 +45,7 @@ $ sudo sysctl -w net.inet.ip.forwarding=1
|
||||
|
||||
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
|
||||
$ sudo pkg install py36-pip ninja gcc bison gsed pkgconf git mongo-c-driver gnutls libgcrypt libidn libyaml libmicrohttpd curl
|
||||
```
|
||||
|
||||
Install Meson using Python.
|
||||
@@ -76,7 +76,7 @@ Check whether the compilation is correct.
|
||||
$ sudo 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. [[testcomplex.pcapng]]({{ site.url }}{{ site.baseurl }}/assets/pcapng/testcomplex.pcapng)
|
||||
**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**.
|
||||
|
||||
@@ -28,6 +28,11 @@ $ 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)
|
||||
---
|
||||
|
||||
@@ -45,7 +50,7 @@ $ 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 45.45.0.0/16 to any -> {en0}' > /etc/pf.anchors/org.open5gs"
|
||||
$ 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
|
||||
```
|
||||
|
||||
@@ -58,7 +63,7 @@ $ sudo pfctl -e -f /etc/pf.anchors/org.open5gs
|
||||
|
||||
Install the depedencies for building the source code.
|
||||
```bash
|
||||
$ brew install gnu-sed mongo-c-driver libusrsctp gnutls libgcrypt libidn libyaml pkg-config
|
||||
$ brew install mongo-c-driver gnutls libgcrypt libidn libyaml libmicrohttpd curl pkg-config
|
||||
```
|
||||
|
||||
Install Meson using Homebrew.
|
||||
@@ -76,7 +81,7 @@ To compile with meson:
|
||||
|
||||
```bash
|
||||
$ cd open5gs
|
||||
$ meson build --prefix=`pwd`/install
|
||||
$ meson build --prefix=`pwd`/install -D c_std=c99
|
||||
$ ninja -C build
|
||||
```
|
||||
|
||||
@@ -88,7 +93,7 @@ Check whether the compilation is correct.
|
||||
$ sudo 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. [[testcomplex.pcapng]]({{ site.url }}{{ site.baseurl }}/assets/pcapng/testcomplex.pcapng)
|
||||
**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**.
|
||||
|
||||
173
docs/_docs/troubleshoot/01-simple-issues.md
Normal file
173
docs/_docs/troubleshoot/01-simple-issues.md
Normal file
@@ -0,0 +1,173 @@
|
||||
---
|
||||
title: Simple Issue
|
||||
---
|
||||
|
||||
**Note:** This guide assumes you've already installed Open5GS and it's running with it's default values. If you're new to Open5GS check out the [Quickstart Guide]({{ site.url }}{{ site.baseurl }}/docs/guide/01-quickstart)
|
||||
{: .notice--warning}
|
||||
|
||||
## Services Running
|
||||
|
||||
#### Confirming All Services are Running
|
||||
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
|
||||
```
|
||||
|
||||
You should see each of the services above, PGW, SGW, HSS, PCRF & MME all running.
|
||||
|
||||
If your instance doesn't show this make sure you're started each service:
|
||||
```bash
|
||||
$ systemctl start open5gs-*
|
||||
```
|
||||
|
||||
#### 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.
|
||||
|
||||
```bash
|
||||
$ cat /var/log/open5gs/mme.log
|
||||
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)
|
||||
[app] ERROR: Failed to intialize MME (../src/mme/app-init.c:30)
|
||||
[app] FATAL: Open5GS initialization failed. Aborted (../src/main.c:222)
|
||||
```
|
||||
|
||||
Or, you can use `journalctl` like below to view live log.
|
||||
|
||||
```bash
|
||||
$ 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.
|
||||
|
||||
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
|
||||
---
|
||||
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*:
|
||||
|
||||
##### 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.
|
||||
|
||||
**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.
|
||||
|
||||
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.
|
||||
|
||||
##### 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.
|
||||
```
|
||||
$ 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*.
|
||||
|
||||
Each of these can be addressed by editing the relevant section in the MME config in */etc/open5gs/mme.yaml*
|
||||
|
||||
__Example of sucesful 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)
|
||||
[mme] INFO: eNB-S1 accepted[10.0.1.14] in master_sm module (mme-sm.c:126)
|
||||
```
|
||||
|
||||
## UE Connection Issues
|
||||
---
|
||||
If your network is setup there are a variety of reasons your network may not perform correctly / at all when connecting a UE.
|
||||
|
||||
#### 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 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 PLMN is not forbidden on USIM (F-PLMN List)
|
||||
|
||||
#### UE Fails to 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.
|
||||
|
||||
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);
|
||||
|
||||
__IMSI/Subscriber not present in HSS:__
|
||||
If the USIM's IMSI is not present in the HSS the 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).
|
||||
|
||||
```
|
||||
$ 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.
|
||||
|
||||
|
||||
#### 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)
|
||||
* 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
|
||||
```
|
||||
$ sudo iptables -I INPUT -i ogstun -j ACCEPT
|
||||
```
|
||||
* Check if the UE's IP can be pinged successfully by performing `ping <IP of UE>` -- [e.g. `ping 10.45.0.2`]
|
||||
* Configure the firewall correctly. Some operating systems (Ubuntu) by default enable firewall rules to block traffic
|
||||
- Explicitly disable it to see if it resolves the problem of granting data access to the UE by doing
|
||||
```
|
||||
$ sudo ufw disable
|
||||
```
|
||||
|
||||
## Further Debugging
|
||||
---
|
||||
|
||||
Problem with Open5GS can be filed as [GitHub Issues](https://github.com/open5gs/open5gs/issues). Please include the following to get help:
|
||||
|
||||
- Attach `*.pcapng` file created by wireskark.
|
||||
- Attach configuration files at `/etc/open5gs/*.yaml`.
|
||||
- Attach log files at `/var/log/open5gs/*.log`.
|
||||
|
||||
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 @@
|
||||
|
||||
logger:
|
||||
file: /var/log/open5gs/mme.log
|
||||
+ level: debug
|
||||
|
||||
parameter:
|
||||
```
|
||||
|
||||
After changing conf files, please restart Open5GS daemons.
|
||||
|
||||
```bash
|
||||
$ sudo systemctl restart open5gs-mmed
|
||||
$ sudo systemctl restart open5gs-sgwd
|
||||
```
|
||||
|
||||
647
docs/_docs/troubleshoot/02-now-in-github-issues.md
Normal file
647
docs/_docs/troubleshoot/02-now-in-github-issues.md
Normal file
@@ -0,0 +1,647 @@
|
||||
---
|
||||
title: Now in the Github Issue
|
||||
head_inline: "<style> .blue { color: blue; } </style>"
|
||||
---
|
||||
|
||||
#### Test failed (e.g. `meson test`)
|
||||
|
||||
Sometimes you may get a message like the one below due to a problem with the freeDiameter library.
|
||||
|
||||
```
|
||||
$ meson test
|
||||
|
||||
...
|
||||
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)
|
||||
|
||||
...
|
||||
```
|
||||
|
||||
I cannot solve the problem exactly at this point.
|
||||
{: .blue}
|
||||
|
||||
Remove all subscriber information using MongoDB Client
|
||||
```
|
||||
$ mongo
|
||||
> use open5gs
|
||||
switched to db open5gs
|
||||
> db.subscribers.find() ### Check the test subscriber
|
||||
> db.subscribers.drop() ### Remove all subscriber
|
||||
> db.subscribers.find() ### Check that all subscribers are empty
|
||||
```
|
||||
|
||||
Kill all processes.
|
||||
```bash
|
||||
$ ps -ef | grep open5gs
|
||||
$ sudo pkill -9 open5gs-hssd
|
||||
$ sudo pkill -9 open5gs-pcrfd
|
||||
$ sudo pkill -9 open5gs-pgwd
|
||||
$ sudo pkill -9 open5gs-sgwd
|
||||
$ sudo pkill -9 open5gs-mmed
|
||||
```
|
||||
|
||||
Run `meson test` again
|
||||
```
|
||||
$ meson test
|
||||
ninja: Entering directory `/Users/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
|
||||
|
||||
Ok: 8
|
||||
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.
|
||||
```
|
||||
$ sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
|
||||
```
|
||||
|
||||
The following is the default docker IP/NAT table.
|
||||
|
||||
```
|
||||
$ sudo iptables-save
|
||||
# Generated by iptables-save v1.6.1 on Sat Jun 1 23:43:50 2019
|
||||
*nat
|
||||
:PREROUTING ACCEPT [74:4820]
|
||||
:INPUT ACCEPT [4:208]
|
||||
:OUTPUT ACCEPT [49:3659]
|
||||
:POSTROUTING ACCEPT [49:3659]
|
||||
:DOCKER - [0:0]
|
||||
-A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A OUTPUT ! -d 127.0.0.0/8 -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A POSTROUTING -s 172.17.0.0/16 ! -o docker0 -j MASQUERADE
|
||||
-A DOCKER -i docker0 -j RETURN
|
||||
COMMIT
|
||||
# Completed on Sat Jun 1 23:43:50 2019
|
||||
# Generated by iptables-save v1.6.1 on Sat Jun 1 23:43:50 2019
|
||||
*filter
|
||||
:INPUT ACCEPT [651:514108]
|
||||
:FORWARD DROP [70:4612]
|
||||
:OUTPUT ACCEPT [590:63846]
|
||||
:DOCKER - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-1 - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-2 - [0:0]
|
||||
:DOCKER-USER - [0:0]
|
||||
-A FORWARD -j DOCKER-USER
|
||||
-A FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A FORWARD -o docker0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A FORWARD -o docker0 -j DOCKER
|
||||
-A FORWARD -i docker0 ! -o docker0 -j ACCEPT
|
||||
-A FORWARD -i docker0 -o docker0 -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i docker0 ! -o docker0 -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-1 -j RETURN
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o docker0 -j DROP
|
||||
-A DOCKER-ISOLATION-STAGE-2 -j RETURN
|
||||
-A DOCKER-USER -j RETURN
|
||||
COMMIT
|
||||
# Completed on Sat Jun 1 23:43:50 2019
|
||||
```
|
||||
|
||||
Create **newtables** file as below.
|
||||
|
||||
```diff
|
||||
$ diff -u oldtables newtables
|
||||
--- oldtables 2019-06-01 23:43:50.354974226 +0900
|
||||
+++ newtables 2019-06-01 23:44:16.110931684 +0900
|
||||
@@ -8,6 +8,7 @@
|
||||
-A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A OUTPUT ! -d 127.0.0.0/8 -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A POSTROUTING -s 172.17.0.0/16 ! -o docker0 -j MASQUERADE
|
||||
+-A POSTROUTING -s 10.45.0.0/16 ! -o ogstun -j MASQUERADE
|
||||
-A DOCKER -i docker0 -j RETURN
|
||||
COMMIT
|
||||
# Completed on Sat Jun 1 23:43:50 2019
|
||||
@@ -26,6 +27,10 @@
|
||||
-A FORWARD -o docker0 -j DOCKER
|
||||
-A FORWARD -i docker0 ! -o docker0 -j ACCEPT
|
||||
-A FORWARD -i docker0 -o docker0 -j ACCEPT
|
||||
+-A FORWARD -o ogstun -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
+-A FORWARD -o ogstun -j DOCKER
|
||||
+-A FORWARD -i ogstun ! -o ogstun -j ACCEPT
|
||||
+-A FORWARD -i ogstun -o ogstun -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i docker0 ! -o docker0 -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-1 -j RETURN
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o docker0 -j DROP
|
||||
```
|
||||
|
||||
And then, apply **newtables** as below.
|
||||
```
|
||||
$ sudo iptables-restore < newtables
|
||||
```
|
||||
|
||||
The above operation is the same as described in the following manuals.
|
||||
```
|
||||
### Check IP Tables
|
||||
$ sudo iptables -L
|
||||
Chain INPUT (policy ACCEPT)
|
||||
target prot opt source destination
|
||||
|
||||
Chain FORWARD (policy ACCEPT)
|
||||
target prot opt source destination
|
||||
|
||||
Chain OUTPUT (policy ACCEPT)
|
||||
target prot opt source destination
|
||||
|
||||
### Check NAT Tables
|
||||
$ sudo iptables -L -t nat
|
||||
Chain PREROUTING (policy ACCEPT)
|
||||
target prot opt source destination
|
||||
|
||||
Chain INPUT (policy ACCEPT)
|
||||
target prot opt source destination
|
||||
|
||||
Chain OUTPUT (policy ACCEPT)
|
||||
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"
|
||||
|
||||
### Add NAT Rule
|
||||
$ sudo iptables -t nat -A POSTROUTING -s 10.45.0.0/16 ! -o ogstun -j MASQUERADE
|
||||
```
|
||||
|
||||
#### How to use a different APN for each PGW
|
||||
|
||||
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.
|
||||
|
||||
See the following example.
|
||||
|
||||
```
|
||||
### For reference, see `pgw.yaml`
|
||||
#------------------------ MME --------------------------
|
||||
#
|
||||
# o Two PGW are defined. 127.0.0.3:2123 is used.
|
||||
# [fe80::3%lo]:2123 is ignored.
|
||||
# gtpc:
|
||||
# - addr: 127.0.0.3
|
||||
# - addr: fe80::3%lo
|
||||
#
|
||||
# o One PGW is defined. if prefer_ipv4 is not true,
|
||||
# [fe80::3%lo] is selected.
|
||||
# gtpc:
|
||||
# - addr:
|
||||
# - 127.0.0.3
|
||||
# - fe80::3%lo
|
||||
#
|
||||
# o Two PGW are defined with a different APN.
|
||||
# - Note that if PGW 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.5
|
||||
# apn: volte
|
||||
#
|
||||
# o If APN is omitted, the default APN uses the first PGW node.
|
||||
# gtpc:
|
||||
# - addr: 127.0.0.3
|
||||
# - addr: 127.0.0.5
|
||||
# apn: volte
|
||||
#
|
||||
```
|
||||
|
||||
The IP address of the UE can also use a different UE pool depending on the APN.
|
||||
|
||||
```
|
||||
### For reference, see `pgw.yaml`
|
||||
#
|
||||
# <UE Pool>
|
||||
#
|
||||
# o IPv4 Pool
|
||||
# $ sudo ip addr add 10.45.0.1/16 dev ogstun
|
||||
#
|
||||
# ue_pool:
|
||||
# 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:
|
||||
# - 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
|
||||
#
|
||||
# ue_pool:
|
||||
# - 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
|
||||
#
|
||||
# ue_pool:
|
||||
# - 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
|
||||
#
|
||||
```
|
||||
|
||||
#### Failing to run `./open5gs-mmed`
|
||||
|
||||
You might be getting the following error after running `./open5gs-mmed`.
|
||||
```bash
|
||||
$ ./build/src/mme/open5gs-mmed
|
||||
10/27 16:45:41.912: [app] FATAL: cannot open file `/Users/acetcom/Documents/git/open5gs/install/etc/open5gs/mme.yaml` (../lib/app/ogs-config.c:67)
|
||||
10/27 16:45:41.912: [app] FATAL: Open5GS initialization failed. Aborted (../src/main.c:211)
|
||||
```
|
||||
|
||||
You should perform **the installation process**.
|
||||
|
||||
```bash
|
||||
$ ninja -C build install
|
||||
```
|
||||
|
||||
#### How to connect MongoDB server
|
||||
|
||||
If you do not start MongoDB, you will get the following error:
|
||||
|
||||
```bash
|
||||
$ ./install/bin/open5gs-hssd
|
||||
Open5GS daemon v1.0.0
|
||||
|
||||
10/27 16:45:00.371: [app] INFO: Configuration: '/Users/acetcom/Documents/git/open5gs/install/etc/open5gs/hss.yaml' (../src/main.c:54)
|
||||
10/27 16:45:00.372: [app] INFO: File Logging: '/Users/acetcom/Documents/git/open5gs/install/var/log/open5gs/hss.log' (../src/main.c:57)
|
||||
10/27 16:45:00.377: [dbi] ERROR: Failed to connect to server [mongodb://localhost/open5gs] (../lib/dbi/ogs-mongoc.c:91)
|
||||
10/27 16:45:00.377: [app] ERROR: Failed to intialize HSS (../src/hss/app-init.c:28)
|
||||
```
|
||||
|
||||
You can start MongoDB using systemctl.
|
||||
```bash
|
||||
$ sudo systemctl start mongodb
|
||||
```
|
||||
|
||||
#### I have some error when running `./build/test/epc/simple`
|
||||
|
||||
Did you see the following error after executing `./build/test/epc/simple`?
|
||||
```bash
|
||||
$ ./build/test/epc/simple
|
||||
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)
|
||||
/home/acetcom/Documents/git/open5gs/open5gs/lib/ogslib/src/core/.libs/libogscore-1.0.so.0(ogs_abort+0x2b)[0x7f608518271b]
|
||||
/home/acetcom/Documents/git/open5gs/open5gs/test/.libs/simple(+0x92121)[0x55dc9e274121]
|
||||
/home/acetcom/Documents/git/open5gs/open5gs/test/.libs/simple(+0x4f5b9)[0x55dc9e2315b9]
|
||||
```
|
||||
|
||||
|
||||
Remove all subscriber information using MongoDB Client
|
||||
```
|
||||
$ mongo
|
||||
> db.subscribers.find() ### Check the test subscriber
|
||||
> db.subscribers.drop() ### Remove all subscriber
|
||||
> db.subscribers.find() ### Check that all subscribers are empty
|
||||
```
|
||||
|
||||
Kill all processes.
|
||||
```bash
|
||||
$ ps -ef | grep simple
|
||||
$ ps -ef | grep open5gs
|
||||
$ sudo pkill -9 simple
|
||||
$ sudo pkill -9 open5gs-mmed ...
|
||||
```
|
||||
|
||||
Execute `./build/test/epc/simple`
|
||||
```bash
|
||||
$ ./build/test/epc/simple
|
||||
```
|
||||
|
||||
#### My eNB does not support IPv6.
|
||||
|
||||
Your eNodeB don't have to support IPv6.
|
||||
|
||||
If the sgw.gtpu configuration does not have an IPv6 address, the eNodeB can use IPv4 to connect to the MME and SGW. If the sgw.gtpu setting has an IPv6 address, you can disable the IPv6 address as shown below.
|
||||
|
||||
```yaml
|
||||
parameter:
|
||||
no_ipv6: true
|
||||
```
|
||||
|
||||
**Note:** This parameter `no_ipv6` is only applied to EPC Elements such as MME, SGW, and so on. The parameter `no_ipv6` does not affect to UE. So, IPv6-enabled UE can connect to Open5GS LTE network.
|
||||
{: .notice--warning}
|
||||
|
||||
#### Unable to add new user by WebUI
|
||||
|
||||
It might be a CSRF token mismatch error.
|
||||
Please, delete corresponding cookies, cache, session data etc.
|
||||
|
||||
#### Change Domain from localdomain to anything else
|
||||
|
||||
You should configure the domain name on your computer. Otherwise, freeDiameter raise an error.
|
||||
|
||||
#### 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).
|
||||
|
||||
```
|
||||
#define MAX_NUM_OF_ENB 128
|
||||
#define MAX_NUM_OF_UE 128
|
||||
#define MAX_NUM_OF_SESS 4
|
||||
#define MAX_NUM_OF_BEARER 4
|
||||
#define MAX_NUM_OF_TUNNEL 3 /* Num of Tunnel per Bearer */
|
||||
#define MAX_NUM_OF_PF 16 /* Num of Packet Filter per Bearer */
|
||||
|
||||
#define MAX_POOL_OF_UE (MAX_NUM_OF_ENB * MAX_NUM_OF_UE)
|
||||
#define MAX_POOL_OF_SESS (MAX_POOL_OF_UE * MAX_NUM_OF_SESS)
|
||||
#define MAX_POOL_OF_BEARER (MAX_POOL_OF_SESS * MAX_NUM_OF_BEARER)
|
||||
#define MAX_POOL_OF_TUNNEL (MAX_POOL_OF_BEARER * MAX_NUM_OF_TUNNEL)
|
||||
#define MAX_POOL_OF_PF (MAX_POOL_OF_BEARER * MAX_NUM_OF_PF)
|
||||
#define MAX_POOL_OF_DIAMETER_SESS (MAX_POOL_OF_UE * MAX_NUM_OF_SESS)
|
||||
```
|
||||
|
||||
Currently, the number of UE is limited to `128*128`.
|
||||
|
||||
#### What is the Default Configuration?
|
||||
|
||||
- Network
|
||||
|
||||
```
|
||||
* MME
|
||||
S1AP: listen on all address avaiable in system
|
||||
GTP-C: listen on the first IP address in system
|
||||
DIAMETER: 127.0.0.2 (No TLS)
|
||||
|
||||
* SGW
|
||||
GTP-C: 127.0.0.2
|
||||
GTP-U: listen on the first IP address in system
|
||||
|
||||
* PGW
|
||||
GTP-C: Both 127.0.0.3 and [::1]
|
||||
GTP-U: Both 127.0.0.3 and [::1]
|
||||
DIAMETER: 127.0.0.3 (No TLS)
|
||||
|
||||
* HSS
|
||||
DIAMETER: 127.0.0.4 (No TLS)
|
||||
|
||||
* PCRF
|
||||
DIAMETER: 127.0.0.5 (No TLS)
|
||||
```
|
||||
|
||||
- GUMMEI, PLMN and TAC
|
||||
|
||||
```
|
||||
* GUMMEI
|
||||
PLMN ID - MNC: 001, MCC: 01
|
||||
MME Group : 2
|
||||
MME Code : 1
|
||||
|
||||
* TAI
|
||||
PLMN ID - MNC: 001, MCC: 01
|
||||
TAC : 12345
|
||||
```
|
||||
|
||||
- Security
|
||||
|
||||
```
|
||||
* Integrity : EIA1 - Snow 3G
|
||||
* Ciphering : EEA0 - Nothing
|
||||
```
|
||||
|
||||
- UE Network
|
||||
|
||||
```
|
||||
* IPv4 : 10.45.0.1/16
|
||||
* IPv6 : cafe::1/64
|
||||
```
|
||||
|
||||
- DNS
|
||||
|
||||
```
|
||||
* IPv4
|
||||
Primary : 8.8.8.8
|
||||
Secondary : 8.8.4.4
|
||||
|
||||
* IPv6
|
||||
Primary : 2001:4860:4860::8888
|
||||
Secondary : 2001:4860:4860::8844
|
||||
```
|
||||
|
||||
#### The parsing errors are caused by tab spaces in the configuration files.
|
||||
|
||||
YAML forbids tabs. You should use space instead of tab in Open5GS configuration file.
|
||||
|
||||
```markdown
|
||||
YAML FAQ: Why does YAML forbid tabs?
|
||||
|
||||
Tabs have been outlawed since they are treated differently by different editors and tools. And since indentation is so critical to proper interpretation of YAML, this issue is just too tricky to even attempt. Indeed Guido van Rossum of Python has acknowledged that allowing TABs in Python source is a headache for many people and that were he to design Python again, he would forbid them.
|
||||
```
|
||||
|
||||
#### Cross compilation setup
|
||||
|
||||
By default, Open5GS is designed to support the Embedding System. To do so, we introduced pool-based memory management. Unfortunately, we have not tested Open5GS in an embedded environment. I tried to compile on the ARM architecture using Docker and run it with QEMU for your reference.
|
||||
|
||||
- We'll use Debian Docker Environment.
|
||||
|
||||
```bash
|
||||
$ git clone https://github.com/acetcom/open5gs
|
||||
$ cd open5gs/docker
|
||||
$ DIST=debian TAG=stretch docker-compose run dev
|
||||
```
|
||||
|
||||
- In Docker Container
|
||||
|
||||
```bash
|
||||
$ sudo dpkg --add-architecture armel
|
||||
$ 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
|
||||
$ cd open5gs/
|
||||
|
||||
$ cat << EOF > cross_file.txt
|
||||
[host_machine]
|
||||
system = 'linux'
|
||||
cpu_family = 'x86_64'
|
||||
cpu = 'x86_64'
|
||||
endian = 'little'
|
||||
|
||||
[binaries]
|
||||
c = '/usr/bin/arm-linux-gnueabi-gcc'
|
||||
ar = '/usr/bin/arm-linux-gnueabi-ar'
|
||||
strip = '/usr/bin/arm-linux-gnueabi-strip'
|
||||
pkgconfig = '/usr/bin/arm-linux-gnueabi-pkg-config'
|
||||
|
||||
[properties]
|
||||
needs_exe_wrapper = true
|
||||
EOF
|
||||
|
||||
$ meson build --prefix=`pwd`/install --cross-file cross_file.txt
|
||||
$ ninja -C build
|
||||
$ qemu-arm ./install/bin/open5gs-sgwd
|
||||
Open5GS daemon v1.0.0
|
||||
|
||||
10/28 06:47:36.649: [app] INFO: Configuration: '/home/acetcom/git/open5gs/install/etc/open5gs/sgw.yaml' (../src/main.c:54)
|
||||
10/28 06:47:36.652: [app] INFO: File Logging: '/home/acetcom/git/open5gs/install/var/log/open5gs/sgw.log' (../src/main.c:57)
|
||||
Unknown host QEMU_IFLA type: 50
|
||||
Unknown host QEMU_IFLA type: 51
|
||||
Unknown host QEMU_IFLA type: 40
|
||||
Unknown host QEMU_IFLA type: 41
|
||||
Unknown host QEMU_IFLA type: 47
|
||||
Unknown host QEMU_IFLA type: 48
|
||||
Unknown host QEMU_IFLA type: 43
|
||||
Unknown host QEMU_IFLA type: 50
|
||||
Unknown host QEMU_IFLA type: 51
|
||||
Unknown host QEMU_IFLA type: 40
|
||||
Unknown host QEMU_IFLA type: 41
|
||||
Unknown host QEMU_IFLA type: 47
|
||||
Unknown host QEMU_IFLA type: 48
|
||||
Unknown host QEMU_IFLA type: 43
|
||||
Unknown QEMU_IFLA_INFO_KIND tun
|
||||
Unknown host QEMU_IFLA type: 50
|
||||
Unknown host QEMU_IFLA type: 51
|
||||
Unknown host QEMU_IFLA type: 40
|
||||
Unknown host QEMU_IFLA type: 41
|
||||
Unknown host QEMU_IFLA type: 47
|
||||
Unknown host QEMU_IFLA type: 48
|
||||
Unknown host QEMU_IFLA type: 43
|
||||
10/28 06:47:36.683: [app] INFO: SGW initialize...done (../src/sgw/app-init.c:31)
|
||||
10/28 06:47:36.696: [gtp] INFO: gtp_server() [127.0.0.2]:2123 (../lib/gtp/path.c:32)
|
||||
10/28 06:47:36.697: [gtp] INFO: gtp_server() [172.18.0.2]:2152 (../lib/gtp/path.c:32)
|
||||
^C10/28 06:47:37.324: [app] INFO: SIGINT received (../src/main.c:73)
|
||||
10/28 06:47:37.325: [app] INFO: Open5GS daemon terminating... (../src/main.c:229)
|
||||
10/28 06:47:37.337: [app] INFO: SGW terminate...done (../src/sgw/app-init.c:39)
|
||||
|
||||
$ qemu-arm ./install/bin/open5gs-hssd
|
||||
Open5GS daemon v1.0.0
|
||||
|
||||
10/28 06:47:39.021: [app] INFO: Configuration: '/home/acetcom/git/open5gs/install/etc/open5gs/hss.yaml' (../src/main.c:54)
|
||||
10/28 06:47:39.024: [app] INFO: File Logging: '/home/acetcom/git/open5gs/install/var/log/open5gs/hss.log' (../src/main.c:57)
|
||||
qemu: Unsupported syscall: 345
|
||||
qemu: Unsupported syscall: 345
|
||||
qemu: Unsupported syscall: 345
|
||||
qemu: Unsupported syscall: 345
|
||||
qemu: Unsupported syscall: 345
|
||||
qemu: Unsupported syscall: 345
|
||||
qemu: Unsupported syscall: 345
|
||||
qemu: Unsupported syscall: 345
|
||||
10/28 06:47:39.044: [dbi] INFO: MongoDB URI: 'mongodb://mongodb/open5gs' (../lib/dbi/ogs-mongoc.c:99)
|
||||
|
||||
|
||||
getsockopt level=132 optname=0 not yet supported
|
||||
10/28 06:47:41.917: [diam] ERROR: ../subprojects/freediameter/libfdcore/sctp.c:86 ERROR: in '(getsockopt(sk, IPPROTO_SCTP, 0, &rtoinfo, &sz))' : Operation not supported (../lib/diameter/common/init.c:116)
|
||||
10/28 06:47:41.919: [diam] ERROR: ../subprojects/freediameter/libfdcore/sctp.c:778 ERROR: in '((fd_setsockopt_prebind(*sock)))' : Operation not supported (../lib/diameter/common/init.c:116)
|
||||
10/28 06:47:41.919: [diam] ERROR: ../subprojects/freediameter/libfdcore/cnxctx.c:181 ERROR: in '(fd_sctp_create_bind_server( &cnx->cc_socket, cnx->cc_family, ep_list, port ))' : Operation not supported (../lib/diameter/common/init.c:116)
|
||||
10/28 06:47:41.919: [diam] ERROR: ../subprojects/freediameter/libfdcore/server.c:355 ERROR: in '(s->conn = fd_cnx_serv_sctp(fd_g_config->cnf_port, empty_conf_ep ? ((void *)0) : &fd_g_config->cnf_endpoints))' : Transport endpoint is not connected (../lib/diameter/common/init.c:116)
|
||||
10/28 06:47:41.919: [diam] ERROR: ../subprojects/freediameter/libfdcore/core.c:300 ERROR: in '((fd_servers_start()))' : Transport endpoint is not connected (../lib/diameter/common/init.c:116)
|
||||
10/28 06:47:41.920: [diam] ERROR: ../lib/diameter/common/init.c:62 ERROR: in '(fd_core_start())' : Transport endpoint is not connected (../lib/diameter/common/init.c:116)
|
||||
10/28 06:47:41.920: [diam] INFO: [6]: ../subprojects/freediameter/libfdcore/core.c:329 Initiating freeDiameter shutdown sequence (2) (../lib/diameter/common/init.c:127)
|
||||
10/28 06:47:42.057: [hss] FATAL: hss_fd_init: Assertion `ret == 0' failed. (../src/hss/hss-fd-path.c:681)
|
||||
```
|
||||
|
||||
The SCTP module is not included in the QEMU kernel. I believe that if the Linux kernel installed on your target platform contains an SCTP module, it will work normally.
|
||||
{: .notice--warning}
|
||||
@@ -35,7 +35,7 @@ If you want to use GPS antenna, setup your devices in the following order:
|
||||
{: .notice--warning}
|
||||
|
||||
Then, setup the USRP B200/B210 as below:
|
||||
1. **4x Small Antennas** should be connected to USRP Rx/Tx ports (RF-A/RF-B)
|
||||
1. **Small Antennas** should be connected to USRP Rx/Tx ports (RF-A/RF-B)
|
||||
2. USRP powered via power supply or over **USB 3.0**
|
||||
3. USRP **USB 3.0** port connected to your PC
|
||||
|
||||
@@ -142,13 +142,16 @@ $ sudo apt install cmake libfftw3-dev libmbedtls-dev libboost-program-options-de
|
||||
Download and build srsLTE:
|
||||
|
||||
```bash
|
||||
➜ git git clone https://github.com/srsLTE/srsLTE.git
|
||||
➜ git cd srsLTE
|
||||
➜ srsLTE git:(master) ✗ mkdir build
|
||||
➜ srsLTE git:(master) ✗ cd build
|
||||
➜ build git:(master) ✗ cmake ../
|
||||
➜ build git:(master) ✗ make
|
||||
➜ build git:(master) ✗ make test
|
||||
$ git clone https://github.com/srsLTE/srsLTE.git
|
||||
$ cd srsLTE
|
||||
$ git checkout release_19_12
|
||||
$ git rev-parse HEAD
|
||||
d045213fb9cbf98c83c06d7c17197a9dcbfddacf
|
||||
$ mkdir build
|
||||
$ cd build
|
||||
$ cmake ../
|
||||
$ make
|
||||
$ make test
|
||||
```
|
||||
|
||||
#### 3. Open5GS
|
||||
@@ -172,7 +175,7 @@ The following shows how to install the Web UI of Open5GS.
|
||||
```bash
|
||||
$ curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
|
||||
$ sudo apt install nodejs
|
||||
$ curl -sL http://open5gs.org/static/webui/install | sudo -E bash -
|
||||
$ curl -sL https://open5gs.org/open5gs/assets/webui/install | sudo -E bash -
|
||||
```
|
||||
|
||||
### Configuration & Running
|
||||
@@ -315,7 +318,7 @@ target prot opt source destination
|
||||
$ sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
|
||||
|
||||
### Add NAT Rule
|
||||
$ sudo iptables -t nat -A POSTROUTING -s 45.45.0.0/16 ! -o ogstun -j MASQUERADE
|
||||
$ sudo iptables -t nat -A POSTROUTING -s 10.45.0.0/16 ! -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.
|
||||
@@ -325,10 +328,10 @@ $ sudo iptables -t nat -A POSTROUTING -s 45.45.0.0/16 ! -o ogstun -j MASQUERADE
|
||||
Change back to the srsENB source directory and copy the main config example as well as all additional config files for RR, SIB and DRB.
|
||||
|
||||
```bash
|
||||
➜ srsLTE git:(master) ✗ cp srsenb/enb.conf.example srsenb/enb.conf
|
||||
➜ srsLTE git:(master) ✗ cp srsenb/rr.conf.example srsenb/rr.conf
|
||||
➜ srsLTE git:(master) ✗ cp srsenb/sib.conf.example srsenb/sib.conf
|
||||
➜ srsLTE git:(master) ✗ cp srsenb/drb.conf.example srsenb/drb.conf
|
||||
$ cp srsenb/enb.conf.example srsenb/enb.conf
|
||||
$ cp srsenb/rr.conf.example srsenb/rr.conf
|
||||
$ cp srsenb/sib.conf.example srsenb/sib.conf
|
||||
$ cp srsenb/drb.conf.example srsenb/drb.conf
|
||||
```
|
||||
|
||||
You should check your phone frequency. If your phone does not support Band-3, you should use a different DL EARFCN value.
|
||||
@@ -383,52 +386,26 @@ If you do not use the GPS-DO, you should use:
|
||||
Now, run the srsENB as follows:
|
||||
|
||||
```bash
|
||||
➜ srsLTE git:(master) ✗ cd srsenb/
|
||||
➜ srsenb git:(master) ✗ sudo ../build/srsenb/src/srsenb ./enb.conf
|
||||
linux; GNU C++ version 6.2.0 20161027; Boost_106200; UHD_003.009.005-0-unknow
|
||||
$ cd srsenb/
|
||||
$ sudo ../build/srsenb/src/srsenb ./enb.conf
|
||||
|
||||
Built in Release mode using commit d045213fb on branch HEAD.
|
||||
|
||||
--- Software Radio Systems LTE eNodeB ---
|
||||
|
||||
Reading configuration file ./enb.conf...
|
||||
-- Loading firmware image: /usr/share/uhd/images/usrp_b200_fw.hex...
|
||||
Opening USRP with args: "",master_clock_rate=30.72e6
|
||||
-- Detected Device: B200
|
||||
-- Loading FPGA image: /usr/share/uhd/images/usrp_b200_fpga.bin... done
|
||||
-- Operating over 'USB 2'.
|
||||
-- Detecting internal GPSDO.... 'No GPSDO found'
|
||||
-- Initialize CODEC control...
|
||||
-- Initialize Radio control...
|
||||
-- Performing register loopback test... pass
|
||||
-- Performing CODEC loopback test... pass
|
||||
-- Asking for clock rate 30.720000 MHz...
|
||||
-- Actually got clock rate 30.720000 MHz.
|
||||
-- Performing timer loopback test... pass
|
||||
Setting frequency: DL=1845.0 Mhz, UL=1750.0 MHz
|
||||
Setting Sampling frequency 11.52 MHz
|
||||
|
||||
==== eNodeB started ===
|
||||
Type <t> to view trace
|
||||
```
|
||||
If you see the `No GPSDO found`, please exit the program with Ctrl-C.
|
||||
And also, if you see the `USB 2`, it will not be working properly.
|
||||
|
||||
The following console output is the correct result of srsENB.
|
||||
```bash
|
||||
linux; GNU C++ version 6.2.0 20161027; Boost_106200; UHD_003.009.005-0-unknow
|
||||
|
||||
--- Software Radio Systems LTE eNodeB ---
|
||||
|
||||
Reading configuration file ./enb.conf...
|
||||
Opening USRP with args: "",master_clock_rate=30.72e6
|
||||
-- Detected Device: B200
|
||||
-- Operating over USB 3.
|
||||
-- Initialize CODEC control...
|
||||
-- Initialize Radio control...
|
||||
-- Performing register loopback test... pass
|
||||
-- Performing CODEC loopback test... pass
|
||||
-- Asking for clock rate 30.720000 MHz...
|
||||
-- Actually got clock rate 30.720000 MHz.
|
||||
-- Performing timer loopback test... pass
|
||||
Opening 1 RF devices with 1 RF channels...
|
||||
[INFO] [UHD] linux; GNU C++ version 7.4.0; Boost_106501; UHD_3.14.1.1-release
|
||||
[INFO] [LOGGING] Fastpath logging disabled at runtime.
|
||||
Opening USRP with args: type=b200,master_clock_rate=23.04e6
|
||||
[INFO] [B200] Detected Device: B200
|
||||
[INFO] [B200] Operating over USB 3.
|
||||
[INFO] [B200] Initialize CODEC control...
|
||||
[INFO] [B200] Initialize Radio control...
|
||||
[INFO] [B200] Performing register loopback test...
|
||||
[INFO] [B200] Register loopback test passed
|
||||
[INFO] [B200] Asking for clock rate 23.040000 MHz...
|
||||
[INFO] [B200] Actually got clock rate 23.040000 MHz.
|
||||
Setting frequency: DL=1845.0 Mhz, UL=1750.0 MHz
|
||||
Setting Sampling frequency 11.52 MHz
|
||||
|
||||
|
||||
1218
docs/_docs/tutorial/02-VoLTE-setup.md
Normal file
1218
docs/_docs/tutorial/02-VoLTE-setup.md
Normal file
File diff suppressed because it is too large
Load Diff
244
docs/_docs/tutorial/03-VoLTE-dockerized.md
Normal file
244
docs/_docs/tutorial/03-VoLTE-dockerized.md
Normal file
@@ -0,0 +1,244 @@
|
||||
---
|
||||
title: Dockerized VoLTE Setup
|
||||
head_inline: "<style> .blue { color: blue; } </style>"
|
||||
---
|
||||
|
||||
Setup description:
|
||||
- MCC: 001, MNC: 01
|
||||
- Docker-compose
|
||||
- srsENB + USRP B210 or a commercial eNB
|
||||
- Sysmocom USIM - sysmoUSIM-SJS1
|
||||
- UE: Mi 9 Pro 5G. Other UE are being tested.
|
||||
{: .blue}
|
||||
|
||||
#### 0. Introduction
|
||||
|
||||
This tutorial introduces an install-and-run lab for Open5GS + Kamailio IMS
|
||||
VoLTE study, a follow-up project of [Open5GS Tutorial: VoLTE Setup with Kamailio IMS and Open5GS](https://open5gs.org/open5gs/docs/tutorial/02-VoLTE-setup/).
|
||||
The tutorial is based on Herle Supreeth's [docker_open5gs](https://github.com/herlesupreeth/docker_open5gs) and his fork of Open5GS and Kamailio.
|
||||
|
||||
The main purpose is to save researchers' and students' time to debug for a
|
||||
minimum-viable environment before actual study can be proceeded.
|
||||
|
||||
**Important notice before you start**
|
||||
|
||||
1. Herle Supreeth's fork of Kamailio is used to support IPsec.
|
||||
1. Java 7 is downloaded from an alternative location. You have to agree with
|
||||
Oracle's term of service and have an Oracle account, to legally use Java SDK
|
||||
7u80. By using this repo, I assume you have the legal right to use it and
|
||||
hold no liability.
|
||||
|
||||
You have to prepare IMSI, Ki, OP (yes, not **OPc**), SQN of your SIM cards.
|
||||
Even though Open5GS supports OPc, FHoSS merely takes OP. You may also want to
|
||||
disable SQN checking in the SIM card (even though we are not sure whether it is
|
||||
effective.) Check out https://github.com/herlesupreeth/sysmo-usim-tool for a
|
||||
slightly modified sysmo-usim-tool.
|
||||
|
||||
|
||||
#### 1. Prepare SIM cards for VoLTE
|
||||
|
||||
**N.B.**
|
||||
1. Wrong KIC / KID / KIK bricks your SIM card.
|
||||
1. Use MCC = 001, MNC = 01 for a testing network, unless you know your MCC/MNC is supported by Android Carrier Privileges.
|
||||
|
||||
Refer to: https://osmocom.org/projects/cellular-infrastructure/wiki/VoLTE_IMS_Android_Carrier_Privileges
|
||||
* gp --key-enc KIC1 --key-mac KID1 --key-dek KIK1 -lvi
|
||||
* gp --key-enc KIC1 --key-mac KID1 --key-dek KIK1 --unlock
|
||||
* gp --install applet.cap
|
||||
* gp -a 00A4040009A00000015141434C0000 -a 80E2900033F031E22FE11E4F06FFFFFFFFFFFFC114E46872F28B350B7E1F140DE535C2A8D5804F0BE3E30DD00101DB080000000000000001
|
||||
* gp --acr-list
|
||||
|
||||
If you use gp.jar from Herle Supreeth's [CoSIM Wiki](https://github.com/herlesupreeth/CoIMS_Wiki), replace `gp --acr-list` with `gp --acr-list-aram`.
|
||||
|
||||
|
||||
#### 2. Build Open5GS, Kamailio with docker-compose
|
||||
|
||||
Mandatory requirements:
|
||||
* [docker-ce](https://docs.docker.com/install/linux/docker-ce/ubuntu)
|
||||
* [docker-compose](https://docs.docker.com/compose)
|
||||
|
||||
Install docker-compose and make sure it works before going forward.
|
||||
|
||||
Clone the repository and build base docker images of open5gs and Kamailio:
|
||||
|
||||
```
|
||||
git clone https://github.com/miaoski/docker_open5gs
|
||||
cd docker_open5gs/base
|
||||
docker build --no-cache --force-rm -t docker_open5gs .
|
||||
|
||||
cd ../kamailio_base
|
||||
docker build --no-cache --force-rm -t open5gs_kamailio .
|
||||
|
||||
cd ..
|
||||
docker-compose build --no-cache
|
||||
|
||||
# Copy DNS setting to containers. Do this whenever you change IP in .env
|
||||
./copy-env.sh
|
||||
|
||||
# Start MySQL and MongoDB first, in order to initialize the databases
|
||||
docker-compose up mongo mysql dns
|
||||
|
||||
# To start Open5GS core network without IMS
|
||||
docker-compose up hss mme pcrf pgw sgw
|
||||
|
||||
# To start IMS
|
||||
docker-compose up rtpengine fhoss pcscf icscf scscf
|
||||
|
||||
# To test whether DNS is properly running
|
||||
./test-dns.sh
|
||||
```
|
||||
|
||||
You may want to review `.env` for IP allocation.
|
||||
|
||||
|
||||
#### 3. (Optional) Run srsENB in a separate container
|
||||
|
||||
I use srsENB and USRP B210 in the lab. Sometimes you may want to restart
|
||||
srsENB while keeping the core network running. It is thus recommended to run
|
||||
srsENB separately.
|
||||
|
||||
Edit `.env` first to set EARFCN, TX_GAIN, RX_GAIN. Thereafter,
|
||||
|
||||
```
|
||||
docker-compose -f srsenb.yaml build --no-cache
|
||||
docker-compose -f srsenb.yaml up
|
||||
```
|
||||
|
||||
|
||||
#### 4. Configuration and register two UE
|
||||
|
||||
The configuration files for each of the Core Network component can be found
|
||||
under their respective folder. Edit the .yaml files of the components and run
|
||||
`docker-compose build` again.
|
||||
|
||||
Open (http://<DOCKER_HOST_IP>:3000) in a web browser, where <DOCKER_HOST_IP> is
|
||||
the IP of the machine/VM running the open5gs containers. Login with following
|
||||
credentials
|
||||
|
||||
```
|
||||
Username : admin
|
||||
Password : 1423
|
||||
```
|
||||
|
||||
Follow the instructions in [VoLTE Setup](https://open5gs.org/open5gs/docs/tutorial/02-VoLTE-setup/):
|
||||
- Step 18, set IMSI, Ki, OP, SQN and APN of your SIM cards.
|
||||
**Important!** Set the type of both APN to IPv4. Kamailio does not support VoLTE over
|
||||
IPv6 at the moment. (See the screenshot below.)
|
||||
- Step 20, add IMS subscriptions to FHoSS.
|
||||
|
||||

|
||||
|
||||
For already running systems, copy SQN from Open5GS and type it in FHoSS. You
|
||||
can type SQN in decimal. FHoSS will automagically convert it to hex.
|
||||
|
||||
Pay special attention to copy/paste. You might have leading or trailing spaces
|
||||
in FHoSS, resulting in failed connections!
|
||||
|
||||
|
||||
|
||||
#### 5. Debugging with Wireshark
|
||||
|
||||
Thanks to Open5GS, the topology is super similar to [SAE on Wikipedia](https://en.wikipedia.org/wiki/System_Architecture_Evolution#/media/File:Evolved_Packet_Core.svg).
|
||||
|
||||

|
||||
|
||||
|
||||
**APN**
|
||||
|
||||
On your cellphone, there should be *internet* and *ims*.
|
||||
|
||||
<img src="https://raw.githubusercontent.com/miaoski/docker_open5gs/gh-pages/screenshots/apn-on-cellphone.jpg" width="320" />
|
||||
|
||||
CoIMS should look like the one below. If you don't know what CoIMS is, please
|
||||
refer to step 23 of VoLTE Setup.
|
||||
|
||||
<img src="https://raw.githubusercontent.com/miaoski/docker_open5gs/gh-pages/screenshots/coims.jpg" width="320" />
|
||||
|
||||
|
||||
**Networking issues**
|
||||
|
||||
PCAP files of successful calls can be found on [VoLTE Setup](https://open5gs.org/open5gs/docs/tutorial/02-VoLTE-setup/).
|
||||
|
||||
When DNS is not properly set, you may end up with 478 Unresolvable destination (478/SL):
|
||||
|
||||

|
||||
|
||||
If the port if not open, or DNS is not properly configured, the phone cannot
|
||||
reach P-CSCF and fails.
|
||||
|
||||

|
||||
|
||||
If there is an NAT between PGW and P-CSCF, IPsec-NAT would not work, and the
|
||||
PCAP looks like the one below. N.B. that you need to run P-CSCF as root, in
|
||||
order to add xfrm state and policy.
|
||||
|
||||

|
||||
|
||||
|
||||
#### 6. Successful calls
|
||||
|
||||
Herle Supreeth has shared PCAP files of successful calls, including
|
||||
- [IPSec UE registration for VoLTE]({{ site.url }}{{ site.baseurl }}/assets/pcapng/ipsec_reg.pcapng)
|
||||
- [Non-IPSec UE registration for VoLTE]({{ site.url }}{{ site.baseurl }}/assets/pcapng/nonipsec_reg.pcapng)
|
||||
- [IPSec UE to IPSec UE calling]({{ site.url }}{{ site.baseurl }}/assets/pcapng/ipsec_to_ipsec_call.pcapng)
|
||||
- [Non-IPSec UE to IPSec UE calling]({{ site.url }}{{ site.baseurl }}/assets/pcapng/nonipsec_to_ipsec_call.pcapng)
|
||||
- [IPSec UE to Non-IPSec UE calling]({{ site.url }}{{ site.baseurl }}/assets/pcapng/ipsec_to_nonipsec_call.pcapng)
|
||||
|
||||
The successful calls were made with a commercial eNB (in his case a Casa
|
||||
smallcell), while srsENB the ACK takes a very long time to reach the UE,
|
||||
resulting in disconnected calls.
|
||||
|
||||
**UE registration**
|
||||
|
||||

|
||||
|
||||
From the screenshot, we see a UE that supports IPSec got a response from
|
||||
S-CSCF, indicating that ipsec-3gpp is supported, protocol is ESP (ethernet
|
||||
proto 50, IPSec). Client port (port-c) is 5100 and server port (port-s) 6100.
|
||||
Refer to [IMS/SIP - Basic Procedures](https://www.sharetechnote.com/html/IMS_SIP_Procedure_Reg_Auth_IPSec.html) if you want to know more.
|
||||
Also, notice that packets after 401 Unauthorized are transmitted over ESP.
|
||||
|
||||
If a UE does not support IPSec, you don't see the "security-server", as shown below:
|
||||
|
||||

|
||||
|
||||
|
||||
**VoLTE calls**
|
||||
|
||||

|
||||
|
||||
The Wireshark above shows that after several IPSec (ESP) packets, S-CSCF is
|
||||
sending a SIP INVITE for UE 03 to UE 04. To be more precise,
|
||||
|
||||
```
|
||||
Request-Line: INVITE sip:0398765432100;phone-context=0498765432100@0498765432100;user=phone SIP/2.0
|
||||
...
|
||||
Record-Route URI: sip:mo@10.4.128.21:6101;lr=on;ftag=7b3fae13;rm=8;did=078.654
|
||||
```
|
||||
|
||||
The SIP port of the caller (`contact`) will also be passed to the callee,
|
||||
```
|
||||
Contact URI: sip:0498765432100@192.168.101.3:6400;alias=192.168.101.3~6401~1
|
||||
```
|
||||
|
||||
After S-CSCF forwarded the INVITE to P-CSCF, it returns a 100 Trying, and contacts with the callee via IPSec:
|
||||
|
||||

|
||||
|
||||
This can be contrasted when the callee does not support IPSec. After 100
|
||||
Trying, a UE that does not support IPSec is sent a SIP INVITE in clear text:
|
||||
|
||||

|
||||
|
||||
|
||||
|
||||
#### 7. Known issues
|
||||
|
||||
- IPv6 is not supported.
|
||||
|
||||
|
||||
#### 8. References
|
||||
|
||||
- [https://github.com/onmyway133/blog/issues/284](https://github.com/onmyway133/blog/issues/284)
|
||||
- [https://realtimecommunication.wordpress.com/2015/05/26/at-your-service/](https://realtimecommunication.wordpress.com/2015/05/26/at-your-service/)
|
||||
- [https://www.sharetechnote.com/html/Handbook_LTE_VoLTE.html](https://www.sharetechnote.com/html/Handbook_LTE_VoLTE.html)
|
||||
@@ -4,17 +4,17 @@ title: About
|
||||
permalink: /about/
|
||||
---
|
||||
|
||||
Open5GS is a C-language Open Source implementation of the 3GPP Evolved Packet Core, i.e. the core network of an LTE network.
|
||||
Open5GS is a C-language Open Source implementation of 5GC and EPC, i.e. the core network of NR/LTE network.
|
||||
|
||||
#### Supported Features
|
||||
---
|
||||
|
||||
- LTE release 14 complient
|
||||
- Release-16 compliant
|
||||
- AES, Snow3G, ZUC algorithms for encryption
|
||||
- Support of USIM cards using Milenage
|
||||
- Multiple PDN support
|
||||
- S1/X2 Handover
|
||||
- IPv6 support
|
||||
- Multiple PDU session resource(EPC only)
|
||||
- S1/X2 Handover(EPC only)
|
||||
- CSFB(Circuit Switched Fall Back) and SMSoS(SMS Over SGs)
|
||||
- VoLTE(Voice over LTE)
|
||||
|
||||
|
||||
30
docs/_pages/cla.md
Normal file
30
docs/_pages/cla.md
Normal file
@@ -0,0 +1,30 @@
|
||||
---
|
||||
layout: page
|
||||
title: Contributor License Agreement
|
||||
permalink: /cla/
|
||||
---
|
||||
|
||||
### 1. What is a Copyright License Agreement (CLA) and why do I need one?
|
||||
|
||||
A Copyright License Agreement is a legal document in which you state you are entitled to contribute the code/documentation/translation to the project you’re contributing to and are willing to have it used in distributions and derivative works. This means that should there be any kind of legal issue in the future as to the origins and ownership of any particular piece of code, then that project has the necessary forms on file from the contributor(s) saying they were permitted to make this contribution.
|
||||
|
||||
The CLA also ensures that once you have provided a contribution, you cannot try to withdraw permission for its use at a later date. People and companies can therefore use that software, confident that they will not be asked to stop using pieces of the code at a later date.
|
||||
|
||||
The agreements used by the Open5GS project are standard documents provided by Project Harmony, a community-centered group focused on contributor agreements for free and open source software (FOSS). For more information, see [www.harmonyagreements.org](http://www.harmonyagreements.org).
|
||||
|
||||
|
||||
### 2. How do I complete and submit the CLA?
|
||||
|
||||
The Open5GS CLAs can be found as below.
|
||||
- [I am an individual]({{ site.url }}{{ site.baseurl }}/assets/cla/Open5GS-Individual.pdf)...(revision 2020-05-23)
|
||||
- [I am a legal entity (corporation)]({{ site.url }}{{ site.baseurl }}/assets/cla//Open5GS-Entity.pdf)...(revision 2020-05-23)
|
||||
|
||||
**(Email)** Download the appropriate CLA, then print, sign and scan the document before sending by email to [acetcom@gmail.com](mailto:acetcom@gmail.com).
|
||||
|
||||
**(Electronic submission)** If you're contributing through a pull request to Open5GS project on Github, please read its acceptance by going back to GitHub and accepting electronically.
|
||||
|
||||
### 3. How will my contributions to Open5GS be used?
|
||||
|
||||
Through the license agreements, we ask you to grant us permission to use your contributions within Open5GS and to continue to provide Open5GS under open-source and another licenses and within proprietary products. As we do not ask for copyright assignment, you retain complete ownership of your contributions and have the same rights to use or license those contributions which you would have had without entering into a license agreement.
|
||||
|
||||
If you have any questions about Open5GS licensing and contributions, please contact us at [acetcom@gmail.com](mailto:acetcom@gmail.com)
|
||||
@@ -5,14 +5,23 @@ permalink: /docs/
|
||||
head_inline: "<style> ul { padding-bottom: 1em; } </style>"
|
||||
---
|
||||
|
||||
- What's New?
|
||||
- [Installing 5G Core](new/02-installing-5g-core)
|
||||
|
||||
- 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)
|
||||
- [Setting up Kamailio IMS](guide/04-setting-up-kamailio-IMS)
|
||||
|
||||
- Tutorials
|
||||
- [Your First LTE](tutorial/01-your-first-lte)
|
||||
- [VoLTE Setup with Kamailio IMS and Open5GS](tutorial/02-VoLTE-setup)
|
||||
- [Dockerized VoLTE Setup](tutorial/03-VoLTE-dockerized)
|
||||
- [Kubernetes Open5GS Deployment](https://dev.to/infinitydon/virtual-4g-simulation-using-kubernetes-and-gns3-3b7k?fbclid=IwAR1p99h13a-mCfejanbBQe0H0-jp5grXkn5mWf1WrTHf47UtegB2-UHGGZQ)
|
||||
|
||||
- Troubleshooting
|
||||
- [Simple Issues](troubleshoot/01-simple-issues)
|
||||
- [Now in Github Issues](troubleshoot/02-now-in-github-issues)
|
||||
|
||||
- Platform Specific Notes
|
||||
- [Debian/Ubuntu](platform/01-debian-ubuntu)
|
||||
|
||||
@@ -4,468 +4,17 @@ title: FAQ
|
||||
permalink: /faq/
|
||||
---
|
||||
|
||||
#### Is it possible to setup IP/NAT table along with Docker?
|
||||
#### What are the Open5GS license terms?
|
||||
|
||||
Enable IP Forward.
|
||||
```
|
||||
$ sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
|
||||
```
|
||||
Open5GS is licensed under the GNU Affero General Public License (AGPL), Version 3.0.
|
||||
|
||||
The following is the default docker IP/NAT table.
|
||||
#### Are there any companies providing commercial support for Open5GS?
|
||||
|
||||
```
|
||||
$ sudo iptables-save
|
||||
# Generated by iptables-save v1.6.1 on Sat Jun 1 23:43:50 2019
|
||||
*nat
|
||||
:PREROUTING ACCEPT [74:4820]
|
||||
:INPUT ACCEPT [4:208]
|
||||
:OUTPUT ACCEPT [49:3659]
|
||||
:POSTROUTING ACCEPT [49:3659]
|
||||
:DOCKER - [0:0]
|
||||
-A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A OUTPUT ! -d 127.0.0.0/8 -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A POSTROUTING -s 172.17.0.0/16 ! -o docker0 -j MASQUERADE
|
||||
-A DOCKER -i docker0 -j RETURN
|
||||
COMMIT
|
||||
# Completed on Sat Jun 1 23:43:50 2019
|
||||
# Generated by iptables-save v1.6.1 on Sat Jun 1 23:43:50 2019
|
||||
*filter
|
||||
:INPUT ACCEPT [651:514108]
|
||||
:FORWARD DROP [70:4612]
|
||||
:OUTPUT ACCEPT [590:63846]
|
||||
:DOCKER - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-1 - [0:0]
|
||||
:DOCKER-ISOLATION-STAGE-2 - [0:0]
|
||||
:DOCKER-USER - [0:0]
|
||||
-A FORWARD -j DOCKER-USER
|
||||
-A FORWARD -j DOCKER-ISOLATION-STAGE-1
|
||||
-A FORWARD -o docker0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
-A FORWARD -o docker0 -j DOCKER
|
||||
-A FORWARD -i docker0 ! -o docker0 -j ACCEPT
|
||||
-A FORWARD -i docker0 -o docker0 -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i docker0 ! -o docker0 -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-1 -j RETURN
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o docker0 -j DROP
|
||||
-A DOCKER-ISOLATION-STAGE-2 -j RETURN
|
||||
-A DOCKER-USER -j RETURN
|
||||
COMMIT
|
||||
# Completed on Sat Jun 1 23:43:50 2019
|
||||
```
|
||||
[sysmocom](https://sysmocom.de/) is providing commercial services around Open5GS,
|
||||
including support, development, consulting, training and system integration.
|
||||
|
||||
Create **newtables** file as below.
|
||||
Please contact [Harald Welte \<sales@sysmocom.de\>](mailto:sales@sysmocom.de) for any related inquiries.
|
||||
|
||||
```diff
|
||||
$ diff -u oldtables newtables
|
||||
--- oldtables 2019-06-01 23:43:50.354974226 +0900
|
||||
+++ newtables 2019-06-01 23:44:16.110931684 +0900
|
||||
@@ -8,6 +8,7 @@
|
||||
-A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A OUTPUT ! -d 127.0.0.0/8 -m addrtype --dst-type LOCAL -j DOCKER
|
||||
-A POSTROUTING -s 172.17.0.0/16 ! -o docker0 -j MASQUERADE
|
||||
+-A POSTROUTING -s 45.45.0.0/16 ! -o ogstun -j MASQUERADE
|
||||
-A DOCKER -i docker0 -j RETURN
|
||||
COMMIT
|
||||
# Completed on Sat Jun 1 23:43:50 2019
|
||||
@@ -26,6 +27,10 @@
|
||||
-A FORWARD -o docker0 -j DOCKER
|
||||
-A FORWARD -i docker0 ! -o docker0 -j ACCEPT
|
||||
-A FORWARD -i docker0 -o docker0 -j ACCEPT
|
||||
+-A FORWARD -o ogstun -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||
+-A FORWARD -o ogstun -j DOCKER
|
||||
+-A FORWARD -i ogstun ! -o ogstun -j ACCEPT
|
||||
+-A FORWARD -i ogstun -o ogstun -j ACCEPT
|
||||
-A DOCKER-ISOLATION-STAGE-1 -i docker0 ! -o docker0 -j DOCKER-ISOLATION-STAGE-2
|
||||
-A DOCKER-ISOLATION-STAGE-1 -j RETURN
|
||||
-A DOCKER-ISOLATION-STAGE-2 -o docker0 -j DROP
|
||||
```
|
||||
#### Are there any success stories about Open5GS deployments?
|
||||
|
||||
And then, apply **newtables** as below.
|
||||
```
|
||||
$ sudo iptables-restore < newtables
|
||||
```
|
||||
|
||||
The above operation is the same as described in the following manuals.
|
||||
```
|
||||
### Check IP Tables
|
||||
$ sudo iptables -L
|
||||
Chain INPUT (policy ACCEPT)
|
||||
target prot opt source destination
|
||||
|
||||
Chain FORWARD (policy ACCEPT)
|
||||
target prot opt source destination
|
||||
|
||||
Chain OUTPUT (policy ACCEPT)
|
||||
target prot opt source destination
|
||||
|
||||
### Check NAT Tables
|
||||
$ sudo iptables -L -t nat
|
||||
Chain PREROUTING (policy ACCEPT)
|
||||
target prot opt source destination
|
||||
|
||||
Chain INPUT (policy ACCEPT)
|
||||
target prot opt source destination
|
||||
|
||||
Chain OUTPUT (policy ACCEPT)
|
||||
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"
|
||||
|
||||
### Add NAT Rule
|
||||
$ sudo iptables -t nat -A POSTROUTING -s 45.45.0.0/16 ! -o ogstun -j MASQUERADE
|
||||
```
|
||||
|
||||
#### How to use a different APN for each PGW
|
||||
|
||||
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.
|
||||
|
||||
See the following example.
|
||||
|
||||
```
|
||||
### For reference, see `pgw.yaml`
|
||||
#------------------------ MME --------------------------
|
||||
#
|
||||
# o Two PGW are defined. 127.0.0.3:2123 is used.
|
||||
# [fe80::3%lo]:2123 is ignored.
|
||||
# gtpc:
|
||||
# - addr: 127.0.0.3
|
||||
# - addr: fe80::3%lo
|
||||
#
|
||||
# o One PGW is defined. if prefer_ipv4 is not true,
|
||||
# [fe80::3%lo] is selected.
|
||||
# gtpc:
|
||||
# - addr:
|
||||
# - 127.0.0.3
|
||||
# - fe80::3%lo
|
||||
#
|
||||
# o Two PGW are defined with a different APN.
|
||||
# - Note that if PGW 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.5
|
||||
# apn: volte
|
||||
#
|
||||
# o If APN is omitted, the default APN uses the first PGW node.
|
||||
# gtpc:
|
||||
# - addr: 127.0.0.3
|
||||
# - addr: 127.0.0.5
|
||||
# apn: volte
|
||||
#
|
||||
```
|
||||
|
||||
The IP address of the UE can also use a different UE pool depending on the APN.
|
||||
|
||||
```
|
||||
### For reference, see `pgw.yaml`
|
||||
#
|
||||
# <UE Pool>
|
||||
#
|
||||
# o IPv4 Pool
|
||||
# $ sudo ip addr add 45.45.0.1/16 dev ogstun
|
||||
#
|
||||
# ue_pool:
|
||||
# addr: 45.45.0.1/16
|
||||
#
|
||||
# o IPv4/IPv6 Pool
|
||||
# $ sudo ip addr add 45.45.0.1/16 dev ogstun
|
||||
# $ sudo ip addr add cafe:1::1/64 dev ogstun
|
||||
#
|
||||
# ue_pool:
|
||||
# - addr: 45.45.0.1/16
|
||||
# - addr: cafe:1::1/64
|
||||
#
|
||||
#
|
||||
# o Specific APN(e.g 'volte') uses 45.46.0.1/16, cafe:2::1/64
|
||||
# All other APNs use 45.45.0.1/16, cafe:1::1/64
|
||||
# $ sudo ip addr add 45.45.0.1/16 dev ogstun
|
||||
# $ sudo ip addr add 45.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:
|
||||
# - addr: 45.45.0.1/16
|
||||
# - addr: cafe:1::1/64
|
||||
# - addr: 45.46.0.1/16
|
||||
# apn: volte
|
||||
# - addr: cafe:2::1/64
|
||||
# apn: volte
|
||||
#
|
||||
# o Multiple Devices (default: ogstun)
|
||||
# $ sudo ip addr add 45.45.0.1/16 dev ogstun
|
||||
# $ sudo ip addr add cafe:1::1/64 dev ogstun2
|
||||
# $ sudo ip addr add 45.46.0.1/16 dev ogstun3
|
||||
# $ sudo ip addr add cafe:2::1/64 dev ogstun3
|
||||
#
|
||||
# ue_pool:
|
||||
# - addr: 45.45.0.1/16
|
||||
# - addr: cafe:1::1/64
|
||||
# dev: ogstun2
|
||||
# - addr: 45.46.0.1/16
|
||||
# apn: volte
|
||||
# dev: ogstun3
|
||||
# - addr: cafe:2::1/64
|
||||
# apn: volte
|
||||
# dev: ogstun3
|
||||
#
|
||||
```
|
||||
|
||||
#### How to connect MongoDB server
|
||||
|
||||
If you do not start MongoDB, you will get the following error:
|
||||
|
||||
```bash
|
||||
$ ./install/bin/open5gs-hssd
|
||||
Open5GS daemon v1.0.0
|
||||
|
||||
10/27 16:45:00.371: [app] INFO: Configuration: '/Users/acetcom/Documents/git/open5gs/install/etc/open5gs/hss.yaml' (../src/main.c:54)
|
||||
10/27 16:45:00.372: [app] INFO: File Logging: '/Users/acetcom/Documents/git/open5gs/install/var/log/open5gs/hss.log' (../src/main.c:57)
|
||||
10/27 16:45:00.377: [dbi] ERROR: Failed to connect to server [mongodb://localhost/open5gs] (../lib/dbi/ogs-mongoc.c:91)
|
||||
10/27 16:45:00.377: [app] ERROR: Failed to intialize HSS (../src/hss/app-init.c:28)
|
||||
```
|
||||
|
||||
You can start MongoDB using systemctl.
|
||||
```bash
|
||||
$ sudo systemctl start mongodb
|
||||
```
|
||||
|
||||
#### Failing to run `./open5gs-mmed`
|
||||
|
||||
You might be getting the following error after running `./open5gs-mmed`.
|
||||
```bash
|
||||
$ ./build/src/mme/open5gs-mmed
|
||||
10/27 16:45:41.912: [app] FATAL: cannot open file `/Users/acetcom/Documents/git/open5gs/install/etc/open5gs/mme.yaml` (../lib/app/ogs-config.c:67)
|
||||
10/27 16:45:41.912: [app] FATAL: Open5GS initialization failed. Aborted (../src/main.c:211)
|
||||
```
|
||||
|
||||
You should perform **the installation process**.
|
||||
|
||||
```bash
|
||||
$ make install
|
||||
```
|
||||
|
||||
#### I have some error when running `./build/test/simple/simple`
|
||||
|
||||
Did you see the following error after executing `./build/test/simple/simple`?
|
||||
```bash
|
||||
$ ./build/test/simple/simple
|
||||
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)
|
||||
/home/acetcom/Documents/git/open5gs/open5gs/lib/ogslib/src/core/.libs/libogscore-1.0.so.0(ogs_abort+0x2b)[0x7f608518271b]
|
||||
/home/acetcom/Documents/git/open5gs/open5gs/test/.libs/testcomplex(+0x92121)[0x55dc9e274121]
|
||||
/home/acetcom/Documents/git/open5gs/open5gs/test/.libs/testcomplex(+0x4f5b9)[0x55dc9e2315b9]
|
||||
```
|
||||
|
||||
|
||||
Remove all subscriber information using MongoDB Client
|
||||
```
|
||||
$ mongo
|
||||
> db.subscribers.find() ### Check the test subscriber
|
||||
> db.subscribers.drop() ### Remove all subscriber
|
||||
> db.subscribers.find() ### Check that all subscribers are empty
|
||||
```
|
||||
|
||||
Kill all processes.
|
||||
```bash
|
||||
$ ps -ef | grep simple
|
||||
$ ps -ef | grep open5gs
|
||||
$ sudo pkill -9 simple
|
||||
$ sudo pkill -9 open5gs-mmed ...
|
||||
```
|
||||
|
||||
Execute `./build/test/simple/simple`
|
||||
```bash
|
||||
$ ./build/test/simple/simple
|
||||
```
|
||||
|
||||
#### My eNB does not support IPv6.
|
||||
|
||||
Your eNodeB don't have to support IPv6.
|
||||
|
||||
If the sgw.gtpu configuration does not have an IPv6 address, the eNodeB can use IPv4 to connect to the MME and SGW. If the sgw.gtpu setting has an IPv6 address, you can disable the IPv6 address as shown below.
|
||||
|
||||
```yaml
|
||||
parameter:
|
||||
no_ipv6: true
|
||||
```
|
||||
|
||||
**Note:** This parameter `no_ipv6` is only applied to EPC Elements such as MME, SGW, and so on. The parameter `no_ipv6` does not affect to UE. So, IPv6-enabled UE can connect to Open5GS LTE network.
|
||||
{: .notice--warning}
|
||||
|
||||
#### Unable to add new user by WebUI
|
||||
|
||||
It might be a CSRF token mismatch error.
|
||||
Please, delete corresponding cookies, cache, session data etc.
|
||||
|
||||
#### Change Domain from localdomain to anything else
|
||||
|
||||
You should configure the domain name on your computer. Otherwise, freeDiameter raise an error.
|
||||
|
||||
#### 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).
|
||||
|
||||
```
|
||||
#define MAX_NUM_OF_ENB 128
|
||||
#define MAX_NUM_OF_UE 128
|
||||
#define MAX_NUM_OF_SESS 4
|
||||
#define MAX_NUM_OF_BEARER 4
|
||||
#define MAX_NUM_OF_TUNNEL 3 /* Num of Tunnel per Bearer */
|
||||
#define MAX_NUM_OF_PF 16 /* Num of Packet Filter per Bearer */
|
||||
|
||||
#define MAX_POOL_OF_UE (MAX_NUM_OF_ENB * MAX_NUM_OF_UE)
|
||||
#define MAX_POOL_OF_SESS (MAX_POOL_OF_UE * MAX_NUM_OF_SESS)
|
||||
#define MAX_POOL_OF_BEARER (MAX_POOL_OF_SESS * MAX_NUM_OF_BEARER)
|
||||
#define MAX_POOL_OF_TUNNEL (MAX_POOL_OF_BEARER * MAX_NUM_OF_TUNNEL)
|
||||
#define MAX_POOL_OF_PF (MAX_POOL_OF_BEARER * MAX_NUM_OF_PF)
|
||||
#define MAX_POOL_OF_DIAMETER_SESS (MAX_POOL_OF_UE * MAX_NUM_OF_SESS)
|
||||
```
|
||||
|
||||
Currently, the number of UE is limited to `128*128`.
|
||||
|
||||
#### What is the Default Configuration?
|
||||
|
||||
- Network
|
||||
|
||||
```
|
||||
* MME
|
||||
S1AP: listen on all address avaiable in system
|
||||
GTP-C: listen on the first IP address in system
|
||||
DIAMETER: 127.0.0.2 (No TLS)
|
||||
|
||||
* SGW
|
||||
GTP-C: 127.0.0.2
|
||||
GTP-U: listen on the first IP address in system
|
||||
|
||||
* PGW
|
||||
GTP-C: Both 127.0.0.3 and [::1]
|
||||
GTP-U: Both 127.0.0.3 and [::1]
|
||||
DIAMETER: 127.0.0.3 (No TLS)
|
||||
|
||||
* HSS
|
||||
DIAMETER: 127.0.0.4 (No TLS)
|
||||
|
||||
* PCRF
|
||||
DIAMETER: 127.0.0.5 (No TLS)
|
||||
```
|
||||
|
||||
- GUMMEI, PLMN and TAC
|
||||
|
||||
```
|
||||
* GUMMEI
|
||||
PLMN ID - MNC: 001, MCC: 01
|
||||
MME Group : 2
|
||||
MME Code : 1
|
||||
|
||||
* TAI
|
||||
PLMN ID - MNC: 001, MCC: 01
|
||||
TAC : 12345
|
||||
```
|
||||
|
||||
- Security
|
||||
|
||||
```
|
||||
* Integrity : EIA1 - Snow 3G
|
||||
* Ciphering : EEA0 - Nothing
|
||||
```
|
||||
|
||||
- UE Network
|
||||
|
||||
```
|
||||
* IPv4 : 45.45.0.1/16
|
||||
* IPv6 : cafe::1/64
|
||||
```
|
||||
|
||||
- DNS
|
||||
|
||||
```
|
||||
* IPv4
|
||||
Primary : 8.8.8.8
|
||||
Secondary : 8.8.4.4
|
||||
|
||||
* IPv6
|
||||
Primary : 2001:4860:4860::8888
|
||||
Secondary : 2001:4860:4860::8844
|
||||
```
|
||||
|
||||
#### The parsing errors are caused by tab spaces in the configuration files.
|
||||
|
||||
YAML forbids tabs. You should use space instead of tab in Open5GS configuration file.
|
||||
|
||||
```markdown
|
||||
YAML FAQ: Why does YAML forbid tabs?
|
||||
|
||||
Tabs have been outlawed since they are treated differently by different editors and tools. And since indentation is so critical to proper interpretation of YAML, this issue is just too tricky to even attempt. Indeed Guido van Rossum of Python has acknowledged that allowing TABs in Python source is a headache for many people and that were he to design Python again, he would forbid them.
|
||||
```
|
||||
|
||||
#### Cross compilation setup
|
||||
|
||||
By default, Open5GS is designed to support the Embedding System. To do so, we introduced pool-based memory management. Unfortunately, we have not tested Open5GS in an embedded environment. I tried to compile on the ARM architecture using Docker and run it with QEMU for your reference.
|
||||
|
||||
- We'll use Debian Docker Environment.
|
||||
|
||||
```bash
|
||||
$ git clone https://github.com/acetcom/open5gs
|
||||
$ cd open5gs/docker
|
||||
$ DIST=debian docker-compose run dev
|
||||
```
|
||||
|
||||
- In Docker Container
|
||||
|
||||
```bash
|
||||
$ sudo dpkg --add-architecture armel
|
||||
$ 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
|
||||
$ cd open5gs/
|
||||
|
||||
$ cat << EOF > cross_file.txt
|
||||
[host_machine]
|
||||
system = 'linux'
|
||||
cpu_family = 'x86_64'
|
||||
cpu = 'x86_64'
|
||||
endian = 'little'
|
||||
|
||||
[binaries]
|
||||
c = '/usr/bin/arm-linux-gnueabi-gcc'
|
||||
ar = '/usr/bin/arm-linux-gnueabi-ar'
|
||||
strip = '/usr/bin/arm-linux-gnueabi-strip'
|
||||
pkgconfig = '/usr/bin/arm-linux-gnueabi-pkg-config'
|
||||
exe_wrapper = 'qemu'
|
||||
|
||||
[properties]
|
||||
needs_exe_wrapper = true
|
||||
EOF
|
||||
|
||||
$ meson build --prefix=`pwd`/install --cross-file cross_file.txt
|
||||
$ ninja -C build
|
||||
$ ./install/bin/open5gs-sgwd
|
||||
./install/bin/open5gs-sgwd
|
||||
Open5GS daemon v1.0.0
|
||||
|
||||
10/27 08:37:33.158: [app] INFO: Configuration: '/home/acetcom/git/open5gs/install/etc/open5gs/sgw.yaml' (../src/main.c:54)
|
||||
10/27 08:37:33.166: [app] INFO: File Logging: '/home/acetcom/git/open5gs/install/var/log/open5gs/sgw.log' (../src/main.c:57)
|
||||
Unknown QEMU_IFLA_INFO_KIND ipip
|
||||
Unknown QEMU_IFLA_INFO_KIND ip6tnl
|
||||
10/27 08:37:33.225: [app] INFO: SGW initialize...done (../src/sgw/app-init.c:31)
|
||||
10/27 08:37:33.263: [gtp] INFO: gtp_server() [127.0.0.2]:2123 (../lib/gtp/path.c:32)
|
||||
10/27 08:37:33.265: [gtp] INFO: gtp_server() [172.20.0.4]:2152 (../lib/gtp/path.c:32)
|
||||
|
||||
./install/bin/open5gs-hssd
|
||||
Open5GS daemon v1.0.0
|
||||
|
||||
10/27 08:37:45.754: [app] INFO: Configuration: '/home/acetcom/git/open5gs/install/etc/open5gs/hss.yaml' (../src/main.c:54)
|
||||
10/27 08:37:45.762: [app] INFO: File Logging: '/home/acetcom/git/open5gs/install/var/log/open5gs/hss.log' (../src/main.c:57)
|
||||
10/27 08:37:45.868: [dbi] INFO: MongoDB URI: 'mongodb://mongodb/open5gs' (../lib/dbi/ogs-mongoc.c:99)
|
||||
^Cgetsockopt level=132 optname=0 not yet supported
|
||||
```
|
||||
|
||||
The SCTP module is not included in the QEMU kernel. I believe that if the Linux kernel installed on your target platform contains an SCTP module, it will work normally.
|
||||
{: .notice--warning}
|
||||
See [https://github.com/open5gs/open5gs/issues/360](https://github.com/open5gs/open5gs/issues/360)
|
||||
|
||||
46
docs/_posts/2019-12-06-release-v1.1.0.md
Normal file
46
docs/_posts/2019-12-06-release-v1.1.0.md
Normal file
@@ -0,0 +1,46 @@
|
||||
---
|
||||
title: "v1.1.0 - Stabilize Open5GS Packages"
|
||||
date: 2019-12-06 20:16:00 +0900
|
||||
categories:
|
||||
- Release
|
||||
tags:
|
||||
- News
|
||||
- Release
|
||||
head_inline: "<style> ul { padding-bottom: 1em; } </style>"
|
||||
---
|
||||
|
||||
#### New Feature
|
||||
- Support for Static IP address ([#306](https://github.com/open5gs/open5gs/pull/306)) -- [spencersevilla](https://github.com/spencersevilla)
|
||||
|
||||
#### Enhancement
|
||||
- Upgrade `freeDiameter` to version 1.3.2
|
||||
- Build with `usrsctp` using MESON subproject
|
||||
- Changes default prefix ([#307](https://github.com/open5gs/open5gs/pull/307)) -- [aleksander0m](https://github.com/aleksander0m)
|
||||
- ogs_assert() to ogs_expect() ([#314](https://github.com/open5gs/open5gs/pull/314)) -- [laf0rge](https://github.com/laf0rge), [spencersevilla](https://github.com/spencersevilla)
|
||||
|
||||
#### Specification Issues
|
||||
- Include PGW-C/U F-TEID on SGW S11 Create Session Response ([#300](https://github.com/open5gs/open5gs/issues/300)) -- [gusbourg](https://github.com/gusbourg)
|
||||
- Include Bearer Context IE(with Cause) on SGW S11 Modify Bearer Response ([#301](https://github.com/open5gs/open5gs/issues/301)) -- [gusbourg](https://github.com/gusbourg)
|
||||
- Include IMEISV Request on Security-mode command
|
||||
|
||||
#### Bug fixes
|
||||
- Remove NAS timer related S1AP message ([#256](https://github.com/open5gs/open5gs/issues/256)) -- [laf0rge](https://github.com/laf0rge)
|
||||
- Fix the MME crashes on receiving unknown TEID ([#258](https://github.com/open5gs/open5gs/issues/258)) -- [laf0rge](https://github.com/laf0rge)
|
||||
- Map S6A diameter codes to EMM codes ([#263](https://github.com/open5gs/open5gs/issues/263)) -- [laf0rge](https://github.com/laf0rge)
|
||||
- Fix the WebUI installation script ([#299](https://github.com/open5gs/open5gs/issues/299))
|
||||
- Add SGsAP-SERVICE-REQUEST in MT-SMS-ACTIVE ([#312](https://github.com/open5gs/open5gs/issues/312)) -- [EugeneBogush](https://github.com/EugeneBogush)
|
||||
|
||||
#### Rollback
|
||||
- MME uses single UE context to handle two attach procedure for the same UE([#203](https://github.com/open5gs/open5gs/issues/203)) -- [lezixiao](https://github.com/lezixiao)
|
||||
|
||||
#### Document
|
||||
- Add Additional troubleshooting document ([#309](https://github.com/open5gs/open5gs/pull/309)) -- [sudheesh001](https://github.com/sudheesh001), [nickvsnetworking](https://github.com/nickvsnetworking)
|
||||
|
||||
#### Miscellaneous
|
||||
- Add statistics for UE/eNB/Sessions ([#303](https://github.com/open5gs/open5gs/pull/303)) -- [spencersevilla](https://github.com/spencersevilla)
|
||||
- MongoDB CLI tool ([#305](https://github.com/open5gs/open5gs/pull/305)) -- [spencersevilla](https://github.com/spencersevilla)
|
||||
- An easy install script for MacOSX build [sudheesh001](https://github.com/sudheesh001)
|
||||
|
||||
|
||||
Download -- [v1.1.0.tar.gz](https://github.com/open5gs/open5gs/archive/v1.1.0.tar.gz)
|
||||
{: .notice--info}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user