Session Management Function¶
Overview¶
SMF is a Control Plane(CP) function that manages all 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 route them to UPF to execute them in the respective sessions.
Session Configuration¶
User Plane Setup¶
UE first needs to set up a User Plane connection with the 5G network during the registration process to access the 5G facilities. AMF sends a request to SMF to create a session management context to manage the PDU session of the UE. Then, the SMF selects the UPF that serves the best user plane experience to the UE.
SMF also establishes a default non-GBR QoS Flow without any packet filters to carry the UE’s traffic to the DN and vice versa. The default QoS Flow of the PDU Session allows exchanging the best-effort traffic with the Data Network(DN).
Session Establishment¶
To create dedicated QoS flows for a UE, a UE initiated or network-initiated PDU Session Modification request is sent to the UPF. SMF schedules the static and dynamic rules for the session and sets the session-related rules and policies for the UPF, AMF, and UE. The SMF handles the session charging characteristics specific to a UE or a DNN. And the charging-related context is created based on per PDU session configuration. It also grants a fixed no. of units(bytes, seconds, etc) for the exchange of data packets.
The SMF also specifies the session parameters for the gNB and UE but instead of sending them directly, it sends them via AMF as no other Network Function communicates with them. SMF sends the session context to the AMF to transfer them to the respective gNB and UE.
[12] Report create session
[16] Session modification request
[11] Abort session request
[5] Initialize session
[1] Create add sessions request
[4] Handle rule scheduling
[4] Handle set session rules
[13] Set static rules
[5] Set session rules
[14] Set PDR attributes
[13] Bind policy to bearer
[13] Initiate session credit
[7] Create subscriber quota state request
[13] Set subscriber quota management
[10] Get initial requested credits units
[6] Initialize monitoring usage
[13] Initialize charging credits
[18] Set UPF session configuration
[13] Receive charging credits
[14] Process session response from UPF
[2] Handling SM session response and notification from SMF
[5] Add session to directory record
[14] Handle state update to AMF
[16] Set SMF notification
[16] Set AMF session context
Session Modification¶
SMF keeps on updating the rules, policies, charging criteria, and modified sessions based on requirements, network capabilities, and subscription policies. This modified context is sent again over the session modification request to UPF by SMF. The UPF either add up the new one with the existing rules and regulations or replaces them with the new ones. SMF also sends the session modification request due to session failure.
It handles all the session-related context and also requests the session termination when there is no use. It sets reauthentication procedures where it authenticates each policy and charging parameters again. It also updates bearers at the gNB level.
[14] Update session context
[8] Terminate previous session
[8] Cleanup previous sessions
[4] Report session update/ failure event
[13] Handle update failure
[15] Get default session update
[17] Get default update criteria
[4] Update session request
[14] Change PDR rules and update UPF
[7] Activate flows for rules
[4] Handle activate UE flows callback
[13] classify policy activation
[7] Setup policy
[7] Update subscriber quota state
[3] Get session credit update
[13] Set and increment data metrics
[13] Insert PDR rules to the rules of session list
[3] Set reauthentication state
[4] Initiate charging reauthentication
[11] Policy reauthentication
[13] Get dedicated bearer updates
[13] Update bearer deletion/creation request
[4] Handle session update response
Deactivation of Session¶
SMF supports activation and deactivation of the User Plane connection of a PDU session. The limitation of SMF is it only supports UE-initiated deactivation. SMF deactivates and releases the session-related context from the UPF. First, it removes rules and then terminates the session at the end. There can many reasons for session deactivation such as unspecified failure, user inactivity, etc.
SMF tracks User Plane traffic updates and manages the state of the PDU sessions.
[6] Report traffic
[14] Move to active/inactive state
[16] PDU session inactive
[1] Create deactivate session request
[7] Deactivate flows for rules
[13] Deactivate static flows
[16] Initiate release session
[4] Schedule termination
[13] Remove scheduled dynamic rules
[13] Clear session metrics
[12] Report terminate session
[5] End session request