CDDL

Concise Data Definition Language

Protocol →
Introduced in Rel-15

CDDL is a standardized data modeling language used in 3GPP to define data structures and constraints for JSON and CBOR formats, ensuring interoperability between network functions and applications.

Category
Protocol
Introduced
Rel-15
Where
Services › Codecs
Specifications
3 specs
CDDL Description Purpose Related Classification Detected Changes Specifications

Description

Concise Data Definition Language (CDDL) is a formal language for describing data structures, specifically designed for use with JSON (JavaScript Object Notation) and CBOR (Concise Binary Object Representation) data formats. Within 3GPP standards, CDDL serves as the primary specification language for defining the exact schema of data exchanged between network functions, between network and application servers, and within management interfaces. It operates by defining a set of rules that map to the data types and structures allowed in a given JSON or CBOR document, specifying permitted values, mandatory versus optional fields, nesting, arrays, and other constraints.

The language's grammar is based on ABNF (Augmented Backus-Naur Form) and uses a compact, expressive syntax. A CDDL definition typically consists of a series of rule assignments, where a rule name (an identifier) is assigned a type description. Type descriptions can be basic types (like numbers, text strings, booleans), compound types (like arrays or maps), or references to other rules for creating nested or recursive structures. CDDL also supports powerful features like optional groups, choices (unions), and the ability to specify ranges, regular expressions for strings, and size constraints for arrays.

In the 3GPP architecture, CDDL definitions are embedded within technical specifications (TS) to unambiguously define the payload of HTTP/2 messages (for service-based interfaces), NAS messages, or configuration data. For example, 3GPP TS 29.890 uses CDDL to define the data structures for the Nnef_EventExposure service. The use of CDDL eliminates ambiguity that could arise from prose descriptions or informal examples, leading to fewer interoperability issues during integration and testing. Tools can parse CDDL definitions to generate code, validate data instances, or produce documentation automatically.

CDDL's role extends beyond mere documentation; it is a foundational part of the 3GPP's model-driven approach. By providing a single, authoritative source for a data model's structure, it ensures that all implementations—whether for a 5G core network's Network Exposure Function (NEF), a Multimedia Telephony service, or a Media Streaming function—interpret the data formats identically. This is critical for the seamless operation of multi-vendor networks and for the development of third-party applications that interact with 3GPP network capabilities via APIs.

Purpose & Motivation

CDDL was introduced to solve the problem of ambiguous and inconsistent data format definitions in telecommunications standards. Prior to its adoption, 3GPP specifications often described data structures using informal tables, textual descriptions, or XML Schema Definitions (XSD). These methods could be verbose, difficult to parse automatically, and sometimes led to differing interpretations by equipment vendors and software developers. This ambiguity resulted in interoperability failures during network integration, increasing time-to-market and cost.

The motivation for CDDL came from the industry's shift towards RESTful, JSON-based APIs for service-based interfaces within the 5G core network (introduced in 3GPP Release 15). JSON is lightweight and widely used in web development, but it lacks a native, standardized schema language. CDDL fills this gap by providing a concise, readable, yet formal way to define exactly what a valid JSON object must look like for a given 3GPP service. It also supports CBOR, a binary format derived from JSON that is more efficient for constrained devices and bandwidth-sensitive links, making it highly relevant for IoT applications.

By standardizing on CDDL, 3GPP enabled a more rigorous and automated approach to specification compliance. It allows for the creation of validation tools and code generators that directly consume the standards documents, reducing human error. This aligns with the broader 3GPP objective of creating open, well-defined interfaces that foster innovation and competition in the telecom ecosystem by lowering the barrier to entry for new players and ensuring reliable multi-vendor interoperability.

Classification

Part ofCBOR
Related approachesJSON

Detected Changes Across Releases

from 3GPP Change Requests

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

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

Rel-18 4 changes

In Release 18, the CDDL function was extended to specify the data structures for new SDDM (SEAL Data Delivery Management) APIs. This included the **Sdd_RegularTransmissionConnection** API for both the SDDM-Server and SDDM-Client, as well as the **Sdd_URLCCTransmissionConnection** API for the SDDM-Client, enabling the management of regular and URLLC transmission connections. Additionally, corrections and specifications were provided for procedures like the **Sdd_TransmissionQualityMeasurement** to support SEAL data delivery services.

  • Correction to the CDDL specification for the Sdd_TransmissionQualityMeasurement AP TS 24.543CR0006
  • CDDL specification for the Sdd_RegularTransmissionConnection API provided by the SDDM-S TS 24.543CR0003
  • CDDL specification for the Sdd_RegularTransmissionConnection API provided by the SDDM-C TS 24.543CR0004
  • CDDL specification for the Sdd_URLCCTransmissionConnection API provided by the SDDM-C TS 24.543CR0005
Rel-19 9 changes

In Release 19, the CDDL function was updated to specify and fix the Concise Data Definition Language for several new SDDM-S APIs, including the Sdd_URLLCTransmissionConnection and Sdd_XRTransmissionConnection APIs. The release also addressed extensibility issues for the Sdd_TransmissionQualityManagement API and updated the MIME media types for CBOR payloads used in these service operations. These changes refined the protocol definitions for data delivery management within the SEAL framework for vertical applications.

  • CDDL specification and Media types for the Sdd_URLCCTransmissionConnection API provided by the SDDM-S TS 24.543CR0032
  • Fixing the SDDMC Sdd_XRTransmissionConnnection API - CDDL TS 24.543CR0132
  • Fixing the SDDMS Sdd_XRTransmissionConnnection API - CDDL TS 24.543CR0133
  • Fixing the SDDMS Sdd_URLLCTransmissionConnection API - CDDL TS 24.543CR0138
  • Fixing the SDDMS Sdd_ConnectionStatusEvent API - CDDL TS 24.543CR0139
  • Update of MIME types for CBOR payload TS 24.543CR0044

+ 3 more changes

Explore further

Broader topics and technologies where CDDL plays a role.

Defining Specifications

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

SpecificationTitleRelease
TS 24.543 vj50 SEAL Data Delivery Management Protocol Rel-19
TS 26.841 vj00 Study on Media Messaging Enhancements Rel-19
TS 29.890 vg00 CT3 5G System Technical Report Rel-16