Copyright (c) 1999-2002 by Open Source Telecom Corporation. Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. Welcome to GNU ccRTP, the RTP protocol stack of GNU Common C++ and the GNU project. GNU ccRTP was created as a "generic" and high performance RTP stack and uses queued packet lists for both sending and receiving of realtime data. A single scheduler thread both schedules delivery of timestamped outgoing packets, and processes incoming packets into the receive queue. A seperate thread or process can then feed data into the stack for delivery and process pending requests without interfering with the stack service thread itself. By using queued packet buffers in linked lists it is possible to achieve jitter buffering and to mix and change payload types mid-stream without complicated buffer management. Jitter buffering can be achieved both by prebuffering packets before sending and by delaying processing of packets pending on the receive queue. This stack is being designed to support both RTP and RTCP, and is general purpose enough to use in audio and video conferencing, for building streaming media servers, and for internet telephony. Current releases of GNU ccRTP now support multicast networks as well as point to point RTP, multiple source connections, and many other advanced features. Any questions about ccrtp can be handled either in the GNU Common C++ mailing lists or thru ccrtp-devel@gnu.org. David