Resources
What is Free5GC
Free5GC is a computer program that allows 5G networks to function properly. 5G networks are the latest generation of mobile networks, and they offer faster speeds, more reliable connections, and the ability to support more devices than previous generations. Free5GC is a particular implementation of the 5G core network that is designed to be flexible and modular, which means that it can be customized to meet the specific needs of different 5G networks.
For example, different 5G networks may require different levels of performance, security, or functionality, depending on factors such as the number of users, geographic coverage, or specific use cases.
The 3GPP (3rd Generation Partnership Project) is a global collaboration between telecommunications standards organizations that develop standards for mobile communication systems. The 3GPP standard defines the technical specifications for the design, operation, and maintenance of 5G networks, as well as previous generations of mobile networks, such as 4G/LTE and 3G.
Free5GC is open-source, which means that the program's code is publicly available for anyone to access, modify, and use. This is important because it allows researchers and developers to experiment with Free5GC and create new applications and services that can be used on 5G networks.
Free5GC is made up of several different components, which work together to make the network function properly. These components include the Access and Mobility Management Function (AMF), the User Plane Function (UPF), the Session Management Function (SMF), and the Network Repository Function (NRF). Each of these components plays an important role in making sure that data is transmitted correctly and efficiently on a 5G network.
Overall, Free5GC is an important tool for anyone who is interested in working with 5G networks. It allows researchers and developers to create new applications and services that can be used on 5G networks, and it provides a flexible and modular framework for building customized 5G core networks.
Free5GC acts as an important component of 5G in the ecosystem because it helps eneable the development and deployment of 5G in a more flexible and customized way.
Here are a few points that explain the importance of Free5GC in 5G ecosystem:
1. Flexibility and Customization
Free5GC allows service providers to make adaptation of the software to their own specific needs and requirements. It enables them to build 5G networks that are tailored to particular use cases. In Indonesia, one of the prime example is smart city applications.
2. Accelerates 5G Adoption
Free5GC accelerates the adoption of 5G technology by making it more accessible for providers to deploy and test 5G networks through built-in functions. It leads to faster commercialization of 5G services that benefit businesses and customers.
3. Open-source
Free5GC is an open-sourced project that allows everyone to access and continue the development of the software without license. This fact encourages collaboration and innovation among developers, service providers, and other stakeholders.
4. Standard Complience
Free5GC is designed to comply with the 3GPP 5G specifications, which are the industry standards for 5G networks. This means that free5GC can be used to test and evaluate new 5G features and services in a standardized and interoperable way.
5. Community Supporrt
Free5GC has a growing community of developers and contributors, which means that researchers can benefit from community-driven development, bug fixes, and other support resources.
To support this research we need some environment that we can divide by 3 Object and each specification, that is :
UE (User Equipment)
User equipment, or UE, is a term used in LTE, 4G, and 5G wireless communications to describe a mobile device, such as a smartphone, tablet, laptop, or other type of wireless device that is used to access the network.
Specification:
1.1. Anything UE that could connect to wifi or the internet.
eNodeB (enhanced Node Base Station)
eNodeB (also called Evolved Node B or eNB) is a key component of the 4G LTE radio access network (RAN) and serves as the main communication interface between the user equipment (UE) and the core network.
Specification:
2.1 LTE Small Cell (Wistron NeWeb OSQ4G-01E2)
Core Network
The core network is a critical component of a mobile network, including 5G. It is responsible for providing various network functions that are necessary for the operation of the network and for delivering services to the end-users.
The 5G core network is designed to be more flexible, scalable, and efficient than previous generations of mobile networks, and it is based on a service-based architecture (SBA) that uses web APIs to provide the various network functions.
Core Network will be implemented in some modules like HSS, AMF, SMF, PCRF and UPF.
Specification:
3.1. The minimum Specification of Hardware is:
3.2. Recommendation Specifications of Hardware is:
3.3. The general Requirements are :
This Information assumes that we will run all 5GC elements on a single machine.
Authentication and Authorization
AMF is responsible for authenticating and authorizing user access to the network. This will be done by things such as verifying user identity and making access policies
Mobility and Session Management
AMF will be responsible for managing user mobility within the network such as handovers between different nodes in the network and tracking user location information. Besides that AMF will be working with SMF to manage user session and coordinate session establishment
Network Slicing
AMF will be responsible also for coordinating network slicing for different user groups or services
Security Management
The control plane will be handled by AMF. Such functions such as authentication and key management will be implemented
Session Management
SMF will be responsible for managing session for data and voice services.
Policy and charging Control
SMF will be responsible for policies and charging rules for user based on sessions bu enforcing data caps and applying QoS policies
Data Forwarding
SMF will be responsible for forwarding user data from network nodes (ie. UPF) to data plane processing
Encryption and Security
SMF will be also implementing security functions for the user plane such as encryption and integrity function
Packet Forwarding
UPF will be responsible for forwarding data packets between the RAN and CORE network. This will ensure the packets are delivered based on level of priority and reliability values of QoS parameters.
Traffic Management
UPF will be responsible for managing different types of traffic sych as streaming data, voice and video, and internet browsing. It will apply traffic shaping with policies so that all resources in the network is used efficiently.
Subscriber Management
The HSS will be responsible for subscriber related information such as user credentials, making sure that the information is available for other network components
Security
HSS will also be responsible for some security aspects such as authenticating and authorizing subscriber acces to the network and also is responsible for implementing policy and charging rules for subscriber sessions.
Roaming
HSS is responsible for managing subscriber when they are outside their usual area in other words for roaming services
Policy and Charging Control
The PCRF will be responsible for implementing and managing policy and charging rules for user session and providing records related to the usage charging. Other than that the PCRF is also responsible for managing SLA (Service Level Agreement) for ensuring that the user gets according to what is stated in the SLA.
Network Slicing
The PCRF will also take part in coordinating network slicing functions which enables dedicated network slices for different user groups
One of the first steps towards evolving from 4G to 5G core network is to apply the CUPS architecture to the 4G Evolved Packet Core (EPC). CUPS stands for Control and User Plane Separation, which means separating the user plane functionality and control plane functionality of the serving gateway (SGW) and the packet data network gateway (PGW) in 4G EPC.
The user plane functionality refers to the processing and forwarding of user data packets between the RAN and the data network. The control plane functionality refers to the signaling and management of user sessions, mobility events, policies, charging, etc. In 4G EPC, both SGW and PGW perform both user plane and control plane functions.
The CUPS architecture splits SGW and PGW into two separate entities: SGW-C (control plane) and SGW-U (user plane), PGW-C (control plane) and PGW-U (user plane). This allows more flexibility in deploying and scaling the user plane functions closer to the edge of the network, where they can reduce latency, improve user experience, and enable new services that require real-time processing. The control plane functions can be centralized or distributed depending on the operatorโs preference.
The CUPS architecture also enables the virtualization of the network functions, meaning that they can be implemented as software processes that run on any commercial off-the-shelf (COTS) hardware or cloud infrastructure. This reduces the dependency on vendor-specific hardware and software solutions and allows more cost-efficiency and innovation in network deployment and operation.
The CUPS architecture is specified in release 14 of 3GPP. It is an intermediate step towards migrating from 4G EPC to 5G core network. Once CUPS is applied to 4G EPC, it becomes easier to introduce new 5G core network functions alongside existing ones.
5G Service Based Architecture
The 5G service based architecture is a new design principle that applies IT network principles and a cloud-native approach to enable network functions to communicate with each other through a common API framework and a network repository function that enables discovery and registration of services. The service based architecture is more flexible and agile than the reference point architecture, as it allows network functions to be deployed and scaled independently and dynamically according to the network needs and demands.
The network functions are connected to a common bus that carries the service based interfaces (SBIs) between them. The SBIs are based on RESTful API design principles, which use HTTP methods and URIs to provide a uniform interface for accessing resources and services offered by network functions. The SBIs also support two types of services: request-response services and subscription-notification services.
Some of the key features and benefits of 5G service based architecture are:
Category of Services in 5G
eMBB, mMTC, and URLLC are three categories of services that can be provided by 5G networks.
Each category has different requirements and priorities, and it is important to use the appropriate category based on the specific application or use case. Using URLLC for applications that don't require ultra-reliability or low-latency could be overkill and result in unnecessary costs, while using eMBB for mission-critical applications could lead to unacceptable delays or errors.
3GPP Release 16
A release in 3GPP is a set of specifications that provide developers with a stable platform for the implementation of features at a given point and then allow for the addition of new functionality in subsequent releases.
Release 16 of 3GPP is the second phase of 5G standardization that was completed in July 2020. It introduces new features and enhancements to the 5G system, such as ultra-reliable low-latency communication (URLLC), vehicle-to-everything (V2X) communication, industrial IoT, private networks, etc. It also introduces new network functions and interfaces to support non-3GPP access and interworking between different 5G networks.
Some of the new feature of Release 16 are:
Some of the new network functions of Release 16 are:
Network Slicing
Network slicing is a key feature of 5G that allows the operator to create multiple logical networks over the same physical infrastructure. Each network slice can have its own characteristics, capabilities, and resources to meet the specific requirements of a use case or a customer. For example, a network slice for eMBB can provide high bandwidth and low latency for video streaming or gaming applications, while a network slice for mMTC can provide low bandwidth and high coverage for IoT devices or smart meters.
Each category of 5G network slicing has its own importance and use case. eMBB is important for applications that require high-speed data transmission and low latency, such as video streaming and online gaming. mMTC is important for applications that require a large number of devices to be connected, such as smart homes and industrial IoT. URLLC is important for applications that require ultra-reliable and low-latency communication, such as autonomous driving and remote surgery.
A network slice consists of three domains: RAN, transport, and core. Each domain can be configured and optimized according to the slice requirements. For example, a RAN domain can use different radio access technologies (RATs), such as NR or LTE, or different frequency bands, such as sub-6 GHz or mmWave. A transport domain can use different transport technologies, such as Ethernet or optical fiber, or different routing protocols, such as MPLS or Segment Routing. A core domain can use different NFs or different instances of NFs to provide different control and user plane functions.
A network slice is identified by a single network slice identifier (S-NSSAI), which consists of a slice/service type (SST) and a slice differentiation identifier (SD). The SST indicates the generic category of services that the slice supports, such as eMBB, mMTC, or URLLC. The SD indicates the specific differentiation of services within a category, such as video quality or device density. The S-NSSAI is used by the UE to request a network slice and by the network to select and assign a network slice for the UE.
The network slicing process involves four steps: preparation, instantiation, selection, and operation :
4.1. Preparation: The operator defines the network slice templates (NSTs) that specify the characteristics, capabilities, and resources of each network slice. The operator also defines the network slice instances (NSIs) that instantiate the NSTs on the physical infrastructure. The operator also registers the NSIs and their services in the NRF for discovery.
4.2. Instantiation: The operator activates the NSIs on demand or in advance according to the service demand or customer agreement. The operator also configures and optimizes the RAN, transport, and core domains for each NSI. The operator also monitors and manages the NSIs using the MANO framework.
4.3. Selection: The UE requests a network slice by sending its S-NSSAI to the network. The network selects an appropriate NSI for the UE based on its S-NSSAI, subscription, location, and availability. The network also assigns an AMF and an SMF for the UE to handle its access and session management in the selected NSI.
4.4. Operation: The UE establishes a PDU session with the selected NSI by communicating with its assigned AMF and SMF. The UE also establishes QoS flows with different QoS parameters within the PDU session according to its service needs. The UE can access the services and applications provided by the selected NSI through its UPF and data network.
Additional Information
The source code of the latest version free5GC can be downloaded from here.
The source code of free5GC stage 2 (ARM version) can be downloaded from here.
The source code of free5GC stage 1 can be downloaded from here.
Features history can be found here.
To run the fee5GC that we will be using, we need several tools to be installed on our device. Specifically, we need the Virtual Machine Box software application and the Linux Ubuntu Operating System to run the server that we will use for free5GC.
We can download the VMBox application from the following link :
https://virtualbox.org/
Then, an image similar to the following will appear :
After that, select the Downloads sidebar and there will be a display as follows :
Choose the default Operating System that we use to download VM Box. If it has been installed, then the VMBox display will look like this :
In addition, we need to download the Ubuntu version ubuntu-20.04.1-live-server-amd64.iso from the following link:
https://old-releases.ubuntu.com/releases/20.04.1/
Choose the specified version of Ubuntu to use the correct kernel, which is ubuntu-20.04.1-live-server-amd64.iso :
Then, go back to VMBox and select the "New" menu to create a new OS with the Linux OS option and select the Ubuntu 64-bit version.
Set the amount of RAM to be allocated, with a recommendation of 2 to 4 GB.
Continue the installation by clicking the "Continue" button until it finishes (assuming default settings).
Once it's finished, select the "Settings" menu and then select the "System" submenu to change the number of processors used to 2. Then, go to the "Storage" submenu and add a new IDE, and select the Ubuntu file we downloaded earlier, which is ubuntu-20.04.1-live-server-amd64.iso. Next, select the "Network" submenu, choose "Network 2", and enable the network adapter with the "Host-only Adapter" option.
After completing all of the above steps, the installation and configuration between the Virtual Machine and the OS used should be correct. Next, we will configure the settings in VMBox that we have created.
To configure this OS, we need to run the OS that we created by clicking on the OS and then the "Run" button in the VMBox menu. Please note that the OS we are using is a live server, so there is no GUI when using the OS.
Once it's running, the program will run an automatic configuration and prompt you to select a language.
Choose the preffered language (In this case, We'll go with english)
Next, the program will recommend that you update your OS version. However, choose to continue without updating, as we will be using the appropriate version so that the kernel we will use is correct. Continue the configuration by selecting the "Done" option or continue until you see the following image :
Enable the disk that we will use according to the image by pressing the "Enter" button and continue the configuration:
No partitions will be used so we'll use the entire hard disk.
Next, set up our user profile according to our needs and preferences. Do not forget the password that you write down as it will be used later on. Select the "Reboot" menu and the program will automatically reboot our VM.
The program will automatically reboot and wait until it is finished. After finishing the reboot, login using the username and password that we have created before:
To install ifconfig using the terminal prompt, follow these steps:
Your display may be different, but note the IP address of the Host-only interface. In the example above, it shows 192.168.56.101. You can SSH from the host machine into this virtual Ubuntu machine using that IP address later. (The other IP address, 10.0.2.15, is the IP address of the NAT interface, which applications on your host machine cannot access).
Choose the IP address that you obtained in your laptop's configuration. Type the following prompt:
The command "ssh ip_address -I ubuntu" is used to remotely log in to a host identified by its IP address (ip_address) using the Secure Shell (SSH) protocol. The option "-I ubuntu" specifies the user identity used when logging into the target host. In this case, the user identity used is "ubuntu".
Please provide the prompts you are referring to as they seem to be missing in the message :
Both of these commands are used on Ubuntu operating systems or other Linux distributions to update and upgrade the installed packages on the system.
The sudo apt update command is used to update the package list from the repositories or package sources available on the system. After running this command, it will check if there are any changes or updates to the package list, so the package list on the system will be updated.
Meanwhile, the sudo apt upgrade command is used to upgrade or update the installed packages on the system. After running this command, it will check the version of the packages available in the repository with the version of the packages installed on the system. If there is a newer version in the repository, then the package version on the system will be upgraded or updated to the newer version.
By running these two commands regularly, the system will always have updated and latest packages, which can improve the performance and security of the system.
After configuring these settings, the Ubuntu interface will look like the following:
This section is written by Daniel and Joshevan
This installation is done on Ubuntu 20.04 VM
Install Go 1.17.8
For x86 Architecture:
For macOS with ARM-based Chip :
These commands are used to install the Go programming language version 1.17.8 on a Linux system.
Configure Environment for go by modifying bashrc file
These commands are used to configure the Go programming language environment variables on a Linux system.
Install mongodb
For x86 Architecture:
For System with ARM-based Chip:
These commands are used to update the system package repository, install MongoDB, Git, and Wget, and start the MongoDB service.
Install Control-Plane and User-Plane Supporting Packages
These commands are used to update the system package repository and install several development tools and libraries on a Linux system.
Configuration for Linux Host Network
Replace <dn_interface> with the host interface. We can check the host interface information by typing ifconfig on terminal.
These commands are used to configure network settings on a Linux system for routing and forwarding of network traffic.
Clone Free5GC Respository
The given commands are used to clone and navigate to the free5gc repository on a Linux system.
Compile Network Functions in Free5GC
This command invokes the make tool to build the free5gc project.
The Makefile in the root of the project directory specifies the build process, which may involve compiling source code, linking object files, and producing executable files.
Once the build process is complete, the resulting executables can be found in the relevant directories under ~/free5gc.
The given commands are used to download and install the gtp5g library on a Linux system.
Install Node.js and Yarn
The given commands are used to install Node.js and Yarn
The given commands are used to install Node.js and Yarn on a Linux system. First, the cmdtest package is removed from the system, which can conflict with Node.js installations. Next, the yarn package is removed, if it is already installed. Then, the GPG public key for the Yarn repository is downloaded and added to the system's keyring, followed by adding the Yarn repository to the system's list of software sources. The Node.js repository is also added to the system's list of software sources by downloading a script from the NodeSource repository and running it with elevated privileges. After updating the package list on the system to include the newly added repositories, both Node.js and Yarn are installed on the system using the package manager. The -y flag is used to automatically confirm any prompts during installation. Once completed, Node.js and Yarn should be successfully installed on the Linux system.
Build Web Console
The command 'cd ~/free5gc' changes the current directory to the free5gc directory in the user's home directory. The next command make webconsole builds the web console module of the free5gc project.
The web console is a user interface that allows users to interact with the 5G Core Network's management plane. It enables the user to view and modify network configurations and monitor network status. The make webconsole command runs the build process for the web console module using the Makefile in the project's root directory.
This command may take some time to complete depending on the system's resources and the size of the project. Once the build process is complete, the web console module should be successfully built and ready to use.
Web Console run
The command go run server.go runs a Go program called server.go.
Web Console interface
This section is written by Daniel and Joshevan
using this code:
TestRegistration is used to register a user to the 5G Core Network by sending a registration request to the Authentication and Authorization Server (AUSF) and the Home Subscriber Server (HSS). The function handles the registration process by verifying the user's identity and authentication information, generating and storing session keys, and providing the necessary information to the other network functions for further communication.
using this command:
TestGUTIRegistration is used to register a user using their GUTI. It sends a registration request to the MME, which verifies the GUTI and performs the necessary authentication and authorization procedures with the AUSF and HSS. Once the registration is complete, the MME assigns a permanent identity to the user, known as the Subscriber Permanent Identifier (SUPI), which is used for subsequent communication with the user.
using this command:
TestServiceRequest is a test function that allows simulation of service requests from users in the 5G Core Network. It generates a service request message and sends it to the SEAF (Service Authorization Function) to check user authorization and network conditions. If authorized, the SEAF sends a response message to TestServiceRequest, which proceeds with setting up the necessary resources for the requested service.
using this command:
Xn handover is a procedure used for transferring the data session of a user from the source base station (gNB) to the target base station (gNB) during handover. TestXnHandover simulates this process by initiating the handover procedure and exchanging messages between the source gNB, target gNB, and other network functions involved in the handover process.
using this command:
TestDeregistration is a test function that enables the simulation of user deregistration by generating a deregistration request message and sending it to the AMF. It facilitates the termination of the user's connection with the network and releases the resources allocated to the user by communicating with other network functions.
using this command:
TestPDUSessionReleaseRequest is a test function that attempts to simulate PDU session released by generating a release request message and sending it to the SMF. It facilitates the termination of the PDU session and releases the resources allocated to the session by communicating with other network functions.
using this command:
TestPaging is a test function simulates the paging procedure by initiating the paging request, exchanging messages between the network functions involved in the process, and setting up the necessary resources for the requested service.
using this command:
TestN2Handover is a test function that simulates the N2 handover procedure by exchanging messages between the source gNB, target gNB, and other network functions involved in the handover process. It facilitates the transfer of the control plane and user plane connections from the source gNB to the target gNB, while maintaining the session and routing information for the user.
using this command:
TestNon3GPP is a function in the 5G Core Network that simulates the Non-3GPP Access procedure by initiating the registration process, exchanging messages between the network functions involved in the process, and setting up the necessary resources for the requested service.
using this command:
TestReSynchronization is a test function that simulates the Re-Synchronization procedure by initiating the procedure, exchanging messages between the network functions involved in the process, and verifying that synchronization has been re-established between the network functions after a temporary loss of synchronization.
using this command:
TestULCL is a test function that simulates the ULI Consolidation List (ULCL) procedure by initiating the consolidation of ULI from multiple sources into a single list, verifying that the consolidation is successful, and returning a response based on the result of the consolidation.
To install and testing the UERANSIM, we need to clone our previous VM
hostnamectl set-hostname ueransim
sudo reboot
Clone the code of installation UERANSIM from this github
To build WebConsole we need Node.js and Yarn.
The port number will be used at 5000. Try to access them using your web browser :
http://yourmainvmip:5000
For me it is :
http://172.20.10.6:5000
You will see the dashboard once you have login like this :
Choose Subscribers and create a new data:
After the data is created successfully, you can press Ctrl-C on the terminal to quit WebConsole
Written by Bachul
Cloud computing is an abstraction of a computer that integrates an internet network to enable the application and use of resources without having to possess complex infrastructure or software systems in that environment. The use of cloud computing includes data storage, data processing, and applications.
In cloud computing, computing resources are provided by a cloud service provider and can be accessed by users via the internet. Users only need to pay for the resources they use, making the use of computing resources more efficient and cost-effective.
Cloud computing is like renting computer resources (storage, processing power, and applications) over the internet from a provider, instead of buying and managing them yourself. It saves you money and makes using technology more efficient.
There are 4 types of services in cloud computing, namely On-Premise, SaaS, PaaS, and IaaS. Each service has a different purpose and implementation, and we need to determine which service is suitable for us based on cost and environment. Here's a brief explanation:
Example application that using cloud computing:
Choosing the right type of cloud computing service depends on factors such as the level of control and customization required, the type of application being developed, and the resources and budget available.
Deployment model refers to the way in which cloud computing services are deployed and provided to users. There are four main deployment models: public cloud, private cloud, community cloud, and hybrid cloud.
Different deployment models offer different levels of control and security, so it's important to choose one that fits your specific needs and requirements. When choosing a deployment model, consider factors such as cost, scalability, security, compliance requirements, and the level of control you need over your resources.
For the free5gc project, we will use the Amazon Web Services (AWS) platform as a tool for cloud computing.
Written by Fateen
Amazon Web Services (AWS) is a cloud computing platform that provides a wide range of services to help individuals and organizations build and deploy their applications and services in the cloud. AWS is one of the largest cloud providers in the world, offering a variety of services, including computing, storage, databases, networking, analytics, machine learning, security, and more.
AWS allows users to select the specific services they need, and pay only for what they use, without needing to invest in physical hardware or infrastructure. This makes it a cost-effective solution for businesses of all sizes. Some of the most popular AWS services include Amazon Elastic Compute Cloud (EC2), Amazon Simple Storage Service (S3), Amazon Relational Database Service (RDS), Amazon Lambda, and Amazon Elastic Beanstalk.
This part is done by
Fateen,
Naufal and Natthan
Make EC2 Instance in AWS
Create AWS account.
We want to create a VM. So, launch instances
Setup the name and choose the OS
Choose the instance type that matches Free5GC specification and cheap
Also create the key pair for connecting the VM using SSH. We need to allow SSH from anywhere just to make it easy for us (it is not the best practice as far as i know)
Launch instance!
The instance will be automatically started
Click connect
Connect with SSH client. I'm using Windows Powershell here.
However, if we follow the command directly, it will show that the .pem key has bad permission. This is because we only want the private key to be read only.
In Ubuntu, we should do this to our private key (.pem file)
This command will change the permissions of the file to read and write only for the owner, and no permissions for anyone else.
However, I'm using Windows. So, we need to disable the inheritance permission for the private key file and add full control over my username like this.
Connect using ssh with private key
Checking Golang Version
Installing control-plane Supporting Packages
Installing user-plane Supporting Packages
Linux Host Network Settings
Installing Control Plan Elements
Installing User Plane Function (UPF)
Installing WebConsole
Prequisite
Testing for Registration
Registration testing is used to send request to Access and Mobility and Management Function AMF to register the number so user can access the core network.
Testing for GUTI Registration
GUTI stands for Globally Unique Temporary Identifier. GUTI is provided by AMF. It used by sistem to increase privacy because each UE is asigned to GUTI.
Testing for service request
service request is activating user plan to have a PDU session. This request is made with UEs and AMF
Testing for Xn Handover
Xn Handover is a process to hand over the UEs from one gNB to other gNB closest to the UEs. this test determining where this hand over works or not.
Testing for deregistration
Testing deregistration in Free5GC involves verifying the ability of the system to handle the request from the User Equipment (UE) or the network to unregister or remove the UE from the network.
Testing for PDU Session Release Request
Testing PDU (Packet Data Unit) Session Release Request in Free5GC involves verifying the ability of the system to release a user's PDU session and free up network resources when the session is no longer needed.
Testing for paging
Testing Paging in Free5GC involves verifying the ability of the system to locate and notify a user of an incoming call or message.
Testing for N2 Handover
Testing N2 Handover in Free5GC involves verifying the ability of the system to handover a user's session from one Access and Mobility Management Function (AMF) to another AMF, while maintaining the continuity of the session.
Testing for Non 3GPP
Testing Non-3GPP (Third Generation Partnership Project) access in Free5GC involves verifying the ability of the system to support communication with devices that are not based on the 3GPP standards.
error after terminating the Unified Data Management
Testing for resynchronization
Testing resynchronization in Free5GC involves verifying the ability of the system to recover from failures or disruptions and resynchronize the state of the network elements.
Testing for requesting two PDU sessions
This testing is done to make sure that multiple PDU sessions is supported in the 5G Network. In an actual 5G network, a PDU session represent point to point connection between the UE and the PDN (Packet Data Network). In this case it is testing if the UE will be able to establish multiple PDU sessions.
Running WebConsole
Running Free5GC
The current MNO-A now have reach the limit of its performance in terms of frequency capacity. While facing the challenge, MNO C+D merger is outrunning the MNO-A performance. On this issue, the paper have the solution to resolve this by implementing ORAN strategy in the MNO-A Architecture. By implementing ORAN, MNO-A can simplify infrastructure development strategies, including the plan of deploying 2000 sites with 323.3 MHz frequency bandwidth and service coverage operation of 26.89%. In term of cost, the investment could reduce Capex (Capital Expenses) by 36.7% and Opex (Operational Expenses) by 17.36% with business value of IRR more than 100% and BCR (Benefit Cost Ration) that exceeds 6.18 or 37% more than traditional architecture.