开源软交换系统 FreeSwitch 与 Asterisk 比较
Asterisk 与freeswitch都是流行的开源软交换服务器,Asterisk出现的比较早,大概在1999年开始此项目,应该是最流行的开源软交换服务器,整个社区上下游都已经很成熟。
freeswitch 算是后起之秀,2005年才开始,但性能和稳定性都明显优于Asterisk,但由于出现的 晚,导致其功能的多样性及与其他系统的集成难度高于asterisk.
下面为Asterisk与freeswitch比较。
1:Asterisk是针对百人左右的小型系统,相同的硬件配置下单系统并发也就几百路(不同版本性能有一定差异,大概在 200-400之间),而根据国外爱好者测试freeswitch
可达到2000-3000路sip通道(媒体流并发),
2:Asterisk用动态链表来管理每个打开的通道,这样在多线程中非常难于管理(需要频繁的锁定和解锁)。而freeswitch每个呼叫通道都会用一个线程来管理呼叫状态,大大减少了死锁发生的几率,freeswitch核心代码高度抽象,尽量将复杂代码集中化。
3:Asterisk用DUNDi协议设计分布式系统,Fs使用外部数据库实现分布系统,做得更好,甚至可以一台服务器通过数据库注册到另一台服务器上。
4:freeswitch 支持夸平台,linux, unix, windows 等,asterisk基本只支持 linux, bsd系列。
5. freeswitch配置采用xml,asterisk采用linux下面通用配置文件格式语法,而 采用xml格式配置文件是freeswich使用者抱怨最多的部分,对于不懂xml格式的开发者在刚开始使用时是个折磨。
学习freeswitch需要掌握的内容:
c/c++编程, socket编程 ,sip ,sdp,rtp ,tcp/ip 协议,XML,脚本语言JavaScript,lua,erlang,perl。数据库sqlite,MySQL。
系统编程知识:多进程线程同步(临界区,互斥量,信号灯,事件),APR,模块动态共享机制。
开源软交换系统 FreeSwitch 与 Asterisk 比较的更多相关文章
- Google开源软负载seesaw
https://github.com/google/seesaw ------------------------ 在分布式系统中,负载均衡是非常重要的环节,通过负载均衡将请求派发到网络中的一个或多个 ...
- 基于Django 的 FreeSwitch 开源GUI 管理系统 YouPBX
YouPBX YouPBX 是一个强大 FreeSwift (电话软交换系统) 的管理GUI系统,基于Django开发,功能全面,体验友好,可以基于此项目做一个完善的IPPBX系统.呼叫中心应用等 项 ...
- 基于Asterisk的VoIP开发指南——(1)实现基本呼叫功能
原文:基于Asterisk的VoIP开发指南--(1)实现基本呼叫功能 说明: 1.本文档探讨基于Asterisk如何实现VoIP的一些基本功能,包括基本呼叫功能的方案选取.主叫号码透传.如何编写As ...
- FreeSWITCH 1.2.5.3 Step by Step Install
Ubuntu: apt-get -y install build-essential automake autoconf git-core wget libtool apt-get -y instal ...
- Pyhton开源框架(加强版)
info:Djangourl:https://www.oschina.net/p/djangodetail: Django 是 Python 编程语言驱动的一个开源模型-视图-控制器(MVC)风格的 ...
- Python开源框架
info:更多Django信息url:https://www.oschina.net/p/djangodetail: Django 是 Python 编程语言驱动的一个开源模型-视图-控制器(MVC) ...
- C#开源
商业协作和项目管理平台-TeamLab 网络视频会议软件-VMukti 驰骋工作流程引擎-ccflow [免费]正则表达式测试工具-Regex-Tester Windows-Phone-7-SDK E ...
- C# 开源项目一
商业协作和项目管理平台-TeamLab 网络视频会议软件-VMukti 驰骋工作流程引擎-ccflow [免费]正则表达式测试工具-Regex-Tester Windows-Phone-7-SDK E ...
- C#开源大全--汇总(转)
商业协作和项目管理平台-TeamLab 网络视频会议软件-VMukti 驰骋工作流程引擎-ccflow [免费]正则表达式测试工具-Regex-Tester Windows-Phone-7-SDK E ...
随机推荐
- android从应用到驱动之—camera(2)---cameraHAL的实现
本文是camera系列博客,上一篇是: android从应用到驱动之-camera(1)---程序调用流程 本来想用这一篇博客把cameraHAL的实现和流程都给写完的.搞了半天,东西实在是太多了.这 ...
- 通知角标(2)只用一个TextView实现
可以只用一个TextView实现通知角标,TextView的setCompoundDrawables函数可以在TextView的上,下,左,右,4条边处分别指定一个图片.见图1: 这个图片如果在角上, ...
- Java视频教程
http://outofmemory.cn/java/video/ http://outofmemory.cn/tutorial/
- Android开发之定义接口暴露数据
写了一个网络请求的工具类,然后想要获取到网络请求的结果,在网络工具类中写了一个接口,暴露除了请求到的数据 代码: package com.lijingbo.knowweather.utils; imp ...
- svn url does not contain valid patch
想把项目上传到svn上,由于误点击了apply patch.所以出现下面的错误. 正确做法是在项目上右击找到Team----share Project 如图: 点击share project后出现如图 ...
- Ural1076(km算法)
题目大意 给出n*n表格,第a[i,j]表示i到j的权值,现在我们要将每个a[i,j]=sum[j]-a[i,j], 求出当前二分图a[][]最小匹配 最小匹配只需将权值取负后,求二分图最大匹配,使用 ...
- struct TABLE
struct TABLE { TABLE() {} /* Remove gcc warning */ TABLE_SHARE *s; handler *file; TABLE *next, *prev ...
- 11月下旬poj其他题
poj1000,poj1003,poj1004,poj1064,poj1218 水题 poj1012:0<k<14——漂亮的打表 poj1651:与能量项链很像的dp poj1159:回文 ...
- BestCoder Round #35
A 题意:给出n个黑球,m个白球,每次取1个球,取了n+m次以后,会生成一个随机的01串S, 如果第i次取出的是黑球,则s[i]=1,如果是白色的,那么s[i]=0, 问01串在S中出现的期望次数 大 ...
- php linux部署相关
http://www.itbulu.com/wdcp-php55.html http://www.wdlinux.cn/wdcp/install.html http://www.yiichina.co ...