
C++ implementation of SIP, ICE, TURN and related protocols.
The reSIProcate repository contains the following C++ libraries and applications:
Please see the following wiki for more information: www.resiprocate.org
Note: The minimum required C++ version is currently C++11.
To create an in-tree build: Navigate to git root folder where top level CMakeLists.txt file is
$ cmake .
$ make
To create an out of tree build:
$ mkdir cmake_build # Or any other name
$ cd cmake_build
$ cmake ..
$ make
Once this is built, you can run the unit tests with:
$ ctest
or, for verbose output:
$ ctest -V
If you want to start fresh either delete the out of tree build directory or delete the CMakeCache.txt file.
$ cmake -DBUILD_QPID_PROTON=OFF .
The TFM test framework requires Netxx. The old libnetxx-dev package is no
longer available on modern distributions, so by default Netxx is built from the
copy in the contrib folder (USE_CONTRIB_NETXX=ON). If you have a system copy
of Netxx that you would rather use, disable this and it will be located via
find_package:
$ cmake -DUSE_CONTRIB_NETXX=OFF .
Alternatively, you can disable the TFM test framework entirely to avoid needing Netxx at all:
$ cmake -DBUILD_TFM=OFF .
Navigate to git root folder where top level CMakeLists.txt file is.
> cmake .
Or to build recon with sipXtapi media support you need to do the following:
> cmake . -DUSE_SIPXTAPI=ON
Or if you plan on using VS GUI you might want to enable the following to get the full sipXtapi projects into the resip solution file:
> cmake . -DUSE_SIPXTAPI=ON -DSIPXTAPI_PROJS_IN_VS_GUI=ON
Navigate to git root folder where top level CMakeLists.txt file is.
> cmake . -B _build
OR to build recon with sipXtapi media support you need to do the following:
> cmake . -B _build -DUSE_SIPXTAPI=ON
To build navigate to git root folder where top level CMakeLists.txt file is.
> cmake --build _build --config Debug --parallel
For unit tests:
> cd _build
> ctest --build-config Debug --output-on-failure
CMake "cached" variables are used to specify options such as whether c-ares should be used or not. You can get the list with:
$ cmake -LH
You can set them on the command line like:
$ cmake -DWITH_C_ARES=true .
CMake supports rpm/deb?/NSIS to build installable packages using CPack. If this built-in support can not be used we could always specify internal build targets that will run external commands to package the appropriate bundle depending on the platform.