Project revival: TwoSquares is preserving GNU Telephony's history and preparing an open-source revival. Contributors and collaborators are welcome.
GNU Telephony
Open-source telephony, preserved and being revived
From the historical GNU Telephony project

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.

ProjectGNU ccRTP
Doc TypeLibrary Architecture & API Reference
Original Date2002-04-15 (Revised 2011-08-30)
RestoredOctober 2026
LicenseGFDL 1.2+
SourceHistorical Archive

§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.
Licensing & Attribution

Historical source: GNU ccRTP. Reproduced or adapted under the GNU Lesser General Public License (LGPL) 2.1 or later where stated.

Document Revision Record

Historical revision date: 2002-04-15 (Revised 2011-08-30). Restored to permanent static archive in October 2026.