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

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

1. 申请开通云代理功能

向技术支持人员申请开通云代理功能,获取专属的云代理 IP 和端口信息。

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

2. 配置防火墙白名单
  1. 将媒体服务相关域名和端口加入防火墙白名单中:
服务类型域名/IP端口协议
媒体服务101.133.204.11580, 443TCP
媒体服务101.133.204.11580, 443, 50000, 50001UDP
媒体服务39.105.247.6180, 443TCP
媒体服务39.105.247.6180, 443, 50000, 50001UDP
媒体服务47.113.78.4880, 443TCP
媒体服务47.113.78.4880, 443, 50000, 50001UDP

获得专属的服务器配置后,对以上域名和端口进行替换。

  1. 如果接入了 RTC Native SDK,Electron SDK,或 Flutter SDK,将以下域名和端口加入防火墙白名单中:
服务类型域名/IP端口协议
Native SDK 接入及 LOG 服务221.194.131.195443TCP
Native SDK 接入及 LOG 服务221.194.131.196443TCP
Native SDK 接入及 LOG 服务110.249.199.40443TCP
Native SDK 接入及 LOG 服务110.249.199.41443TCP
  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
调用客户端接口

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

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

cloudProxyIpcloudProxyPort
221.194.131.195443
221.194.131.196443
110.249.199.40443
110.249.199.41443

对 Web SDK,传入配置如下:

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

接口成功调用后,客户端会收到 onCloudProxyConnected 回调。此时,再进行音视频回调或通话前网络质量检测。

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

相关接口和回调
AndroidiOSmacOSWindowsLinuxWeb
开启云代理startCloudProxystartCloudProxystartCloudProxystartCloudProxystartCloudProxystartCloudProxy