A portable C library providing SIP, RTP, STUN/TURN/ICE, HTTP, and WebSocket stacks for building real-time communication applications.
libre is a portable C library that provides foundational real-time communication protocols like SIP, RTP, STUN/TURN/ICE, and HTTP/WebSocket. It solves the problem of implementing standards-compliant VoIP, messaging, and multimedia streaming applications without relying on heavyweight frameworks.
C developers building embedded systems, VoIP clients, SIP servers, WebRTC infrastructure, or custom real-time communication applications that require low-level control and portability.
Developers choose libre for its comprehensive protocol support, strict RFC compliance, minimal resource footprint, and cross-platform portability across Linux, BSD, Windows, macOS, iOS, and Android.
Generic library for real-time communications with async IO support
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Implements key standards like SIP (RFC 3261), RTP, and STUN/TURN/ICE with stable modules, ensuring reliable interoperability for real-time communication.
Supports Linux, BSD, Windows, macOS, iOS, and Android with multiple C libraries and compilers, facilitating deployment across diverse environments.
Designed for minimal resource usage, making it ideal for embedded systems and performance-critical applications where efficiency is paramount.
Provides cross-platform asynchronous I/O with poll, epoll, select, and kqueue backends, enhancing scalability and performance for real-time apps.
Organized into independent modules, allowing developers to include only necessary components and reduce bloat in their applications.
Critical modules like HTTP, JSON, SRTP, and WebSocket are labeled unstable, indicating potential API changes, bugs, and incomplete testing for production use.
Documentation is limited to doxygen with examples in a separate project (redemo), making onboarding and implementation challenging for new developers.
Requires GNU make and OpenSSL development headers, which can be cumbersome to configure, especially on non-Unix systems like Windows.
Lacks official bindings for other languages, restricting integration with modern web stacks and increasing the learning curve for non-C developers.