【问题标题】:Twilio: Hangup a call in an existing conference, ERROR 20404Twilio:挂断现有会议中的呼叫,错误 20404
【发布时间】:2026-02-03 00:55:02
【问题描述】:

以下情况:

  1. 有人拨打了我的 Twilio 号码
  2. Twilio 请求了我的网址
  3. 呼叫者加入会议(在第二个人加入之前不要开始)
  4. TwiML 调用移动设备
  5. Moblie 不接电话

=> 没有第二个人进入会议,因此会议不会停止,呼叫者会卡在那里。

如果发生这种情况,我的解决方案是结束整个通话,我已经知道 endCall 函数的放置位置,所以这不是我的问题。该函数如下所示(您也可以在 twilio API 中找到它):

client.calls(accountSid).update({
    status: "completed"
}, function(err, call) {
    if(err){
        console.log(err);
    }
});

我的程序逻辑很好,我看到这个函数在正确的地方被调用了,但是我收到了这个错误:

{ status: 404,
  message: 'The requested resource /2010-04-01/Accounts/AC/Calls/AC.json was not found',
  code: 20404,
  moreInfo: 'https://www.twilio.com/docs/errors/20404' }

我已经在 moreInfo 网址上显示了红色内容,但我取消了资格 那里的解决方案。也许你知道这有什么问题。

【问题讨论】:

    标签: node.js http-status-code-404 twilio error-code twilio-twiml


    【解决方案1】:

    这里是 Twilio 开发者宣传员。

    你几乎一直到那里。您的问题是您在尝试更新呼叫状态时使用了您的accountSid

    您需要保留原始呼叫的callSid。当此人呼叫您的 Twilio 号码时,您将在传入 webhook 中收到的参数中找到 callSid

    app.post('/calls', function(req, res, next) {
      var callSid = req.body.CallSid;
      // store callSid somewhere for use later
    
      // return TwiML to set up conference and dial your mobile number
    });
    

    您需要保存该callSid,然后在您想挂断电话时使用它。

    client.calls(callSid).update({
        status: "completed"
    }, function(err, call) {
        if(err){
            console.log(err);
        }
    });
    

    让我知道这是否有帮助。

    【讨论】:

      最近更新 更多