2016-04-30 230 views
0

我正在通過twilio快速入門,並有一個問題 - 我的通話按鈕不會觸發請求twilio;Twilio瀏覽器到瀏覽器

namespace twilioMvc.Controllers 
{ 
    public class BrowserToBrowserController : Controller 
    { 
     string accountSid; 
     string authToken; 
     string appSid; 
     string clientName; 
     string token; 
     public BrowserToBrowserController() 
     { 
      NameValueCollection manager = ConfigurationManager.GetSection("appSettings") as NameValueCollection; 
      accountSid = manager["acSID"]; 
      authToken = manager["authToken"]; 
      // put your Twilio Application Sid here 
      appSid = manager["appSID"]; 
      // put your default Twilio Client name here 
      clientName = "jenny"; 

      var capability = new TwilioCapability(accountSid, authToken); 
      capability.AllowClientOutgoing(appSid); 
      capability.AllowClientIncoming(clientName); 
      token = capability.GenerateToken(); 
     } 

     public ActionResult Index(string name) 
     { 
      if (name != "" && name != null) 
      { 
       clientName = name; 
      } 

      var client = new Client() { clientName = clientName, token = token }; 
      return View("Index", client); 
     } 

     [HttpPost] 
     public ActionResult Call(string PhoneNumber) 
     { 
      // put your default Twilio Client name here, for when a phone number isn't given 
      string number = "jenny"; 

      // get the phone number from the page request parameters, if given 
      if (PhoneNumber != null) 
      { 
       number = PhoneNumber; 
      } 

      var response = new XElement("Response"); 
      response.Add(new XElement("Dial", new XElement("Client", number)));        

      return this.Content(response.Value, "text/xml"); 

     } 
    } 
} 

這裏是頁面代碼

@model twilioMvc.Models.Client 

<!DOCTYPE html> 
<html> 
<head> 
    <title>Hello Client Monkey 5</title> 
    <script type="text/javascript" 
      src="//media.twiliocdn.com/sdk/js/client/v1.3/twilio.min.js"></script> 
    <script type="text/javascript" 
      src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"> 
    </script> 
    <link href="//static0.twilio.com/resources/quickstart/client.css" 
      type="text/css" rel="stylesheet" /> 
    <script type="text/javascript"> 

     Twilio.Device.setup('@Model.token'); 

     Twilio.Device.ready(function (device) { 
      $("#log").text("Client '@Model.clientName' is ready"); 
     }); 

     Twilio.Device.error(function (error) { 
      $("#log").text("Error: " + error.message); 
     }); 

     Twilio.Device.connect(function (conn) { 
      $("#log").text("Successfully established call"); 
     }); 

     Twilio.Device.disconnect(function (conn) { 
      $("#log").text("Call ended"); 
     }); 

     Twilio.Device.incoming(function (conn) { 
      $("#log").text("Incoming connection from " + conn.parameters.From); 
      // accept the incoming connection and start two-way audio 
      conn.accept(); 
     }); 

     function call() { 
      // get the phone number or client to connect the call to 
      params = { "PhoneNumber": $("#number").val() }; 
      Twilio.Device.connect(params); 
     } 

     function hangup() { 
      Twilio.Device.disconnectAll(); 
     } 
    </script> 
</head> 
<body> 
    <button class="call" onclick="call();"> 
     Call 
    </button> 

    <button class="hangup" onclick="hangup();"> 
     Hangup 
    </button> 

    <input type="text" id="number" name="number" 
      placeholder="Enter a phone number or client to call" /> 

    <div id="log">Loading pigeons...</div> 
</body> 
</html> 

所以,當我點擊我的呼叫按鈕應該有來電twilio應用程序,那麼它應該叫我的網站無效路線(填滿我的apllication節在twilio網站上),但有一個麻煩。你可以幫我嗎?

+0

嘗試使用'$(「number」)'而不是'$(「#number」)''。 – gmiley

+0

從數字字段獲取數據沒有問題。 –

+0

你得到的錯誤是什麼?你有沒有做過任何調試?你的代碼在哪裏失敗? – gmiley

回答

0

我修復了添加到Object.assign的瀏覽器polyfill的錯誤。 但我有另一個問題立即掛斷我的瀏覽器到瀏覽器調用。

+0

這看起來不對! Twilio庫應該提供它需要的所有方法。您能否通過[email protected]向我發送電子郵件,告知您正在測試的瀏覽器和您收到的錯誤消息? – philnash