2017-01-18 1 views
2

Я получаю эту ошибку «Не удалось подключиться к комнате с ошибкой: ошибка SIP 403», когда я пытаюсь позвонить от одного клиента iOS к другому при использовании twilio video sdk для быстрых.Twilio Video - «Не удалось подключиться к комнате с ошибкой: ошибка SIP 403»

Я могу позвонить (Xcode на мобильный & мобильный телефон на мобильный), когда я использую открытые вручную токены доступа twilio (полученные с консоли Twilio) и вставляю их в клиентское приложение. Тем не менее, я получаю вышеуказанную ошибку, когда я пытаюсь получить маркер программно из Twilio через NodeJS-сервер, используя приведенный ниже код сервера, предоставленный Twilio. Ошибка сохраняется даже при использовании безопасного соединения (HTTPS) для получения токена от Twilio.

Внизу бревно из Xcode,

2017-01-13 07:30:47.625 VideoCall[39299:25726155] Attempting to connect to room Optional("testRoom") 
2017-01-13 07:30:47.625 VideoCall[39299:25726155] provider:didActivateAudioSession: 
2017-01-13 07:30:51.255 VideoCall[39299:25726155] Failed to connect to room with error: SIP error 403 
2017-01-13 07:30:51.272 VideoCall[39299:25726155] provider:didDeactivateAudioSession: 
2017-01-13 07:32:52.168 VideoCall[39299:25729470] ERROR:TwilioVideo:[Signaling]:RESIP::TRANSPORT: Got TLS read ret=0 error=6 error:00000006:invalid library (0):OPENSSL_internal:public key routines 
код сервера

NodeJS (предоставленный Twilio)

var express  = require('express'); 
var router  = express.Router(); 
var AccessToken = require('twilio').AccessToken; 

// Substitute your Twilio AccountSid and ApiKey details 
var ACCOUNT_SID = 'accountSid'; 
var API_KEY_SID = 'apiKeySid'; 
var API_KEY_SECRET = 'apiKeySecret'; 
var TWILIO_CONFIGURATION_SID = 'twilioConfigurationSid'; 

router.get('/getTwilioVideoAccessToken', function(req, res, next) { 
    // Create an Access Token 
    var accessToken = new AccessToken(
     ACCOUNT_SID, 
     API_KEY_SID, 
     API_KEY_SECRET 
    ); 

     var identity = 'example-user'; 

    // Set the Identity of this token 
    accessToken.identity = identity; 

    // Grant access to Conversations 
    var grant = new AccessToken.ConversationGrant(); 
    grant.configurationProfileSid = TWILIO_CONFIGURATION_SID; 
    accessToken.addGrant(grant); 

    // Serialize the token as a JWT 
    var jwt = accessToken.toJwt(); 
    console.log(jwt); 
    res.json({"token": jwt, "statusCode" : 200, "identity":identity}) 
}); 

Решение:

поддержки клиентов Twilio предположил, что я был используя неправильный API_KEY_SECRET, который вызывал ошибку, как также указал @Aubtin Samai. Можно создать API_KEY_SECRET, выполнив следующие инструкции: here.

+0

Что код вы используете, чтобы извлечь токен доступа с сервера и инициировать свой видеоклиент? – philnash

+0

Я использую пример приложения, предоставленного Twilio, которое извлекает токен доступа с сервера приложений и инициирует видео клиента. https://github.com/twilio/video-quickstart-swift/tree/master/VideoCallKitQuickStart – user44776

ответ

3

Если я правильно, предполагая, эти значения не являются заполнители для реальных (это 403 ошибка), необходимо добавить учетные данные API для вашего NodeJS сценария ...

var ACCOUNT_SID = 'accountSid'; 
var API_KEY_SID = 'apiKeySid'; 
var API_KEY_SECRET = 'apiKeySecret'; 
var TWILIO_CONFIGURATION_SID = 'twilioConfigurationSid'; 
+0

Я добавил учетные данные API для скрипта NodeJS, я не показал их здесь. – user44776

+0

Вы уверены, что поместили учетные данные API в правильные места? У вас есть кредиты в вашем аккаунте? –

Смежные вопросы