|
||||||
In this note, I will talk about setting up openGS test environment on an Ubuntu virtual machine on Google Cloud. But I will not explain about the installation process because it is almost same as the installation on the local virtual machine. I would focus on items which are specifically related to Google Cloud setup in this note.
TestSetupThe test setup that I used is as shown below. I used Amari callbox as gNB connecting to open5GS (For now, I am using Amarisoft UE simulator as a DUT(UE). Main reason for it is that I don't have any USIM that support milinage algorithm and don't have any commercial UE that allows to configure network slice parameters. With Amarisoft UE simulator, I can configure all those parameters just by modifying a configuration file). If you are not familiar with setup a virtual machine on Google Cloud, you may check some YouTube video tutorials and my note here. Following is the OS related information of the virtual machine on the cloud. (NOTE : I have tried with Ubuntu 22.04 LTS as well but the installation didn't go through as of Jun 2022. This may be resolved in the future). Once you setup a virtual machine, the installation process went in the same way I did for the installation on local virtual machine shown in this note. The IP setup created right after the installation of open5GS is as shown below. Firewall setup on Virtual machine on CloudOnce your installation is complete and confirmed that all the services of open5gs is running, you would need to add some additional settings on Firewall. The firewall rules that I added to the VM on Google Cloud are those underlined in red. sctp is for initial sctp connection between gNB and open5gs and open5gs-webui is to allow open5gs webUI access from a remote PC. open5gs-data is to allow ping between UE and the open5gs. After defining the firewall rules, apply the configured rules to the specific virtual machine where open5gs is installed as shown below. Basic ConfigurationsNow you have to change all the necessary configuration files according to your test setup. At the initial test, I need to change only two files amf.yaml and upf.amf file, but you may need to change more files as your test gets more complicated. Following is the contents of amf.yaml and upf.yaml and the red part is what I have changed from the original configuration. It is import to get not only plmn but aslo tac to match between gNB(Amari Callbox) and open5gs configuration.
Following is the configuration changes in upf
Once you completed the change of configuration files, you need to restart the services which are using the changed configuration files as shown below.
First TrialFirst trial is just to check the initial connection between gNB at my home (Amarisoft callbox) and open5gs on Google Cloud. At this moment, I don't need any UE. Just confirm that open5gs (especially amf service) is running and restart gNB (Amaricallbox). If you see the log as shown below.. meaning you see NGAP connection (SCTP connection) and NG Setup Request/Response. It mean the initial connection between gNB and open5gs is properly established. You may check the log from open5gs log, but I mostly rely on Amarisoft log since I personally more familiar with Amarisoft product and it provides GUI tool to check the log as shown below. I would not explain the details of this connection process since they would be separate topics which requres long explanation. If you are interested, check out this note for SCTP connection and this note for NGAP protocol. 2nd TrialIt is obvious on what to do at 2nd trial. Now I want to power on UE and see if the signaling message is flowing from UE to core network and in vice versa. At this point, I know it would not complete the full registration since I didn't configure any UE information to open5gs user DB (mongo DB) but I just wanted to check if at least a few signaling message goes through and the result is as shown below. You see the registration got rejected.. but the fact that UE got the registration reject NAS message mean that the registration request message reaches the core network (amf) and processed by it. Registration rejection itself is expected because I haven't registered my UE to open5gs mongo DB. 3rd TrialAfter adding a proper UE information to the open5gs mongo DB and run the test again with UE connected. And full registration procedure through the end up to PDU setup procedure. I would not talk about the details of each message since they are almost same as explained in this note.
|
||||||