浏览器到浏览器的SIP VoIP呼叫



我正在尝试从one browser to another browser呼叫。

我做了什么:

  1. 我设置我的asterisk serve r就像getonsip.com
  2. 我写了一个client使用pjsua python binding作为server

情况如下:

  1. 我可以从我的浏览器(我的浏览器在pjsua客户端运行的同一台机器上)调用到我的android手机上的sip客户端。

  2. 我无法从另一台机器的浏览器做同样的事情。

  3. 我该怎么做才能使浏览器之间的调用发生?

  4. 做这个需要流和flash吗?

您将无法使用SIP进行浏览器到浏览器的调用,至少在没有大量插件魔术的情况下是这样。第一个问题是,默认情况下SIP使用UDP端口5060,浏览器沙箱不会让你在该端口上通信,所以你需要一个插件(Flash, Silverlight, Java Applet等)。一旦您克服了SIP方面的问题,并且解决了NAT方面的问题,那么您就需要弄清楚如何让浏览器处理RTP媒体流。这将意味着更多的插件。

实际上有一个即将到来的标准可以处理您所需要的内容,请参阅RTC-WEB。当你在等待的时候,你可以尝试使用phono,它是Tropo的一个javascript/flash组件,支持基于浏览器的调用,但需要注意的是调用将遍历Tropo的SIP服务器。

这是可能的现在,因为WebRTC最终成为标准,并且已经在浏览器和SIP服务器中实现了

  • Asterisk 11正式支持WebRTC
  • Google Chrome自版本23起已内置WebRTC支持

查看本教程获取更多详细信息http://www.html5rocks.com/en/tutorials/webrtc/basics/