Как создать конференц-звонок на несколько номеров с помощью узла js

Я хочу создать конференцию на несколько номеров, используя 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)
        }
    })
})

Проблема, с которой я сталкиваюсь, заключается в том, что я не получаю все обратные вызовы через веб-крючок для всех участников, которых я правильно добавил на конференцию.

Я хочу знать, правильно ли я это делаю или есть другой лучший способ сделать это.

Предположим, я добавляю 3 участника к конференции. Мне нужно получить в общей сложности 12 колбаков от Twilio для "инициировано", "звонит", "ответил", "завершено" для каждого отдельного человека, которого я добавил в конференцию. Но в некоторых случаях этого не происходит.

Есть ли способ, с помощью которого я могу получить коллбэк для статуса конференции в целом.

Есть ли способ передать массив чисел для создания конференции вместо добавления каждого числа в цикл forEach.

Я новичок в Twilio, пожалуйста, помогите.

1 ответ

Только пара модификаций в коде и все работает нормально.

Просто добавьте 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)
        }
    })
})

Это оно.Спасибо, Филаш.

Другие вопросы по тегам