oRTP is a Real-time Transport Protocol (RFC3550) stack under LGPL.

Authors oRTP was written by Simon MORLAT (simon dot morlat at linphone dot org). More information is available in the source tree, see the README file.


  • Written in C, works under Linux (and probably any Unix) and Windows.
  • Implement the RFC3550 (RTP) with a easy to use API with high and low level access.
  • Includes support for multiples profiles, AV profile (RFC3551) being the one by default.
  • Includes a packet scheduler for to send and recv packet "on time", according to their timestamp.
    Scheduling is optionnal, rtp sessions can remain not scheduled.
  • Supports mutiplexing IO, so that hundreds of RTP sessions can be scheduled by a single thread.
  • Features an adaptive jitter algorithm for a receiver to adapt to the clockrate of the sender.
  • Supports part of RFC2833 for telephone events over RTP.
  • The API is well documented using doxygen
  • Licensed under the Lesser Gnu Public License.
  • RTCP messages sent periodically since 0.7.0 (compound packet including sender report or receiver report + SDES)
  • Includes an API to parse incoming RTCP packets.



oRTP is dual licensed. It can be licensed and distributed:

  • under LGPL license - for free (open source)
  • under proprietary and commercial license to be used in closed source applications. Contact Belledonne Communications for costs and other service information.

Souce Code

Releases of source tar.gz are here.

Use git, read only access:

Project git


git clone git.linphone.org/ortp.git