【发布时间】:2019-12-16 20:27:22
【问题描述】:
我们目前使用 Twilio 会议,但是我们希望允许基于他们的呼叫者 ID 的某些参与者被拒绝。目前,任何拨打会议号码的人都可以参加,出于隐私、安全和合规性考虑,这不是我们想要的。
我们如何使用 TwiML 做到这一点?
最好的,
萨瓦斯
【问题讨论】:
标签: twilio
我们目前使用 Twilio 会议,但是我们希望允许基于他们的呼叫者 ID 的某些参与者被拒绝。目前,任何拨打会议号码的人都可以参加,出于隐私、安全和合规性考虑,这不是我们想要的。
我们如何使用 TwiML 做到这一点?
最好的,
萨瓦斯
【问题讨论】:
标签: twilio
您无法使用 TwiML Bins(静态 TwiML)执行此操作,但您可以为此使用 Twilio 函数,甚至可以使用基于 Widget 拆分的 Twilio Studio 来确定是否允许 trigger.message.From 编号。
下面是一个示例 Twilio 函数,您可以根据自己的目的进行修改。目前,它只允许某些来电显示作为主持人,并提供这些号码开始会议的能力,其他号码只能是活动会议的参与者。您可以看到设置 Twilio 函数 here 的步骤(只需应用类似的步骤来设置下面的代码)。您可以扩展该函数并在非主持人的参与者路径中返回 Twilio TwiML Reject verb。
exports.handler = function(context, event, callback) {
let twiml = new Twilio.twiml.VoiceResponse();
let callerId = event.From || null;
let conferenceParams = {};
let conferenceName = "My Conference Room";
let moderators = ["+1813279xxxx", "+1813393xxxx", "+1813918xxxx"];
conferenceParams.beep = true;
if (moderators.indexOf(callerId) === -1) {
conferenceParams.startConferenceOnEnter = false;
conferenceParams.endConferenceOnExit = false;
}
else
{
conferenceParams.startConferenceOnEnter = true;
conferenceParams.endConferenceOnExit = true;
}
twiml.dial().conference(conferenceParams, conferenceName);
callback(null, twiml);
};
【讨论】:
这是您正在寻找的方法,这两个功能都是可行的。
exports.handler = function(context, event, callback) {
let twiml = new Twilio.twiml.VoiceResponse();
let callerId = event.From || null;
let conferenceParams = {};
let conferenceName = "My Conference Room";
let moderators = ["+1678785xxxx", "+1813393xxxx", "+1813918xxxx"];
conferenceParams.beep = true;
if (moderators.indexOf(callerId) === -1) {
twiml.reject({reason: 'busy'});
callback(null, twiml);
}
else
{
conferenceParams.startConferenceOnEnter = true;
conferenceParams.endConferenceOnExit = true;
twiml.dial().conference(conferenceParams, conferenceName);
callback(null, twiml);
}
};
【讨论】: