---
# System prepended metadata

title: Function in Free 5GC

---

---
title: 'Remove AUSF and Function'
disqus: hackmd
---

**AUSF** is Authentication and User Security Function

To remove AUSF from a Free5GC implementation, you need to follow several steps according to the configuration of Free5GC you are using. Here are the general steps you can follow:

1. **Access Free5GC Configuration**: Log in to the machine or server where you have installed Free5GC.
2. **Find AUSF Configuration**: Usually, the AUSF configuration is located in the Free5GC configuration file. You need to locate this file, which is typically named ausfcfg.conf or similar.
3. **Edit AUSF Configuration**: Open the AUSF configuration file with a text editor, and delete the entry or configuration related to AUSF.
4. **Save Changes**: Save the configuration file after removing the AUSF entry.
5. **Restart Free5GC**: After saving the changes, restart the Free5GC service to apply the configuration changes. You can usually do this by running the restart command for the Free5GC service, such as sudo systemctl restart free5gc.

Make sure to understand the consequences of removing AUSF from your Free5GC configuration. This can affect the functionality and security of your network, depending on your specific needs and configuration. If you are unsure about the correct steps or their consequences, it is recommended to consult with experienced resources or professionals in managing 5G networks.

In** AUSF**, there are 3 parts that we can modify or customize, which are in **build.go**, **handler.go, and send.go**. Each of these parts has different functions and workings.

**A. Build.go**
build.go in the Free5GC project is a Go script used to build the Free5GC project. Free5GC is an open-source project aimed at implementing the 5G core network architecture based on specifications defined by the 3rd Generation Partnership Project (3GPP).

The main function of build.go within Free5GC is to automate the project building process. This includes:

* **Dependency Management**: The script can manage project dependencies, ensuring that all required packages have been downloaded or fetched from the correct directories before the build process begins.
* **Compiling Source Code**: build.go manages the compilation process for all source files in the project. This includes compiling Go code, external libraries, or even compiling code in other languages if the project requires integration with other languages.
* **Configuration Setu**: The script can also manage project configuration, ensuring that parameters required for the build process have been properly configured.
* **Running Tests**: After the compilation process is complete, this script can run a series of tests to ensure that the project functions as intended. This may include unit tests, integration tests, or even functional tests as needed by the project.
* **Version Updating**: Some projects may require the build process to update version numbers, prepare distribution packages, or perform other tasks related to version management.

**build.go** serves as a tool to streamline the building and testing processes of the Free5GC project automatically, allowing developers to focus on feature development and bug fixes.

**B**. **Handler.go**

The **Handler.go** file in Free5GC serves as a part of the HTTP server handling functionality within the project. Its primary function is to define and manage the HTTP request handlers for various endpoints in the Free5GC system. Here are the key functions of **Handler.go:**

**1**. **Endpoint Definition: Handler.go** defines the endpoints of the HTTP server that handle incoming requests. Each endpoint typically corresponds to a specific functionality or operation within Free5GC.

**2**. **Request Handling**: It contains the logic to handle incoming HTTP requests. When a request is received on a defined endpoint, Handler.go routes the request to the appropriate function or method to process it.

**3**. **Request Parsing**: The file may also include logic to parse incoming HTTP requests, extracting relevant data from the request payload or query parameters.

**4.** **Response Generation**: After processing the request, Handler.go generates an appropriate HTTP response. This response may include data retrieved from the system, error messages, or status codes indicating the outcome of the request.

**5**. **Error Handling**: Handler.go handles errors that occur during request processing, ensuring that appropriate error responses are returned to the client.

**6. Middleware Integration**: In some cases, Handler.go may integrate middleware functions to intercept and process requests before they reach the actual endpoint handlers. Middleware functions can perform tasks such as authentication, logging, or request validation.

Overall, Handler.go plays a crucial role in defining and managing the HTTP server's behavior in Free5GC, allowing it to communicate with external systems or clients via HTTP endpoints.

