为允许用户在有网络访问限制的环境中使用 Agora RTC SDK,Agora 提供云代理服务。用户只需在防火墙上将特定的 IP 地址和端口加入白名单,并调用 API 配置 Agora 云代理服务。
下载 Agora RTC SDK。
参考《快速开始》文档完成开发环境准备。
联系 sales@agora.io,提供以下信息申请开通云代理服务。
请根据你使用的 SDK 版本,参考对应的表格,并将表格中 IP 地址及端口全部添加到防火墙白名单。
使用 UDP 协议的云代理时,需添加如下白名单:
协议 | 目标 IP 地址 | 端口 | 备注 |
---|---|---|---|
UDP | 140.210.77.68(中国大陆) | 8443 | 用于信令代理 |
UDP | 125.88.159.163(中国大陆) | 8443 | 用于信令代理 |
UDP | 128.1.87.146(亚洲区域,中国大陆除外) | 8443 | 用于信令代理 |
UDP | 128.1.77.34(欧洲) | 8443 | 用于信令代理 |
UDP | 128.1.78.146(欧洲) | 8443 | 用于信令代理 |
UDP | 69.28.51.142(北美) | 8443 | 用于信令代理 |
UDP | 107.155.14.132(北美) | 8443 | 用于信令代理 |
UDP | 106.3.140.194(中国大陆) | 8001 - 8005, 4590 - 4600 | 用于媒体流代理(仅供测试) |
UDP | 106.3.140.195(中国大陆) | 8001 - 8005, 4590 - 4600 | 用于媒体流代理(仅供测试) |
UDP | 164.52.53.77(亚洲区域,中国大陆除外) | 8001 - 8005, 4590 - 4600 | 用于媒体流代理(仅供测试) |
UDP | 164.52.53.78(亚洲区域,中国大陆除外) | 8001 - 8005, 4590 - 4600 | 用于媒体流代理(仅供测试) |
UDP | 128.1.78.94(欧洲) | 8001 - 8005, 4590 - 4600 | 用于媒体流代理(仅供测试) |
UDP | 148.153.53.105(北美) | 8001 - 8005, 4590 - 4600 | 用于媒体流代理(仅供测试) |
UDP | 148.153.53.106(北美) | 8001 - 8005, 4590 - 4600 | 用于媒体流代理(仅供测试) |
协议 | 目标 IP 地址 | 端口 | 备注 |
---|---|---|---|
TCP | 47.74.211.17 | 1080, 8000, 25000, 9700 | 用于信令代理 |
TCP | 52.80.192.229 | 1080, 8000, 25000, 9700 | 用于信令代理 |
TCP | 52.52.84.170 | 1080, 8000, 25000, 9700 | 用于信令代理 |
TCP | 47.96.234.219 | 1080, 8000, 25000, 9700 | 用于信令代理 |
UDP | 47.74.211.17 | 1080, 8000, 25000, 9700 | 用于信令代理 |
UDP | 52.80.192.229 | 1080, 8000, 25000, 9700 | 用于信令代理 |
UDP | 52.52.84.170 | 1080, 8000, 25000, 9700 | 用于信令代理 |
UDP | 47.96.234.219 | 1080, 8000, 25000, 9700 | 用于信令代理 |
TCP | 120.92.118.34 | 4000 | 用于媒体流代理(仅供测试) |
TCP | 120.92.18.162 | 4000 | 用于媒体流代理(仅供测试) |
UDP | 120.92.118.34 | 4500 - 4650 | 用于媒体流代理(仅供测试) |
UDP | 120.92.18.162 | 4500 - 4650 | 用于媒体流代理(仅供测试) |
对于 v3.3.0 或之后的 SDK,你可以调用 setCloudProxy
方法开启云代理。
添加白名单后,调用 setCloudProxy
,并将 proxyType
设为 UDP_PROXY(1)
。
测试是否能正常实现音视频通话或直播。
如需关闭云代理服务,调用 setCloudProxy
,并将 proxyType
设为 NONE_PROXY
。
对于 v3.2.1 或之前的 SDK,你可以调用 setParameters
私有参数开启云代理。
添加白名单后,请参考如下示例代码开启云代理:
// 开启云代理服务,并通过默认方式配置云代理服务。
setParameters("{\"rtc.enable_proxy\":true}");
如需关闭云代理服务,调用 setParameters("{\"rtc.enable_proxy\":false}");
。
setCloudProxy
方法需要在使用云代理服务之前调用。例如你需要使用云代理才能加入频道,则需要在 joinChannel
之前调用;如果你需要使用云代理才能进行通话前网络探测,则需要在 startLastmileProbeTest
之前调用。setCloudProxy
方法在 RtcEngine 生命周期内有效。