C++ implementation of SIP, ICE, TURN and related protocols.
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.
No open issues yet, or sync has not completed.