linphone-sdk/ortp
2026-07-23 09:08:10 +00:00
..
.github/ISSUE_TEMPLATE Fix syntax error in Github issue template 2022-01-27 13:52:52 +01:00
build Cleanup: remove a lot of unused and useless files, for most of them being automake/autoconf build files not maintained for a ten of years. 2026-04-06 08:23:53 +02:00
cmake Improve CMake package config and find_package scripts. 2023-07-06 16:06:52 +02:00
debian Fix debian packagin 2018-01-01 22:13:43 +01:00
docs exclude everything but oRTP to make an ortp repository. 2010-01-20 10:22:23 +01:00
include merge 5.5.0 into master 2026-06-10 17:55:53 +02:00
src Fix an issue where RTCP packets were sent to the wrong port by the callee because rtcp-mux was offered but not accepted. 2026-07-23 09:08:10 +00:00
tester RTP bundle fix: mid is now obtained directly. 2025-10-16 14:30:50 +02:00
.clang-format Added .clang-format for coding style 2023-01-30 14:38:13 +01:00
.gitignore add info.plist to ortp framework for ios + ignore *.DS_Store 2017-06-06 12:21:35 +02:00
AUTHORS.md Change to GPLv3 and re-organize informative files. 2019-09-18 11:02:09 +02:00
CHANGELOG.md Update and improvements of CHANGELOG.md files. 2026-05-22 07:01:19 +02:00
CMakeLists.txt Fix Gentoo build in CI after submodules refactoring. 2025-06-30 09:11:21 +02:00
LICENSE.txt Change license to GNU Affero General Public License version 3 2022-10-21 08:45:54 +02:00
ortp-config.h.cmake Make the tester usable without installing 2023-06-22 11:19:47 +02:00
ortp.doxygen.in Fix build on mac OS. 2023-07-17 12:35:56 +02:00
ortp.pc.in rework SRTP in order to allow reconfiguration of an srtp session. 2014-04-08 23:35:48 +02:00
ortp.spec.in Do not include /opt/belledonne-communications/include directory in the RPM package 2016-06-21 16:17:39 +02:00
pkg.list exclude everything but oRTP to make an ortp repository. 2010-01-20 10:22:23 +01:00
README.md Update changelogs for release 5.4. 2024-12-16 11:02:55 +01:00

pipeline status

oRTP

oRTP is a C library implementing the RTP protocol (rfc3550). It is available for most unix clones (primilarly Linux and HP-UX), and Microsoft Windows.

For additional information, please visit oRTP's homepage on linphone.org.

License

Copyright © Belledonne Communications

oRTP is dual licensed, and is available either :

  • under a GNU/AGPLv3 license, for free (open source). Please make sure that you understand and agree with the terms of this license before using it (see LICENSE.txt file for details).

  • under a proprietary license, for a fee, to be used in closed source applications. Contact Belledonne Communications for any question about costs and services.

Prior to version 1.0.0, oRTP was licensed under LGPLv2. Due to inclusion of new code licensed under GPLv2, oRTP has become GPLv2, and later in version 1.1.0, GPLv3. For the sake of clarity, all source files headers were updated to mention the GPLv3 only. oRTP versions prior to 1.0.0 of course remain LGPLv2.

Dependencies

bctoolbox[1]: portability layer

Compilation

Autotools procedure is deprecated. Use CMake to configure the source code.

cmake . -DCMAKE_INSTALL_PREFIX=<prefix> -DCMAKE_PREFIX_PATH=<search_paths>

make
make install

Options:

  • CMAKE_INSTALL_PREFIX=<string> : install prefix
  • CMAKE_PREFIX_PATH=<string> : column-separated list of prefixes where to search for dependencies
  • ENABLE_TESTS=YES : build tester binaries
  • ENABLE_DOC=NO : do not generate the documentation
  • ENABLE_DEBUG_LOGS=YES : turn on debug-level logs

Note for packagers:

Our CMake scripts may automatically add some paths into research paths of generated binaries. To ensure that the installed binaries are striped of any rpath, use -DCMAKE_SKIP_INSTALL_RPATH=ON while you invoke cmake.

Rpm packaging ortp rpm can be generated with cmake3 using the following command: mkdir WORK cd WORK cmake3 ../ make package_source rpmbuild -ta --clean --rmsource --rmspec ortp--.tar.gz

How do you I test ?

There are shorts and easy to understand programs given with the library. There are good example to understand how to use oRTP api.

  • rtpsend : sends a stream from a file on disk.
  • rtprecv : receives a stream and writes it to disk.
  • mrtpsend: sends multiple streams from a file on disk to a range of remote port.
  • mrtprecv: receives mutiple streams on a range of local ports and writes them on disk.

Is there some documentation ?

See the doxygen generated API documentation in docs/html. Program examples are a very good starting point.


[1] http://www.linphone.org/releases/sources/bctoolbox