2014-03-04 75 views
0

我正在嘗試製作一個頁面,允許用戶點擊瀏覽器中的按鈕,以便他們撥打我們辦公室的電話號碼。當我調試代碼時,它運行良好,但是當我點擊頁面上的按鈕時,什麼也沒有發生。我在開發人員工具中也看不到任何錯誤。Twilio click to call

<button class="btn btn-danger btn-large" runat="server" onclick="callpage_Click" style="margin-left:95px"><i class="icon-phone"></i> Call us!</button> 



protected void callpage_Click(object sender, EventArgs e) 
     { // Find your Account Sid and Auth Token at twilio.com/user/account 
      string AccountSid = "************"; 
      string AuthToken = "************"; 
      var twilio = new TwilioRestClient(AccountSid, AuthToken); 


    // Build the parameters 
    CallOptions options = new CallOptions(); 
    options.To = "+**********"; 
    options.From = "+*************"; 
    options.Url = "http://demo.twilio.com/docs/voice.xml"; 
    options.ApplicationSid = "*****************"; 
    options.Method = "GET"; 
    options.FallbackMethod = "GET"; 
    options.StatusCallbackMethod = "GET"; 
    options.Record = false; 

    var call = twilio.InitiateOutboundCall(options); 
    Console.WriteLine(call.Sid); 
    if (call.RestException == null) 
    { 
     Response.Write(string.Format("Started call: {0}", call.Sid)); 
    } 
    else 
    { 
     Response.Write(string.Format("Error: {0}", call.RestException.Message)); 
    } 
} 

回答

3

您正在創建一個呼叫服務器端。如果您希望在瀏覽器中進行呼叫,則需要實施客戶端解決方案。

我們已經創建了一個客戶端的手機基於這裏提供的文件: https://www.twilio.com/docs/howto/twilio-client-browser-soft-phone

當你創建你需要在瀏覽器中調用的標記解決方案的唯一服務器端的部分應該是。下面是一些示例代碼:

public string TwilioToken { 
    get { 
     var capability = new TwilioCapability("TwilioSid", "TwilioToken"); 
     capability.AllowClientOutgoing("TwilioApplicationIdCreatedOnTheirSite"); 
     return capability.GenerateToken(); 
    } 
} 

此令牌被稱爲他們的文檔在Twilio能力令牌,起初是有點混亂給我。

這是我從我們的實施中提取的示例代碼。它使用jQuery,所以如果你想在你的網站中使用它,你需要包含它。

<script type="text/javascript" src="//static.twilio.com/libs/twiliojs/1.1/twilio.min.js"></script> 
<script type="text/javascript"> 
    $(document).ready(function() { 
     Twilio.Device.setup("<%=TwilioToken%>"); 

     Twilio.Device.connect(function (conn) { 
      $("#hangup").show(); 
      $("#call").hide(); 
     }); 

    }); 

    function call(param1, param2) { 
     params = { "Param1": param1, "Param2": param2 }; 
     connection = Twilio.Device.connect(params); 
    } 

    function hangup() { 
     Twilio.Device.disconnectAll(); 
     $("#hangup").hide(); 
     $("#call").show(); 
    } 
</script> 

<a id="call" href="javascript:call('a', 'b');">Call</a> 
<a id="hangup" href="javascript:hangup();">Hangup</a> 
+0

因此,這必須在頁面後面的代碼中進行嗎? – Ronan

+0

我上面指定的代碼需要放在後面的代碼中。您需要的其他代碼是JavaScript。我將添加一些我們使用的JavaScript代碼。 –

+0

謝謝,這將是偉大的 – Ronan

相關問題