You need to enable JavaScript to run this app.
导航

在防火墙限制下进行通话

最近更新时间2023.08.28 12:05:34

首次发布时间2022.10.08 12:00:35

在使用 RTC 进行音视频通话时,音视频流会通过 RTC 服务端中转;RTC 客户端和服务端之间也会进行信令交互。在防火墙限制下,音视频通话功能可能会受限。

参考本文,使用云代理功能,保障在有防火墙的情况下,进行顺畅的音视频通话。

  • 因为 RTC 服务端 IP 地址是动态的,你无法通过将固定的一批 IP 地址加入防火墙白名单的方式绕过防火墙限制。你必须使用云代理的功能绕过防火墙限制。
  • 此功能仅在 Native SDK 3.41+ 和 Web SDK 4.41+ 上可用。

步骤一:申请开通云代理功能

向技术支持人员申请开通云代理功能。

申请时,你需要提供以下信息:

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

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

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

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

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

服务类型域名/IP端口协议
Native SDK 接入及 LOG 服务122.14.236.65443TCP
Native SDK 接入及 LOG 服务122.14.236.66443TCP
Native SDK 接入及 LOG 服务220.243.190.114443TCP
Native SDK 接入及 LOG 服务220.243.190.115443TCP
  1. 如果接入了 RTC Web SDK,你还需要将以下域名和端口加入防火墙白名单中:
服务类型域名/IP端口协议
Web SDK 接入及 LOG 服务rtc-access-src.zijieapi.com443TCP
Web SDK 接入及 LOG 服务rtc-src.zijieapi.com443TCP
Web SDK 接入及 LOG 服务rtc-log-report-src.zijieapi.com443TCP
  1. 如果使用 Web SDK 通过插件实现了基础美颜或虚拟背景功能,你还需要将以下域名和端口加入防火墙白名单中:
服务类型域名/IP端口协议
Web SDK 基础美颜和虚拟背景功能webar.volccdn.com443TCP
Web SDK 虚拟背景功能鉴权webar.volces.com443TCP

步骤三:调用客户端接口

对于处于防火墙限制下的客户端,调用 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",
    "configProxy": "rtc-src.zijieapi.com"
}

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

注意:使用云代理功能并不会阻断客户端和不使用云代理功能的客户端进行通信。

相关接口和回调

AndroidiOSmacOSWindowsLinuxWeb
开启云代理startCloudProxystartCloudProxystartCloudProxystartCloudProxystartCloudProxystartCloudProxy