I have few queries for which I need clarification for my project - “determining the compatibility between free5gc and OAI for various NFs.” Queries are as below -
Does each interface of each and every NF have it’s own IP address? When in running state, how are the NFs connected with each other?
Suppose I want to connect the nrf of OAI with the other NFs of free5gc, will this approach work - disable nrf in free5gc and connect the nrf of OAI with other NFs of free5gc ?
NRF is connected to which NFs and via which interfaces?
when 5gc is running, is there any way to capture internal communication between NFs such as using wireshark or tcp dump?
Thanks for the reply. For point 2, describing the issue testapproach3.pcap (130.9 KB) in detail -
Objective - To determine compatibility between OAI and free5gc
Approach - To use all the NFs except NRF from free5gc, NRF from OAI & UE, RAN from UERANSIM
Steps -
Disabled the NRF in free5gc core network (commented out the NRF config file)
Starting the web console in free5gc - successful
Starting NRF in OAI - error: Bad value IPV4_ADDRESS = 127.0.0.10 in config file
Starting rest of the NFs in free5gc core network - facing error - a) error while trying to read the NRf config file, b) rest NFs unsuccessful to register themselves to NRF
Attached is the wireshark capture for the process. Please help to rectify the approach or steps for the process. Requesting your help in it. Thanks !
As of my opinion, the issue in the above mentioned problem is that, while starting the free5gc core -
It’s trying to read the NRF config file from ./config/nrfcfg.yaml and so it’s failing. Consequently http request of other NFs to NRF is also failing.
Can you please help to suggest which file I need to change, so that when 5gc in free5gc starts, it reads the NRF config file from a different location (where I have kept the NRF config file of OAI)
Hi, @IndranilSaha09
The config is loaded when the NRF APP is activated. You may check the source code of OAI-NRF.
Take free5GC for example, the config is read in free5gc/NFs/nrf/cmd/main.go. and the path is set at free5gc/NFs/nrf/pkg/factory/config.go
Thanks for the reply. Please take a look at the current situation -
Copied the NRF config file of OAI and pasted it under /free5gc/config/ folder and renamed it as “nrfcfg.yaml”
started the NRF of OAI, then started other NFs of free5gc - the NFs such as amf, smf, etc. are able to register to the NRF, however some error faced while running the free5gc. Below are the errors -
a. 2023-12-04T07:29:34.233436722Z [ERRO][NRF][Main] NRF Run Error: ReadConfig [./config/nrfcfg.yaml] Error: [Factory] yaml: unmarshal errors: line 22: cannot unmarshal !!str NRF = { into factory.Config
b. 2023-12-04T07:31:10.878371133Z [ERRO][UDM][Consumer] unsupported scheme[]
2023-12-04T07:31:10.878382289Z [ERRO][UDM][Proc] ID[imsi-208930000000003] does not match any UDR
c… 2023-12-04T07:31:11.032460929Z [ERRO][AMF][Gmm][amf_ue_ngap_id:RU:1,AU:1(3GPP)][supi:SUPI:] UE Security Context is not Available, message type 100
d… 2023-12-04T07:31:21.940132908Z [ERRO][UDM][Consumer] unsupported scheme[]
2023-12-04T07:31:21.940149360Z [ERRO][UDM][Proc] ID[imsi-208930000000003] does not match any UDR
My opinion is - If I restrict the main.go of NRF to run from free5gc, while running the other NFs run as usual, then I can overcome these errors.
Please review the situation and suggest if that’s the approach. Kindly help with any other ideas from your end. Thanks !
Error 2 a) is now resolved - started the NRF of OAI, while modifying the run.sh script, disabling the NRF config file to run. Currently there are 2 issues to be highlighted -
Though I haven’t touched UDM and AMF config file, it’s still providing me errors, after launching the free5gc. - error 2 b), 2 c), 2 d).
When I am using all the NFs from free5gc, I am able to see http2 being sent and received by all the NFs. However, when I am using NRF from OAI and rest of the NFs from free5gc, only UDM, AUSF and NRF seems to send and receive packets via http2 protocol in wireshark.
Can you please check the above issues and let me know what steps may I take to take it forward.
I have followed the standard setup procedure that is provided in the free5gc user guide to build free5gc and UE. Currently from the last 3-4 days, irrespective of launching free5gc standalone or integrated with OAI, I am facing these issues -
Errors on free5gc log -
2023-12-06T12:31:19.445500582Z [ERRO][AMF][Gmm][amf_ue_ngap_id:RU:1,AU:1(3GPP)][supi:SUPI:] Nausf_UEAU Authenticate Request Error: undefined response type
For the last 4-5 days, I am facing error as soon as I am trying to connect UE with the 5GC. Below is the errors -
error on free5gc log:
2023-12-07T16:12:45.841857601Z [ERRO][AMF][Gmm][amf_ue_ngap_id:RU:1,AU:1(3GPP)][supi:SUPI:] UE Security Context is not Available, message type 100
Sorry for the minor mistake. Now, I can establish connection between UE and 5G core in free5gc. However, at the last stage, unable to ping google.com via uesimtun0. Note: uesimtun0 is created , however not able to ping google.com. Please help !!
Please find the below observation (difference between free5gc running alone and free5gc & OAI integrated) -
• Only free5gc – GET message “/nrf-disc/v1/nf-instance?requester-nf-type=AUSF&service-names=nudm-ueau&target-nf-type=UDM” and POST message “/nudm-ueau/v1/suci-0-208-93-0000-0-0-0000000003/security-information/generate-auth-data” receives 200 OK response (packet – 1007-1095)
• free5gc & OAI – GET message “/nrf-disc/v1/nf-instance?requester-nf-type=AUSF&service-names=nudm-ueau&target-nf-type=UDM” and POST message “/nudm-ueau/v1/suci-0-208-93-0000-0-0-0000000003/security-information/generate-auth-data” receives 500 Internal Server Error (packet – 919-974)
Please note that when free5gc & OAI is running in an integrated manner, the error is being faced while connecting to UE. please help to suggest the possible reason for the error.
Hi, @IndranilSaha09!
Please provide me the testbed you setup as detailed as possible, include OAI version, OAI-NRF config and the procedure of implementation . I’d like to set up myself to check the error.
Hi, since the UE registration procedure interacted with other NF. The error message indicated that there are some problems in AUSF which is doing authentication. After checking the pcap you offer, I think the NRF work well. Maybe the problem is the ue registered in webconsole or the ue.yaml you used in UERANSIM. Please check if the information of ue on weboconsole and ue.yaml you used are exactly the same. If the same problem still appeared, please provide me the completed free5GC log.
Hi @IndranilSaha09, Our team studied the implementation of OAI. The OAI-NRF implements the optional SearchResult - “searchId”( you may check in 3GPP 29.510 R16) which free5GC didn’t implement it.