一、开源voip有哪些
SIPDroid、linphone、imsdroid
SIPDroid:纯java语言开发
Linphone:基于多个平台,但android下的bug较多,很难正常的通话。
Imsdroid:底层基于doubango的开源代码,更新比较及时.
Linphone和Imsdroid的底层均是c语言,支持的平台比较广泛.
二、源码如何获取
Linphone: http://www.linphone.org/需安装git工具.
不知道是否因为git工具的问题,经常没下午便断开,需获取多次,才能获取到完整的代码.
Imsdroid: 这个首先必须安装svn.需先下载doubango的源码,然后再下载Imsdroid的源码. Imsdroid的源码位置: http://code.google.com/p/imsdroid/source/checkout, doubango的源码位置:http://code.google.com/p/doubango/source/checkout.
三、编译重需注意;
Linphone: 编译过程还需要下载其他的内容,可以直接复制网址到ie中进行下载.
如果你是在windows下使用cygwin,最好链接的时候会出现一个致命的错误,那就是argument list too long,这种情况下,最好直接放到linux下去编译,该问题便可以解决.升级cygwin的版本也很难解决该问题.
Linphone的java工程要求sdk为2.3版本,对我们这种在公司网络不好的人来说,这是最悲催的事了.
Imsdroid: 分为两部分:doubango和imsdroid的编译.
Doubango:windows下编译会有一大堆的错误,还是果断放弃windows,转到linux下编译好了.但建议最好编2.0版本,2.0的编译方法需要到wiki中查找, 参考http://code.google.com/p/imsdroid/wiki/Building_IMSDroid_v2_x这个网页.最好生成一个动态库tinyWRAP.so.
Imsdroid的编译:最后要生成apk文件,必须首先编译android-ngn-stack工程,该工程编译成功后,会生成jar文件,供imsdroid工程使用.