【问题标题】:Twilio Conference for certain Caller-IDs某些来电显示的 Twilio 会议
【发布时间】:2019-12-16 20:27:22
【问题描述】:

我们目前使用 Twilio 会议,但是我们希望允许基于他们的呼叫者 ID 的某些参与者被拒绝。目前,任何拨打会议号码的人都可以参加,出于隐私、安全和合规性考虑,这不是我们想要的。

我们如何使用 TwiML 做到这一点?

最好的,

萨瓦斯

【问题讨论】:

    标签: twilio


    【解决方案1】:

    您无法使用 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);
    };
    

    【讨论】:

    • 谢谢艾伦,我试过了,效果很好。但是,可以是任何号码的非主持人仍然可以拨入并加入正在进行的会议。有没有只有主持人才能加入和开始会议的方法?
    【解决方案2】:

    这是您正在寻找的方法,这两个功能都是可行的。

    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);
        }
    };
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多