我有一个非常普遍的问题,关于如何为我们当前的移动应用程序执行VoIP & Web App。 (我们有一个Android + iOS应用程序和一个基于AngularJS/NodeJS的Web应用程序)。在应用程序和网络中的VoIP集成
我们要实现
在我们要实现应用间的语音和视频通话的第一步是什么。稍后,我们可能会扩展到正常电话网络的出站呼叫。但是这篇文章主要是关于如何实现我们的第一步的信息。
总体思路
我们有一些经验与Asterisk这竟然是远非易事了。所以对于这个项目,我们想在实际执行任何事情之前得到一些反馈。技术
起初
思考,我想这可能是使用的WebRTC一个好主意,但因为它仅支持Chrome,FF和Opera的时刻,几乎是不支持原生我们认为WebRTC现在可能已经不适用了。 (或者你认为不然?) 在网上搜索了一下之后,我们发现了更多:http://www.webrtc.org/native-code
有没有人对此库有过使用经验?在我们看来,这可能是一个现代化的VoIP解决方案的最佳解决方案(同时也可以让我们跳过星号服务器)
第二个想法是建立一个星号服务器占为己有。每次用户登录到应用程序时,我们都会将他作为SIP客户端连接到星号。如果一个用户呼叫另一个用户,我们认为我们应该能够使用节点包Asterisk Manager API(https://github.com/pipobscure/NodeJS-AsteriskManager)进行呼叫。
第三个想法是使用SIP提供商,但目前我不确定这是否是最好的主意。
由于我们不是VoIP专家,是否有任何其他可能的VoIP集成到我们的应用程序?
对这个问题的任何想法将不胜感激!谢谢!
感谢您的详细解答!请告诉我,如果我在你的答案中理解了错误,但在我看来,你的大部分帖子都是关于正常电话网络的外拨电话,对吧? 我们在过去几天做了大量的研究,现在看来我们认为WebRTC的interp通信解决方案对我们来说已经足够了(可能用STUN/TURN服务器,说实话我们还没有足够的知识,因为我们只是在头脑风暴阶段)。 只有当我们想在我们自己的网络之外打电话时,才需要Sip提供商,对吧? – Markus 2015-03-07 11:22:43
不,我的答案根本不是PSTN电话。 SIP,WebRTC,XMPP或其他的选择仍然是次要的。如何管理RTP流(SIP,WebRTC和XMPP都用于音频和视频)是主要关心的问题。如果通过“您自己的网络之外”,则意味着您可以将所有呼叫保留在单个专用网络中,每个设备都可以直接访问每个其他设备,从而使处理RTP变得更容易。 – sipwiz 2015-03-07 12:02:39