我在对话中添加音频或视频服务时有问题。聊天服务对我来说很好用。当我添加视频或音频服务时,我得到以下错误:
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 Edge服务器。我用的是ie11。
这个错误发生在Skype Web SDK On Prem样品从微软以及在我自己的网站。
当我尝试第二次添加视频或音频到同一对话时,我根本没有得到任何错误信息,但它仍然不起作用。请求不会显示在开发工具和fiddler中。我正在使用最新版本的Skype SDk引导程序。
客户端和服务器都在同一子网。
提前感谢。
我遇到了同样的问题。不确定它是如何发生的,但是sdk在获取或应用媒体配置时遇到麻烦。你可以使用这个方法:
在sdk的调试版本的第18892行之后,注释掉这两个调用:
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来永久应用补丁。要做到这一点,只需在调试版本(bootstrapper版本1.2.5)中获取并替换函数onConfig(config)
第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来进行音频/视频呼叫。开发团队已经意识到这个问题,它可能会在未来的Skype Web SDK版本中修复。
上面推荐的hack方法基本上是允许SDK在丢失mediaRelayAccessToken时继续调用,所以它可以让你绕过这个问题。
媒体中继访问令牌由边缘服务器返回,因此您也可以尝试部署边缘服务器来解决此问题。