一、開源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工程使用.