Skip to content

Commit

Permalink
Upgrade to Free5GC v3.1.1 (#45)
Browse files Browse the repository at this point in the history
* Update upfcfg.yaml for packetBufferHold timer

* Upgrade to Free5GC v3.1.0

* update README

* Upgrade to Free5GC v3.1.1

* modify the config setting
  • Loading branch information
ianchen0119 authored Apr 25, 2022
1 parent 17d1082 commit 0a07874
Show file tree
Hide file tree
Showing 24 changed files with 152 additions and 237 deletions.
5 changes: 5 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,11 @@ docker-compose build
sudo docker-compose up # add -d to run in background mode
```

Destroy the established container resource after testing:
```
docker-compose rm
```

## Troubleshooting

Sometimes, you need to drop data from DB:
Expand Down
6 changes: 3 additions & 3 deletions base/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ RUN apt-get clean

# Get Free5GC
RUN cd $GOPATH/src \
&& git clone --recursive -b v3.0.7 -j `nproc` https://github.com/free5gc/free5gc.git
&& git clone --recursive -b v3.1.1 -j `nproc` https://github.com/free5gc/free5gc.git

# Build Free5GC NFs & WebUI
RUN cd $GOPATH/src/free5gc \
Expand All @@ -28,7 +28,7 @@ RUN cd $GOPATH/src/free5gc \
FROM alpine:3.15

WORKDIR /free5gc
RUN mkdir -p config/ support/TLS/ public
RUN mkdir -p config/TLS/ public

# Copy executables
COPY --from=builder /go/src/free5gc/bin/* ./
Expand All @@ -47,4 +47,4 @@ COPY --from=builder /go/src/free5gc/config/* ./config/
COPY --from=builder /go/src/free5gc/NFs/upf/build/config/* ./config/

# Copy default certificates (not used for now)
COPY --from=builder /go/src/free5gc/support/TLS/* ./support/TLS/
COPY --from=builder /go/src/free5gc/config/TLS/* ./config/TLS/
20 changes: 11 additions & 9 deletions config/amfcfg.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
info:
version: 1.0.2
version: 1.0.3
description: AMF initial local configuration

configuration:
Expand All @@ -11,6 +11,9 @@ configuration:
registerIPv4: amf.free5gc.org # IP used to register to NRF
bindingIPv4: amf.free5gc.org # IP used to bind the service
port: 8000 # port used to bind the service
tls: # the local path of TLS key
pem: ./config/TLS/amf.pem # AMF TLS Certificate
key: ./config/TLS/amf.key # AMF TLS Private key
serviceNameList: # the SBI services provided by this AMF, refer to TS 29.518
- namf-comm # Namf_Communication service
- namf-evts # Namf_EventExposure service
Expand Down Expand Up @@ -53,6 +56,7 @@ configuration:
locality: area1 # Name of the location where a set of AMF, SMF and UPFs are located
networkFeatureSupport5GS: # 5gs Network Feature Support IE, refer to TS 24.501
enable: true # append this IE in Registration accept or not
length: 1 # IE content length (uinteger, range: 1~3)
imsVoPS: 0 # IMS voice over PS session indicator (uinteger, range: 0~1)
emc: 0 # Emergency service support indicator for 3GPP access (uinteger, range: 0~3)
emf: 0 # Emergency service fallback indicator for 3GPP access (uinteger, range: 0~3)
Expand Down Expand Up @@ -88,10 +92,14 @@ configuration:
enable: true # true or false
expireTime: 6s # default is 6 seconds
maxRetryTimes: 4 # the max number of retransmission
t3570:
enable: true # true or false
expireTime: 6s # default is 6 seconds
maxRetryTimes: 4 # the max number of retransmission

# the kind of log output
# debugLevel: how detailed to output, value: trace, debug, info, warn, error, fatal, panic
# ReportCaller: enable the caller report or not, value: true or false
# debugLevel: how detailed to output, value: trace, debug, info, warn, error, fatal, panic
# ReportCaller: enable the caller report or not, value: true or false
logger:
AMF:
debugLevel: info
Expand All @@ -108,9 +116,3 @@ logger:
Aper:
debugLevel: info
ReportCaller: false
PathUtil:
debugLevel: info
ReportCaller: false
OpenApi:
debugLevel: info
ReportCaller: false
15 changes: 6 additions & 9 deletions config/ausfcfg.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
info:
version: 1.0.0
version: 1.0.2
description: AUSF initial local configuration

configuration:
Expand All @@ -8,6 +8,9 @@ configuration:
registerIPv4: ausf.free5gc.org # IP used to register to NRF
bindingIPv4: ausf.free5gc.org # IP used to bind the service
port: 8000 # Port used to bind the service
tls: # the local path of TLS key
pem: ./config/TLS/ausf.pem # AUSF TLS Certificate
key: ./config/TLS/ausf.key # AUSF TLS Private key
serviceNameList: # the SBI services provided by this AUSF, refer to TS 29.509
- nausf-auth # Nausf_UEAuthentication service
nrfUri: http://nrf.free5gc.org:8000 # a valid URI of NRF
Expand All @@ -19,15 +22,9 @@ configuration:
groupId: ausfGroup001 # ID for the group of the AUSF

# the kind of log output
# debugLevel: how detailed to output, value: trace, debug, info, warn, error, fatal, panic
# ReportCaller: enable the caller report or not, value: true or false
# debugLevel: how detailed to output, value: trace, debug, info, warn, error, fatal, panic
# ReportCaller: enable the caller report or not, value: true or false
logger:
AUSF:
debugLevel: info
ReportCaller: false
PathUtil:
debugLevel: info
ReportCaller: false
OpenApi:
debugLevel: info
ReportCaller: false
73 changes: 25 additions & 48 deletions config/n3iwfcfg.yaml
Original file line number Diff line number Diff line change
@@ -1,79 +1,59 @@
info:
version: 1.0.0
version: 1.0.1
description: N3IWF initial local configuration

configuration:
N3IWFInformation:
GlobalN3IWFID: # ID used to globally identify an N3IWF
PLMNID: # Public Land Mobile Network ID, <PLMN ID> = <MCC><MNC>
MCC: # Mobile Country Code (3 digits string, digit: 0~9)
208
MNC: # Mobile Network Code (2 or 3 digits string, digit: 0~9)
93
N3IWFID: # ID used to identify an N3IWF in PLMN (uinteger, range: 0~65535)
135
Name: # The name of this N3IWF
free5GC_N3IWF
MCC: 208 # Mobile Country Code (3 digits string, digit: 0~9)
MNC: 93 # Mobile Network Code (2 or 3 digits string, digit: 0~9)
N3IWFID: 135 # ID used to identify an N3IWF in PLMN (uinteger, range: 0~65535)
Name: free5GC_N3IWF # The name of this N3IWF
SupportedTAList: # Tracking Area supported by this N3IWF
- TAC: # Tracking Area Code (3 bytes hex string, range: 000000~FFFFFF)
000001
- TAC: 000001 # Tracking Area Code (3 bytes hex string, range: 000000~FFFFFF)
BroadcastPLMNList: # Refer to TS 38.413
- PLMNID: # Public Land Mobile Network ID
MCC: # Mobile Country Code (3 digits string, digit: 0~9)
208
MNC: # Mobile Network Code (2 or 3 digits string, digit: 0~9)
93
MCC: 208 # Mobile Country Code (3 digits string, digit: 0~9)
MNC: 93 # Mobile Network Code (2 or 3 digits string, digit: 0~9)
TAISliceSupportList: # Network Slice supported in this TAI
- SNSSAI: # Single Network Slice Selection Assistance Information
SST: # Slice/Service Type (1 byte hex string, range: 0~F)
1
SD: # Slice Differentiator (3 bytes hex string, range: 000000~FFFFFF)
010203
- SNSSAI:
SST:
1
SD:
112233
SST: 1 # Slice/Service Type (1 byte hex string, range: 0~F)
SD: 010203 # Slice Differentiator (3 bytes hex string, range: 000000~FFFFFF)
- SNSSAI: # Single Network Slice Selection Assistance Information
SST: 1 # Slice/Service Type (1 byte hex string, range: 0~F)
SD: 112233 # Slice Differentiator (3 bytes hex string, range: 000000~FFFFFF)
AMFSCTPAddresses: # the IP list of N2 interfaces (SCTP) on AMF when using NGAP
- IP:
- amf.free5gc.org


# --- Bind Interfaces ---
IKEBindAddress: # IP address of Nwu interface (IKE) on this N3IWF
n3iwf.free5gc.org

IKEBindAddress: n3iwf.free5gc.org # IP address of Nwu interface (IKE) on this N3IWF
IPSecInterfaceAddress: # IP address of IPSec virtual interface (IPsec tunnel enpoint on this N3IWF)
10.0.0.1

IPSecInterfaceMark: # IPSec virtual interface mark (Any value except to 0, default value is 7 if not defined)
5

GTPBindAddress: # IP address of N3 interface (GTP) on this N3IWF
n3iwf.free5gc.org

NASTCPPort: # TCP port which the NAS listens on
20000

FQDN: # FQDN of this N3IWF
n3iwf.free5gc.org

IPSecInterfaceAddress: 10.0.0.1 # IP address of IPSec virtual interface (IPsec tunnel enpoint on this N3IWF)
UEIPAddressRange: 10.0.0.0/24 # IP address allocated to UE in IPSec tunnel
IPSecInterfaceMark: 5 # IPSec virtual interface mark (Any value except to 0, default value is 7 if not defined)
GTPBindAddress: n3iwf.free5gc.org # IP address of N3 interface (GTP) on this N3IWF
NASTCPPort: 20000 # TCP port which the NAS listens on
FQDN: n3iwf.free5gc.org # FQDN of this N3IWF

# --- Security ---
PrivateKey: # Private key file path
Privatekey: ./config/TLS/n3iwf.key # Private key file path

CertificateAuthority: # Certificate Authority (CA) file path
CertificateAuthority: ./config/TLS/n3iwf.pem # Certificate Authority (CA) file path

Certificate: # Certificate file path
Certificate: ./config/TLS/n3iwf.pem # Certificate file path



UEIPAddressRange: # IP address allocated to UE in IPSec tunnel
10.0.0.0/24

# the kind of log output
# debugLevel: how detailed to output, value: trace, debug, info, warn, error, fatal, panic
# ReportCaller: enable the caller report or not, value: true or false
# debugLevel: how detailed to output, value: trace, debug, info, warn, error, fatal, panic
# ReportCaller: enable the caller report or not, value: true or false
logger:
N3IWF:
debugLevel: info
Expand All @@ -84,6 +64,3 @@ logger:
Aper:
debugLevel: info
ReportCaller: false
PathUtil:
debugLevel: info
ReportCaller: false
18 changes: 6 additions & 12 deletions config/nrfcfg.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
info:
version: 1.0.0
version: 1.0.1
description: NRF initial local configuration

configuration:
Expand All @@ -10,6 +10,9 @@ configuration:
registerIPv4: nrf.free5gc.org # IP used to serve NFs or register to another NRF
bindingIPv4: nrf.free5gc.org # IP used to bind the service
port: 8000 # port used to bind the service
tls: # the local path of TLS key
pem: ./config/TLS/nrf.pem # NRF TLS Certificate
key: ./config/TLS/nrf.key # NRF TLS Private key
DefaultPlmnId:
mcc: 208 # Mobile Country Code (3 digits string, digit: 0~9)
mnc: 93 # Mobile Network Code (2 or 3 digits string, digit: 0~9)
Expand All @@ -18,18 +21,9 @@ configuration:
- nnrf-disc # Nnrf_NFDiscovery service

# the kind of log output
# debugLevel: how detailed to output, value: trace, debug, info, warn, error, fatal, panic
# ReportCaller: enable the caller report or not, value: true or false
# debugLevel: how detailed to output, value: trace, debug, info, warn, error, fatal, panic
# ReportCaller: enable the caller report or not, value: true or false
logger:
NRF:
debugLevel: info
ReportCaller: false
PathUtil:
debugLevel: info
ReportCaller: false
OpenApi:
debugLevel: info
ReportCaller: false
MongoDBLibrary:
debugLevel: info
ReportCaller: false
15 changes: 6 additions & 9 deletions config/nssfcfg.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
info:
version: 1.0.0
version: 1.0.1
description: NSSF initial local configuration

configuration:
Expand All @@ -9,6 +9,9 @@ configuration:
registerIPv4: nssf.free5gc.org # IP used to register to NRF
bindingIPv4: nssf.free5gc.org # IP used to bind the service
port: 8000 # Port used to bind the service
tls: # the local path of TLS key
pem: ./config/TLS/nssf.pem # NSSF TLS Certificate
key: ./config/TLS/nssf.key # NSSF TLS Private key
serviceNameList: # the SBI services provided by this SMF, refer to TS 29.531
- nnssf-nsselection # Nnssf_NSSelection service
- nnssf-nssaiavailability # Nnssf_NSSAIAvailability service
Expand Down Expand Up @@ -344,15 +347,9 @@ configuration:
sd: 000003 # Slice Differentiator (3 bytes hex string, range: 000000~FFFFFF)

# the kind of log output
# debugLevel: how detailed to output, value: trace, debug, info, warn, error, fatal, panic
# ReportCaller: enable the caller report or not, value: true or false
# debugLevel: how detailed to output, value: trace, debug, info, warn, error, fatal, panic
# ReportCaller: enable the caller report or not, value: true or false
logger:
NSSF:
debugLevel: info
ReportCaller: false
PathUtil:
debugLevel: info
ReportCaller: false
OpenApi:
debugLevel: info
ReportCaller: false
15 changes: 6 additions & 9 deletions config/pcfcfg.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
info:
version: 1.0.0
version: 1.0.1
description: PCF initial local configuration

configuration:
Expand All @@ -9,6 +9,9 @@ configuration:
registerIPv4: pcf.free5gc.org # IP used to register to NRF
bindingIPv4: pcf.free5gc.org # IP used to bind the service
port: 8000 # port used to bind the service
tls: # the local path of TLS key
pem: ./config/TLS/pcf.pem # PCF TLS Certificate
key: ./config/TLS/pcf.key # PCF TLS Private key
timeFormat: 2019-01-02 15:04:05 # time format of this PCF
defaultBdtRefId: BdtPolicyId- # BDT Reference ID, indicating transfer policies of background data transfer.
nrfUri: http://nrf.free5gc.org:8000 # a valid URI of NRF
Expand All @@ -26,15 +29,9 @@ configuration:
url: mongodb://db:27017 # a valid URL of the mongodb
locality: area1
# the kind of log output
# debugLevel: how detailed to output, value: trace, debug, info, warn, error, fatal, panic
# ReportCaller: enable the caller report or not, value: true or false
# debugLevel: how detailed to output, value: trace, debug, info, warn, error, fatal, panic
# ReportCaller: enable the caller report or not, value: true or false
logger:
PCF:
debugLevel: info
ReportCaller: false
PathUtil:
debugLevel: info
ReportCaller: false
OpenApi:
debugLevel: info
ReportCaller: false
Loading

0 comments on commit 0a07874

Please sign in to comment.