什么样的家伙!哈文在一段时间内就SO问了一个问题,我觉得有点脱节,哈哈。无论如何,我最近使用VOIP和WebRTC
在网上发现了精彩的语音通话世界我正在为我的想法做一些R& D,我基本上会喜欢以下问题的答案,在这方面有广泛知识和/或从事过使用的应用程序的人这个功能多年来。我会尽量保持简单
1)VOIP和WebRTC之间的主要区别是什么?
2)哪种更适合移动应用?
3)是否有可能实现一个小组或#34;会议"喜欢超过2人进行音频通话的会话?
4)我还发现Android内置了SIP或Session Initiation Protocols的API,但我读过有关其实用性的相互矛盾的博客。即对许多现代编解码器等缺乏支持。我对此也不太熟悉,所以任何澄清或洞察都会有所帮助!
5)使用这类东西的最佳或最受欢迎的图书馆是什么?
同样,这个东西全新,但发现它非常令人兴奋。非常感谢在该领域有经验的人提供的任何帮助。谢谢!
答案 0 :(得分:0)
VOIP正在发送互联网语音协议(IP)。 有像WebRTC等不同的技术。(HTTP只是基于文本的,所以对于语音和视频,我们必须寻找其他一些实时传输协议。对吗?其他部分是你想从Internet连接到PSTN(公共交换电话网))。
Android内置了SIP的API,但并不支持许多编解码器。因此,解决方案是在您的应用中使用其他第三方API,即Jain SIP等,或者构建您自己的API。
这是一些描述从SIP到PSTN的呼叫流程的文档。 ref doc link你必须熟悉SIP服务器,即Asterisk等。
答案 1 :(得分:0)
1)VOIP和WebRTC之间的主要区别是什么?
WebRTC是一种为VoIP传输媒体的方式,通常用于现代浏览器,但也适用于应用程序。传统上,对于VoIP,我们使用H.323或SIP作为信令协议,使用RTP作为媒体。 WebRTC没有指定信令(通常在websocket中使用SIP,但您也可以使用其他方法,例如HTTP AJAX请求)。 WebRTC是关于对等媒体路由的。浏览器中的黑盒子提供了一个简单的JavaScript API,可以轻松地与SIP集成。我在这里讨论的是浏览器,因为WebRTC主要是为浏览器设计的,它具有内置的方法来进行VoIP调用,而无需任何插件,如Java或Flash。 WebRTC的传输协议是DTLS中的SRTP。
2)哪种更适合移动应用?
这取决于你的目标。如果您希望定期拨打电话(例如通过SIP拨打移动电话/固定电话),那么软电话就更好了,因为它具有完全控制权。但是,如果您已经拥有WebRTC服务器并且大多数呼叫是对等的(用户与同一服务器内的用户),那么WebRTC可能会更好。总体而言,SIP软电话现在是更优质的应用程序,并且有一些高质量的免费软电话应用程序,例如MizuDroid或CSipSimple
3)是否有可能实现一个群组或“会议”,如会话中有超过2人正在进行音频通话?
这可以通过SIP和WebRTC实现(如果你有软交换机,那么会议也可以在服务器端处理,而不需要客户端应用支持)
4)我还发现Android内置了SIP的API
忘了它。这是一个低质量的实现,存在许多问题,缺少重要的编解码器,如G.729。我建议从一个开源的SIP堆栈开始,或者从专门的公司获得品牌的软电话,例如mizutech customized softhone。
5)什么是最好或最受欢迎的工作库 有这种东西吗?
如果您希望自己动手,我可以推荐CSipSimple和SIPDroid