Доступ запрещен при добавлении участника к конференции в Twilio Voice
У меня есть 2 конечные точки в моем API, одна для создания Voice conference
и еще один, чтобы добавить участника в conference
.
Первый из них следующий и работает правильно.
module.exports.call = function (req, res) {
let name = 'conf_' + req.body.CallSid
const twiml = new twilio.twiml.VoiceResponse()
const dial = twiml.dial({ callerId: req.configuration.twilio.callerId })
dial.conference(
{
endConferenceOnExit: true,
statusCallbackEvent: 'join',
statusCallback: `/api/phone/call/${req.body.CallSid}/add-participant/${encodeURIComponent(req.body.phone)}`
},
name
)
res.set({
'Content-Type': 'application/xml',
'Cache-Control': 'public, max-age=0',
})
res.send(twiml.toString())
}
Как видите, URL-адрес statusCallback указывает на контроллер ниже, который должен добавить участника к конференции.
module.exports.addParticipant = function (req, res) {
console.log('addParticipant', req.params)
if (req.body.CallSid === req.params.sid) {
/* the agent joined, we now call the phone number and add it to the conference */
conference = client.conferences('conf_' + req.params.sid)
console.log('conference', conference)
client
.conferences('conf_' + req.params.sid)
.participants.create({
to: '+34XXXXXXXXX',
from: req.configuration.twilio.callerId,
earlyMedia: true,
endConferenceOnExit: true
}).then(participant => {
res.status(200).end()
})
.catch(error => {
console.error(error)
res.status(500).end()
})
} else {
res.status(200).end()
}
}
Однако я получаю следующую ошибку:
[RestException [Error]: Access Denied] {
status: 403,
message: 'Access Denied',
code: 20006,
moreInfo: 'https://www.twilio.com/docs/errors/20006',
detail: undefined
}
Я включил географические разрешения для этой страны номеров, но все равно безуспешно.
Что мне не хватает?
1 ответ
Решение
Вы обязательно включили Agent Conference в своем аккаунте?
Настройки голосовой конференции https://www.twilio.com/console/voice/conferences/settings