sip编程开发基础入门

发布时间 : 星期一 文章sip编程开发基础入门更新完毕开始阅读

REGISTER——提供地址解析的映射,让服务器知道其它用户的位置。 INFO——用于会话中信令。 五、结束语

SIP协议凭借其简单、易于扩展、便于实现等诸多优点越来越得到业界的青睐,它正逐步成为NGN(下一代网络)和3G多媒体子系统域中的重要协议,并且市场上出现越来越多的支持SIP的客户端软件和智能多媒体终端,以及用SIP协议实现的服务器和软交换设备。虽然SIP协议目前还不成熟,但可以预见SIP必定是将来网络多媒体通信中的明星。

SIP开源软件介绍

要在windows或者linux平台下开发基于SIP的软电话,需要以下软件 服务器端软件: 注册多个客户端到服务器上,可以进行通话测试

SIP客户端软件:主要用于测试,可以对别人已经完成的客户端进行抓包,以比对自己程序的发包数据

SIP协议栈:基于某个现成的SIP协议栈来开发会加快开发进度 RTP栈:传输语言或者视频数据的协议栈 抓包测试工具:调试网络程序最有效的办法

以下介绍这些软件主要以开源软件为主

一 服务器端软件

1. Asterisk:Linux系统下开源的IPPBX,功能强大稳定,主要用c语言开发。配置稍麻烦。 http://www.asterisk.org/

2. Vocal:Linux系统下开源的SIP服务器端。可以作为IPPBX也可以作为运营系统。很多voip虚拟运营商都用这个作为自己的运营系统。提供BS结构的管理界面。http://www.vovida.org/ 3. YATE:跨平台(Linux,Windows)的开源SIP服务器端。在windows下安装非常简单。其他方面没有进行过测试。http://yate.null.ro/pmwiki/

4. SER:Linux平台下重量级的SIP服务器断。功能比较丰富,也是很多voip虚拟运营商的系统选择。不过据说配置比较麻烦,具体没有试过。http://www.iptel.org/ser/

5. sipX:Linux平台下的SIP服务器。这个好像不能作为客户端再次注册到其他SIP服务器上。提供BS结构的管理界面。 http://www.sipfoundry.org

二 SIP客户端软件

1. Windows Messenger 5.1:微软出的SIP客户端,操作方便。

2. YATE Client:跨平台(Linux,Windows)的开源SIP客户端软件。安装方便,功能简单。http://yate.null.ro/pmwiki/

3. xten:windows平台下的SIP软电话。功能齐全,使用方便。http://www.xten.com/

三 SIP协议栈

1. osip:跨平台的开源SIP协议栈。用c语言实现,体积小。http://www.gnu.org/software/osip/ 2. exosip:对osip进行封装,使其方便SIP客户端软件开发。同样开源跨平台。http://savannah.nongnu.org/projects/exosip/

3. sipXtackLib:由SIPfoundry提供的开源跨平台的SIP协议栈,功能齐全。C++开发,已经被用于开发数个商业SIP终端。http://www.sipfoundry.org

四 RTP栈

1. JRTPLIB: 开源的跨平台rtp栈,用C++语言开发,使用方便。

http://research.edm.uhasselt.be/~jori/page/index.php?n=CS.Jrtplib

五 抓包测试工具

1. Wireshark:非常有名的开源跨平台网络抓包工具,以前叫做Ethereal。http://www.wireshark.org/

几种开源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是vovida.org开发的SIP系统,VOCAL应该是目前功能最完善,使用者最多的开源SIP协议栈了.它不只包括了协议栈,还包括了 h323与sip转换网关,对SIP的各种Server的功能支持也非常完善.不过很可惜,不支持windows平台,而且自从vovida被CISCO 收购以后就停止了开发,最后的版本是2003年4月的1.5.0。

CVS : :pserver:anonymous@cvs.vovida.org:/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

联系合同范文客服:xxxxx#qq.com(#替换为@)