User Plane Function [0]

Alternative text

The UPF (User Plane Function) is one of the most important NF(Network Function) of the 5G Core network. It is the second network function with which NR RAN interacts(during PDUs flow). UPF is the evolution of the CUPS(Control and User Plane Separation). It inspects, routes, and forwards the packets inside the QoS flows within the subscription policies. It also enforces the UL and DL traffic rules using SDF templates sent by the SMF over the N4 interface. It allocates or terminates the QoS Flows within the PDU Sessions when the corresponding services end..

Interface & Protocols

N4 [5]

Session Management context and necessary parameters are transmitted to the UPF(User Plane Function) from the SMF, once the user plane is setup.

PFCP [7]

Any kind of communication between SMF and UPF is managed by the PFCP(Packet Forwarding Control Protocol). It is one of the main protocols that separates the User Plane and Control Plane.

GTP [3]

GPRS Tunneling Protocol (GTP) is responsible for providing seamless interconnection and for carrying traffic between roaming or home subscribers and key network interfaces in 4G, 5G non-standalone (NSA), 5G standalone (SA), and mobile edge compute architectures. In 5g GTP tunnel is used in N3 and N9 interface.

Call Flow

Session Establishment & UPF Initialisation

  • During PDU session establishment, SMF connects with UPF through PFCP(N4 Interface). This PFCP session carries SDF template which carries PDR, QFI, URR, FAR, etc. In the case of initial session establishment, Default QOS(Non GBR) flow is assigned.

Alternative text
  • [6] N4 handle session establishment request

  • [6] PFCP handle create PDR

  • [6] [12] Checking of existing PDI of PDR

  • [6] [12] Checking of TEID

  • [6] [12] Checking of source interface

  • [6] [12] Checking of previous SDF filter ID

  • [6] [12] Set All filter flags: BID, FL, SPI, TTC, FD

  • [6] PFCP handle create FAR

  • [6] Create URR

  • [6] Create BAR

  • [6] Create QRR

  • [6] Setup N3 TEID and QFI

  • [4] UPF initialized

  • [4] PFCP context initialized

  • [1] Initialize UPF context

  • [1] Set User Plane Function features: FTUP, EMPU, MNOP, VTIME, UPF featurs length.

  • [6] [7] Session Establishment Response

  • [5] N4 build session establishment response

  • [5] Node ID

  • [5] PFCP cause request accepted

  • [5] F-SEID

  • [5] PDR presence checked

  • [5] PFCP built message.

  • FTUP: F-TEID allocation / release in the UP function is supported by the UP function.

  • EMPU: Sending of End Marker packets supported by the UP function.

  • MNOP: The UP function supports measurement of number of packets which is instructed with the flag Measurement of Number of Packets in a URR. See also clause 5.2.2.2.1. MNOP (Measurement of Number of Packets): when set to “1”, this indicate a request to measure the number of packets transferred in UL/DL/Total in addition to the measurement in octets when Volume based measurement applies

  • VTIME: UP function support of quota validity time feature., if the VTIME feature is supported by UP function, to request the UP function to send a usage report after the validity duration is over. After Quota validity timer expiry, if packets are received on UPF, the UPF shall stop forwarding packets or only allow forwarding of limited user plane traffic, based on operator`s policy in the UP function.

  • FL: Flow Label

  • TTC: Tos Traffic Class

  • SPI: Security Parameter Index

  • FD: Flow description.

  • BID: Bidirectional SDF Filter

Session Modification

  • Dedicated QOS flow is assigned through PDU session modification process. Additional Dedicated QOS flows supports more QOS-demanding traffic such as voice, video, gaming traffic, etc.

Alternative text
  • [6] N4 handle session modification request

  • [6] Remove Existing PDR

  • [6] Update PDR

  • [6] Update FAR

  • [6] Update URR

  • [6] Update QER

  • [6] Update BAR

  • [6] Setup GTP Node

  • [6] Setup N3 TEID and QFI

  • [6] [7] PFCP send Session Modificartion Response

  • [5] N4 build session modification response

  • [5] PFCP cause accepted

  • [5] PDR buffer initialised

  • [5] PDR created

  • [6] Send Buffered Packet to gnB(when needed)

Session Deletion

Alternative text
  • [6] N4 handle session deletion request

  • [6] [7] PFCP send session deletion request

  • [5] [1] Session URR fill usage report

  • [1] Last report Timestamp

  • [1] Time triggers

  • [1] Quota validity time report

  • [1] Volume triggers

  • [1] Volume quota report

  • [5] [1] UPF sess URR snapshot(total octets, total pkts, both ul and dl)

  • [6] [1] UPF sess remove

  • [1] UPF session URR acc remove all: validity time delete, Time quota delete, threshold time delete.

  • [13] PDR remove all

  • [13] FAR remove all

  • [13] URR remove all

  • [13] QER remove all

  • [13] BAR remove all

  • [13] Self SEID