## 5 VoLTE Network Experimental Implementation
### Experimental Platform Topology
The general packet radio service (GPRS) protocol, including the GPRS Tunneling Protocol User plane (GTP-U), proved to be vital for transferring GPRS packets across LTE 5G networks and others. The \"nproc\" command in Linux that determines the number of available processing units was applicable, leading to increased available modules, thus enhancing parallel processing capabilities. To activate the GTP-U, an adjustment of the \"nproc\" command preceded the installation of the Generic Kernel version 4.7.1. The EPC configuration included updating software, installing Git software, and acquiring a certificate for access to Eurecom's GitLab [30]. The certificate installation allowed access to download Eurecom's library source code. An Ubuntu Linux 22.04 was utilized to implement network calls, with the operating system downloaded and the image transferred to a USB stick for installation on the Raspberry Pi 4. Asterisk, an open-source communication software, was installed after completing the software installation. This software server uses the G.711 codec to implement VoLTE calls between UEs. Call routes within the private network were organized using the \"sip.conf\" protocol, assigning a four-digit number to each subscriber (e.g., 7001 and 7002) and security codes. The \"extensions.conf\" file defined the call plan, specifying how Asterisk handles incoming and outgoing calls. It organizes the calling plan into environments, each consisting of extensions (telephone numbers) with priorities and applications. The voice-mail service, configured in \"voicemail.conf\", handles unanswered calls by forwarding them to an automatic voicemail. Samsung Galaxy S40 with Android 12 and S32 with Android 10 were used as test phones. The Mizudroid client was installed on each device, with the server hosting Asterisk's address, the four-digit number, and the security code configured for future testing. Apple, IP phones, and tablets could also be used instead of Android phones. Mobile phone UEs are radio-connected to eNB base stations via radio frequencies, while the stations receive and transmit IP packets to and from the core network. The mobile devices are the terminal nodes of the network, and they should be programmed to be able to work in LTE standards, as well as have the corresponding SIM network identification card installed. In the LTE network, the SIM cards are known as universal integrated circuit cards (UICCs) and are Java-programmed cards with an encrypted key. SIM7000 experimental modules can also be used for IoT applications, sensor networks, and data transmission. For SIM card programming, we have used blank \"Open-Cells\" SIM cards, UICC open-source programming tool V3.3 software [31, 32], and a USB card reader/writer. To enable the connection of UE to the private network, a new APN profile must be defined, as it has been created in the HSS database. After entering the USIM into the mobile device, we set the new APN through the device settings. To summarize, we point out that the ability to clone a SIM card is not provided, and, therefore, unauthorized users' network access is impossible.