Twilio:挂断现有会议中的呼叫,错误 20404

Twilio: Hangup a call in an existing conference, ERROR 20404

以下情况:

  1. 有人给我的 Twilio 号码打了电话
  2. Twilio 请求了我的 url
  3. 来电者加入会议(直到第二个人加入后才开始)
  4. TwiML 调用手机
  5. 手机不接电话

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

如果发生这种情况,我的解决方案是结束整个通话,我已经知道在哪里放置 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 url 上红色了,但我取消了资格 那里的解决方案。也许你知道这有什么问题。

这里是 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);
    }
});

如果这有帮助,请告诉我。