Sinch Calling с NodeJS - PullRequest
       11

Sinch Calling с NodeJS

0 голосов
/ 05 сентября 2018

Я пытаюсь сделать базовый телефонный звонок с помощью 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). У кого-нибудь еще есть такая проблема? Любая идея, почему модуль nodejs Sinch SDK ориентирован на код, который должен выполняться в браузере.

1 Ответ

0 голосов
/ 06 сентября 2018

Библиотека Sinch JS - это библиотека на стороне клиента, предназначенная для браузеров с webrtc и микрофоном. Ее нельзя использовать на стороне сервера узла.

...