如何发送Twilio连接并在Twilio客户端Javascript SDK的另一个函数中接受它?

如何发送Twilio连接并在Twilio客户端Javascript SDK的另一个函数中接受它?,javascript,twilio,twilio-api,Javascript,Twilio,Twilio Api,我正在使用Twilio JS SDK quickstart在我的网站上拨打和接听电话: 当我接到一个电话时,我想通过单击按钮连接到该来电,因此这是我的代码: HTML: JS: function-capable(tkn){//tkn是令牌。 无功装置; 装置=新斜纹装置(tkn{ //将Opus设置为我们的首选编解码器。Opus通常性能更好,需要更少的带宽和带宽 //在受限网络条件下提供更好的音频质量。Opus将在2.0中默认。 Allowicomingwhilebusy:是的, 编解码

我正在使用Twilio JS SDK quickstart在我的网站上拨打和接听电话:

当我接到一个电话时,我想通过单击按钮连接到该来电,因此这是我的代码:

HTML:


JS:

function-capable(tkn){//tkn是令牌。
无功装置;
装置=新斜纹装置(tkn{
//将Opus设置为我们的首选编解码器。Opus通常性能更好,需要更少的带宽和带宽
//在受限网络条件下提供更好的音频质量。Opus将在2.0中默认。
Allowicomingwhilebusy:是的,
编解码器首选项:['opus','pcmu'],
//在客户端使用假的DTMF音。真实音仍会发送到通话的另一端,
//但是客户端DTMF音调是假的。这会阻止本地麦克风捕捉DTMF音调
//第二次并发送两次提示音。这将是2.0中的默认设置。
fakeLocalDTMF:没错,
听起来:{
传入:'https://www.mywebsite.com/audio/ring-ring.mp3'
}
});
设备打开('输入'),功能(连接){
log('来自'+conn.parameters.from'的传入连接);
var telf=conn.parameters.From;
var reg='';
reg+='呼叫方:

'+telf; reg+=''; reg+=''; $(“#登记册”)。预编(reg); } } 功能应答器B(idx){ console.log(idx); 接受(); }
它似乎不能以这种方式工作,显示此错误:

控制台:

我怎样才能修好它

我需要你的帮助

谢谢。

请不要这样:

console.log('来自'+conn.parameters.from'的传入连接);
var telf=conn.parameters.From;
var reg='';
reg+='呼叫方:

'+telf; reg+=''; reg+=''; $(“#登记册”)。预编(reg);
更改为:

console.log('来自'+conn.parameters.from'的传入连接);
var telf=conn.parameters.From;
var reg='';
reg+='呼叫方:

'+telf; reg+=''; reg+=''; $(“#登记册”)。预编(reg); 美元(“#按钮回答”)。在(“点击”,康涅狄格州,回答B);

您的回答功能应该是:

功能应答(事件){
console.log(事件数据);
event.data.accept();
}

如果你能让它工作,请告诉我。

谢谢你的回答,它工作得很好,但是如果两个电话同时出现怎么办?会有两个相同ID的按钮,我还想在单击按钮进行应答时隐藏按钮。在这种情况下会是什么情况?然后使用class
class=“btn btn md btn成功按钮应答”
$(“.button answer”)。在(“单击”,连接,应答);
<div id="register"></div>
function capable(tkn){ //tkn is the token.
 var devices;
 devices = new Twilio.Device(tkn, {
  // Set Opus as our preferred codec. Opus generally performs better, requiring less bandwidth and
  // providing better audio quality in restrained network conditions. Opus will be default in 2.0.
  allowIncomingWhileBusy: true,
  codecPreferences: ['opus', 'pcmu'],
  // Use fake DTMF tones client-side. Real tones are still sent to the other end of the call,
  // but the client-side DTMF tones are fake. This prevents the local mic capturing the DTMF tone
  // a second time and sending the tone twice. This will be default in 2.0.
  fakeLocalDTMF: true,
  sounds: {
    incoming: 'https://www.mywebsite.com/audio/ring-ring.mp3'
  }

 });

 devices.on('incoming', function (conn) {
   console.log('Incoming connection from ' + conn.parameters.From);
   var telf = conn.parameters.From;
   var reg = '<div class="reg_item">';
   reg += '<p>Caller: </p>' + telf;
   reg += '<button onclick="answerB('+conn+');" class="btn btn-md btn-success"><i class="fa fa-phone" aria-hidden="true"></i></button>';
   reg += '</div>';

   $("#register").prepend(reg);
 }

}

function answerB(idx){
  console.log(idx);
  idx.accept();
}