代码之家  ›  专栏  ›  技术社区  ›  rahulserver

Twilio语音api在启用机器检测的情况下调用url和statusCallback的顺序

  •  0
  • rahulserver  · 技术社区  · 6 年前

    打twilio电话时,我们有一个 url 和一个 statusCallback 参数如下:

    client.calls
      .create({
         method: 'GET',
         statusCallback: 'https://www.myapp.com/events',
         statusCallbackMethod: 'POST',
         statusCallbackEvent: ['completed', 'answered'],
         url: 'http://demo.twilio.com/docs/voice.xml',
         to: '+14155551212',
         from: '+18668675310'
       })
      .then(call => console.log(call.sid))
      .done();
    

    (来自 here

    我很难弄清楚 网址 反之亦然?

    我看到的时候 machineDetection 在呼叫中启用(如给定 here Answered_by machine_start 然后 被称为 之前 这个 网址 (提供twiml)。

    有一次我发现如果 机器检测 答复人 human (它检测到有人接电话),我看到 先打电话。

    那么调用的预期顺序是什么呢 ? (假设我已经准备好了 状态回调

    1 回复  |  直到 6 年前
        1
  •  1
  •   philnash    6 年前

    Twilio开发者福音传道者。

    documentation on calls statusCallback :

    Twilio将在StatusCallbackEvent参数中指定的每个调用事件上向其发送异步webhook请求的URL。如果没有指定事件,Twilio将发送 默认情况下。

    StatusCallbackEvent 参数可以设置为initiated、ringing、answered和completed中的任意一个或多个。

    因为没有事件设置,所以使用默认设置 completed 事件。此事件应在呼叫结束后触发。如果你看到它在你的URL被调用之前被触发,你在使用其他事件吗?

    ringing 事件,当您的web服务器响应它时,调用可能已结束。所以我会防御性地为调用的状态编程,而不是假设调用肯定正在进行。

    更清楚的是:事件是异步触发的,因此您不能保证 answered url 已获取参数。