Description
The Event State Compositor (ESC) is a core application server function within the IP Multimedia Subsystem (IMS) service architecture, standardized to support event notification services, most notably Presence. It acts as a logical intermediary between event publishers (entities that generate state information, like a User Equipment) and event watchers (subscribers requesting that information). The ESC's primary role is to collect, process, and compose raw event state information from one or more sources into a single, authoritative composite event state that is then distributed to authorized watchers.
Architecturally, the ESC is typically implemented as part of a Presence Server or a dedicated Application Server (AS) in the IMS domain. It interfaces using the Session Initiation Protocol (SIP) for event publication and subscription, as defined in RFC 3856 (Presence) and RFC 6665 (SIP-Specific Event Notification). The ESC receives PUBLISH requests containing event state documents (e.g., in PIDF format) from Presence User Agents (PUAs), which may reside on a user's device, a network service, or other applications. Each PUA may publish a partial view of the user's overall state (e.g., device status, calendar availability, network registration).
The ESC operates by applying a set of composition rules or policies to these multiple inputs. These rules determine how conflicting or complementary information is merged. For example, if one PUA publishes "available" and another publishes "in-a-meeting," the ESC's composition policy might dictate that "in-a-meeting" takes precedence, resulting in a composite state of "busy." The compositor manages the state per presentity (the entity whose presence is being reported). It generates a single, composite event state document that represents the authoritative view. When a watcher subscribes to the presentity's event state, the ESC acts as the notifier, sending the composite state in NOTIFY messages and subsequent updates when the state changes.
Key components of the ESC logic include the composition policy engine, the state aggregation function, and the subscription/notification manager. Its role is vital for creating a unified and meaningful presence experience from potentially disparate and redundant data sources. By offloading complex state composition from end-user devices and centralizing it in the network, the ESC ensures consistency, reduces signaling overhead, and enables advanced service features like role-based views or state filtering for different watchers.
Purpose & Motivation
The ESC was created to solve a fundamental problem in early presence service implementations: how to manage multiple, potentially conflicting, sources of presence information for a single user. Without a compositor, watchers would need to subscribe to each source individually and perform complex logic locally to deduce the user's true availability, leading to inconsistent experiences, increased signaling, and limited service capabilities.
Historically, as IMS and SIP-based presence services evolved from Rel-6 onwards, the concept of a network-based compositor became essential for scalable and rich presence. Prior approaches or simpler models could not efficiently handle scenarios where a user had multiple devices (phone, laptop, tablet) or where presence information was derived from both device sensors and external applications (like calendar systems). The ESC provides a standardized, network-centric solution to aggregate this information.
Its creation was motivated by the need to enable sophisticated communication services, such as "Find Me/Follow Me," advanced instant messaging, and enablers for rich communication suites (RCS). By composing a single, authoritative state, the ESC allows for the implementation of complex business rules (e.g., "do not disturb during meetings") and privacy policies at the network level. It abstracts the complexity of multi-source state management from both the publishing clients and the watching clients, which is a critical requirement for interoperable, carrier-grade presence services.
Key Features
- Aggregates event state publications from multiple Presence User Agents (PUAs)
- Applies configurable composition policies to resolve conflicts and merge states
- Generates a single, authoritative composite event state for a presentity
- Acts as a notifier for SIP SUBSCRIBE requests from watchers
- Manages subscription authorization and state filtering based on watcher identity
- Centralizes complex logic to ensure consistent state view across all watchers
Evolution Across Releases
Introduced the Event State Compositor (ESC) as part of the initial IMS Presence service architecture. The initial capabilities defined its role in aggregating presence information from multiple sources, applying basic composition rules, and serving as the central notifier for watchers, establishing the foundation for network-based presence composition.
Defining Specifications
| Specification | Title |
|---|---|
| TS 24.141 | 3GPP TS 24.141 |
| TS 24.841 | 3GPP TS 24.841 |