实时通讯库 libre/librem/restund/baresip
libre
Toolkit library for asynchronous network IO with protocol stacks including SIP, SDP, RTP, STUN, TURN, ICE, BFCP and DNS.
librem
Toolkit library for real-time audio and video processing
restund
Modular STUN/TURN server.
这是一个STUN/TURN服务器。STUN是一种NAT穿透技术,用于帮助处在内网的主机确定自己的公网IP和端口,从而与别的主机建立直接连接(WebRTC中PeerConnection)。TURN是STUN的增强版,可以在无法穿透NAT进行直连的情况下提供数据的转发。
baresip
Modular SIP Useragent.
Distros and 3rd parties using Creytiv Software
==============================================
libre
Libre is a portable and generic library for real-time communications with async IO support and a complete SIP stack with support for SDP, RTP/RTCP, STUN/TURN/ICE, BFCP and DNS Client.
Features
- SIP Stack (RFC 3261)
- SDP
- RTP and RTCP
- SRTP
- DNS-Client
- STUN/TURN/ICE
- BFCP
- HTTP-stack with client/server
- Websockets
- Jitter-buffer
- Async I/O (poll, epoll, select)
- UDP/TCP/TLS/DTLS transport
Subversion
URL for public read-only subversion access: https://svn.creytiv.com/re/trunk (username: anon, password: anon)
Building and installation
To build libre we are using GNU Make. External dependencies are automatically detected by the makefile.
$ cd re
$ make
$ sudo make install
Examples and Demonstration
A separate redemo package is available in download directory.
Here you will find examples on how to use the libre toolkit, including demonstations on how to create a basic UDP and TCP server with less than 100 and 200 lines of C-code respectively. Additionally you will find a basic SIP user-agent example. All the demo programs are built by simply typing make from the redemo directory.
Design Goals
- Portable POSIX source code (ANSI C89 and ISO C99 standard)
- Intelligent and user friendly APIs
- Robust, fast, low memory footprint
- RFC compliance
- IPv4 and IPv6 support
Documentation
Doxygen API documentation can be found here.
Applications using libre
================================================================
restund
Restund is a modular and flexible STUN and TURN Server, with IPv4 and IPv6 support.
Features
- Authentication module
- Binding module
- MySQL module
- Statistics module
- Status module
- Syslog module
- TURN module
Download
Latest and previous releases of restund can be downloaded here.
Building and installation
To build restund core and the modules we are using GNU Make. External dependencies are automatically detected by the makefile. libre must be installed first.
To build restund with default options:
$ cd restund
$ make
$ sudo make install
A sample configuration file can be found in the etc directory of the restund package.