开源软交换系统 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的helloworld工程目录学习
android的helloworld工程目录学习 Android工程的主要目录有src.gen.Android X.X.bin.res等文件夹. 1. Src文件夹 Src文件夹包含java源 ...
- Android开发之获取时间SystemClock
转载:http://blog.csdn.net/tianfeng701/article/details/7562359 在Andriod中关于线程一部分中经常会遇到计算时间的操作,这里面应用较多的是S ...
- CY7C68013A的一点总结
一. 值得参考的资料:FX2 TechRefManual.USB应用开发宝典. LabVIEW-USB通信简单教程(用于参考生成labview驱动程序).USB设备请求和描述符整理(仅用于理解描述符的 ...
- poj 1185 炮兵阵地(三维状态压缩dP)
题目:http://poj.org/problem?id=1185 思路: d[i][j][k]表示第i行的状态为第k个状态,第i-1行的状态为第j个状态的时候 的炮的数量. 1表示放大炮, 地形状态 ...
- ViewPager介绍和使用说明
1 ViewPager实现的功能 和实际运行的效果图示意 ViewPager类提供了多界面切换的新效果.新效果有如下特征: [1] 当前显示一组界面中的其中一个界面. [2] 当用户通过左右滑动界 ...
- java.lang.ClassNotFoundException: org.hibernate.annotations.common.reflection.MetadataProvider
Caused by: java.lang.NoClassDefFoundError: org/hibernate/annotations/common/reflection/MetadataProvi ...
- vssettings 的备份和导入
vssettings 的作用: vssettings的导出(也就是相当于是保存): 现在我们试试导入:找一个别人导出的包,我们导入试试.
- 页面多个Jquery版本共存的冲突问题,解决方法!
示例如下: <script type="text/javascript" src="jquery.js"></script> <s ...
- LeetCode: Maximum Product Subarray && Maximum Subarray &子序列相关
Maximum Product Subarray Title: Find the contiguous subarray within an array (containing at least on ...
- 云计算服务模型,第 3 部分: 软件即服务(PaaS)
英文原文:Cloud computing service models, Part 3: Software as a Service 软件即服务 (SaaS) 为商用软件提供基于网络的访问.您有可能已 ...