我正試圖建立一個Sip client
爲Android使用pjsip
如CSipSimple
項目。但是,我其實不太瞭解pjsip
。有沒有人有關於pjsip的教程或類似的東西在Android中使用PJsip lib構建Sip softphone
? 歡迎任何建議!PJSip在Android上
回答
請注意,這會限制您的應用程序到Android 2.3 [(API Level 9)](http://developer.android.com/guide/appendix/api-levels.html#level9)及更高版本,但我想這是類似於用戶羣的75% – Paaske
根據Play Store關於[平臺版本]的統計數據(http://developer.android.com/resources/dashboard/platform-versions.html),您的猜測是正確的(就像當天 – Rajesh
這也限制你的應用程序只用於Wi-Fi,這是不是有用的....你知道任何其他方式使用pjsip,除了apjsua,因爲apjsua不工作,我花了幾天的時間... ... - .. –
接受的答案並不完全準確。您可能希望通過第三方庫實現Android API所缺少的許多理想功能。
就上述pjsip而言,我花了大量時間試驗pjsip的Android版本,如實記錄得到可靠的即時註冊的唯一方法是構建OpenSSL 1.0.2a並在配置時傳遞它。然後在Java中,您需要嘗試(並失敗)啓用TLS通信,就像您看到它們針對UDP和TCP所做的那樣。這裏是我的意思是:
/* Create transports. */
try { transports.add(ep.transportCreate(pjsip_transport_type_e.PJSIP_TRANSPORT_TLS, transportConfig)); }
catch (Throwable t2) { SipManager.log().e(t2); }
try { transports.add(ep.transportCreate(pjsip_transport_type_e.PJSIP_TRANSPORT_UDP, transportConfig)); }
catch (Throwable t) { SipManager.log().e(t); }
try { transports.add(ep.transportCreate(pjsip_transport_type_e.PJSIP_TRANSPORT_TCP, transportConfig)); }
catch (Throwable t) { SipManager.log().e(t); }
替換爲自己的應用程序的SipManager.log()
電話。
我不完全確定爲什麼,但這對我是必要的。否則,註冊過程是半確定性的,意思是它會在失敗幾次後失敗,或者失敗5分鐘後突然成功等等。在第一次註冊後似乎會感到困惑。
這是我如何配置:
TARGET_ABI=arm64-v8a ./configure-android --use-ndk-cflags --with-ssl=`pwd`/../3rd-party/openssl-1.0.2a
這是繼proper Android instructions,exrtacting OpenSSL的包到一個文件夾上面PJSIP ../3rd-party/
和第一個建築之後出現。我在previous post中詳細描述了這個過程。
如果您只想開發sip客戶端,那麼您可以使用android的sip API,但正如上面提到的答案中所述,它會限制您的應用程序功能。 但是,如果您想在應用程序中開發聊天或通話功能,則可以使用提供許多豐富功能的pjsip。 至於建設android的pjsip,你可以從here(android)和ios學習,從here(ios)學習。 基本上,pjsip爲您提供了豐富的功能,您可以根據您的需求使用許多API,例如pjlib,pjsip,PJ media,pjsua等。pjsua(或android的pjsua2)是更高級別的API,可幫助您以最少的您可以直接看到here.,您可以從here瞭解pjsua。他們還提供了一個演示應用程序(pjsua CLI),Pjsua CLI及其來源,它將幫助您瞭解應用程序的基本結構,以使用具有聊天和調用功能的pjsip構建。
對於Android,您可以在github處看到演示應用程序。
- 1. 在pjsip上集成g729 for android
- 2. pjsip for Android
- 3. pjsip android unregister/register crash
- 4. PJSIP不記錄(Android)
- 5. PJSIP Library Build Error for Android
- 6. 與android一起使用pjsip
- 7. Android使用openssl構建PJSIP
- 8. PJSIP的Android眩暈超時
- 9. Android SIP與CSipSimple和pjsip
- 10. 如何編譯PJSIP for Android?
- 11. 如何在Android中導入pjsip庫
- 12. 錯誤在建設PJSIP Android中
- 13. pjsip不工作在android棒棒糖
- 14. 在爲Android配置pjsip時出錯
- 15. 如何在Android上使用pjsip發送dtmf?
- 16. 在android上運行pjsip示例pjsua時出錯我ndk
- 17. 在Mac上使用PJSIP回聲消除
- 18. PJSIP在多線程
- 19. 大廈PJSIP:在Ubuntu
- 20. PJSIP Openembedded
- 21. 在android pjsua2(pjsip)中的回聲問題android
- 22. PJSIP日誌CONFIGS不顯示的Android
- 23. faild爲android構建Libyuv庫(PJSIP)
- 24. 禁止呼叫連接Android Pjsip SIP庫
- 25. Android Pjsip會議應用程序
- 26. 啓用pjsip日誌配置android
- 27. 在Android上使用PJSIP 2.5.1啓用並配置OPUS編解碼器
- 28. pjsip - PJSIP_ESESSIONINSECURE - 錯誤
- 29. pjsip pj_timer_heap_schedule崩潰
- 30. PJSIP via Raspberry
是否有外用藥。可悲的是我不能使用本地SIP API。任何建議從哪裏開始? –