Session Management Function [1]¶
SMF is a Control Plane(CP) function that manages the session-related context with the UPF. It creates, updates, and removes sessions. It also allocates the IP addresses to each PDU session. SMF provides all the session parameters and supports the functions of UPF. SMF functions are collectively performed by MME, SGW-U, and PGW-U in the 4G System. This NF enables CUPS(Control and User Plane Separation) which decentralized the control plane and data forwarding components of the 4G System. It obtained all the rules and policies from the PCF through the N7 interface and routed them to UPF to execute them in the respective sessions.
Protocols¶
PFCP [2]¶
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.
Call Flow¶
Session Establishment¶
At first, SMF registers with the NRF to locate the other Network Functions in the network. If the user wants to access 5G data facilities, it has to setup a PDU session with the network. UE sends PDU session establishment requests to the Core Network i.e. to the AMF. Then, AMF chooses the best SMF in the network to maintain its session-related information.
After selecting the best SMF, it requests the SMF to create an SM context. SMF retrieves SM subscription data from the UDM and generates an SM context. After that, SMF starts the PFCP session establishment procedure with the UPF and setup default values for session-related parameters. Then, SMF sends the session information to the gNB and UE via AMF to establish default PDU Session values.
[22] Send NF Registration
[22] Retry Send NF Registration
[6] Setup NF Profile
[22] Send NF Discovery Serving AMF
[5] Handle PDU Session Establishment Request
[4] Build GSM PDU Session Establishment Reject
[30] Send PDU Session Establishment Reject
[28] HTTP Post SM Contexts - receive Create SM Context
[31] Handle PDU Session SM Context Create
[22] Send NF Discovery UDM
[27] Retrieve SM Context
[10] Build/Set Created Data
[2] Initialize SMF Context
[2] Retrieve DNN Information
[4] Build GSM PDU Session Establishment Accept
[22] Send NF Discovery PCF
[10] PCF Selection
[24] Send SM Policy Association Create
[29] Apply SM Policy From Decision
[16] create UPF List For Selection
[16] Sort UPF List By Name
[16] Select UPF And Allocate UE IP
[15] Select UPF By DNN
[16] Get UPF Name By IP
[16] Get UPF Node ID By Name
[16] Get UPF Node By IP
[16] Get UPF ID By IP
[18] Build PFCP Association Setup Request
[17] Handle PFCP Association Setup Request
[19] Send PFCP Association Setup Request
[18] Build PFCP Session Establishment Request
[19] Send PFCP Session Establishment Request
[20] Send PFCP Request
[18] PFCP creates PDR, FAR, QER, BAR
[10] Put PDR to PFCP Session
[16] Generate Data Path
[15] Add Data Path
[15] Generate TEID
[10] Select Session Rule
[15] Select UPF parameters
[15] Add PDR, FDR, BAR, QER
[29] Handle session rules
[3] Activate Tunnel And PDR
[3] Activate UL/DL Tunnel
[16] Select UP Path Source
[30] Activate UPF Session
[30] Establish PFCP Session
[18] Build PFCP Session Establishment Response
[19] Send PFCP Session Establishment Response
[20] Send PFCP Response
[18] Build PFCP Association Setup Response
[19] Send PFCP Association Setup Response
[2] Get User Plane Information
[16] Get Default User Plane Path By DNN And UPF
[3] Get UPF ID, Node IP, UL PDR, UL FAR
[3] Copy First Data Path Node
[25] HTTP Get UE PDU Session Info
[15] Get Interface to get UPF interface info
[15] Retrieve UPF Node By Node ID
[15] Get UPF IP, ID, PDR ID, FAR ID, BAR ID, QER ID
[2] Get UE Default Path Pool
[30] Notify UE - send all datapaths to UPFs and send results to UE
[10] PDU Address To NAS
[12] New UE Data Path Node
[2] Initialize SMF UE Routing
[7] Build PDU Session Resource Setup Request Transfer
[8] Handle PDU Session Resource Setup Unsuccessful Transfer
[8] Handle PDU Session Resource Setup Response Transfer
Session Modification¶
AMF keeps tracking whether sessions are working properly or not, in order to do so, it performs a heartbeat procedure with the SMF. UPF keeps updating the session-related changes at SMF by initializing PFCP Session Report procedure at some intervals.
On the first data transmission, AMF update the session management context to the SMF. SMF then sent a session modification request to the UPF and registered the modified session context to the UDM. On the completion of session modification, SMF sends a confirmation response and also notifies SM context status to the AMF. The response message also contains the necessary parameters to update the session information at the gNB and UE.
[17] Handle PFCP Heartbeat Request
[19] Send Heartbeat Response
[17] Handle PFCP Session Report Request
[18] Build PFCP Session Report Response
[19] Send PFCP Session Report Response
[17] Handle PFCP Management Request
[27] HTTP Update SM Context
[31] Handle PDU Session SM Context Update
[31] Handle PDU Session SM Context Local Release - check duplicate SM context
[6] S-NSSAI SMF Info
[17] Handle PFCP Association Update Request
[18] Build PFCP Session Modification Request
[19] Send PFCP Session Modification Request
[30] Update AN UPF PFCP Session Request
[30] Modify Existing PFCP Session
[18] Update PDR, FAR, QER, BAR
[9] New PCC Rule From Model
[29] Handle modification session rule
[30] Update AN UPF PFCP Session Response
[15] New UP Tunnel
[4] Build GSM PDU Session Modification Command
[26] Update PDU Session
[19] Send PFCP Session Modification Response
[18] Build PFCP Session Modification Response
[10] New SM Context added in the pool
[23] Send SM Context Status Notification
[12] Add New UE Pre Config Paths
[13] Create New UE Default Paths
[15] Update AN Information
[21] HTTP SM Policy Update Notification
[29] Handle SM Policy Update Notify
Session Release¶
During deregistration, AMF requests for the release of SM context from the SMF. On receiving the request, SMF initiates a session release procedure with the UPF. After the deletion of the session, SMF sends a session release response to the AMF along with the release command of session-related parameters and resources at the UE and gNB levels.
SMF afterward releases the SM policy associated with the session and then removes the SM context on its completion. After completely disconnecting from each function, it deregisters with the network.
[27] HTTP Release SM Context
[31] Handle PDU Session SM Context Release
[5] Handle PDU Session Release Request
[4] Build GSM PDU Session Release Command
[18] Build PFCP Association Release Request
[19] Send PFCP Association Release Request
[18] Build PFCP Session Deletion Request
[17] Handle PFCP Session Set Deletion Request
[29] Handle deletion of session rule
[10] Remove PDR from PFCP Session
[15] Remove PDR, FAR, BAR, QER
[3] Deactivate UL/DL Tunnel
[30] ReleaseTunnel
[15] Remove UPF Node By Node ID
[16] Release UE IP Address from UPF
[4] Build GSM PDU Session Release Reject
[18] Build PFCP Session Deletion Response
[18] Build PFCP Association Release Response
[19] Send PFCP Association Release Response
[7] Build PDU Session Resource Release Command Transfer
[21] SM Policy Control Termination Request Notification
[24] Send SM Policy AssociationTermination
[10] Remove SM Context
[22] Send NF Deregistration
[22] Send Deregister NF Instance
Addition of additional PSA and BP or UL CL¶
UE first establish PDU Session with a UPF, which is capable of performing as PSA(PDU Session Anchor), lets call it UPF PSA1. At some point, there is need to selects another UPF(UPF PSA2) for example, due to UE mobility. SMF selects one more UPF and establish the BP(Branching Point) or UL CL(Uplink Classifier) for PDU Session. It forwards the necessary UL rules towards PSA1 and PSA2.
UL CL or BP is added to route the traffic towards the corresponding PSA1 and PSA2 in case of DL. SMF then updates the PSA1, and PSA2 and provides the BP or UL CL Core Network Tunnel info fo the DL traffic. SMF sends N2 SM information over N11 interface and provide new CN tunnel info corresponding to the UPF(BP or UL CL). SMF then notifies the availability of the new IP prefix and sends UE reconfiguration message.
[16] Select Anchor UPF
[32] Add PDU Session Anchor
[1] Select PSA2
[10] Allocate Local SEID For Data Path
[3] Activate Tunnel And PDR
[32] Establish PSA 2
[15] New UPF returns a new UPF context in SMF
[13] Extract Anchor UPF For UL CL
[1] Find UL CL
[14] Get UL CL Group Name From SUPI
[13] Create UPF List For Selection UL CL
[32] Add UL CL
[32] Establish UL CL
[13] Select UPF For UL CL
[13] Allocate UE IP For UL CL
[32] Update PSA 2 DownLink
[32] Update RAN And I-UPF UpLink
[32] Establish RAN Tunnel Info
Handover Procedure¶
When UE enters a new cell, gNB starts a handover procedure. During Handover, a session transfer request is sent to the SMF by the AMF, if the user is accessing 5G Data Plane resources. SMF then sends a path switch setup request to the UPF to divert the session tunnels to the target gNB.
[8] Handle Handover Required Transfer
[7] Build Handover Command Transfer
[8] Handle Handover Request Acknowledge Transfer
[8] Handle Path Switch Request Setup Failed Transfer
[7] Build Path Switch Request Unsuccessful Transfer
[8] Handle Path Switch Request Transfer
[7] Build Path Switch Request Acknowledge Transfer