You need to enable JavaScript to run this app.
导航
在防火墙限制下进行通话
最近更新时间:2025.03.03 17:06:19首次发布时间:2022.10.08 12:00:35
我的收藏
有用
有用
无用
无用

在使用 RTC 进行音视频通话时,音视频流会通过 RTC 服务端中转,客户端和服务端之间也会进行信令交互。在防火墙限制下,音视频通话功能可能会受限。你可以参考本文,使用云代理功能来实现在有防火墙的情况下,进行顺畅的音视频通话。

由于 RTC 服务端 IP 地址是动态的,因此无法通过将固定的一批 IP 地址加入防火墙白名单的方式绕过防火墙限制。

注意事项

  • 云代理功能限制:
    • 云代理的能力是将获得专属的云代理 IP 和端口加入到防火墙白名单中。但该功能具有唯一性的限制,如果代理的域名出现网络等异常时,当前无回退机制。
    • 仅支持在以下 SDK 版本使用:Native SDK 3.41 及以上版本、Web SDK 4.46 及以上版本。
  • 客户端使用云代理功能后,仍然可以与未启用云代理功能的客户端正常通信,不会互相阻断。

操作步骤

步骤 1:申请开通云代理

向技术支持人员申请开通云代理功能。申请时,需要提供以下信息:

  • AppID
  • 应用分布地域和各个地域流量分布情况
  • 最大并发流数。你可以参考以下例子计算流数:
    • 10 个 1v1 通话,是 10 × 2 = 20 条流
    • 10 个 4 人会议,是 10 × 4 × 3 = 120 条流
    • 10 个单主播千人直播,是 10 × 1000 = 10000 条流
    • 10 个双主播千人直播,是 10 × 2 × 1000 = 20000 条流
  • 网络运营商等信息

申请完成后,你将获得专属的云代理IP和端口信息。

步骤 2:配置防火墙白名单

  1. 将步骤 1 中获得的专属的云代理 IP 和端口加入防火墙白名单中,包括 TCP 协议和 UDP 协议的域名和端口。

  2. 根据实际接入情况,添加其他防火墙白名单:

    • 如果接入了 RTC Native SDK、Electron SDK、或 Flutter SDK,你还需要将以下域名和端口加入防火墙白名单中:

      服务类型IP端口协议
      Native SDK 客户端接入、配置下发、日志上报122.14.236.65443TCP
      122.14.236.66443TCP
      220.243.190.114443TCP
      220.243.190.115443TCP
    • 如果接入了 RTC Web SDK,你还需要将以下域名和端口加入防火墙白名单中:

      服务类型域名端口协议
      埋点日志上报的的代理(logProxyrtc-log-report-src.zijieapi.com443TCP
      Web SDK 客户端接入(accessProxyrtc-access-src.zijieapi.com
      rtc-access-src-hl.zijieapi.com
      443TCP
      RTC 配置下发代理(configProxyrtc-src.zijieapi.com443TCP
    • 如果使用 Web SDK 通过插件实现了基础美颜或虚拟背景功能,你还需要将以下域名和端口加入防火墙白名单中:

      服务类型域名端口协议
      Web SDK 基础美颜和虚拟背景功能webar.volccdn.com443TCP
      Web SDK 虚拟背景功能鉴权webar.volces.com443TCP

步骤 3:调用客户端接口

对于处于防火墙限制下的客户端,调用 startCloudProxy 接口,开启云代理功能。

  • 对于 Native SDK,传入参数应为:

    cloudProxyIpcloudProxyPort
    122.14.236.65443
    122.14.236.66443
    220.243.190.114443
    220.243.190.115443
  • 对 Web SDK,传入配置如下:

    {
        "logProxy": "rtc-log-report-src.zijieapi.com",
        "accessProxy": ["rtc-access-src.zijieapi.com", "rtc-access-src-hl.zijieapi.com"],
        "configProxy": "rtc-src.zijieapi.com"
    }
    

接口成功调用后,客户端会收到 onCloudProxyConnected 回调。此时,通过音视频回调或通话前网络质量检测确认已能够绕过防火墙限制,正常获取音视频服务。

相关 API

功能AndroidiOSmacOSWindowsLinuxWeb
开启云代理startCloudProxystartCloudProxy:startCloudProxy:startCloudProxystartCloudProxystartCloudProxy
关闭云代理stopCloudProxystopCloudProxystopCloudProxystopCloudProxystopCloudProxystopCloudProxy
云代理回调onCloudProxyConnectedrtcEngine:onCloudProxyConnected:rtcEngine:onCloudProxyConnected:onCloudProxyConnectedonCloudProxyConnectedonCloudProxyConnected