如何使用节点js创建对多个号码的电话会议

时间:2018-04-26 05:54:20

标签: node.js twilio twilio-api twilio-programmable-voice

我想使用Twilio和Nodejs为多个号码创建会议。

  

在我的应用程序中,我想创建一个会议,从我从Twilio购买的号码到多个号码。

我正在关注this链接。

我的代码如下

const Twilio = require('twilio');
const client = new Twilio(account_sid, authToken);


mobileArr.forEach(function(number,ind) {
    console.log("mobile array iteration",ind, number);
    client
      .conferences(conferences.title)
      .participants.create({
        to: number,             //number which i want to add to conference
        from: myTwilioNumber,  //number I bought from Twilio
        statusCallback: twilioCallBackUrl,
        statusCallbackMethod: 'POST',
        statusCallbackEvent: ['initiated', 'ringing', 'answered', 'completed'],
        Timeout: '15',
        method: 'GET',
    }, function(err, participant) {
        if (err) {
            console.error('conf failed because: '+ err);
        } else {
           console.log(participants)
        }
    })
})
  

我面临的问题是我没有收到所有的webhook回调   我已正确加入会议的所有参与者。

     

我想知道,我是以正确的方式做到还是有另一个   更好的方法。

假设我在会议中添加了3个参与者我应该从Twilio收到总共12个来自我已添加到会议中的每个人的“已启动”,“响铃”,“已解答”,“已完成”的回叫。 但在某些情况下,这种情况不会发生。

  

有没有办法让我接听会议的回电话   整体地位。

有没有办法传递一组数字来创建会议,而不是在forEach循环中添加每个数字。

我是Twilio的新手请帮助。

1 个答案:

答案 0 :(得分:0)

代码和事情中只有一些修改工作正常。

  

只需添加conferenceStatusCallback和conferenceStatusCallback即可   上面的代码,在回调中实现了所需的逻辑。

const Twilio = require('twilio');
const client = new Twilio(account_sid, authToken);


mobileArr.forEach(function(number,ind) {
    console.log("mobile array iteration",ind, number);
    client
      .conferences(conferences.title)
      .participants.create({
        to: number,             //number which i want to add to conference
        from: myTwilioNumber,  //number I bought from Twilio
        statusCallback: callBackUrl,//any logic on call events
        statusCallbackMethod: 'POST',
        statusCallbackEvent: ['initiated', 'ringing', 'answered', 'completed'],
        conferenceStatusCallbackEvent: ['start', 'end','join','leave'],
        conferenceStatusCallback:conferenceCallBackUrl, //any business logic on conference events
        Timeout: '15',
        method: 'GET',
    }, function(err, participant) {
        if (err) {
            console.error('conf failed because: '+ err);
        } else {
           console.log(participants)
        }
    })
})

多数民众赞成。 谢谢,philnash。