From 5ab5ab4f01fb9d3c9f7708ec9fc0fa8666f662fc Mon Sep 17 00:00:00 2001 From: Sukchan Lee Date: Sat, 5 Sep 2020 20:47:35 -0400 Subject: [PATCH] Document release v2.0.1 --- .../guide/03-splitting-network-elements.md | 272 +++++++++++++++--- docs/_posts/2020-08-21-release-v2.0.0.md | 2 +- docs/_posts/2020-09-05-release-v2.0.1.md | 35 +++ 3 files changed, 274 insertions(+), 35 deletions(-) create mode 100644 docs/_posts/2020-09-05-release-v2.0.1.md diff --git a/docs/_docs/guide/03-splitting-network-elements.md b/docs/_docs/guide/03-splitting-network-elements.md index 2829ca888..9a024584f 100644 --- a/docs/_docs/guide/03-splitting-network-elements.md +++ b/docs/_docs/guide/03-splitting-network-elements.md @@ -3,30 +3,239 @@ title: Open5GS Splitting Network Elements head_inline: "" --- -In a production network, NFs would typically not all be on the same machine, as is the default example that ships with Open5GS. +In a production network, NFs are usually not on the same machine as the default example that comes with Open5GS. -Open5GS is designed to be standards compliant, so in theory you can connect any core network function from Open5GS or any other vendor to form a functioning network, so long as they are 3GPP compliant. +Open5GS is designed to comply with standards, so in theory you can connect core network functions from Open5GS or other vendors to form a functioning network. However, this is only possible if it complies with 3GPP. -To demonstrate this we will cover isolating each network element onto it's on machine and connect each network element to the other. For some interfaces specifying multiple interfaces is supported to allow connection to multiple +To demonstrate this, we will cover how to isolate each network function and connect each network function to another. For some interfaces, you can specify multiple interfaces to connect to multiple interfaces. -In these examples we'll be connecting Open5GS NFs together, but it could just as easily be NFs from a different vendor in the place of any Open5GS network functions. +In this example, we are connecting the Open5GS NF together, but instead of the Open5GS network function, you can easily connect them like other vendors' NFs. -| Service | IP | Identity | -| ------------- |:-------------:|:-------------:| -| SMF | 10.0.1.121 | smf.localdomain | -| SGW-C | 10.0.1.122 | | -| PCRF | 10.0.1.123 | pcrf.localdomain | -| MME | 10.0.1.124 | mme.localdomain | -| HSS | 10.0.1.118 | hss.localdomain | +## 1. Configuring Open5GS (No other vendors' NFs) +_Cloud Authentication and Session Management Server_ -# External SMF -In it's simplest from the SMF has 3 interfaces: +``` +MongoDB = 127.0.0.1 (subscriber data) - http://localhost:3000 +MME-s1ap = 10.10.0.2 :36412 (authVPN) for S1-MME +MME-gtpc = 127.0.0.2 :any for S11 +MME-frDi = 127.0.0.2 :3868 for S6a auth +SGWC-gtpc = 127.0.0.3 :2123 for S11 +SGWC-pfcp = 10.10.0.3 :8805 (authVPN) for Sxa +SMF-gtpc = 127.0.0.4 :2123 for S5/8c, N11 +SMF-pfcp = 10.10.0.4 :8805 (authVPN) for N4 +SMF-frDi = 127.0.0.4 :3868 for Gx auth +SMF-sbi = 127.0.0.4 :7777 for 5G SBI (N7,N10,N11) +AMF-ngap = 10.10.0.5 :36412 (authVPN) for N2 +AMF-sbi = 127.0.0.5 :7777 for 5G SBI (N8,N12,N11) +HSS-frDi = 127.0.0.8 :3868 for S6a auth +PCRF-frDi = 127.0.0.9 :3868 for Gx auth +NRF-sbi = 127.0.0.10:7777 for 5G SBI +AUSF-sbi = 127.0.0.11:7777 for 5G SBI +UDM-sbi = 127.0.0.12:7777 for 5G SBI +UDR-sbi = 127.0.0.13:7777 for 5G SBI +``` + +_Cloud Userplane Server (to host IMS etc)_ + +``` +SGWU-pfcp = 10.10.0.6 :8805 (authVPN) for Sxa +SGWU-gtpu = 10.11.0.6 :2152 (userplaneVPN) for S1-U, S5/8u +UPF-pfcp = 10.10.0.7 :8805 (authVPN) for N4 +UPF-gtpu = 10.11.0.7 :2152 (userplaneVPN) for S5/8u, N3 +``` + +You can refer to the network settings at +[{{ site.url }}{{ site.baseurl }}/assets/Open5GS-Diagram.pdf]({{ site.url }}{{ site.baseurl }}/assets/Open5GS-Diagram.pdf) provided by [@kbarlee](https://github.com/kbarlee) in issue [#528](https://github.com/{{ site.github_username }}/open5gs/issues/528) +{: .notice--danger} + +Modify [install/etc/open5gs/mme.yaml](https://github.com/{{ site.github_username }}/open5gs/blob/master/configs/open5gs/mme.yaml.in) to set the S1AP IP address, PLMN ID, and TAC. + +```diff +$ diff -u /etc/open5gs/mme.yaml.old /etc/open5gs/mme.yaml +--- mme.yaml.old 2020-08-22 11:36:40.512418765 -0400 ++++ mme.yaml 2020-08-22 11:36:27.081466682 -0400 +@@ -204,20 +204,20 @@ + mme: + freeDiameter: /home/acetcom/Documents/git/open5gs/install/etc/freeDiameter/mme.conf + s1ap: +- addr: 127.0.0.2 ++ addr: 10.10.0.2 + gtpc: + addr: 127.0.0.2 + gummei: + plmn_id: +- mcc: 001 +- mnc: 01 ++ mcc: 901 ++ mnc: 70 + mme_gid: 2 + mme_code: 1 + tai: + plmn_id: +- mcc: 001 +- mnc: 01 +- tac: 7 ++ mcc: 901 ++ mnc: 70 ++ tac: 1 + security: + integrity_order : [ EIA1, EIA2, EIA0 ] + ciphering_order : [ EEA0, EEA1, EEA2 ] +``` + +Modify [install/etc/open5gs/sgwc.yaml](https://github.com/{{ site.github_username }}/open5gs/blob/master/configs/open5gs/sgwc.yaml.in) to set the PFCP IP address. +```diff +$ diff -u /etc/open5gs/sgwc.yaml.old /etc/open5gs/sgwc.yaml +@@ -49,7 +49,7 @@ + gtpc: + addr: 127.0.0.3 + pfcp: +- addr: 127.0.0.3 ++ addr: 10.10.0.3 + + # + # sgwu: +@@ -100,7 +100,7 @@ + # + sgwu: + pfcp: +- addr: 127.0.0.6 ++ addr: 10.10.0.6 + + # + # parameter: +``` + +Modify [install/etc/open5gs/smf.yaml](https://github.com/{{ site.github_username }}/open5gs/blob/master/configs/open5gs/smf.yaml.in) to set the PFCP IP address. +```diff +$ diff -u /etc/open5gs/smf.yaml.old /etc/open5gs/smf.yaml +--- smf.yaml.old 2020-08-22 11:37:39.990816411 -0400 ++++ smf.yaml 2020-08-22 11:38:18.647999952 -0400 +@@ -187,8 +187,7 @@ + - addr: 127.0.0.4 + - addr: ::1 + pfcp: +- - addr: 127.0.0.4 +- - addr: ::1 ++ - addr: 10.10.0.4 + pdn: + - addr: 10.45.0.1/16 + - addr: cafe::1/64 +@@ -282,7 +281,7 @@ + # + upf: + pfcp: +- - addr: 127.0.0.7 ++ - addr: 10.10.0.7 + + # + # parameter: + +``` + +Modify [install/etc/open5gs/amf.yaml](https://github.com/{{ site.github_username }}/open5gs/blob/master/configs/open5gs/amf.yaml.in) to set the NGAP IP address, PLMN ID, TAC and NSSAI. + +```diff +diff -u /etc/open5gs/amf.yaml.old /etc/open5gs/amf.yaml +--- amf.yaml.old 2020-06-21 23:34:14.643114779 -0400 ++++ amf.yaml 2020-06-21 23:34:28.718482095 -0400 +@@ -67,25 +67,25 @@ + - addr: 127.0.0.5 + port: 7777 + ngap: +- - addr: 127.0.0.5 ++ - addr: 10.10.0.5 + guami: + - plmn_id: +- mcc: 001 +- mnc: 01 ++ mcc: 901 ++ mnc: 70 + amf_id: + region: 2 + set: 1 + tai: + - plmn_id: +- mcc: 001 +- mnc: 01 +- tac: 7 ++ mcc: 901 ++ mnc: 70 ++ tac: 1 + plmn: + - plmn_id: +- mcc: 001 +- mnc: 01 ++ mcc: 901 ++ mnc: 70 + s_nssai: + - sst: 1 +- - sd: 2 + security: + integrity_order : [ NIA1, NIA2, NIA0 ] + ciphering_order : [ NEA0, NEA1, NEA2 ] +``` + +Modify [install/etc/open5gs/sgwu.yaml](https://github.com/{{ site.github_username }}/open5gs/blob/master/configs/open5gs/sgwu.yaml.in) to set the GTP-U and PFCP IP address. +```diff +$ diff -u /etc/open5gs/sgwu.yaml.old /etc/open5gs/sgwu.yaml +--- sgwu.yaml.old 2020-08-22 11:41:09.214670723 -0400 ++++ sgwu.yaml 2020-08-22 11:41:27.433937124 -0400 +@@ -51,9 +51,9 @@ + # + sgwu: + gtpu: +- addr: 127.0.0.6 ++ addr: 10.11.0.6 + pfcp: +- addr: 127.0.0.6 ++ addr: 10.10.0.6 + + # + # sgwc: +``` + +Modify [install/etc/open5gs/upf.yaml](https://github.com/{{ site.github_username }}/open5gs/blob/master/configs/open5gs/upf.yaml.in) to set the GTP-U and PFCP IP address. +```diff +$ diff -u /etc/open5gs/upf.yaml.old /etc/open5gs/upf.yaml +--- upf.yaml.old 2020-08-22 11:42:57.781750067 -0400 ++++ upf.yaml 2020-08-22 11:43:13.268901616 -0400 +@@ -59,11 +59,9 @@ + # + upf: + pfcp: +- - addr: 127.0.0.7 ++ - addr: 10.10.0.7 + gtpu: +- - addr: +- - 127.0.0.7 +- - ::1 ++ - addr: 10.11.0.7 + pdn: + - addr: 10.45.0.1/16 + - addr: cafe::1/64 +``` + +After changing conf files, please restart Open5GS daemons. + +```bash +$ sudo systemctl restart open5gs-mmed.service +$ sudo systemctl restart open5gs-sgwcd.service +$ sudo systemctl restart open5gs-smfd.service +$ sudo systemctl restart open5gs-amfd.service +$ sudo systemctl restart open5gs-upfd.service +$ sudo systemctl restart open5gs-sgwud.service +``` + +## 2. External SMF +In it's simplest form the SMF has 4 interfaces: * S5 - Connection to home network SGW-C (GTP-C) * Gx - Connection to PCRF (Diameter) + * SBI - Service-based interface(HTTP2) * Sgi - Connection to external network (Generally the Internet via standard TCP/IP) - -### S5 Interface Configuration + +#### S5 Interface Configuration Edit ```/etc/open5gs/smf.yaml``` and change the address to IP of the server running the SMF for the listener on GTP-C interfaces. ``` @@ -37,10 +246,7 @@ smf: - 10.0.1.121 ``` - - - -### Gx Interface Configuration +#### Gx Interface Configuration Edit ```/etc/freeDiameter/smf.conf``` Update ```ListenOn``` address to IP of the server running the SMF: @@ -51,19 +257,18 @@ Update ConnectPeer to connect to the PCRF on it's IP. ```ConnectPeer = "pcrf.localdomain" { ConnectTo = "10.0.1.123"; No_TLS; };``` - -### Restart Services +#### Restart Services Restart Open5GS SMF Daemon: ``` $ sudo systemctl restart open5gs-smfd.service ``` -# External SGW-C +## 3. External SGW-C In it's simplest form the SGW-C has 2 interfaces: * S11 - Connection to MME (GTP-C) * S5 - Connection to the home network SMF (GTP-C) -### S5 Interface Configuration +#### S5 Interface Configuration Edit ```/etc/open5gs/sgwc.yaml``` and change the address to IP of the server running the SGW-C for the listener on GTP-C interface. ``` @@ -78,11 +283,11 @@ sgwc: ``` $ sudo systemctl restart open5gs-sgwcd.service ``` -# External PCRF +## 4. External PCRF In it's simplest from the PCRF has 1 network interface: * Gx - Connection to SMF (Diameter) -### Gx Interface Configuration +#### Gx Interface Configuration Edit ```/etc/freeDiameter/pcrf.conf``` Update ```ListenOn``` address to IP of the server running the HSS on it's IP: @@ -93,18 +298,18 @@ Update ConnectPeer to connect to the MME. ```ConnectPeer = "smf.localdomain" { ConnectTo = "10.0.1.121"; No_TLS; };``` -### MongoDB Interface Configuration +#### MongoDB Interface Configuration Edit the ```db_uri:``` to point at the Open5GS: ```db_uri: mongodb://10.0.1.118/open5gs``` Restart Open5GS PCRF Daemon: ``` $ sudo systemctl restart open5gs-pcrfd.service ``` -# External HSS +## 5. External HSS In it's simplest form the HSS has 1 network interface: * S6a - Connection to MME (Diameter) -### S6a Interface Configuration +#### S6a Interface Configuration Edit ```/etc/freeDiameter/hss.conf``` Update ```ListenOn``` address to IP of the server running the HSS on it's IP: @@ -119,7 +324,7 @@ Restart Open5GS HSS Daemon: ``` $ sudo systemctl restart open5gs-hssd.service ``` -### MongoDB Interface Configuration (Open5GS specific) +#### MongoDB Interface Configuration (Open5GS specific) If you are using Open5GS's HSS you may need to enable MongoDB access from the PCRF. This is done by editing ''/etc/mongodb.conf'' and changing the bind IP to: ``` bind_ip = 0.0.0.0 ``` @@ -127,13 +332,13 @@ Restart MongoDB for changes to take effect. ``` $ /etc/init.d/mongodb restart ``` -# External MME +## 6. External MME In it's simplest form the MME has 3 interfaces: * S1AP - Connections from eNodeBs * S6a - Connection to HSS (Diameter) * S11 - Connection to SGW-C (GTP-C) -### S11 Interface Configuration +#### S11 Interface Configuration Edit ```/etc/open5gs/mme.yaml``` and filling the IP address of the SGW-C and SMF servers. ``` sgwc: @@ -146,7 +351,7 @@ smf: - 10.0.1.121 ``` -### S6a Interface Configuration +#### S6a Interface Configuration Edit ```/etc/freeDiameter/mme.conf``` Update ```ListenOn``` address to IP of the server running the MME: @@ -158,8 +363,7 @@ Update ConnectPeer to connect to the PCRF on it's IP. ```ConnectPeer = "hss.localdomain" { ConnectTo = "10.0.1.118"; No_TLS; };``` -### Restart Services +#### Restart Services Restart Open5GS MME Daemon: ``` $ sudo systemctl restart open5gs-mmed.service ``` - diff --git a/docs/_posts/2020-08-21-release-v2.0.0.md b/docs/_posts/2020-08-21-release-v2.0.0.md index df547791c..cc0a246ca 100644 --- a/docs/_posts/2020-08-21-release-v2.0.0.md +++ b/docs/_posts/2020-08-21-release-v2.0.0.md @@ -1,6 +1,6 @@ --- title: "v2.0.0 - Package release for 5G Core and EPC" -date: 2020-07-10 15:26:00 -0400 +date: 2020-08-21 15:26:00 -0400 categories: - Release tags: diff --git a/docs/_posts/2020-09-05-release-v2.0.1.md b/docs/_posts/2020-09-05-release-v2.0.1.md new file mode 100644 index 000000000..0a10086b7 --- /dev/null +++ b/docs/_posts/2020-09-05-release-v2.0.1.md @@ -0,0 +1,35 @@ +--- +title: "v2.0.1 - Stablize Open5GS packages" +date: 2020-09-05 19:48:00 -0400 +categories: + - Release +tags: + - News + - Release +head_inline: "" +--- + +#### Status Update +An issue with MME has been reported in issues [#472](https://github.com/open5gs/open5gs/issues/472). To solve this problem, I freeze the code for the time being and changed the process to terminate if any problems are found including ogs_expect(). + +Here's what I know about this issue: There seems to be a problem with mme-init.c under version 1.3.0. I found that the eventloop is implemented incorrectly, and I am suspecting that this is related to current mme's infinite loop. + +Anyway, if you need it for the experiment, please send the related log. And if necessary, I will provide a release package to catch this bug. + +#### For troubleshooting +- ogs_expect() calls ogs_abort() temporarily ([#472](https://github.com/open5gs/open5gs/issues/472)) -- [theorem6](https://github.com/theorem6), [bladebeam](https://github.com/bladebeam), [cabotek](https://github.com/cabotek) + +#### Enhancement +- Allow subnet skipping in SMF configuration ([#548](https://github.com/open5gs/open5gs/issues/548)) -- [cecrevier](https://github.com/cecrevier) +- Change the number of UEs usage ([#533](https://github.com/open5gs/open5gs/issues/533)) -- [herlesupreeth](https://github.com/herlesupreeth) + +#### Bug Fixed +- Maintaining Old NAS signalling ([#546](https://github.com/open5gs/open5gs/issues/546)) -- [carhercla2cat](https://github.com/carhercla2cat) +- Fix the Log rotate configuration ([#542](https://github.com/open5gs/open5gs/issues/542)) -- [kbarlee](https://github.com/kbarlee) +- Fix the test program bug ([#536](https://github.com/open5gs/open5gs/issues/536)) -- [s5uishida](https://github.com/s5uishida) +- Fix the bug for multiple video call ([#535](https://github.com/open5gs/open5gs/issues/535)) -- [kuanghanqian](https://github.com/kuanghanqian) +- Fix PDN connectivity request in PDN DISCONNECT ESM-state([#486](https://github.com/open5gs/open5gs/issues/486)) -- [yc541](https://github.com/yc541) +- Fix UPF/SGW-U selection bug + +Download -- [v2.0.1.tar.gz](https://github.com/open5gs/open5gs/archive/v2.0.1.tar.gz) +{: .notice--info}