Twilio 检测是否有人回答
Twilio Detecting if a Human Answered
我的用例如下:允许用户输入多个联系人。尝试第一个联系人,如果用户没有接听,则尝试第二个,依此类推
我 运行 遇到的问题是 Twilio 似乎没有可靠的方法来确定是否有人回答 phone。我尝试了三种不同的方法:
IfMachine - 这工作相当可靠,但我已经在 phones 上进行了测试,导致它认为它是一个人。我真的需要 100% 的准确率。
StatusCallbackEvents - 我将状态事件发布到 public 端点。我希望这里有一些有用的信息,但似乎没有。
手动确定 - 我认为 status/duration 的某些组合会起作用,但在人工或语音邮件应答的某些情况下,持续时间似乎相同。我的猜测是语音邮件正在接听,但 Twilio 认为它是一个人,所以它播放消息并获得与人类接听相同的持续时间。
"Call Screening" AKA Reverse IfMachine - 我有这个工作,要求用户按下一个键,按下该键后会收到另一条消息。但是,用户按下该键的事实并没有记录在任何地方。不在响应对象或 StatusCallbackEvents 中。
目前我最大的希望是呼叫筛选将数据(用户按下该键的事实)保存在我可以访问的地方。
如果您不想依赖 Twilio 机器|人工检测,我相信拨号是最好的方法。
如果您使用的是 TwiML,您可以在 <gather>
标签上设置回调。
https://www.twilio.com/docs/api/twiml/gather
The <Gather> verb collects digits that a caller enters into his or her telephone keypad. When the caller is done entering data, Twilio submits that data to the provided 'action' URL
这里是 Twilio 开发人员布道师。
感谢西蒙的回答。我只是想提供更多细节。
将 <Gather>
and get the digits that the user entered you do indeed need to set an action
attribute 用于您的应用可以响应的 URL。
<Response>
<Gather action="/is_human" numDigits="1">
<Say>This is a call for a human! If you are a human, press 1.</Say>
<Gather>
<Say>Did not receive input</Say>
<Hangup/>
</Response>
然后,您的操作将像 phone 对话中的其他 webhook 一样接收 HTTP 请求,但包含一个参数 Digits
,其中将包含用户按下的数字。
如果这有帮助,请告诉我。
我的用例如下:允许用户输入多个联系人。尝试第一个联系人,如果用户没有接听,则尝试第二个,依此类推
我 运行 遇到的问题是 Twilio 似乎没有可靠的方法来确定是否有人回答 phone。我尝试了三种不同的方法:
IfMachine - 这工作相当可靠,但我已经在 phones 上进行了测试,导致它认为它是一个人。我真的需要 100% 的准确率。
StatusCallbackEvents - 我将状态事件发布到 public 端点。我希望这里有一些有用的信息,但似乎没有。
手动确定 - 我认为 status/duration 的某些组合会起作用,但在人工或语音邮件应答的某些情况下,持续时间似乎相同。我的猜测是语音邮件正在接听,但 Twilio 认为它是一个人,所以它播放消息并获得与人类接听相同的持续时间。
"Call Screening" AKA Reverse IfMachine - 我有这个工作,要求用户按下一个键,按下该键后会收到另一条消息。但是,用户按下该键的事实并没有记录在任何地方。不在响应对象或 StatusCallbackEvents 中。
目前我最大的希望是呼叫筛选将数据(用户按下该键的事实)保存在我可以访问的地方。
如果您不想依赖 Twilio 机器|人工检测,我相信拨号是最好的方法。
如果您使用的是 TwiML,您可以在 <gather>
标签上设置回调。
https://www.twilio.com/docs/api/twiml/gather
The <Gather> verb collects digits that a caller enters into his or her telephone keypad. When the caller is done entering data, Twilio submits that data to the provided 'action' URL
这里是 Twilio 开发人员布道师。
感谢西蒙的回答。我只是想提供更多细节。
将 <Gather>
and get the digits that the user entered you do indeed need to set an action
attribute 用于您的应用可以响应的 URL。
<Response>
<Gather action="/is_human" numDigits="1">
<Say>This is a call for a human! If you are a human, press 1.</Say>
<Gather>
<Say>Did not receive input</Say>
<Hangup/>
</Response>
然后,您的操作将像 phone 对话中的其他 webhook 一样接收 HTTP 请求,但包含一个参数 Digits
,其中将包含用户按下的数字。
如果这有帮助,请告诉我。