要在windows或者linux平台下开发基于S;服务器端软件:注册多个客户端到服务器上,可以进行;SIP客户端软件:主要用于测试,可以对别人已经完;SIP协议栈:基于某个现成的SIP协议栈来开发会;RTP栈:传输语言或者视频数据的协议栈;抓包测试工具:调试网络程序最有效的办法;以下介绍这些软件主要以开源软件为主;一服务器端软件;1.Asterisk:Lin要在windows或者linux平台下开发基于SIP的软电话,需要以下软件 服务器端软件: 注册多个客户端到服务器上,可以进行通话测试 SIP客户端软件:主要用于测试,可以对别人已经完成的客户端进行抓包,以比对自己程序的发包数据 SIP协议栈:基于某个现成的SIP协议栈来开发会加快开发进度 RTP栈:传输语言或者视频数据的协议栈 抓包测试工具:调试网络程序最有效的办法 以下介绍这些软件主要以开源软件为主 一 服务器端软件 1. Asterisk:Linux系统下开源的IPPBX,功能强大稳定,主要用c语言开发。配置稍麻烦。 http://www./ 2. Vocal:Linux系统下开源的SIP服务器端。可以作为IPPBX也可以作为运营系统。很多voip虚拟运营商都用这个作为自己的运营系统。提供BS结构的管理界面。http://www./ 3. YATE:跨平台(Linux,Windows)的开源SIP服务器端。在windows下安装非常简单。其他方面没有进行过测试。http://yate./pmwiki/ 4. SER:Linux平台下重量级的SIP服务器断。功能比较丰富,也是很多voip虚拟运营商的系统选择。不过据说配置比较麻烦,具体没有试过。http://www./ser/ 5. sipX:Linux平台下的SIP服务器。这个好像不能作为客户端再次注册到其他SIP服务器上。提供BS结构的管理界面。 http://www. 二 SIP客户端软件 1. Windows Messenger 5.1:微软出的SIP客户端,操作方便。 2. YATE Client:跨平台(Linux,Windows)的开源SIP客户端软件。安装方便,功能简单。http://yate./pmwiki/ 3. xten:windows平台下的SIP软电话。功能齐全,使用方便。http://www./ 三 SIP协议栈 1. osip:跨平台的开源SIP协议栈。用c语言实现,体积小。http://www./software/osip/ 2. exosip:对osip进行封装,使其方便SIP客户端软件开发。同样开源跨平台。http://savannah.non/projects/exosip/ 3. sipXtackLib:由SIPfoundry提供的开源跨平台的SIP协议栈,功能齐全。C++开发,已经被用于开发数个商业SIP终端。http://www. 四 RTP栈 1. JRTPLIB: 开源的跨平台rtp栈,用C++语言开发,使用方便。http://research.edm./~jori/page/index.php?n=CS.Jrtplib 五 抓包测试工具 1. Wireshark:非常有名的开源跨平台网络抓包工具,以前叫做Ethereal。http://www./ 几种开源SIP协议栈对比 随着VoIP和NGN技术的发展,H.323时代即将过渡到SIP时代,在H.323的开源协议栈中,Openh323占统治地位,它把一个复杂而又先进的H.323协议栈展现在普通程序员的眼前,为H.323普及立下了汗马功劳。而然当在SIP时代,则出现了群雄割据的状况,SIP相对于 H.323简单,灵活,于是各种协议栈层出不穷, 下面将详细对比最具有代表性的5个开源项目:OPAL,VOCAL,sipX,ReSIProcate,oSIP OPAL是Open Phone Abstraction Library,是Openh323的下一个版本,它仍然使用了Openh323的体系结构,并在其基础上进行扩展,同时实现了SIP,H.323,但在音频和视频的编码和传输部分有较大改动。OPAL初衷设计是包含任何电话通信协议,所以其底层进行了高度的抽象化,所以也能够很容易的支持 MGCP,PSTN和将来会出现的协议。不过由于Openh323的最后一个版本还在开发中,所以原本6月发布的OPAL也被推迟,现有的OPAL还非常不完善,BUG也非常多,不过相信以Openh323的开发班底,一定能让OPAL十分优秀。 CVS : :pserver:anonymous@cvs.sourceforge.net:/cvsroot/openh323/opal Language : C++ VxWorks port : Yes Win32 port : Yes Linux port : Yes Supports RFC 3261 : Yes Supports RFC 2327 : Yes Supports RFC 3264 : Yes Supports RFC 3263 : No Supports RFC 3515 : Yes Supports RFC 3262 : No Supports RFC 3311 : No TCP : Yes UDP : Yes SIZE : 8MB License : MPL Document : None Samples : UA,GK VOCAL是开发的SIP系统,VOCAL应该是目前功能最完善,使用者最多的开源SIP协议栈了.它不只包括了协议栈,还包括了 h323与sip转换网关,对SIP的各种Server的功能支持也非常完善.不过很可惜,不支持windows平台,而且自从vovida被CISCO 收购以后就停止了开发,最后的版本是2003年4月的1.5.0。 CVS : :pserver:anonymous@cvs.:/cvsroot/vocal Language : C++ VxWorks port : No Win32 port : Partial Linux port : Yes Supports RFC 3261 : Partial Supports RFC 2327 : Yes Supports RFC 3264 : Supports RFC 3263 : Supports RFC 3515 : Yes Supports RFC 3262 : Supports RFC 3311 : TCP : Yes UDP : Yes SIZE : 6MB License: Vovida software licencse Document : Few Samples : UA,GK,GW sipX是一个SIP系统,由SIPFoundry开发。sipX是从reSIProcate分离出来的,sipX除了包括SIP stack外,还包括了sipXphone,sipXproxy,sipXregistry等等...,由它们构成了完整的SIP系统,而且sipx还支持嵌入式系统,各个模块可以按需取舍。不过可惜是几乎没有任何开发文档。 SVN : http://scm./viewsvn/ Language : C++ VxWorks port : Yes Win32 port : Yes Linux port : Yes Supports RFC 3261 : Yes Supports RFC 2327 : Yes Supports RFC 3264 : Yes Supports RFC 3263 : Yes Supports RFC 3515 : Yes Supports RFC 3262 : No Supports RFC 3311 : No TCP : Yes UDP : Yes SIZE : <4 Mb License : LGPL Document : None Samples : UA,GK,GW ReSIProcate同样也是由S IPFoundry开发,ReSIProcate最开始起源于Vocal,由于Vocal开始只支持 rfc3254,为了支持最新的rfc3261,ReSIProcate诞生了,但现在,ReSIProcate已经成为一个独立SIP协议栈了,它十分稳定,并且很多商业程序都在使用。 Language : C++ VxWorks port : No Win32 port : Yes Linux port : Yes Supports RFC 3261 : Yes Supports RFC 2327 : Yes Supports RFC 3264 : Yes Supports RFC 3263 : Partial Supports RFC 3515 : Yes Supports RFC 3262 : No Supports RFC 3311 : No TCP : Yes UDP : Yes SIZE : < 2.5 Mb License : Vovida Document : Few Samples : None oSIP的开发开始于2000年7月,第一个版本在2001年5月发布,到现在已经发展到2.0.9了。它采用ANSI C编写,而且结构简单小巧,所以速度特别快,它并不提供高层的SIP会话控制API,它主要提供一些解析SIP/SDP消息的API和事务处理的状态机,oSIP的作者还开发了基于oSIP的UA lib:exosip和proxy server lib:partysip. CVS : :ext:anoncvs@savannah.:/cvsroot/osip Language : C VxWorks port : Yes Win32 port : Yes Linux port : Yes Supports RFC 3261 : Yes Supports RFC 2327 : Yes Supports RFC 3264 : Yes Supports RFC 3263 : Yes Supports RFC 3515 : No Supports RFC 3262 : No Supports RFC 3311 : Yes TCP : Yes UDP : Yes SIZE : 400kb License : LGPL Samples : UA,GK 综合上述评测,可以看出5种SIP协议栈各有千秋,OPAL有发展潜力,VOCAL比较完善,sipX兼容性好,ReSIProcate教稳定,oSIP小巧而快速。所以要根据应用的不同选择恰当的协议栈进行研究开发。 |
|