Asterisk + Node.js +浏览器流媒体

Jon*_*han 7 streaming voip asterisk node.js

我想构建一个允许用户通过浏览器实时收听呼叫的服务.

我对Asterisk有一些经验,这似乎足够灵活,可以完成我所描述的内容.

Node.js听起来不错,因为它声称可以很好地处理并发性,而且我喜欢JavaScript.

在浏览器中,我认为HTML5音频标签,因为它处理来自流媒体源的播放,可以很好地播放声音.

我的一位同事使用Icecast一起制作了这个概念的演示,但是无法完成它.还存在显着的延迟问题.

我的问题是:

我应该如何开始这个?

任何帮助表示赞赏!

更新:

我发现了一个演示文稿,讨论通过后端的SIP代理在WebSockets上实现SIP:

http://sip-on-the-web.aliax.net/

一旦我启动并运行,下一步就是实现流式传输.似乎我应该能够代理通常通过辅助服务器将其流式传输到浏览器的sip客户端的音频输出.我想知道为什么这不能在记忆中完成?然后,随着调用的进行,无需写入和读取文件.

Mat*_*dan 8

如果您愿意等待Asterisk 11,我们目前正在努力直接在Asterisk中实现对WebSockets的支持.更多相关信息:

Asterisk 11 WebRTC/RTCWeb支持

我会在这里引用凯文,因为他总结得更好,然后我可以:

"今天,正在进行的开发分支机构支持WebSocket传输协议(用于在浏览器和Asterisk之间传递信令消息),SIP over WebSocket(目前由IETF标准化)和ICE/STUN/TURN(媒体处理机制)对于NAT遍历和连接设置安全性.此外,还有一个新的Jingle/Google Talk/Google Voice通道驱动程序,我们也计划通过WebSocket支持Jingle.此时,我们还没有一个完整的解决方案(一个新的Canary版本的谷歌Chrome浏览器需要进行一些小改动),但每个部分都已经过测试,我们很想看到它们一起工作.我们要感谢来自SIP的Iñaki和José -on-the-Web项目,为我们提供在测试期间使用的JavaScript SIP堆栈,我们可能正在测试PhonoSDK以及Jingle支持."