FSM

Finite State Model

Protocol
Introduced in Rel-8
A formal model used to define the behavior of communication protocols, where a system can be in one of a finite number of states and transitions between them based on events. It is crucial for specifying unambiguous protocol procedures in 3GPP standards, ensuring interoperability.

Description

A Finite State Model (FSM), also known as a Finite State Machine, is an abstract computational model used to design and describe the behavior of a system. In 3GPP specifications, it is employed to formally define the operational procedures of network entities and protocols. The model consists of a finite set of states, a set of input events (or triggers), a set of output actions, and a transition function that maps a state and an input to a new state and possibly an output. The system exists in exactly one state at any given time. A transition to a new state occurs in response to an event, which may be the receipt of a message, a timer expiry, or an internal trigger.

The architecture of an FSM in a 3GPP protocol specification is typically presented using state transition diagrams and accompanying tables. Each state represents a specific mode of operation for the protocol entity. For example, in the IP Multimedia Subsystem (IMS) service control specifications (TS 29.078, TS 29.278), FSMs define the behavior of Application Servers (AS) and Service Control Points during call session control. Key components include the state variables (defining the current state), the event queue, and the action execution logic. The transition rules are meticulously defined to cover all normative scenarios, including error conditions and abnormal terminations, ensuring that implementations from different vendors behave consistently.

How the FSM works is procedural: The protocol entity initializes in a defined start state (e.g., IDLE). It then waits for events. Upon receiving an event, the entity checks the transition rules for its current state and that specific event. If a matching rule exists, it executes any associated actions (e.g., send a SIP message, start a timer, update internal variables) and then moves to the specified next state. If no rule is defined, the event may be ignored or cause an error, as specified. This deterministic model is fundamental for conformance testing, where test suites are designed to validate that an implementation correctly follows the specified state transitions and actions for all defined sequences of events.

Purpose & Motivation

The Finite State Model exists to provide a precise, unambiguous, and implementable definition of complex communication protocol behavior. Prior to such formal models, protocol specifications were often described in narrative text, which could lead to different interpretations by equipment manufacturers, resulting in interoperability failures. The FSM solves this problem by offering a mathematical and diagrammatic formalism that leaves little room for ambiguity, defining exactly what a system must do in every possible circumstance.

Historically, the adoption of state models in telecommunications was driven by the need for reliability and global interoperability in digital networks, such as SS7. In 3GPP, especially for session control in the IMS (from Release 5 onwards), the complexity of call flows and service interactions necessitated a rigorous specification method. The FSM approach addresses the limitations of informal descriptions by explicitly enumerating all states, all possible triggers, and all required responses, which is critical for testing and certification.

The motivation for its continued use across releases is the increasing complexity of network services and the proliferation of network functions. As protocols evolve to support new features, the FSM provides a structured framework to add new states and transitions without breaking existing functionality. It serves as the foundational blueprint that engineers use to develop protocol stacks, and testers use to verify them, ensuring that the network behaves predictably and reliably for end users.

Key Features

  • Defines a finite set of discrete states representing protocol conditions
  • Specifies deterministic transitions between states triggered by events
  • Associates specific output actions with state transitions
  • Enables unambiguous specification and implementation of protocols
  • Facilitates conformance testing and interoperability validation
  • Provides a clear structure for modeling complex procedural behavior

Evolution Across Releases

Rel-8 Initial

The Finite State Model was formally integrated into core IMS service control specifications, such as TS 29.078 (Customised Applications for Mobile network Enhanced Logic (CAMEL) Phase X) and TS 29.278 (CAMEL Application Part (CAP) specification for IMS). The initial architecture defined states for service logic execution, such as idle, awaiting instructions, and processing, to control call and session handling in the IP multimedia core network subsystem.

Defining Specifications

SpecificationTitle
TS 29.078 3GPP TS 29.078
TS 29.278 3GPP TS 29.278