0

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

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

我正在关注这个链接。

我的代码如下

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 的新手,请帮忙。

4

1 回答 1

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

而已。 谢谢,菲尔纳什。

于 2018-05-10T04:37:16.913 回答