【问题标题】:Twilio click to callTwilio 点击通话
【发布时间】:2014-04-06 07:04:53
【问题描述】:

我正在尝试制作一个允许用户单击浏览器中的按钮的页面,以便他们可以拨打我们办公室的电话号码。当我调试代码时,它运行良好,但是当我单击页面上的按钮时,没有任何反应。我也没有在开发人员工具中看到任何错误。

<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));
    }
}

【问题讨论】:

    标签: c# html visual-studio twilio


    【解决方案1】:

    您正在创建呼叫服务器端。如果您希望调用发生在浏览器中,您需要实现客户端解决方案。

    我们根据此处提供的文档创建了客户端电话: 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 Capability Token,起初我有点困惑。

    这是我从我们的实现中提取的示例代码。它使用 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>
    

    【讨论】:

    • 我上面指定的代码需要放到后面的代码中。您需要的其余代码是 JavaScript。我将添加一些我们使用的 JavaScript 代码。
    • 非常感谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多