如何将twiml发送至正在进行的通话

时间:2019-06-12 22:09:08

标签: twilio twilio-api twiml twilio-twiml

我正在使用twiml进行语音响应。我有一种情况,用户可能会要求花费更长的时间并要求用户等待/等待一秒钟,完成数据库调用并发送另一个语音,例如

1)[用户]:明天给我预约。

2)[Webhook]:

a)让我检查一下时间表。 (将此twiml发送到正在进行的通话中)

b)(继续从数据库收集数据)

c)我已经预订了您的约会。 (现在,发送此twiml)

我研究了Twilio的API EXPLORER,但没有找到任何API将twiml发送到正在进行的调用。 我研究过twiml动词,但似乎无法弄清楚。

1 个答案:

答案 0 :(得分:1)

当您发起去电时,Twilio返回一个呼叫SID。使用呼叫SID,您可以通过更新来修改呼叫,并在其中传递要执行新TwiML的URL。

您没有提到您的语言,但是这里是如何使用Node.js和Twilio的库来实现的。


const accountSid = 'ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';
const authToken = 'your_auth_token';
const client = require('twilio')(accountSid, authToken);

client.calls('CAe1644a7eed5088b159577c5802d8be38')
      .update({method: 'POST', url: 'http://demo.twilio.com/docs/voice.xml'})
      .then(call => console.log(call.to));

您可以看到

  • CAe1644a7eed5088b159577c5802d8be38是用于标识呼叫的呼叫SID
  • http://demo.twilio.com/docs/voice.xml是Twilio将在其中找到新TwiML的URL

有关更多信息,请查看以下文档:
https://www.twilio.com/docs/voice/tutorials/how-to-modify-calls-in-progress