2014-09-22 151 views
4

问题

想要检测一个人或机器的来电是否应答。应答机检测(AMD)与Twilio ..但事后

详情

上午在使用Twilio。而Twilio确实有这个功能。然而,它在系统中实现的方式似乎不适合我的用例。

Twilio使用应答机检测来控制呼叫流程。因此,Twilio在呼叫连接后等待几秒钟,以便分析来自呼叫的音频以查看它是否是应答机。它不会继续将呼叫连接到延迟呼叫并执行此分析之后。

对于我的用例。天气通话由一个人或机器应答不会影响通话流程...所以延迟是没有必要的。它只影响稍后需要的统计数据。即在这种情况下“我付钱的人接听电话实际上应答电话的频率是多少,而不是错过了电话并让它进入语音邮件?”

所有来电转接到电话。通常是手机。

问题

有没有一种方法来检测ID呼叫被事后一个人或机器应答,但使用Twilio没有延迟?

如果没有,是否还有另一种模式,我没有想到可以用来实现相同的目标? (要检测一个员工接电话的频率,而不是丢失呼叫)

其他的事情我已经考虑

  • 延长手机的振铃次数,然后让Twilio把语音邮件而不是手机提供商的语音邮件。
    • 此解决方案的问题在于,很多手机提供商不允许您更改在语音邮件提取之前手机响铃的次数。更难的是戒指的数量没有设置。手机提供商可能会花费更多或更少的时间来定位手机,这与手机在发送语音邮件之前响起的时间有关。
  • 实施回答我自己的应用程序(蟒蛇)
    • 这可能是一个可行的替代方案中机检测。这里的问题是,我很少了解Python如何用于分析音频文件,以了解它是否听起来像是一个人或一台机器。如何呼叫进程分析(CPA)
+0

已经有一些更新,AMD在这里:https://www.twilio.com/docs/api/rest/answering-machine-detection#new-webhook-parameters – 2017-03-27 21:10:45

回答

3

首先讲一点背景是用来检测应答机。答录机没有标准,因此没有一致的检测方法。所有系统都使用CPA来检测手机应答时的语音时间。一个典型的人会用“你好”来回答,而应答机则会有更长的问候信息。 CPA只是在通话开始时寻找语音的长度,如果它超过了一定的阈值,那么它就会假设应答机。某些人还可以检测应答机在发出信息时给出的嘟嘟声,但同样没有用于嘟嘟声的标准音调,因此也可能不一致。

我在这里的观点是,没有系统具有100%的准确率检测语音邮件系统,有些人甚至试图通过只把“你好”作为自己的语音邮件问候语来糊弄这些系统。如果您需要准确性,您可以在开始时提供一个简单的提示,要求提供DTMF响应。如果发送到语音邮件,系统将无法响应DTMF输入,因此您知道1)您有语音邮件系统,或者2)您的人没有响应。听起来就像在你的商业案例中,用户响应它的优点,所以他们会。如果某些系统需要通过让用户输入标识它们的PIN来识别特定人员,则会进一步采取措施。

我不认为你可以使用Twilio事后做检测。如果你真的需要这个,我会使用Call Control XML (CCXML)VoiceXML。有了CCXML,事实上它并不真正发生,它并行发生。当您的VoiceXML应用程序运行时,CCXML可以继续在执行CPA的后台运行。您甚至可以从CCXML向其他Web服务发送消息,以在语音应用程序继续时更新后台CPA的进度。 Voxeo有很好的CCXML实现。他们的首席技术官是本W3C标准的主编。他们的CPA实施也是我曾经使用过的最好的。他们对电话答录机的检测是最好的,通常甚至可以捕获嘟嘟声。 Voxeo的CCXML在线文档有good description on implementing answering machine detection