SkypeSDK 视频和音频问题 - 找不到 mediaRelayAccessToken

SkypeSDK Video and audio issue - mediaRelayAccessToken not found

我在向对话添加音频或视频服务时遇到问题。 聊天服务对我来说很好用。 当我添加视频或音频服务时出现以下错误:

Error: GET /ucwa/oauth/v1/applications/113925534802/communication/mediaRelayAccessToken failed: 404
{
  [functions]: ,
  __proto__: { },
  code: "RequestFailed",
  description: "GET /ucwa/oauth/v1/applications/113925534802/communication/mediaRelayAccessToken failed: 404",
  message: "GET /ucwa/oauth/v1/applications/113925534802/communication/mediaRelayAccessToken failed: 404",
  name: "Error",
  req: { },
  rsp: { },
  stack: "Error: GET /ucwa/oauth/v1/applications/113925534802/communication/mediaRelayAccessToken failed: 404
at process (https://swx.cdn.skype.com/build2015/v5/SDK-build.js:8079:29)
at Anonymous function (https://swx.cdn.skype.com/build2015/v5/SDK-build.js:8018:29)
at Anonymous function (https://swx.cdn.skype.com/build2015/v5/SDK-build.js:1714:25)
at map (https://swx.cdn.skype.com/build2015/v5/SDK-build.js:1331:25)
at decompose (https://swx.cdn.skype.com/build2015/v5/SDK-build.js:8017:25)
at Anonymous function (https://swx.cdn.skype.com/build2015/v5/SDK-build.js:8007:29)
at handle (https://swx.cdn.skype.com/build2015/v5/SDK-build.js:2220:33)
at Anonymous function (https://swx.cdn.skype.com/build2015/v5/SDK-build.js:698:25)"
}

Skype For Business 插件已安装并且运行良好。 当前未安装 Skype 边缘服务器。 我正在使用 Internet Explorer 11。

Microsoft 的 Skype Web SDK On Prem Sample 以及我自己的网站上都会出现错误。

当我第二次尝试将视频或音频添加到同一个对话时,我根本没有收到任何错误消息,但它仍然不起作用。该请求既没有出现在开发工具中,也没有出现在提琴手中。我正在使用最新版本的 Skype SDK 引导程序。

客户端和服务器都在同一个子网中。

提前致谢。

我遇到了同样的问题。不确定它是如何发生的,但是 sdk 无法获取或应用媒体配置。 您可以使用此解决方法:

在调试版本的 sdk 中的第 18,892 行,注释掉两个调用:

uninit(); throw error;

MediaConfig 部分的函数 init() 中。结果:

function init() { pcMediaConfig = mediaPlugin.createComponent({ type: 'MediaPlatformConfig', hide: true, inproc: false }); pcMediaConfig.event(onPluginComponentEvent); pcMediaConfig.state.changed(function (state) { log('pcMediaConfig.state = ' + state); }); var p = pcMediaConfig.load().then(getMediaConfig).then(setMediaConfig).then(null, function (error) { log('MediaConfig::init rejected'); //uninit(); //throw error; }); return p; }

因此您必须下载引导程序和 sdk 才能永久应用补丁。为此,只需在调试版本(引导程序版本 1.2.5)中获取两者并在函数 onConfig(config) line 48

中替换

}, config.corsScript && (scriptAttributes.crossOrigin = ""), loader.loadScript(getPackageUrl(config), null, handleError, scriptAttributes);

}, config.corsScript && (scriptAttributes.crossOrigin = ""), loader.loadScript("./scripts/SkypeSDK.js", null, handleError, scriptAttributes);

或您的等效路径

这是 Skype Web SDK 目前的一个限制:它依赖于 mediaRelayAccessToken 才能继续进行 audio/video 调用。开发团队已意识到此问题,可能会在未来版本的 Skype Web SDK 中修复。

上面推荐的hacky方式,基本上是让SDK在缺少mediaRelayAccessToken的情况下继续调用,这样可能会让你绕过这个问题。

媒体中继访问令牌由边缘服务器返回,因此您也可以尝试部署边缘服务器来解决此问题。