DCEP

Data Channel Establishment Protocol

Protocol →
Introduced in Rel-12

DCEP is a 3GPP application layer protocol used to establish, manage, and tear down data channels for services like IMS, operating over TCP or SCTP to negotiate parameters and ensure reliable delivery.

Category
Protocol
Introduced
Rel-12
Where
Core Network › 5G Core
Specifications
2 specs
DCEP Description Purpose Related Classification Detected Changes Specifications

Description

The Data Channel Establishment Protocol (DCEP) is a standardized application-layer protocol defined within the 3GPP architecture, primarily specified in TS 24.371 and TS 24.803. It functions as a control protocol dedicated to the setup, maintenance, and termination of data channels used by various services, most notably within the IP Multimedia Subsystem (IMS) framework and for Mission Critical Push To Talk (MCPTT) services. DCEP operates independently of the underlying user data transport, providing a signaling plane that negotiates the parameters necessary for establishing a reliable data path between endpoints, such as User Equipment (UE) and application servers.

Architecturally, DCEP is designed to be carried over reliable transport protocols, primarily Transmission Control Protocol (TCP) or Stream Control Transmission Protocol (SCTP). The protocol defines a set of messages and procedures for channel negotiation. A typical establishment sequence involves a DCEP initiation message from one endpoint, which contains proposed parameters for the data channel. The receiving endpoint responds with an acceptance or rejection message. Upon acceptance, the data channel is considered established, and the actual user-plane data transfer can commence over a separate transport association or within the same association using different streams, as negotiated. DCEP also includes messages for gracefully closing a data channel and for reporting errors.

Key components of the protocol include the message format, state machines for channel management, and parameter negotiation mechanisms. Messages contain fields for a unique channel identifier, channel type (defining the nature of the data to be carried), reliability parameters, priority, and optional label information. The protocol's state machine manages the lifecycle of a channel from the 'Idle' state through 'Establishing' to 'Open' and finally 'Closing'. DCEP's role is crucial for services that require guaranteed, in-order delivery of data streams, such as file transfer during an MCPTT session or sharing of location data, where simple best-effort IP transport is insufficient.

Within the broader network, DCEP integrates with higher-layer service logic. For instance, in an MCPTT call, the service layer logic determines that a data channel (e.g., for sending an image or location) is needed. It then invokes the DCEP layer to establish the channel with the intended recipient(s). Once the DCEP handshake is complete, the service layer is notified, and the application can begin transmitting data over the newly established channel. This separation of control (DCEP) and user data planes allows for flexible and service-aware data delivery.

Purpose & Motivation

DCEP was created to address the need for a standardized, reliable, and service-aware mechanism to establish data channels within the 3GPP service architecture. Prior to its specification, services requiring dedicated data paths often relied on ad-hoc methods or proprietary signaling, leading to interoperability issues and complex service implementation. The proliferation of rich communication services, especially mission-critical services requiring guaranteed data delivery (like image share or file transfer in conjunction with voice), highlighted the limitation of using basic HTTP or SIP extensions for all data transfer scenarios.

The protocol's development was motivated by the requirements of Mission Critical Services (MCS) defined from 3GPP Release 12 onwards, particularly MCPTT. These services demanded low-latency, reliable, and prioritized data channels that could be established dynamically during a session. DCEP provides this by offering a lightweight protocol specifically designed for channel negotiation, separate from the session control protocol (like SIP) and the actual media transport. This separation of concerns simplifies the application logic and improves reliability.

Historically, the approach solved the problem of how to seamlessly add a data sharing component to an existing voice or messaging session without re-negotiating the entire session. It allows parameters like reliability (e.g., ordered/unordered, max retransmissions) and priority to be agreed upon per data channel, giving the network and endpoints clear directives on how to handle the traffic. This was a significant advancement over simply opening a TCP connection at the application layer, as DCEP provides a standardized negotiation framework understood by all 3GPP-compliant network elements and devices.

Classification

Part ofSCTP

Detected Changes Across Releases

from 3GPP Change Requests

Specific changes extracted from the „Change history“ tables of 3GPP specifications (2 CRs across 1 releases). Complements the general historical overview above with the evidence-based evolution of this function.

Studied in Rel-12, normative work from Rel-15.

Rel-15 2 changes

In Release 15, the DCEP function was newly introduced by incorporating the WebRTC Data Channel Establishment Protocol (RFC 8832) and the associated SDP-based negotiation procedures (RFC 8864). This enabled the establishment of SCTP-based data channels over DTLS for non-RTP media, specifically supporting new usages like T.140 real-time text (RFC 8865) and MSRP (RFC 8873) over these channels.

  • Reference update: draft-ietf-mmusic-t140-usage-data-channel TS 24.371CR0096
  • Reference update: draft-ietf-mmusic-msrp-usage-data-channel TS 24.371CR0099

Explore further

Broader topics and technologies where DCEP plays a role.

Defining Specifications

3GPP specifications that define or reference DCEP, with the latest known release. Sourced from the 3GPP document catalog — see methodology.

SpecificationTitleRelease
TS 24.371 vj00 WebRTC IMS Client Access Specification Rel-19
TS 24.803 vc00 Telepresence using IMS - Study Rel-12