cedures. We will see how the fundamentals of cloud- native infrastructure give shape to the communications between the various network functions in a producer-consumer relationship to bring about the reality of the 5G system and various procedures that enable a 5G device to get access to mobile broadband. All the call flows explained in detail here are expected to be implemented in code that has been built based on cloud-native development methods; these are mainly container-based and have a producer-consumer method of providing and consuming services. In Chapter 2, we learned about the role of the network functions in the 5G packet core, and in Chapter 3, Building Blocks - Cloud Native Infrastructure, we learned about the services offered by each of those network functions. In this chapter, we will see how all the network functions come together to service a 5G device. We will get into the details of call flows of fundamental procedures that enable a 5G device in a network. In the upcoming sections, we will go over the following topics: PDU session establishment in 5G PDU session establishment 4G/IWF PDU session establishment 5G - IMS VoNR call flow Wi-Fi Attach PDU session establishment in 5G In Chapter 2, we discussed a Protocol Data Unit (PDU) session, wherein we learned that a PDU provides end-to-end connectivity to user equipment (UE) to avail of data services. A PDU session can be imagined to be a pipe that is associated with every UE and is identified by a PDU session ID; Packet Core Procedures this pipe is used for the user data to flow between the 5G packet core to the UE. The PDU session ID is generated by the UE. Figure 7.1 shows a PDU session along with various Quality of Service (QoS) flows associated with it: QoS Flow 1 PDU Session QoS Flow 2 N3-GTPU Tunnel QoS Flow 3 Figure 7.1 - PDU session in 5G The establishment of a PDU session involves the UE along with a number of network functions. These network functions exchange messages with each other, and when all these message transactions are success