Я получаю эту ошибку «Не удалось подключиться к комнате с ошибкой: ошибка 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.
Что код вы используете, чтобы извлечь токен доступа с сервера и инициировать свой видеоклиент? – philnash
Я использую пример приложения, предоставленного Twilio, которое извлекает токен доступа с сервера приложений и инициирует видео клиента. https://github.com/twilio/video-quickstart-swift/tree/master/VideoCallKitQuickStart – user44776