GNU ccRTP: Real-Time Transport Protocol Framework
The official architectural manual and C++ class reference for GNU ccRTP, implementing RFC 3550 RTP/RTCP packet sequencing, jitter buffering, RTCP QoS reports, and multicast streaming.
Historical Library Manual
GNU ccRTP is preserved for software history and RFC 3550 implementation study.
§1RFC 3550 Real-Time Transport Protocol
RTP (Real-time Transport Protocol, RFC 3550) provides end-to-end network transport functions suitable for applications transmitting real-time data, such as audio, video, or simulation data over multicast or unicast network services.
GNU ccRTP is a generic, extensible C++ class framework designed by Federico Montesino Pouzols and David Sugar. It handles packet transmission and reception, jitter calculation, payload formatting, and RTCP feedback control (Sender Reports, Receiver Reports) with high efficiency and thread-safety.
§2Core Class Hierarchy
- `RTPSession`: High-level session coordinator managing socket endpoints, packet queues, and membership.
- `RTPQueue`: Manages incoming and outgoing packet queues, timestamp re-ordering, and packet loss detection.
- `RTCPSenderReport` & `RTCPReceiverReport`: Generates real-time QoS statistics (fraction lost, cumulative packets lost, interarrival jitter).
- `DualSocketHost`: Abstraction for systems requiring separate UDP port pairs for RTP (even port) and RTCP (odd port).
This page reconstructs material originally published at gnutelephony.org. It has been formatted and annotated for archival preservation.
Historical source: GNU ccRTP. Reproduced or adapted under the GNU Lesser General Public License (LGPL) 2.1 or later where stated.
Historical revision date: 2002-04-15 (Revised 2011-08-30). Restored to permanent static archive in October 2026.