Twilio 视频 - “无法连接到房间,出现错误:SIP 错误 403”

2023-12-14

当我在使用 twilio 时尝试从一个 iOS 客户端向另一个 iOS 客户端拨打电话时,收到此错误“无法连接到房间,并出现错误:SIP 错误 403”视频SDK为了迅速。

当我使用手动生成的 twilio 访问令牌(从 Twilio 控制台获取)并将其插入客户端应用程序时,我可以拨打电话(Xcode 到移动设备和移动设备到移动设备)。但是,当我尝试使用 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_SECREThere.


如果我正确地假设这些值不是真实值的占位符(这是 403 错误),那么您需要将 API 凭据添加到 NodeJS 脚本中...

var ACCOUNT_SID = 'accountSid';
var API_KEY_SID = 'apiKeySid';
var API_KEY_SECRET = 'apiKeySecret';
var TWILIO_CONFIGURATION_SID = 'twilioConfigurationSid';
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Twilio 视频 - “无法连接到房间,出现错误:SIP 错误 403” 的相关文章

  • node-mongodb-native MongoClient 意外关闭连接

    我一直在 mongodb 中搜索大量意外关闭的连接 但只能找到希望关闭连接的人提出的问题 我正在使用 node mongodb native 连接到数据库 但我不断收到看似随机的 错误 连接已关闭 消息 如果我手动重试请求 浏览器刷新 则请
  • 如果您查看内部,nib 文件到底是什么样子的?

    我刚刚学习 nibs 和 swift 并对某些东西感到好奇 我知道 如果您有一个 main storyboard 文件 则首先加载根视图控制器的笔尖 然后加载该视图控制器下可能分层存在的任何视图 但是 我想知道一些事情 当他们说笔尖已 加载
  • 将数据从 javascript/html 页面发送到 Express NodeJS 服务器

    我正在使用 html5 和 javascript 开发 cordova 应用程序 该架构如下 电话应用程序向服务器请求某些内容 服务器请求 firebird 数据库 数据库回答服务器 服务器将所请求的数据提供给电话应用程序 在 html5
  • 即席分发失败

    我在一家大公司工作 正在开发一个适用于 iOS 5 的 iOS 应用程序 分发应用程序的唯一方式是通过临时部署 我拥有自己的服务器已经有一段时间了 由 o2switch 法国托管商 托管 当我开始开发时 我们使用它来部署应用程序以进行 Be
  • 让约束在尺寸类别中发挥作用

    所以 我正在 Xcode 6 beta 中尝试尺寸类 我对图像设置了一些限制 使其根据 iPhone 纵向和横向对应的尺寸类别处于不同的位置 这些限制在下图中可见 正如您所看到的 当我处于紧凑 紧凑状态时 一些约束被 安装 而其他约束则没有
  • 当 iPhone 设备方向朝上/朝下时,我可以判断它是横向还是纵向吗?

    我得到这个代码 如果设备处于左 右横向或上下颠倒状态 它会旋转并显示另一个视图控制器 但如果它的方向朝上或朝下 那么我如何判断它是横向模式还是纵向模式 因为我只想在它面朝上或朝下以及横向模式下旋转 void viewDidAppear BO
  • Swift NotificationCenter 删除观察者最快的方法

    我正在添加一些观察员viewController applicationWillResignActive applicationDidEnterBackground 以及许多其他人 我想删除self作为一行中所有已注册通知的观察者 我的问题
  • 如何将 #ifdef DEBUG 添加到 Xcode?

    我的项目中有一些代码永远不应该在发布版本中使用 但在测试时很有用 我想做这样的事情 ifdef DEBUG Run my debugging only code endif 在 Xcode 4 中哪里添加 DEBUG 设置 我尝试将其放入
  • iPhone / iPad IOS 应用程序仪器内存计数与 task_info 内存计数

    我一直在使用 Instruments Leak Tester 它给出了大约 1 3 meg 的应用程序总分配数字 但是 当使用 task info 时 它会报告更大的内存量 例如 10 20 meg 我想我只是想确认task info正在返
  • 连接到 Apple Music

    所以我尝试使用 React Native 应用程序从 iOS 设备连接到 Apple Music 有一个 API 可以执行相同的操作 但我需要从 storekit 框架调用一个函数 提出个性化请求 苹果音乐API https develop
  • Facebook 登录 Apple CNA

    问题 是否可以设置 Facebook 登录以在 CNA 中使用 是否为开发人员提供 CNA 文档 您可以使用任何开发人员工具调试 CNA 屏幕吗 Details 我创建了一个使用电子邮件提交表单或 Facebook 登录按钮的强制门户登录页
  • Nodejs 的简单 put 请求,无需 Express

    我需要能够将 zip 文件上传到 Brightsign 单元 并考虑创建一个 Rest api 我可以发出 put 请求来发送 zip 文件 但问题是我找到的所有例子都是使用express之类的框架 是否可以在不使用额外框架的情况下在 No
  • Node.js 连接 createServer 代码

    我正在阅读 Node js Connect 版本 2 15 0 Create a new connect server return Function api public function createServer function ap
  • 每次页面重新加载时都会出现新的 Google 登录库提示

    在我的项目中 我使用常规弹出客户端 JS 身份验证 平台客户端 https developers google com identity sign in web sign in 我从旧版 Google Sign 迁移到新版 Google I
  • iPhone,如何将一张图像叠加到另一张图像上以创建要保存的新图像? (水印)

    基本上 我想拍摄用户从照片库中选择的图像 然后应用水印 即右下角的三角形 上面有应用程序名称 我已经在 Photoshop 中用透明层制作了第二张图像 我尝试了一个函数 我不记得它的确切名称 但它涉及 CGIImages 和蒙版 这将两个图
  • 即时将图像添加到 AR 资源以进行图像识别

    ARKit1 5介绍图像识别 在代码中 您必须创建一组参考图像 如下所示 let referenceImages ARReferenceImage referenceImages inGroupNamed AR Resources bund
  • 节点持久-NodeJS

    谁详细向我解释了如何操作以下说明 var storage require node persist var account username Morris password test storage initSync storage set
  • iOS 11 getUserMedia 不起作用?

    苹果公司发表声明称getUserMedia将在 iOS 11 上完全正常运行 安装 iOS 11 Beta 版本 5 后 我确实收到一条消息 表明我的网站请求访问我的相机和麦克风 但似乎是这样的 video src window URL c
  • 如何在node.js中找到两个地理点之间的距离?

    如何使用 node js 查找两个地理点 经度和经度的集合 之间的距离 我有使用谷歌地图距离矩阵服务的客户端 JavaScript 代码 我想在服务器端javascript中做同样的事情 在node js router js或datamod
  • 如何在nodejs中处理大量对象

    我想处理长度约为 100 000 的数组 而不会给 CPU 带来太多负载 我研究了流并偶然发现了 highlandjs 但我无法使其工作 我也尝试过使用 Promise 和分块处理 但它仍然给 CPU 带来很大的负载 如果需要 程序可能会很

随机推荐