Description
A Protocol State Machine (PSM) is a finite-state machine abstraction used within 3GPP specifications to formally define the behavior of a protocol entity. It models the entity as a set of distinct states (e.g., IDLE, CONNECTED, ACTIVE) and the events (e.g., receipt of a message, timer expiry, internal trigger) that cause transitions between these states. Each state represents a specific condition of the protocol, and each transition is associated with a set of actions to be executed, such as sending a protocol data unit (PDU), starting or stopping a timer, or updating internal variables. This formalization is crucial for ensuring interoperability between equipment from different vendors, as it provides an unambiguous specification of how a protocol should react under all possible circumstances.
The architecture of a PSM is typically documented in protocol specification annexes using state transition diagrams and tables. Key components include the state variables, which store the current operational context; timers, which guard against deadlocks and trigger retransmissions or state resets; and event handlers, which process incoming stimuli. The PSM operates by continuously waiting for an event. When an event occurs, the entity checks if a valid transition is defined for the current state and that event. If so, it executes the associated actions and moves to the next state. This cycle ensures that procedures like attach, bearer establishment, handover, and release are executed in a controlled and predictable sequence.
PSMs are pervasive across all 3GPP protocol layers, from the Non-Access Stratum (NAS) protocols like EMM and ESM that manage mobility and session management between the UE and the core network, to the Radio Resource Control (RRC) protocol governing the air interface, and even within core network signaling protocols like GTP-C. Their role is to implement the procedural logic of the protocol, handling normal operation, exception cases, and recovery from failures. By defining clear pre-conditions and post-conditions for each action, PSMs prevent race conditions and guarantee that the network converges to a stable, known state, which is essential for service reliability and efficient resource management.
Purpose & Motivation
The Protocol State Machine exists to provide a rigorous, implementation-agnostic blueprint for protocol behavior. Before the formal use of state machines, protocol specifications could be ambiguous, leading to different interpretations by equipment manufacturers and resulting in interoperability failures. The PSM formalism addresses this by translating textual procedural descriptions into a precise mathematical model that leaves little room for ambiguity. This is critical in large, multi-vendor ecosystems like 3GPP networks, where seamless communication between a UE from one vendor and a network from another is a fundamental requirement.
Historically, communication protocols were described through narrative text and flow charts, which could be incomplete or contradictory when describing complex error handling and edge cases. The adoption of the state machine model, a concept from automata theory and software engineering, brought engineering discipline to protocol design. It forces specification authors to explicitly consider all possible events in each state, defining a complete behavioral contract. This not only aids implementers but also facilitates formal verification techniques, where the state machine can be analyzed for properties like liveness (the protocol will make progress) and freedom from deadlocks.
The motivation extends beyond initial implementation to testing and troubleshooting. Conformance test suites are built directly from the PSM definitions, with test cases designed to validate every state and transition. When network issues arise, engineers can trace the problem to a specific state transition failure, making diagnostics more systematic. Furthermore, the model supports the evolution of protocols across releases; changes can be clearly documented as modifications to states, events, or transitions, helping the industry manage backward and forward compatibility.
Classification
Detected Changes Across Releases
from 3GPP Change RequestsSpecific changes extracted from the „Change history“ tables of 3GPP specifications (44 CRs across 5 releases). Complements the general historical overview above with the evidence-based evolution of this function.
Studied in Rel-7, normative work from Rel-15.
In Release 15, the PSM function was updated to clarify its interaction with on-going BIP (Bearer Independent Protocol) sessions and to refine UE behavior during service request procedures, specifically regarding the updating of periodic RAU (Routing Area Update) and TAU (Tracking Area Update) timers. Additionally, corrections were made to the handling of the UE's stored AS (Access Stratum) context for UP optimization and the RRC_INACTIVE state. The release also introduced specifications for UICC re-activation or re-initialisation while the UE is operating in PSM.
- Support for Logging of 'Any cell selection' state TS 36.304CR0420
- Clarification on PRA reporting in ECM-IDLE state TS 23.401CR3381
- Correction to CC_U1_CALL_INIT State TS 24.008CR3106
- Updating periodic RAU timer and PSM during service request TS 24.008CR3115
- Wrong "slogan" for cause value 98, message not compatible with protocol state TS 24.008CR3134
- Updates to UE behaviour in state ATTEMPTING-TO-UPDATE TS 24.301CR2973
+ 8 more changes
In Release 16, the enhancements to the Protocol State Machine (PSM) function primarily focused on its interaction with RLOS (Restricted Local Operator Services) and related mobility states. The changes included corrections to prevent PSM activation when a UE is registered for RLOS and refined handling of paging and state transitions, such as in the MM IDLE ATTEMPTING TO UPDATE state, alongside the introduction of service gap control timer considerations. These updates also involved adjustments for coordination with ISR (Idle mode Signalling Reduction) and extended idle mode DRX procedures.
- PSM handling for UE attached for RLOS services TS 24.301CR3273
- PSM,ISR and extended idle mode DRX handling in RLOS TS 23.401CR3553
- Correction to handling of paging in MM IDLE ATTEMPTING TO UPDATE state TS 24.008CR3222
- Correction to not activate PSM when UE is registered for RLOS TS 24.301CR3295
- Removal of update status dependency for sub-state selection TS 24.301CR3298
- Service gap control timer and PSM TS 24.301CR3437
+ 1 more changes
In Release 17, the PSM function was updated with specific corrections and clarifications to its state management procedures. These included a correction for the call state selection following a b-SRVCC call transfer and the addition of a missing local detach procedure before transitioning to the EMM-DEREGISTERED state. Furthermore, enhancements were made to handle higher layer requests and paging while in the REGISTERED.UPDATE-NEEDED state.
- Adding the RFC reference of PAP/CHAP protocol identifier contents and related abbreviations TS 24.008CR3252
- Correction to call state to be chosen after a b-SRVCC call transfer TS 24.008CR3258
- Miss local detach procedure before entering EMM-DEREGISTERED state TS 24.301CR3480
- Handling of higher layer requests and paging in REGISTERED.UPDATE-NEEDED state TS 24.301CR3492
- Correction on PO determination for UE in inactive state TS 36.304CR0840
In Release 18, the PSM function was updated to enhance coordination for devices with discontinuous coverage, specifically by defining the handling for a UE in the EMM-DEREGISTERED.LIMITED-SERVICE state. The release also introduced updates to ensure proper coordination between 5GMM and EMM states when operating in single registration mode. Furthermore, refinements were made to the management of specific timers, such as T3444 and T3445, ensuring they are not incorrectly stopped during PSM mode.
- Start timer T3444 or T3445 in RRC inactive state TS 24.301CR3846
- Indicating the SDNAEPC DN-specific identity in the protocol configuration options TS 24.301CR3886
- EMM state for discontinuous coverage TS 24.301CR3903
- Coordination between 5GMM and EMM states in single registration mode TS 24.301CR3918
- Updating the timers that are not to be stopped for PSM mode TS 24.301CR4033
- Handling related to #78 by a UE in EMM-DEREGISTERED.LIMITED-SERVICE state TS 24.301CR3836
In Release 19, the PSM function was enhanced to improve interactions with emergency services, specifically clarifying the behavior in the eCALL-INACTIVE state and during PSAP emergency callbacks. It also introduced corrections and clarifications to the handling of NAS timers and MM/EMM states when PSM is active or when a UE returns to network coverage. Furthermore, the release provided updates to procedures like the deregistration process and the bearer resource modification request concerning UE state indication.
- PSAP emergency callback interaction with PSM TS 23.401CR3898
- Correcting handling NAS timers in ecall inactive state TS 24.301CR4100
- Correcting handling NAS timers in PSM mode TS 24.301CR4147
- Handling of EMM state upon returning to coverage TS 24.301CR4148
- Clarification to deregistration procedure with power off in attempting to update state TS 24.301CR4150
- IMS emergency services in eCALL-INACTIVE state TS 24.301CR4164
+ 6 more changes
Explore further
Broader topics and technologies where PSM plays a role.
Defining Specifications
3GPP specifications that define or reference PSM, with the latest known release. Sourced from the 3GPP document catalog — see methodology.
| Specification | Title | Release |
|---|---|---|
| TR 21.905 vj00 | 3GPP Technical Terms and Definitions | Rel-19 |
| TS 23.060 vj00 | GPRS Service Description Stage 2 | Rel-19 |
| TS 23.271 vj00 | LCS Stage 2 Specification | Rel-19 |
| TS 23.272 vj10 | CS Fallback in EPS | Rel-19 |
| TS 23.401 vj50 | Evolved Packet System (EPS) Stage 2 Description | Rel-19 |
| TS 23.682 vj30 | 3GPP TS 23682: MTC Architecture Enhancements | Rel-19 |
| TR 23.730 ve00 | Study on extended CIoT architecture | Rel-14 |
| TS 23.806 v1700 | Voice Call Continuity between CS and IMS | Rel-7 |
| TS 24.008 vj50 | 3GPP TS 24008: Core Network Protocols | Rel-19 |
| TS 24.301 vj60 | NAS protocol for Evolved Packet System | Rel-19 |
| TS 25.300 vj00 | UTRA Radio Interface Enhancements Overview | Rel-19 |
| TS 25.304 vj00 | UTRA Idle Mode Procedures Specification | Rel-19 |
| TS 25.705 vd00 | UMTS Small Data Transmission Enhancements Study | Rel-13 |
| TS 31.102 vj40 | USIM Application Specification | Rel-19 |
| TS 36.300 vj00 | E-UTRAN Radio Interface Protocol Architecture Overview | Rel-19 |
| TS 36.304 vj00 | UE Idle Mode Procedures in E-UTRA | Rel-19 |
| TR 36.763 vh00 | NB-IoT/eMTC Support for Non-Terrestrial Networks | Rel-17 |
| TS 43.064 vj00 | GPRS Radio Interface Lower-Layer Functions | Rel-19 |