我正试图建立一个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。任何建议从哪里开始? –