实时通讯库 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.
实时通讯库 libre/librem/restund/baresip的更多相关文章
- [渣译文] SignalR 2.0 系列:SignalR的高频实时通讯
原文:[渣译文] SignalR 2.0 系列:SignalR的高频实时通讯 英文渣水平,大伙凑合着看吧…… 这是微软官方SignalR 2.0教程Getting Started with ASP.N ...
- B/S(Web)实时通讯解决方案
B/S的实时通讯实现起来比较麻烦,因为http协议是无状态的,导致一些实时消息通知和聊天等功能比较难以实现,本文主要简述几种自己之前常用的几种方式. 1.传统的HTTP协议是无状态的 传统的HTTP协 ...
- (二): 基于ZeroMQ的实时通讯平台
基于ZeroMQ的实时通讯平台 上篇:C++分布式实时应用框架 (Cpp Distributed Real-time Application Framework)----(一):整体介绍 通讯平台作为 ...
- WebSocke实时通讯协议
WebSocket 是什么? WebSocket 是一种网络通信协议.RFC6455 定义了它的通信标准. WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议 ...
- 实时通讯之Socket.io
WebSocket WebSocket是HTML5开始提供的一种浏览器与服务器间进行全双工通讯的网络技术.使用WebSocket,浏览器和服务器只需要要做一个握手的动作,然后,浏览器和服务器之间就形成 ...
- Asp.net SignalR 让实时通讯变得如此简单
巡更项目中,需要发送实时消息,以及需要任务开始提醒,于是便有机会接触到SignalR,在使用过程中,发现用SignalR实现通信非常简单,下面我思明将从三个方面分享一下: 一.SignalR是什么 A ...
- Android IOS WebRTC 音视频开发总结(六二)-- 大数据解密国外实时通讯行业开发现状
本文主要介绍国外实时通讯行业现状,文章最早发表在我们的微信公众号上,详见这里,欢迎关注微信公众号blackerteam,更多详见www.blackerteam.com 上篇文章我们采用百度搜索指数来分 ...
- Android IOS WebRTC 音视频开发总结(六一)-- 大数据解密国内实时通讯行业开发现状
本文主要介绍国内实时通讯行业现状,文章最早发表在我们的微信公众号上,详见这里,欢迎关注微信公众号blackerteam,更多详见www.blackerteam.com 这几年移动互联网发展势头很猛,与 ...
- Node.js 数据库实时监控库 node-dbmon
node-dbmon 是一个 Node.js 数据库实时监控库,如果你希望在数据库表数据更改后,或者是文件修改后能更新 GUI,那么这个库正好适合你. https://github.com/strap ...
随机推荐
- ***iOS 项目的目录结构能看出你的开发经验
最近有师弟去面试iOS开发,他谈论到,面试官竟然问他怎么分目录结构的,而且还具体问到每个子目录的文件名. 目录结构确实很重要,面试官问他这些无疑是想窥探他的开发经验.清晰的目录结构,可让人一眼知道对应 ...
- eclipse 或MyEclipse将工程进行移动的时候会对@Override报错的处理方法
有时候导入javaSE,javaEE,android 工程的时候,明明是刚刚用过的没有问题的工程,但重新导入的时候就报错. 提示The method ... must override a sperc ...
- js模块化开发
主要有两个:一个是sea.js,另一个是require.js
- C# Regex类用法
使用Regex类需要引用命名空间:using System.Text.RegularExpressions; 利用Regex类实现全部匹配输出 string str = "test43232 ...
- 深入浅出Java并发包—CAS机制
在JDK1.5之前.Java主要靠synchronized这个关键字保证同步,已解决多线程下的线程不安全问题,但是这会导致锁的发生,会引发一些个性能问题. 锁主要存在一下问题 (1)在多线程竞争下,加 ...
- Linux shell 脚本小记
if结构 #!/bin/env bash -gt ] then echo "$1 is positive" -lt ] then echo "$1 is negative ...
- 【PHPsocket编程专题(实战篇②)】兼容 Curl/Socket/Stream 的 HTTP 操作类[转]
<?php /************************************************************ * 描述:HTTP操作类 * 作者:heiyeluren ...
- JDK安装配置问题
JDK安装过程中会有两个安装提示,一个是jdk的安装,一个是jre的安装
- 涨姿势:创业做一个App需要花多少钱(8个人,6个月,就要100万,附笔记心得)
(原标题:涨姿势:创业做一个App要花多少钱?) 作为互联网从业者,被外行的朋友们问及最多的问题是,“做一个网站需要多少钱?”或者“做一个APP需要多少钱?”. 作为做过完整网站项目和APP的人,今天 ...
- DelphiXE下String转PAnsiChar(反向转换)
很多资料只提到升迁到xe,而我们调用底版本c++开发的程序,是只能按Ansi操作的,所以需要反向转换. var s:PansiChar;s:=PansiChar(AnsiString('我我我我我') ...