Home

Awesome

libre README

libre is a Generic library for real-time communications with async IO support. Copyright (C) 2010 - 2019 Creytiv.com

Build Status

Features

Building

libre is using GNU makefiles. Make and OpenSSL development headers must be installed before building.

Build with debug enabled

$ make
$ sudo make install
$ sudo ldconfig

Build with release

$ make RELEASE=1
$ sudo make RELEASE=1 install
$ sudo ldconfig

Build with clang compiler

$ make CC=clang
$ sudo make CC=clang install
$ sudo ldconfig

Documentation

The online documentation generated with doxygen is available in the main website

Examples

Coding examples are available from the redemo project

License

The libre project is using the BSD license.

Contributing

Patches can sent via Github Pull-Requests or to the RE devel mailing-list. Currently we only accept small patches. Please send private feedback to libre [at] creytiv.com

Design goals

Modules

NameStatusDescription
aesunstableAES (Advanced Encryption Standard)
base64testingBase-64 encoding/decoding functions
bfcpunstableThe Binary Floor Control Protocol (BFCP)
conftestingConfiguration file parser
crc32testing32-bit CRC defined in ITU V.42
dbgtestingDebug printing
dnsstableDNS resolving (NAPTR, SRV, A)
fmttestingFormatted printing and regular expression
hashtestingHashmap table
hmactestingHMAC: Keyed-Hashing for Message Authentication
httpunstableHTTP parser (RFC 2616)
httpauthtestingHTTP-based Authentication (RFC 2617)
iceunstableInteractive Connectivity Establishment (ICE)
jbuftestingJitter buffer
jsonunstableJavaScript Object Notation (JSON)
liststableSortable doubly-linked list handling
locktestingResource locking functions
maintestingMain poll loop
mbufstableLinear memory buffers
md5stableThe MD5 Message-Digest Algorithm (RFC 1321)
memstableMemory referencing
modtestingRun-time module loading
mqueuetestingThread-safe message queue
msgunstableGeneric message component library
natbdunstableNAT Behavior Discovery using STUN
nettestingNetworking routines
odictunstableOrdered Dictionary
rtmpunstableReal Time Messaging Protocol
rtptestingReal-time Transport Protocol
sastableSocket Address functions
sdptestingSession Description Protocol
shatestingSecure Hash Standard, NIST, FIPS PUB 180-1
sipstableCore SIP library
sipeventtestingSIP Event framework
sipregstableSIP register client
sipsessstableSIP Sessions
srtpunstableSecure Real-time Transport Protocol (SRTP)
stunstableSession Traversal Utilities for NAT (STUN)
systestingSystem information
tcptestingTCP transport
televtestingTelephony Events (RFC 4733)
tlsunstableTransport Layer Security
tmrstableTimer handling
turnstableObtaining Relay Addresses from STUN (TURN)
udptestingUDP transport
uritestingGeneric URI library
websockunstableWebSocket Client and Server

legend:

Features

Supported platforms

Supported versions of C Standard library

Supported compilers:

Supported versions of OpenSSL

Coding guidelines

Transport protocols

TCPUDPTLSDTLS
BFCP-yes--
DNSyesyes--
HTTPyesn/ayesn/a
ICE-yes--
RTP-yes--
RTCP-yes--
RTMPyes-yes-
SIPyesyesyes-
STUNyesyesyesyes
TURNyesyesyesyes
WEBSOCKyesn/ayesn/a

Related projects

References

http://creytiv.com/re.html

https://github.com/creytiv/re

http://lists.creytiv.com/mailman/listinfo/re-devel