Some help needed readapting Free5GC


I am a student involved in a research project regarding 5G Core networks. My interests are different open source solutions such us Free5GC. My research is going to be based on this project which is very interesting but I´m having some difficulties adapting the current solution to my needs.

My goal is to achieve a platform with very simple commands to configure different uses cases yet to be defined to simulate different funcitons of 5G Core. One example of this could be, registering a defined number of UEs into the network and see messages exchaned, similar to TestRegistration.

I have run and studied all the available tests offered and now I would like to move forward with my research. For this I have several questions:

  1. I would like to analyze at least SMF, AMF and UPF functions separately in different MV, this means, within an Ubuntu environment, NFs executed in different terminal windows(?). I think Free5GC has Docker Compose to do that but since I have no experience with that I do not really know what is its purpose, how to use it, or even if it is what I am looking for to get this done.

  2. I have started reading the code of golang but since I have never used this programming language, I do not really know where to start, in order to get the use case explained before.
    Any suggestions on how could I get started would be appreciate it since I do not know where to begin.

  3. I have been looking the configuration files and how AMF, SMF and UPF sets themselves up within the code reading such files. In these files The IP address keeps showing up to represent different entities. My question is if I wanted to configure a more realistic environment, should I write different IPs and configurations to the NFs?

I think that is all for now. Anyone who can give ahand with any of my doubts before explained it would be verymuch appreciate.


  1. free5gc-compose is a example for containerize free5GC. You can reference to the README of it to start it.
  2. You can reference to 3GPP TS 23.501, 23.502 and Golang Tutorial to start your study.
  3. We’re not sure how you mean realistic? You should configure the IP as what you want the NF binding on. You can check the wiki on free5gc’s GitHub repo about the config file.


Thank you for your respone.

  1. What I mean is that what is the difference of running free5GC Docke Compose and just simply run free5GC?

  2. What I mean is that if I could change every IP to different ones simulating that the NFs are allocated in different physical places. I also see that the subnet is defined. With the default configuration, are all the NFs inside this subnet?

Also if you could help me with these 2 question it would be very much appreciate it:

  1. When running free5GC, in the terminal window is showing this message several time repeated:
    2020-10-25T20:40:57+01:00 [WARN][PCF][Init] AMF status subscribe Error[ server no response]

I do not know if it is relevant or not, since seems to appear in many NF´s configuration files and they need to be changed somehow.

  1. In all the messages appearing, the UPF is the only NF that seems to not start. I have also noticed that is the only NF not showing up in the ./bin/ directory within the free5GC project. Any idea of this?