2016-02-11 44 views
1

我正在使用Java,但問題是語言不可知的,所以我把它貼在twilio-PHP標籤下。自定義Twilio的點擊通話,轉錄和收集統計信息

我的應用程序需要連接兩個客戶:A和B.我想抄錄談話並查明是否有一方沒有接聽並將其他人屏蔽到語音信箱。

我下面的click-to-call-tutorial

步驟但是,它看起來像Rest API支持錄製,但不轉錄。我成功可以做到:

Map<String, String> params = new HashMap<String, String>(); 
    params.put("From", myTwilioNumber); 
    params.put("To", customerAPhoneNumber); 
    params.put("Url", "http://MyHandler.jsp"); 
    params.put("IfMachine", "Hangup"); 
    params.put("Record", "true"); 
    Call call = client.getAccount().getCallFactory().create(params); 

它會記錄整個對話,但不會被轉錄!

作爲一個側面說明 -

params.put("IfMachine", "Hangup"); 

確實掛斷,當到達語音信箱,而不是留下一個語音郵件與隨機噪聲之前。 Twilio看起來像是在「探測」響應,當它明白它已經接到語音郵件時,背景噪音就被記錄下來了。這是糟糕的用戶體驗。有什麼建議?

此外,我的呼叫處理的servlet的作用:

TwiMLResponse twimlResponse = new TwiMLResponse(); 
Say sayMessage = new Say(
    "Hi, customer A, stay on line to speak with customer B?"); 
twimlResponse.append(sayMessage); 
Dial dial = new Dial(customerBPhoneNumber); 
twimlResponse.append(dial); 

但是,當我在看的TwiML Verbs,沒有任何地方,我可以設置params.put( 「IfMachine」, 「繼續」)。所以第二次調用的字段call.getAnsweredBy()爲null。換句話說,我不知道客戶A和B之間的對話是否發生過。

此外,[TwiML動詞錄音](https://www.twilio.com/docs/api/twiml/record)確實允許轉錄,但如果我不

twimlResponse.append(new Record()); 

它停止談話,記錄的客戶之一。

所以我不能指揮REST API來轉錄,TwiML動詞甚至沒有以我想要的方式記錄對話。

任何人都可以幫忙嗎?

謝謝。

回答

0

Twilio開發人員傳道這裏。

恐怕在使用REST API錄製呼叫的雙方時,轉錄不可用。 Transcription is only available on single messages recorded by the <Record> verb when the recording is under 2 minutes long

我建議記錄通話並下載要發送到第三方轉錄服務的文件,以便轉錄更長的2段呼叫。

answering machine detection而言,這是一項實驗性功能,需要Twilio在呼叫的前幾秒收聽是否是機器。一個很好的選擇,它也可以作爲你動詞的一部分,就是使用呼叫篩選。這是關於pros and cons of AMD, as well as a good description of using human detection by call screening的好文章。

讓我知道這是否有幫助。