使用云代理

更新时间: 2024/03/15 17:26:13

网易云信云代理可穿透防火墙限制,使用固定 IP 连接到网易云信服务器。

云代理方案可满足多种在公有云、混合云、私有云等有防火墙或者其他网络限制的环境下,内外网进行音视频通话的场景。您仅需将少量的 IP 地址加端口加入到防火墙白名单中,然后调用相关 API 接口进行配置,即可使用云代理方案,实现内网访问网易云信服务器。

部署方式

网易云信云代理方案支持公有云与私有部署两种部署方式,用户根据自身场景可选择对应部署方式。

  • 公有云方式部署在云信公有云服务器上,可以降低用户 IT 岗位运维工作的维护成本,只需要配置云代理服务器白名单,不再需要根据云信服务器的增加而多次配置。

    如需公有云方式部署,请联系商务经理申请试用,并获取指定版本的 NERTC SDK。

    仅 V4.6.0 及之后版本的 NERTC SDK 支持此功能,请根据需要前往网易云信 SDK 下载中心获取最新版本的 SDK。

  • 私有部署适用于混合云的场景,将代理部署在用户服务器上,一般情况下在隔离区(DMZ 区)进行部署,实现内外网媒体的代理传输。

    如需私有部署,请联系商务经理沟通业务需求与部署方案。

功能架构

  1. NERTC SDK 向云代理 Proxy 发起代理请求,云代理 Proxy 返回相关的代理信息用于终端配置。
  2. NERTC SDK 使用代理信息向云代理 Proxy 发送数据,云代理 Proxy 接收数据并进行处理提供给云信的业务服务器与网易云信 WE-CAN(Communications Acceleration Network)。
  3. WE-CAN 向云代理 Proxy 返回数据。
  4. 云代理 Proxy 接收数据处理后并将数据传给 NERTC SDK。

注意事项

  • 使用云代理功能前,请参考《快速入门》完成开发环境准备。
  • 若您的网络隔离策略限制了加入房间等操作,请在加入房间前,先调用 setCloudProxy 方法开启云代理服务。
  • setCloudProxy 方法在引擎生命周期内有效。销毁引擎之后,如果重启引擎,需要重新调用 setCloudProxy

使用云代理

  1. 添加白名单

    请将下表中的 IP 地址及端口添加到防火墙白名单中。

    以下服务器 IP 地址和端口仅供测试使用,测试完成后,网易云信会为您部署云代理服务正式环境。请在应用正式上线前向网易云信申请正式的 IP 地址和端口,您需要其添加到企业防火墙的白名单。

    区域 IP 端口

    上海

    81.69.152.207

    • UDP:3478/7070
    • TCP:443

    北京

    211.159.144.126

    • UDP:3478/7070
    • TCP:443

    广州

    1.14.217.204

    • UDP:3478/7070
    • TCP:443

    成都

    139.155.65.90

    • UDP:3478/7070
    • TCP:443
  2. 调用 SDK API。

    1. 调用 setCloudProxy 接口,开通云代理设置。

      成功连接云代理后,SDK 会触发 onConnectionStateChanged(CONNECTION_STATE_CONNECTING, CONNECTION_CHANGED_SETTING_PROXY_SERVER) 回调。

    若您需要关闭云代理,请在加入房间前再次调用此接口,并将 proxyType 参数设置为 TRANSPORT_TYPE_NONE_PROXY(0),否则房间内的此项操作只在下次加入房间时生效。

    1. 调用 joinChannel 接口加入房间,此时 SDK 会使用云代理地址进行加房间操作。

    加入房间时 uid 不可为 0,否则 SDK 会报错 414,表示云代理不生效。

    示例代码:

    //第一步设置开启云代理
    NERtcEx.getInstance().setCloudProxy(NERtcConstants.TransportType.TRANSPORT_TYPE_UDP_PROXY);
    //第二步加入房间
    NERtcEx.getInstance().joinChannel(token, channelName, uid);
    //关闭云代理
    NERtcEx.getInstance().setCloudProxy(NERtcConstants.TransportType.TRANSPORT_TYPE_NONE_PROXY);
    
此文档是否对你有帮助?
有帮助
去反馈
  • 部署方式
  • 功能架构
  • 注意事项
  • 使用云代理