The application and the plugins depend on the following open source software and libraries, so make sure you install the related development versions before attempting a compilation:
- GLib: http://library.gnome.org/devel/glib/
- pkg-config: http://www.freedesktop.org/wiki/Software/pkg-config/
- gengetopt: http://www.gnu.org/software/gengetopt/ (command line)
- Jansson: http://www.digip.org/jansson/ (JSON)
- libconfig: https://hyperrealm.github.io/libconfig/ (configuration files)
- libnice: https://libnice.freedesktop.org/ (ICE/STUN/TURN, at least v0.1.16 suggested, v0.1.18 recommended)
- OpenSSL: http://www.openssl.org/ (DTLS, at least v1.0.1e)
- libsrtp: https://github.com/cisco/libsrtp (SRTP, at least v2.x suggested)
- usrsctp: https://github.com/sctplab/usrsctp (
optional
, Data Channels)
- libmicrohttpd: http://www.gnu.org/software/libmicrohttpd/ (
optional
, v0.9.59, Web server)
- libwebsockets: https://libwebsockets.org/ (
optional
, WebSockets)
- rabbitmq-c: https://github.com/alanxz/rabbitmq-c (
optional
, v1.0.4, RabbitMQ)
- paho.mqtt.c: https://eclipse.org/paho/clients/c (
optional
, v1.1.0 for MQTT v3.1 & v3.1.1 or v1.3.0 for MQTT v5)
- nanomsg: https://nanomsg.org/ (
optional
, Nanomsg)
- Sofia-SIP: https://github.com/freeswitch/sofia-sip (
optional
, only needed for the SIP plugin)
- libopus: http://opus-codec.org/ (
optional
, only needed for the AudioBridge plugin)
- libogg: http://xiph.org/ogg/ (
optional
, only needed for the AudioBridge and Streaming plugins)
- libcurl: https://curl.haxx.se/libcurl/ (
optional
, only needed for the TURN REST API, RTSP support in the Streaming plugin and the sample Event Handler plugin)
- zlib: https://zlib.net/ (gzip compression utility)
- Lua: https://www.lua.org/download.html (
optional
, only needed for the Lua plugin)
- Duktape: https://duktape.org/ (
optional
, only needed for the Duktape plugin)
- npm: https://docs.npmjs.com/ (
optional
, used during build for generating JavaScript modules)