如何在twilio API中接听来电

时间:2014-06-27 08:19:09

标签: twilio

如何使用回答按钮在Twilio Api中回答,我无法在浏览器上接听电话, 我想知道如何接听或拒绝接听电话,而我在点击接听按钮时连接设备,请帮助我

我的代码段是

Twilio.Device.setup('<?=$token?>');

Twilio.Device.ready(function(device) {
});

 Twilio.Device.incoming(function(conn) {
 $("#number").val(conn.parameters.From);
 var ss= "Incomging Call:\n"+conn.parameters.From; 
 $("#log").text("Incoming connection from " + conn.parameters.From);
    // accept the incoming connection and start two-way audio
    conn.accept();

});



Twilio.Device.error(function(conn) {
alert("Error:\n"+data);
});

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

  function hangup() {
    Twilio.Device.disconnectAll();
  }


 <input type="text" id="number" name="number"  />
 <button class="call" onclick="call();">
  Answer
</button>

<button class="hangup" onclick="hangup();">
  Reject
</button>
<div id="log">Loading app</div>

有任何想法在twilio来电???

1 个答案:

答案 0 :(得分:4)

Twilio传道者在这里。

您上面包含的代码会自动接听来电,因为您正在传入事件回调中调用accept()函数。

如果您想要更改您的应用以便仅在单击按钮后应答呼叫,您首先需要向UI添加第二个按钮。在该按钮click事件中,您调用一个调用accept function的函数。

您可以继续使用传入回调来执行某些操作,例如仅在有来电时启用接受按钮,但请注意您需要创建一个保存传入连接的全局变量,以便您可以在accept函数。

var connection;

Twilio.Device.incoming(function(conn) {
    connection = conn;

    $("#number").val(conn.parameters.From);
    var ss= "Incomging Call:\n"+conn.parameters.From; 
    $("#log").text("Incoming connection from " + conn.parameters.From);

    //enable the accept button
    $(".accept").prop('disabled', false);
});

function accept() {
    connection.accept();
}

<button class="accept" onclick="accept();" disabled>Accept</button>

当然,你可以在传入函数中获得比上面显示的更复杂的东西。查看this blog post以获取更复杂的示例,其中显示了如何使用jQuery对话框小部件来显示屏幕弹出窗口。 希望有所帮助。