在使用 RTC 进行音视频通话时,音视频流会通过 RTC 服务端中转;RTC 客户端和服务端之间也会进行信令交互。在防火墙限制下,音视频通话功能可能会受限。
参考本文,使用云代理功能,保障在有防火墙的情况下,进行顺畅的音视频通话。
- 因为 RTC 服务端 IP 地址是动态的,你无法通过将固定的一批 IP 地址加入防火墙白名单的方式绕过防火墙限制。你必须使用云代理的功能绕过防火墙限制。
- 此功能仅在 Native SDK 3.41+ 和 Web SDK 4.41+ 上可用。
注意
云代理的能力是将获得专属的云代理 IP 和端口加入到防火墙白名单中。但注意该功能具有唯一性的限制,如果代理的域名出现网络等异常时,当前无回退机制。
向技术支持人员申请开通云代理功能。
申请时,你需要提供以下信息:
申请完成后,你能够获取专属的云代理 IP 和端口信息。
将步骤一中获得的专属的云代理 IP 和端口加入防火墙白名单中,包括 TCP 协议和 UDP 协议的域名和端口。
如果接入了 RTC Native SDK,Electron SDK,或 Flutter SDK,你还需要将以下域名和端口加入防火墙白名单中:
服务类型 | 域名/IP | 端口 | 协议 |
---|---|---|---|
Native SDK 接入及 LOG 服务 | 122.14.236.65 | 443 | TCP |
Native SDK 接入及 LOG 服务 | 122.14.236.66 | 443 | TCP |
Native SDK 接入及 LOG 服务 | 220.243.190.114 | 443 | TCP |
Native SDK 接入及 LOG 服务 | 220.243.190.115 | 443 | TCP |
服务类型 | 域名/IP | 端口 | 协议 |
---|---|---|---|
Web SDK 接入及 LOG 服务 | rtc-access-src.zijieapi.com | 443 | TCP |
Web SDK 接入及 LOG 服务 | rtc-src.zijieapi.com | 443 | TCP |
Web SDK 接入及 LOG 服务 | rtc-log-report-src.zijieapi.com | 443 | TCP |
服务类型 | 域名/IP | 端口 | 协议 |
---|---|---|---|
Web SDK 基础美颜和虚拟背景功能 | webar.volccdn.com | 443 | TCP |
Web SDK 虚拟背景功能鉴权 | webar.volces.com | 443 | TCP |
对于处于防火墙限制下的客户端,调用 startCloudProxy
接口,开启云代理功能。
对于 Native SDK,传入参数应为:
cloudProxyIp | cloudProxyPort |
---|---|
122.14.236.65 | 443 |
122.14.236.66 | 443 |
220.243.190.114 | 443 |
220.243.190.115 | 443 |
对 Web SDK,传入配置如下:
{ "logProxy": "rtc-log-report-src.zijieapi.com", "accessProxy": "rtc-access-src.zijieapi.com", "configProxy": "rtc-src.zijieapi.com" }
接口成功调用后,客户端会收到 onCloudProxyConnected
回调。此时,通过音视频回调或通话前网络质量检测确认已能够绕过防火墙限制,正常获取音视频服务。
注意:使用云代理功能并不会阻断客户端和不使用云代理功能的客户端进行通信。
Android | iOS | macOS | Windows | Linux | Web | |
---|---|---|---|---|---|---|
开启云代理 | startCloudProxy | startCloudProxy | startCloudProxy | startCloudProxy | startCloudProxy | startCloudProxy |