要在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/

六手机软件

在这里http://code.google.com/p/sipdroid/可下载开源sipdroid的android应用程序工程源代码。

然后在eclipse下编译生成apk,当然也可直接从上述网址下载apk,安装到手机中。

然后,启动手机端的sipdroid。注意:这里暂且测试局域网内的IP通话,miniSIPServer和两个手机均用wifi连接至同一路由器。

Logo

更多推荐