是否可以修改实时呼叫statusCallback值?

时间:2018-04-18 18:48:34

标签: twilio twilio-api twiml

是否可以修改实时通话的statusCallback,statusCallbackEvent和statusCallbackMethod?

我已将此文章用作参考https://www.twilio.com/docs/voice/modify-live-calls 在文章中,它说你可以POST来更新实时通话,但当我尝试更新statusCallback网址时,它无法正常工作。呼叫结束时,没有任何内容触发新的statusCallback URL。

我的用例是

  1. 跟踪呼入电话的来电状态
  2. 跟踪来自Web客户端的出站呼叫的呼叫状态(我们使用TwilioClient SDK拨打Twiml应用程序)
  3. 我知道我可以在电话号码页面为入站呼叫设置statusCallback URL,在Twiml App页面设置出站呼叫。但是有两个问题。

    1. 没有字段可以指定我需要的statusCallbackEvent类型。
    2. 我的statusCallback网址是动态生成的,因此我无法使用statusCallback网址进行硬编码。 (这就是我尝试更新statusCallback网址的原因)(eg. ${BASE_URL}/voice/:conferenceKey/call/callback)
    3. 我使用NodeJS,这是我用来更新statusCallback的示例代码。我还要仔细检查call_sid是否与实时呼叫sid匹配。

      return client.calls(call_sid)
               .update({
                 statusCallback: `${process.env.API_HOST}/voice/${conferenceKey}/call/callback`,
                 statusCallbackMethod: 'POST',
                 statusCallbackEvent: ['answered', 'completed'],
               });
      

      感谢任何帮助,谢谢! :)

1 个答案:

答案 0 :(得分:1)

Twilio开发者传道者在这里。

您正在为正在进行的呼叫更新的唯一内容是当前URL(将呼叫重定向到新的TwiML)或状态(设置为完成以结束呼叫)。您无法在通话期间更新statusCallback网址。

如果您的电话要去参加会议,那么conference statusCallback events可以提供帮助吗?