Как создать конференц-звонок на несколько номеров с помощью узла 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)
}
})
})
Это оно.Спасибо, Филаш.