经常有人问我,老李,Kamailio/OpenSIPS和FreeSWITCH之间有什么区别?嗯,这个一句话两句话还真讲不清楚.现在我们就按发展历史、功能性、平台支持性等来论述!
前提是我们需要知道SIP服务器的类型,典型是以下几类:
a.注册服务器 -即只管Register消息,这里相当于location也在这里了
b.重定向服务器 -给ua回一条302后,转给其它的服务器,这样保证全系统统一接入
c.代理服务器 -只做proxy,即对SIP消息转发
d.媒体服务器-只做rtp包相关处理,即media server
e.B2BUA - 这个里包实际一般是可以含以上几种服务器类型
一. 发展历史1.Kamailio/OpenSIPS的发展
提到这俩兄弟,就不得不提OpenSER这个SIP代理服务器,这个项目起源于2001年左右的德国的FhGFOKUS研究所,SER就是Sip Express Router.然后基于GPL协议开源了.但是在2005年开始,完全为了开源的理想而奋斗的人们终究抵挡不了个性差异,经济压力差异,产品发展等差异,所以离开的离开,改行的改行.当然能这样坚持的都真的是真爱,如果在中国,在中国高房价的压迫下,也许这两家都成了比较大规模的公司了.
到了2008年应是标志着OpenSER的完全被分家了,一家叫Kamailio,另一家OpenSIPS,当然应还有其它昙花一现的fork,但现在流传的就是Kamailio和OpenSIPS两位大哥的传说.Kamailio说自己是最正宗的OpenSER的儿子,OpenSIPS就说,你是私生子,连姓都改了,我虽是养子,但我好歹名字和老爹OpenSER有点像.这些都只是开玩笑,只是为了说明Kamailio和OpenSIPS都说自己正宗,也都有自己一个小团队在维护代码和发展着业务及技术.具体差异后续再说.
2. FreeSWITCH的发展
这个产品的发展,在于安东尼老哥最早参与了Asterisk这个开源B2BUA,但因为Asterisk采用单线程模式处理逻辑,以及其它一些性能及功能的考量,安东尼老哥和Asterisk分道扬镳,然后完全从头开始打造FreeSWITCH,而FreeSWITCH1.0.6发布了以后,开始用户数量上升,一直到尽几年,面向语音层的应用越来越广泛,比如门禁/智能客服/智能外呼/智能质检/座席辅助/回铃检测等面向语音媒体多样化的需求,以及webrtc/视频等需求增加,所以FreeSWITCH面向的应用应该说更宽.
二. 功能性差异
1.Kamailio/OpenSIPS a.Kamailio/OpenSIPS的共通部分都是SIP Proxy
都源于SER爸爸
都支持和第三方的rtp proxy或rpt engine做