Как создать конференц-звонок на несколько номеров, используя узел - PullRequest
0 голосов
/ 26 апреля 2018

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

0 голосов
/ 10 мая 2018

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

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

Вот и все. Спасибо, филнаш.

...