音视频代理

新增Web端音视频通话的企业代理方案和iOS/AOS/PC/Web的互动白板代理方案。 网易云信已经能够提供IM+音视频+互动白板在多个终端的全套企业代理服务方案,实现企业服务/医疗问诊/金融面签等场景下的企业内外网互通。

web sdk代理

视频sdk需要代理部署时,可以配置相关域名重新路由以连接到服务器:

const isNeedProxy = true

if (isNeedProxy) {

  //1、 设置im sdk需要的相关域名  

  // im sdk需要配置的域名
  const imServerUrl = 'abc.test.com' //用户自己的代理域名url
  const imUploadUrl = 'abc.test.com' //用户自己的代理域名url
  const imDownloadUrl = 'abc.test.com' //用户自己的代理域名url

  //初始化 im sdk时设置进去
  var nim = NIM.getInstance({
    debug: true,
    promise: true,
    // 代理部署方案所需的配置项内容,不使用代理时,省略
    socketUrl: imServerUrl || null,
    appKey: currentData.appkey,
    token: currentData.token,
    account: currentData.caller,
    syncTeamMembers: false,
    // 代理部署方案所需的配置项内容,不使用代理时,省略
    privateConf: {
      nos_uploader_web: imUploadUrl || null,
      nos_accelerate: imDownloadUrl || null,
      nos_accelerate_host: imDownloadUrl || null,
      //其他的域名统一使用imServer
      nos_downloader: imServerUrl || null,
      lbs_web: imServerUrl || null,
      link_ssl_web: imServerUrl || null,
      nt_server: imServerUrl || null
    },
    onconnect: function() {
      console.log("im连接认证成功....");
    },
    onsyncdone: function(msg) {
      console.warn("同步完成");
    },
    onmsg: function(msg) {
      console.log("收到 IM 消息: ", msg);
    },
    ondisconnect: function(error) {
      console.error("IM断开连接:", error);
    },
    oncustomsysmsg: function(msg) {
      console.log("收到------自定义通知:", msg);
    }
  });





  //2、 设置音视频 sdk需要的相关域名 

  // 音视频 sdk需要配置的域名
  const gatewayServerUrl = 'wss://webrtc.netease.im' //媒体网关地址,webrtc.netease.im为代理域名
  const turnServerUrl = 'xxx.xxx.xxx.xxx:3478' //媒体中转服务器的地址

  //使用音视频sdk的接口设置进去
  netcall.setIsPrivateDeployment(true)
  netcall.setPrivateDeploymentConf({
    wssServer: gatewayServerUrl,
    turnServer: turnServerUrl
  })


  //3、 取消音视频的代理
  //使用音视频sdk的接口设置进去
  netcall.setIsPrivateDeployment(false)
  netcall.setPrivateDeploymentConf(null)
}