【问题标题】:How to tunnel voip traffic in blocked networks如何在阻塞的网络中隧道 voip 流量
【发布时间】:2014-06-27 09:30:36
【问题描述】:

我有一个 Android VOIP 应用程序。由于某些网络会阻止 VOIP 流量,因此我想找到一些绕过阻止的方法。我认为 VPN 可以做到这一点,但没有任何 VPN 解决方案可以轻松实现。使用 Android 提供的 VPN API,您几乎需要自己实现所有内容(例如,那里没有任何协议实现)。

那么还有其他方法可以实现我的需要吗?可能是 SSH 隧道或任何其他类型的隧道?

任何建议都会有所帮助,因为我不知道从哪里开始。

【问题讨论】:

    标签: sip vpn tunneling


    【解决方案1】:

    在过去几年中,许多国家/地区都实施了非常严格的 VoIP 拦截。例如,在伊朗,所有具有 VoIP 特征的流(大约 3-60 kbits,相同的上传和下载)现在都被阻止了。在其他国家,VoIP 并未完全被阻止,但质量有所降低(丢弃了一些数据包,改变了其他数据包的延迟)。这是因为通常拥有互联网网络的公司也拥有电信基础设施,从而试图让客户远离 VoIP。如今,随着各种深度数据包检测软件和设备的最新改进,传统的 VPN 很容易被过滤。加密通常是不够的,您还必须混淆 VoIP 流量。即便如此,VoIP 服务器也很容易被找到并降低了它们的流量。

    如果你需要克服所有这些,我可以推荐以下方法:

    • 将信令 (SIP) 与媒体 (RTP) 复用和/或为媒体使用多个流
    • 使用强加密
    • 使用不同的上游和下游
    • 在某些位置 UDP 被阻止,因此您必须通过 TCP 或 HTTP 实现 RTP
    • 使用某种分布式网络来避免 IP/域检测和阻塞

    我建议检查以下内容:

    我最近在同一主题上进行了一项研究。不幸的是,我发现只有商业解决方案可以解决这些问题。 Tor 看起来很有希望,但在我的测试之后,目前它不能用于高质量的 VoIP。如果更简单的解决方案可以满足您的需求,那么我仍然建议使用专门的 VoIP 软件,例如 SIPTunnel,而不是通用 VPN。

    【讨论】:

    • 迄今为止找到的最佳解释。从头开始任务列表。问候。
    【解决方案2】:

    解决此限制的一种简单方法是使用其他端口来传输 VoIP 数据;您的 ISP 很可能不会阻止所有端口。一些网站提供出站代理服务器,您可以使用它来传输您的 SIP 数据。只需在您的出站代理服务器字段中输入其中一个,(希望)这应该对您的情况有所帮助。

    如果一个端口不工作,请尝试其他端口,例如,您的 ISP 可能已阻止端口 53,但端口 1812 可能仍处于打开状态。要找出打开的端口,您可以在命令提示符下使用“netstat –a”命令。开放端口的状态应为“正在侦听”或“已建立”。

    【讨论】:

      【解决方案3】:

      您可以使用 Android SDK 中的 VpnService 对象将您的应用程序连接到现有的 VPN 服务提供商。连接后,所有网络流量都会通过 VPN;当用户挂断电话时,您可以断开VPN。您可以通过编程方式完成所有这些操作。这种方法的唯一问题是,在通话进行时,所有流量都通过 VPN。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-04-15
        • 2014-05-18
        • 2023-02-15
        • 2011-02-26
        • 2023-04-08
        • 2011-12-05
        • 1970-01-01
        相关资源
        最近更新 更多