2014-09-22 155 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