【问题标题】:Direct SIP call to IP直接 SIP 呼叫到 IP
【发布时间】:2011-08-26 20:29:52
【问题描述】:

我正在为我的最终项目编写一个应该具有 VoIP 功能的应用程序。我已经开始使用 android 2.3 包含的新 SIP API 进行测试。问题是我实际上住在学生宿舍,所以我通过大楼的代理连接到互联网,它似乎有严格的防火墙,不让任何东西通过。

我尝试了几个免费的 SIP 服务器和客户端,结果总是一样:从我的 UAC 可以看到其他客户端是否在线,我什至可以发送短信,但无法建立实际通话。我从来没有从客户那里得到任何回应。使用 Linphone 客户端我什至无法连接到 SIP 服务器进行身份验证。

问题是,我似乎无法在我的建筑物外拨打电话,但我已经从安装在模拟器上的另一个 Linphone 客户端成功联系了安装在我电脑上的 Linphone 客户端。显然,我可以在没有任何 SIP 服务器的情况下在本地网络内拨打电话,只需使用接收方的本地地址而不是其 SIP 域。

问题是:我可以对新的 android 2.3 SIP API 做同样的事情吗?我可以在我的本地网络内拨打电话,只需拨打接收方的本地地址,而无需通过我建筑物外的任何 SIP 服务器进行身份验证吗?

由于我的应用程序是用于演示目的,这对我来说就足够了。在过去的三天里,我一直在寻找这个问题的解决方案,但我没有想出任何有用的东西。 :/

提前致谢。

【问题讨论】:

    标签: android ip call sip


    【解决方案1】:

    我看不出有任何理由说明它在 Android 2.3 中是不可能的。点对点调用可以与其他客户端本地地址和端口。

    您也可以在您的 PC 上安装 SIP 服务器Brekeke server。并且您可以使用完整的 sip URI 进行呼叫。

    【讨论】:

      【解决方案2】:

      因为音频和视频数据是通过与 sip 端口号不同的端口号发送的。 sip 端口是 tcp,您可以在互联网上登录您的 sip 服务器。但是媒体端口是udp,你在nat后面,你不能打电话。为此,防火墙需要了解 sip 消息,然后它应该为 udp 媒体打开端口。您还需要 stun 服务器来获取 nat 遍历消息。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-12-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多