【发布时间】:2018-09-06 05:24:38
【问题描述】:
我正在尝试使用 Sinch Calling API 拨打基本电话;但是,我一直遇到错误。我目前的代码是简单地创建 SinchClient 对象,然后尝试拨打电话:
const express = require('express');
const app = express();
const SinchClient = require('sinch-rtc');
const sinch = new SinchClient({
applicationKey: '********',
capabilities: { calling: true }
});
app.post('/sinch', (req, res) => {
console.log(req);
});
app.get('/', (req, res) => {
console.log('testing');
const callListeners = {
onCallEstablished: (call) => {
res.send(call.incomingStreamURL);
}
}
const callClient = sinch.getCallClient();
const call = callClient.callPhoneNumber('+46000000000');
call.addEventListener(callListeners);
})
app.listen(8080, () => console.log('listening on port 8080'));
很遗憾,当我尝试运行我的应用程序时遇到以下错误:
***-MacBook-Pro:** ***$ node index
/Users/***/Documents/Coding Projects/Borsa/node_modules/sinch- rtc/lib/sinch.node.min.js:1
(function (exports, require, module, __filename, __dirname) { var PAPI,PUBNUB=require("pubnub").init({}),XMLHttpRequest=require("xmlhttprequest").XMLHttpRequest,window=window||global,WRTC=require("wrtc"),navigator=navigator||{mediaDevices:{getUserMedia:function(){return!1},userAgent:""}}||{getUserMedia:function(){return!1},userAgent:""}||{mozGetUserMedia:function(){return!1},userAgent:""}||{webkitGetUserMedia:function(){return!1},userAgent:""},btoa=require("btoa"),atob=require("atob"),localStorage=require("localStorage"),SinchTicketGenerator=require("sinch-ticketgen"),Q=require("q"),SinchVersion=require("../VERSION"),ErrorDomain=(SinchTicketGenerator=require("sinch-ticketgen"),{ErrorDomainNone:-1,ErrorDomainNetwork:0,ErrorDomainCapability:1,ErrorDomainSession:2,ErrorDomainApi:3,ErrorDomainOther:4,ErrorDomainSDK:5,ErrorDomainVerification:7}),ErrorCode={NoneNone:0,NetworkConnectionRefused:1e3,NetworkConnectionTimed
TypeError: Cannot read property 'indexOf' of undefined
at new Sinch (/Users/***/Documents/Coding Projects/**/node_modules/sinch-rtc/lib/sinch.node.min.js:1:5078)
at Object.<anonymous> (/Users/***/Documents/Coding Projects/**/index.js:5:15)
at Module._compile (module.js:635:30)
at Object.Module._extensions..js (module.js:646:10)
at Module.load (module.js:554:32)
at tryModuleLoad (module.js:497:12)
at Function.Module._load (module.js:489:3)
at Function.Module.runMain (module.js:676:10)
at startup (bootstrap_node.js:187:16)
at bootstrap_node.js:608:3
这显然是当前节点模块版本中的 Sinch SDK 存在的问题;而且我似乎无法理解导致此 indexOf 错误的原因。我试图查看缩小后的代码,发现问题出在 userAgent.indexOf 代码块上,但从那里没有多大意义。
如果我取出新的 SinchClient 代码块,则不再出现错误(我还注释掉了与 Sinch 代码有关的所有内容)。其他人有这样的问题吗?知道为什么 Sinch SDK 的 nodejs 模块似乎适合需要在浏览器上运行的代码。
【问题讨论】: