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 (13 CRs across 4 releases). Complements the general historical overview above with the evidence-based evolution of this function.
- Updating periodic RAU timer and PSM during service request TS 24.008CR3115
- Updating periodic TAU timer and PSM during service request TS 24.301CR2976
- Clarification on interactions between PSM and on-going BIP sessions TS 31.102CR0773
- UICC re-activation/re-initialisation during PSM and eDRX TS 31.102CR0822
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 vj20 | 3GPP Terminology and Definitions | Rel-19 |
| TS 23.060 vj00 | GPRS Stage 2 Service Description | Rel-19 |
| TS 23.271 vj00 | LCS Stage 2 Specification | Rel-19 |
| TS 23.272 vk00 | CS Fallback in EPS Stage 2 | Rel-20 |
| TS 23.401 vk00 | Evolved 3GPP Packet Switched Domain - EPS | Rel-20 |
| TS 23.682 vj30 | Architecture for MTC and SCEF 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 vk00 | Mobile radio interface layer 3 specification | Rel-20 |
| TS 24.301 vk00 | 3GPP TS 24301 vk00: NAS Protocols for EPS | Rel-20 |
| TS 25.300 vj00 | UTRA Radio Interface Enhancements Overview | Rel-19 |
| TS 25.304 vj10 | UE Idle Mode Procedures | Rel-19 |
| TS 25.705 vd00 | UMTS Small Data Transmission Enhancements Study | Rel-13 |
| TS 31.102 vj50 | USIM Application for 3GPP Telecom Networks | Rel-19 |
| TS 36.300 vj20 | E-UTRAN Radio Interface Protocol Architecture | Rel-19 |
| TS 36.304 vj20 | Access Stratum (AS) Idle Mode Procedures for UE | 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 |