2015-11-17 93 views
0

我有一個使用TWILIO API的C#服務,我在嘗試使用InitiateOutboundCalls函數時遇到問題。使用TWILIO啓動出站呼叫

private void SendCall(string cellNumber, string message) { 
      Call callResult; 
      callResult = _client.InitiateOutboundCall(twilioNumber, employeeNumber, message);     
      TwilioRestExceptionCheck(callResult);    
     } 

這是在C#服務小函數應該調用與此twimlbin代碼的僱員(消息變量如上):

<?xml version="1.0" encoding="UTF-8"?> 
<Response> 
<Say>Cams Support. See text for Recording</Say> 
<Sms>Sending Recording... </Sms> 
<Hangup/> 
</Response> 

的問題是,即使僱員錯過了通話,即:沒有接聽他/她的電話,通話狀態仍然被設置爲「完成」。不應該將通話設置爲「無回答」嗎?我如何判斷員工是否接聽或錯過了電話?

謝謝

回答

1

梅根從Twilio在這裏。

員工錯過某個電話時可能發生的情況是,該電話將轉到應答機,該應答機實際上會返回您所看到的「完成」狀態。

您可能需要處理的一種方法是確保呼叫實際上由員工回答,而不是他們的語音郵件使用<Gather>動詞。

<?xml version="1.0" encoding="UTF-8"?> 
<Response> 
    <Gather action="/complete_call.xml" method="get"> 
    <Say>Press any key to accept the call.</Say> 
    </Gather> 
</Response> 

/complete_call.xml可能看起來像:

<?xml version="1.0" encoding="UTF-8"?> 
<Response> 
<Say>Connecting</Say> 
</Response> 

您可以瞭解更多有關使用Call Screening這種方法,看到一些C#的例子在那裏。

希望你覺得這有幫助。

+0

謝謝梅根;我稍微調整了一下你的例子,並使用了第二個twimlbin url而不是/complete_call.xml,它效果很好 – ItalianStallion

+0

非常棒!很高興聽到你解決它。 –

+0

不Twilio有答錄機檢測? –