APP

Application-defined RTCP packet

Protocol →
Introduced in Rel-8

APP is an RTCP extension mechanism that allows applications to define custom packet types for session-specific control information, enabling richer media session control.

Category
Protocol
Introduced
Rel-8
Where
Core Network › Evolved Packet Core
Specifications
7 specs
APP Description Purpose Related Classification Detected Changes Specifications

Description

The Application-defined RTCP packet (APP) is a packet type within the Real-time Transport Control Protocol (RTCP), as standardized by the IETF and adopted within 3GPP specifications for IP Multimedia Subsystem (IMS) and Packet-Switched Streaming (PSS) services. RTCP is the companion protocol to RTP (Real-time Transport Protocol), providing out-of-band control information for a media session, including quality-of-service feedback (via Sender and Receiver Reports), participant identification, and session timing. The APP packet type provides a standardized, extensible container for application-specific data that needs to be transmitted alongside the standard RTCP control traffic. Its structure is defined in IETF RFC 3550 and subsequent updates, and 3GPP specifications detail its usage within the telecom architecture.

An APP packet consists of a standard RTCP header, which identifies it as an APP packet type (PT=204), followed by a subtype field, a 4-octet name field (serving as a unique application identifier), and the application-dependent data. The 32-bit name field, typically composed of four ASCII characters, allows different applications or vendors to define their own packet semantics without fear of collision. The application-dependent data that follows can carry any information the application deems necessary, such as custom metrics, synchronization signals, control commands, or proprietary feedback mechanisms not covered by standard RTCP report blocks.

Within the 3GPP ecosystem, APP packets are utilized in services like IMS Multimedia Telephony (MMTel) and Packet-Switched Streaming to convey enhanced session control information. For instance, they can carry information related to media quality reporting extensions, application-layer forward error correction (FEC) control, or specific commands for media adaptation. The protocol works by having the sending application entity encapsulate its custom data into the APP packet format and transmit it over the same communication channel as other RTCP packets, typically using the same transport association (e.g., UDP port pair) as the RTP media stream. Receiving entities, aware of the specific APP packet 'name' and format, interpret the data and act accordingly, enabling a closed-loop, application-aware control mechanism.

The role of APP packets in the network is to bridge the gap between the standardized, generic feedback of core RTCP and the specific, often proprietary, needs of advanced multimedia applications. They allow service providers and application developers to innovate and optimize media sessions without requiring changes to the underlying RTP/RTCP standards. This extensibility is crucial for deploying new features, conducting detailed performance diagnostics, and implementing complex media handling logic in a backward-compatible manner, as legacy RTCP implementations that do not understand a specific APP packet can safely ignore it based on the RTCP packet type rules.

Purpose & Motivation

The APP packet was created to address the limitation of the original RTCP specification, which defined a fixed set of packet types (SR, RR, SDES, BYE) for standardized control functions. While these were sufficient for basic quality reporting and session management, emerging multimedia applications required the ability to exchange custom control information specific to their operation. For example, an application might need to signal a specific codec mode change, transmit proprietary quality metrics, or synchronize auxiliary data streams. Without a standardized extension mechanism, developers resorted to non-standard methods, such as using undefined packet types or embedding data in other fields, leading to interoperability issues and collisions.

The introduction of the APP packet type in IETF RFC 3550 provided a formal, future-proof extension mechanism. It solved the problem by reserving a specific packet type identifier (204) for application use and defining a simple structure with a name space to prevent conflicts. This allowed different applications, even within the same session, to define and use their own control packets without interfering with each other or with the core RTCP functions. The motivation was to maintain the stability and interoperability of the base RTP/RTCP protocol while enabling innovation and customization at the application layer.

In the context of 3GPP, the adoption and specification of APP packet usage in documents like TS 26.114 (IMS Multimedia Telephony) and TS 26.234 (PSS) was driven by the need for enhanced media control in carrier-grade services. As IMS services evolved to support rich communication like video telephony and streaming with adaptive bitrate, the standard RTCP reports were insufficient for conveying all necessary control parameters. APP packets provided a standardized vehicle for 3GPP-defined extensions, such as carrying specific quality of experience (QoE) metrics from a User Equipment (UE) to a server, enabling more intelligent media delivery and network optimization within the telecom operator's infrastructure.

Classification

Part ofRTCP

Detected Changes Across Releases

from 3GPP Change Requests

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

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

Rel-18 4 changes

In Release 18, the new `3gpp_mtsi_app_adapt` SDP attribute was introduced to negotiate the usage of RTCP APP-based adaptation messages. This allows an MRFC with a supporting policy to indicate the supported APP messages in an SDP offer and forward the parameter to the MRFP. The function enables application-defined RTCP packet usage for media adaptation within IMS Multimedia Telephony.

  • Adding 3gpp-req-app attribute to SDP negotiation of IMS data channels TS 26.114CR0551
  • RTCP-APP Redundancy Request for Processing Information (PI) TS 26.114CR0566
  • [ITT4RT] IANA registration of RTCP feedback for Viewport TS 26.114CR0549
  • Correction of RTCP Viewport feedback format value TS 26.114CR0577
Rel-19 6 changes

In Release 19, the APP function was enhanced with new procedures to support IMS restoration after PCRF/PCF failure using RTCP RR packets and clarified the parameters and procedures for Application Data Channels (DC). This included clarifications for the `a=3gpp-req-app` attribute, its `req-app-id` parameter, and the DC application download process. Furthermore, a new `app-dc-status` parameter was added to the `a=3gpp-req-app` attribute for SDP negotiation of IMS application data channels.

  • Add RTCP RR packets trigger procedure to support IMS restoration procedures after PCRF/PCF failure TS 23.334CR0186
  • Clarification of a=3gpp-req-app parameters TS 26.114CR0584
  • Clarification of procedures for DC application download TS 26.114CR0585
  • Clarification of “req-app-id" parameter TS 26.114CR0586
  • Adding app-dc-status parameter to 3gpp-req-app attribute for SDP negotiation of IMS application data channels TS 26.114CR0590
  • Clarification on the URL for Downloading the DC Application List TS 26.114CR0597

Explore further

Broader topics and technologies where APP plays a role.

Defining Specifications

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

SpecificationTitleRelease
TS 23.333 vj00 MRFC-MRFP Mp Interface Requirements Rel-19
TS 23.334 vj00 IMS-ALG to IMS-AGW Interface (Iq) Stage 2 Rel-19
TS 26.114 vj10 IMS Multimedia Telephony Media Handling Rel-19
TS 29.162 vj00 IMS-IP Network Interworking Rel-19
TS 29.163 vj00 Interworking between 3GPP IM CN and CS networks Rel-19
TS 29.205 vj00 BICC Protocols for Bearer-Independent CS Core Network Rel-19
TS 36.750 ve10 Study on enhancement of VoLTE Rel-14