我正在尝试从one browser to another browser
呼叫。
我做了什么:
- 我设置我的
asterisk serve
r就像getonsip.com
- 我写了一个
client
使用pjsua python binding
作为server
情况如下:
-
我可以从我的浏览器(我的浏览器在pjsua客户端运行的同一台机器上)调用到我的android手机上的sip客户端。
-
我无法从另一台机器的浏览器做同样的事情。
-
我该怎么做才能使浏览器之间的调用发生?
-
做这个需要流和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/