C# Twilio点击呼叫

C# Twilio点击呼叫,c#,html,visual-studio,twilio,C#,Html,Visual Studio,Twilio,我正在尝试制作一个页面,允许用户点击浏览器中的按钮,这样他们就可以拨打我们办公室的电话号码。当我调试代码时,它运行得很好,但是当我单击页面上的按钮时,什么都没有发生。我在开发者工具中也没有看到任何错误 <button class="btn btn-danger btn-large" runat="server" onclick="callpage_Click" style="margin-left:95px"><i class="icon-phone"></i>

我正在尝试制作一个页面,允许用户点击浏览器中的按钮,这样他们就可以拨打我们办公室的电话号码。当我调试代码时,它运行得很好,但是当我单击页面上的按钮时,什么都没有发生。我在开发者工具中也没有看到任何错误

<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));
    }
}
给我们打电话!
受保护的无效调用页\u单击(对象发送方,事件参数e)
{//在twilio.com/user/Account上找到您的帐户Sid和身份验证令牌
字符串AccountSid=“*************”;
字符串AuthToken=“*************”;
var twilio=新的TwilioRestClient(AccountSid,AuthToken);
//构建参数
CallOptions=newcalloptions();
options.To=“+**********”;
选项。From=“+*************”;
选项。Url=”http://demo.twilio.com/docs/voice.xml";
options.applicationId=“*******************”;
options.Method=“GET”;
options.FallbackMethod=“GET”;
options.StatusCallbackMethod=“GET”;
options.Record=false;
var call=twilio.InitiateOutboundCall(选项);
Console.WriteLine(call.Sid);
if(call.RestException==null)
{
Write(string.Format(“启动调用:{0}”,call.Sid));
}
其他的
{
Write(string.Format(“错误:{0}”,call.RestException.Message));
}
}

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

我们根据此处提供的文档创建了客户端电话:

解决方案的唯一服务器端部分应该是在浏览器中创建调用所需的令牌时。以下是一些示例代码:

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>

$(文档).ready(函数(){
Twilio.Device.setup(“”);
Twilio.设备连接(功能(连接){
$(“#挂断”).show();
$(“#调用”).hide();
});
});
函数调用(param1,param2){
params={“Param1”:Param1,“Param2”:Param2};
连接=Twilio.Device.connect(参数);
}
函数挂起(){
Twilio.Device.disconnectAll();
$(“#挂断”).hide();
$(“#调用”).show();
}

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

我们根据此处提供的文档创建了客户端电话:

解决方案的唯一服务器端部分应该是在浏览器中创建调用所需的令牌时。以下是一些示例代码:

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>

$(文档).ready(函数(){
Twilio.Device.setup(“”);
Twilio.设备连接(功能(连接){
$(“#挂断”).show();
$(“#调用”).hide();
});
});
函数调用(param1,param2){
params={“Param1”:Param1,“Param2”:Param2};
连接=Twilio.Device.connect(参数);
}
函数挂起(){
Twilio.Device.disconnectAll();
$(“#挂断”).hide();
$(“#调用”).show();
}

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

我们根据此处提供的文档创建了客户端电话:

解决方案的唯一服务器端部分应该是在浏览器中创建调用所需的令牌时。以下是一些示例代码:

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>

$(文档).ready(函数(){
Twilio.Device.setup(“”);
Twilio.设备连接(功能(连接){
$(“#挂断”).show();
$(“#调用”).hide();
});
});
函数调用(param1,param2){
params={“Param1”:Param1,“Param2”:Param2};
连接=Twilio.Device.connect(参数);
}
函数挂起(){
Twilio.Device.disconnectAll();
$(“#挂断”).hide();
$(“#调用”).show();
}

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

我们根据此处提供的文档创建了客户端电话:

解决方案的唯一服务器端部分应该是在浏览器中创建调用所需的令牌时。以下是一些示例代码:

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>

$(文档).ready(函数(){
Twilio.Device.setup(“”);
Twilio.设备连接(功能(连接){
$(“#挂断”).show();
$(“#调用”).hide();
});
});
函数调用(param1,param2){
params={“Param1”:Param1,“Param2”:Param2};
连接=Twilio.Device.connect(参数);
}
函数挂起(){
Twilio.Device.disconnectAll();
$(“#挂断”).hide();
$(“#调用”).show();
}

我上面指定的代码需要放在代码后面。res