在连接呼叫之前捕获呼叫者姓名

时间:2019-03-11 23:26:38

标签: twilio

我正在寻找有关如何构建一个twilio Webhook的指南/指针,该Webhook将拦截对我的twilio#的呼叫,询问呼叫者姓名,然后给我打电话以检查是否要连接(宣布呼叫者姓名)。如果我回答是,则呼叫已接通,否则可以转到我的语音信箱。 我看到了各种功能,例如队列,会议,条件转发等,但是我不确定哪一个可以解决我的需求。这里有指针吗?

1 个答案:

答案 0 :(得分:1)

这里是Twilio开发人员的传播者。

好的,要执行此操作,您需要执行几个步骤。

来电时,您需要询问来电者姓名。为此,我将使用<Gather> with input="speech"捕获其名称,并使用嵌套的<Say>来提问。

使用<Gather>,您需要提供一个action attribute,这是一个URL,当用户回答问题时将被调用。调用该URL时,您可以在请求正文中的SpeechResult参数中获得语音结果。

现在,您已经有了想要将其连接到某人进行回答的名称。您可以为此使用<Enqueue>,但我们的工作可以更简单一些。在对您的action URL的请求的响应中,您可以返回<Dial>

要将消息转发给接听的人,我们还需要在<Dial>中使用<Number><Number> can use a url attribute,当该人接听电话时会被请求。您可以向该请求返回更多TwiML,并且在连接呼叫之前将播放TwiML。这称为whisper

在此TwiML中,您可以返回另一个带有嵌套<Gather>的{​​{1}},该查询使用收集的名称询问您是否要接听电话。最后,结果是您可以接受呼叫(通过结束TwiML的这一行)或<Hangup>

如果您<Say>,您将要开始使用语音信箱。您需要返回到其中已经包含<Hangup>的TwiML,并在<Dial>之后添加更多TwiML。现在,您可以使用<Dial>,然后使用<Record>接收语音邮件。

我希望您能深入了解要研究的功能,以及如何将它们组合在一起的地图。