Twilio - Twiml在固定时间后排队超时或重定向

时间:2015-05-28 16:06:00

标签: twilio twiml

有一种方法可以在一段时间后重定向队列中的呼叫吗? 我知道在Twiml <Dial>中你可以设置超时。 有没有办法在<Enqueue>甚至<Play>中执行此操作waitURL

现在我正在做这样的事情:

<Response>
    <Enqueue waitUrl="/wait/" method="GET">
        Support
    </Enqueue>
</Response>

我的等待网址是:

<Response>
    <Play>http://com.twilio.sounds.music.s3.amazonaws.com/MARKOVICHAMP-Borghestral.mp3</Play>
</Response>

如果他/她已经在队列中停留超过60秒,我想将呼叫者重定向到语音邮件。

2 个答案:

答案 0 :(得分:4)

Twilio传道者在这里。

我不相信有一种方法可以在enqueue动词上设置Timeout属性。我认为有几种方法可以解决这个问题:

  1. 在waitUrl中,使用短于60秒的mp3。当轨道完成播放时,Twilio将向waitUrl发出另一个请求并传递一个QueueTime参数,该参数将告诉您调用者在队列中的时间。如果那个时间是>您可以在60秒内重定向该呼叫。
  2. 在您的应用中运行一个使用REST API轮询队列成员并检查其waitTime的进程。如果等待时间> 60秒,您重定向呼叫。
  3. 希望有所帮助。

答案 1 :(得分:0)

在响应上,设置 Play loop="x" 及以下进行重定向。

<Response>
    <Play loop="2">http://com.twilio.sounds.music.s3.amazonaws.com/MARKOVICHAMP-Borghestral.mp3</Play>
    <Redirect>https://webhooks.twilio.com/v1/Accounts/{ACT ID}/Flows/{FLOW ID}?FlowEvent=return</Redirect>
</Response>