XCAP

XML Configuration Access Protocol

Protocol
Introduced in Rel-6
An HTTP-based protocol defined by the IETF and adopted by 3GPP that allows a client to read, write, and modify application configuration data stored in XML format on a server. It is fundamental for managing subscriber service settings in IMS, such as call forwarding rules and presence authorization.

Description

The XML Configuration Access Protocol (XCAP) is a client-server protocol that allows a client to manipulate application-specific configuration data stored on a server as XML documents. In the 3GPP ecosystem, XCAP is primarily used within the IP Multimedia Subsystem (IMS) as the standard mechanism for users to manage their service settings. The protocol is built on top of HTTP/1.1, using standard HTTP methods (GET, PUT, DELETE) to perform operations on XML document nodes, which are identified through a hierarchical URI structure. This design makes it inherently web-friendly and easily integrated with existing internet infrastructure.

An XCAP server hosts one or more "XCAP Application Usages." Each usage defines a specific XML schema (the data model) and a set of conventions for how the XML documents are structured, named, and accessed. For example, the `org.openmobilealliance.pres-rules` usage defines the XML schema for presence authorization rules (also known as the 'ruleset document'). A client, such as a UE or a web portal, can fetch this document via an HTTP GET request to a specific URI, modify the XML content locally, and then upload the changes back to the server using an HTTP PUT. The server validates the changes against the XML schema and the application usage semantics before committing them.

The protocol's power lies in its ability to target specific elements or attributes within an XML document using XPath expressions embedded in the HTTP URI. This allows for fine-grained modifications without needing to transfer and parse the entire document for every change. For instance, a user could modify a single call forwarding rule without affecting the rest of their call handling configuration. In IMS networks, the XCAP server is often co-located with or integrated into the Home Subscriber Server (HSS) or a dedicated service configuration server. The client accesses it via the Ut reference point. Authentication is typically handled using IMS Authentication and Key Agreement (AKA), ensuring that users can only modify their own data. The server also handles concurrency control through HTTP entity tags (ETags) to prevent conflicting updates from different clients.

Purpose & Motivation

XCAP was developed to solve the problem of standardized, remote management of user-specific service data in next-generation telecom services, particularly those based on SIP and IMS. Prior to XCAP, service configuration was often handled through proprietary protocols, interactive voice response (IVR) systems, or carrier-specific web portals with no unified data model. This fragmentation made it difficult to create interoperable handsets and third-party service management applications. The driving force behind its adoption in 3GPP was the need for a flexible, extensible, and internet-standard way for subscribers to manage complex IMS services like Presence, Message Waiting Indication, and Call Barring.

The protocol addresses the limitation of SIP itself, which is a signaling protocol not designed for manipulating persistent configuration data. XCAP provides the missing piece: a standardized data store and manipulation interface. It allows users to configure services from any device with an XCAP client, enabling a consistent experience across mobile phones, PCs, and web browsers. Its use of XML and HTTP was a strategic choice to leverage widely understood technologies, reducing implementation complexity and fostering a rich ecosystem of tools and developers. By decoupling service logic (in SIP Application Servers) from service configuration data (in the XCAP server), it created a clean architecture that simplified network management and enabled user empowerment through self-care portals, which became a standard feature of IMS deployments.

Key Features

  • Uses standard HTTP methods (GET, PUT, DELETE) for CRUD operations on XML data
  • Supports fine-grained manipulation of XML elements and attributes via XPath in URIs
  • Defines "Application Usages" to specify XML schemas and semantics for different services
  • Provides built-in concurrency control through HTTP ETag mechanism
  • Utilizes XML validation to ensure configuration data integrity
  • Enables user authentication via IMS AKA over the Ut reference point

Evolution Across Releases

Rel-6 Initial

Initially adopted by 3GPP as part of the IMS architecture. Defined the use of XCAP over the Ut reference point for managing Presence authorization rules (the 'pidf-manipulation' usage) and for configuring URI lists used in services like conferencing and messaging.

Expanded XCAP usage to support Message Waiting Indication (MWI) service configuration, allowing subscribers to set preferences for voicemail notifications. Enhanced the overall integration of XCAP within the IMS service framework.

Introduced support for managing IP Multimedia Public Identity (IMPI) and IP Multimedia Private Identity (IMPU) configuration, and for SIMPLE-based Instant Messaging session policies. Further solidified XCAP as the primary service management protocol for IMS.

Added XCAP application usage for Communication Diversion (CDIV) service settings, enabling users to remotely configure complex call forwarding, deflection, and barring rules. Enhanced security and authentication procedures.

Introduced support for managing configurations related to Multimedia Telephony (MMTel), including supplementary service settings. Standardized the XML schemas for a wider range of carrier services.

Enhanced XCAP for use with Rich Communication Services (RCS), defining application usages for RCS configuration and user profile management. Improved mechanisms for bulk configuration and profile backup/restore.

Further integration with RCS 5.0+ features. Optimized XCAP procedures for network efficiency and introduced support for managing service configurations in multi-device scenarios.

Focused on enhancements for VoLTE and ViLTE service provisioning. Refined the XML data models for video call settings and introduced support for more granular service control policies.

Extended XCAP to support configuration for new IMS-based IoT services and Mission Critical Push-to-Talk (MCPTT). Defined application usages for group management and priority service settings in critical communications.

Adapted XCAP for 5G convergence, ensuring compatibility with the new 5G Core network and the common API framework. Worked on aligning XCAP data models with 3GPP Northbound APIs (NEF/N33).

Enhanced support for network slicing in IMS, allowing service configuration to be slice-aware. Introduced capabilities for managing service settings specific to an isolated network slice instance.

Further evolution for integrated 5G-IMS architectures, edge computing scenarios, and support for AI/ML-based personalized service management. Explored JSON-based alternatives for configuration while maintaining XML backward compatibility.

Continued work on modernizing the service management framework, exploring cloud-native deployment of XCAP servers and integration with 5G service-based architecture. Focus on scalability and automation of configuration management.

Ongoing enhancements for future service paradigms, including support for immersive communications and the evolution towards 6G service platforms. Investigating the role of XCAP in a fully API-driven and AI-automated network.

Defining Specifications

SpecificationTitle
TS 24.141 3GPP TS 24.141
TS 24.259 3GPP TS 24.259
TS 24.337 3GPP TS 24.337
TS 24.423 3GPP TS 24.423
TS 24.424 3GPP TS 24.424
TS 24.483 3GPP TS 24.483
TS 24.484 3GPP TS 24.484
TS 24.504 3GPP TS 24.504
TS 24.543 3GPP TS 24.543
TS 24.549 3GPP TS 24.549
TS 24.604 3GPP TS 24.604
TS 24.623 3GPP TS 24.623
TS 24.841 3GPP TS 24.841
TS 29.199 3GPP TS 29.199
TS 32.808 3GPP TR 32.808