浏览器之间的SIP语音通话?

3 投票
2 回答
3083 浏览
提问于 2025-04-17 03:14

我正在尝试在 一个浏览器和另一个浏览器之间 进行通话。

我做了什么:

  1. 我设置了我的 asterisk 服务器,就像 getonsip.com 一样。
  2. 我使用 pjsua python 绑定 编写了一个 客户端,它充当 服务器

现在的情况是:

  1. 我可以从我的浏览器(我的浏览器和运行 pjsua 客户端的机器是同一台)拨打电话到我的安卓手机上的 sip 客户端。

  2. 但是我无法从另一台机器上的浏览器拨打电话。

  3. 我该怎么做才能实现浏览器之间的通话呢?

  4. 进行这种通话是否需要流媒体和 Flash?

2 个回答

0

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

想了解更多细节,可以查看这个教程 http://www.html5rocks.com/en/tutorials/webrtc/basics/

3

你不能直接在浏览器之间用SIP进行通话,至少不可能不借助很多插件的帮助。首先,SIP默认使用UDP的5060端口,而浏览器的沙箱环境不允许你在这个端口上进行通信,所以你需要一个插件(比如Flash、Silverlight或者Java Applet等)。一旦你解决了SIP的问题,并处理了网络地址转换(NAT)带来的麻烦,你还得想办法让浏览器处理RTP媒体流。这又需要更多的插件。

其实,有一个即将推出的标准正好解决了你想要的功能,具体可以查看RTC-WEB。在你等待这个标准的时候,你可以试试phono,这是Tropo提供的一个JavaScript/Flash组件,支持基于浏览器的通话,但需要注意的是,通话会经过Tropo的SIP服务器。

撰写回答