在我们对SIP协议栈进行了解的过程中,我们发现SIP协议的应用在很多平台和设备上都能实现。那么SIP 软电话开发环境的建立要在windows或者linux平台下开发基于SIP的软电话,需要以下软件
服务器端软件: 注册多个客户端到服务器上,可以进行通话测试
SIP客户端软件:主要用于测试,可以对别人已经完成的客户端进行抓包,以比对自己程序的发包数据
SIP协议栈:基于某个现成的SIP协议栈来开发会加快开发进度
RTP栈:传输语言或者视频数据的协议栈
抓包测试工具:调试网络程序最有效的办法
以下介绍这些软件主要以开源软件为主
一 服务器端软件
1. Asterisk:Linux系统下开源的IPPBX,功能强大稳定,主要用c语言开发。配置稍麻烦。
2. Vocal:Linux系统下开源的SIP服务器端。可以作为IPPBX也可以作为运营系统。很多voip虚拟运营商都用这个作为自己的运营系统。提供BS结构的管理界面。
3. YATE:跨平台(Linux,Windows)的开源SIP服务器端。在windows下安装非常简单。其他方面没有进行过测试。
4. SER:Linux平台下重量级的SIP服务器断。功能比较丰富,也是很多voip虚拟运营商的系统选择。不过据说配置比较麻烦,具体没有试过。
5. sipX:Linux平台下的SIP服务器。这个好像不能作为客户端再次注册到其他SIP服务器上。提供BS结构的管理界面。
二 SIP客户端软件
1. Windows Messenger 5.1:微软出的SIP客户端,操作方便。
2. YATE Client:跨平台(Linux,Windows)的开源SIP客户端软件。安装方便,功能简单。
3. xten:windows平台下的SIP软电话。功能齐全,使用方便。
三 SIP协议栈
1. osip:跨平台的开源SIP协议栈。用c语言实现,体积小。
2. exosip:对osip进行封装,使其方便SIP客户端软件开发。同样开源跨平台。
3. sipXtackLib:由SIPfoundry提供的开源跨平台的SIP协议栈,功能齐全。C++开发,已经被用于开发数个商业SIP终端。
四 RTP栈
1. JRTPLIB: 开源的跨平台rtp栈,用C++语言开发,使用方便。
五 抓包测试工具
1. Wireshark:非常有名的开源跨平台网络抓包工具,以前叫做Ethereal。