【问题标题】:Browser to browser VoIP calling using SIP? [closed]使用 SIP 的浏览器到浏览器 VoIP 呼叫? [关闭]
【发布时间】:2011-09-28 06:05:54
【问题描述】:

我正在尝试从one browser to another browser 拨打电话。

我做了什么:

  1. 我设置我的asterisk server 就像getonsip.com
  2. 我使用pjsua python binding 写了一个client,它充当server

情况如下:

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

  2. 我无法通过另一台机器的浏览器执行相同操作。

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

  4. 执行此操作是否需要流式传输和闪存?

【问题讨论】:

  • 你是说你写的软件能打电话但不能接电话吗?将您的客户端代码的相关部分发布在您侦听来电的位置,我们可能会提供帮助。
  • 这里是情景:我在本地机器上运行了 pjsua。我编写了一个 Web 客户端,当我点击特定的 url 时,它可以调用我的 android sip 客户端。现在我在我的机器上打开另一个浏览器,并用“foo”帐户注册了自己。现在“bar”已经在另一个浏览器上注册了。我可以从“foo”和“bar”调用android sip,但不能从“bar”调用到“foo”或从“foo”调用到“bar”我正在更新我的问题。

标签: python browser sip phone-call pjsip


【解决方案1】:

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

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

【讨论】:

  • 这不是我的链接,但不管它是否对我有用。它只是一个包含一些协议信息的网站,所以如果它不适合你,只需谷歌一下。
  • 但是为什么我的浏览器需要关注端口 5060,因为我的浏览器将与我的 pjsua 服务器(用于 sip 的客户端)通信,而 pjsua 服务器将通过端口 5060 与 sip 通信
  • 您只能使用插件从浏览器连接到端口 5060。因此,是的,您可以使用 Java 或类似工具编写浏览器到浏览器的软件电话,但您实际上会绕过浏览器,所以为什么不首先跳过浏览器。
【解决方案2】:

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

更多详情请参阅本教程http://www.html5rocks.com/en/tutorials/webrtc/basics/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-08
    • 1970-01-01
    • 2014-10-20
    • 2020-12-16
    • 1970-01-01
    • 2013-08-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多