2016-09-19 33 views
0

我遇到了the Twilio ClientQuickstart project for C#/js問題。根據Twilio的支持,該項目應該「開箱即用」,但它不適合我。我希望能夠通過電話呼叫瀏覽器,從瀏覽器呼叫電話,並與每個人的談話(沒有電腦讀取消息)。我嘗試了一些沒有成功的更改,現在我回到原始項目,其中只有本地配置中的appsettings。 TwilioAccountSid,TwilioAuthToken和TwilioTwimlAppSid都是正確的,並且TwilioCallerId被設置爲我的twilio語音編號。設置正常,設備在每次通話之前準備就緒。Twilio ClientQuickstart無法正常工作

現在我使用ngrok主辦的網站。 twilio控制檯中twiml應用的語音請求網址設置爲從ngrok提供的帶有/語音的網址。

既不叫也不向外傾訴一個人的工作。當從瀏覽器呼叫電話時,我只聽到來自twilio的自動'Congratulations'消息。如果我在「撥打電話」文本框中根本沒有輸入數字,則會得到完全相同的結果。

當調用twilionumber,我聽到鈴聲在我的手機,但什麼也沒有發生在瀏覽器中。調試表明VoiceController的Index方法被重複調用,產生了很多響應對象,直到調用超時。這導致twilio控制檯呼叫日誌中的呼入/呼出電話列表,其中第一個'from'是我的電話號碼(並且twilion數字爲'to'),其餘兩個電話號碼都是從和到,在'傳入'和'外撥'每秒鐘。

public ActionResult Index(VoiceRequest request) { 

    var callerId = ConfigurationManager.AppSettings["TwilioCallerId"]; 
    var response = new TwilioResponse(); 

    if (!string.IsNullOrEmpty(request.To)) { 
     // wrap the phone number or client name in the appropriate TwiML verb 
     // by checking if the number given has only digits and format symbols 
     if (Regex.IsMatch(request.To, "^[\\d\\+\\-\\(\\) ]+$")) { 
      response.Dial(new Number(request.To), new { callerId }); 
     } 
     else { 
      response.Dial(new Client(request.To), new { callerId }); 
     } 
    } 
    else { 
     response.Say("Thanks for calling!"); 
    } 
    return TwiML(response); 
} 

我已經搜索,但似乎無法找到任何有關此類問題的任何信息。如果有人能夠就此問題發表看法,我將非常感激。

回答

0

Twilio開發人員在這裏傳播。

dialling from the browser你需要確保你進入瀏覽器應用真正的電話號碼或其他客戶端名稱。

enter image description here

這條線:if (!string.IsNullOrEmpty(request.To)) {正在檢查傳入請求有號碼或客戶端,它試圖轉盤。如果你不輸入任何內容,它只會落在祝賀信息上。如果您輸入要撥號的號碼,您是否可以登錄或調試以查看是否有號碼被髮送?

在另一方面,如果你嘗試,然後再次撥打您的Twilio號由外線電話,數量會再繼續嘗試撥打自己,因爲你親眼目睹。

這種快速啓動的目的是讓你去製作,並在瀏覽器中接聽電話,要麼以其他瀏覽器或手機網絡。您需要做更多的工作才能讓來自電話網絡的來電發生在您的瀏覽器中。

你可以做的是,如果輸入request.To是你的Twilio號,然後返回到TwiML到<Dial>你知道現在登錄一個<Client>名。

+0

謝謝菲爾,'客戶'的'撥號'工作!但是,這樣做的正確方法是什麼? (我只是假設自從你說「你能做什麼,是......還有更好的方法」)。 在撥出電話時,我輸入了一個真實的電話號碼,並嘗試了幾個不同的號碼。 試圖通話時,testproject中的輸出窗口打印出: >請求功能令牌... >得到了一個令牌。 > Twilio.Device準備就緒! >成功建立呼叫! >掛起... >通話結束。 javascript將數字輸出到控制檯,但只聽到'祝賀'。 –

+0

如果你想查看一個更完整的項目,不僅僅是快速入門,然後看看本教程[使用Twilio客戶端進行調用](https://www.twilio.com/docs/tutorials/walkthrough/)瀏覽器的呼叫/ CSHARP/MVC)。 – philnash

+0

我跟從快速啓動一樣,從BrowserCalls項目調用同樣的問題。我已經創建了一個真正的電話號碼票,並嘗試從儀表板調用它。根據本教程,twilio會將電話號碼傳遞給/ Call/Connect(請求URL)。我在CallController的Connect方法中設置了一個斷點,但它永遠不會到達。根據通話狀態的更新,我看到號碼是正確的。 當試圖從我的電話呼叫到瀏覽器(查看儀表板,作爲support_agent)時,Connect方法被調用並且呼叫通過。 –