【问题标题】:Twilio TwiML Bins RestrictionTwilio TwiML 箱限制
【发布时间】:2019-01-19 05:41:57
【问题描述】:

我正在尝试使用 Twilio 创建一个电话会议,并在其中进行录制。我的想法是我将我的呼叫与我的 Twilio 号码合并,它会开始录音。但是,我想知道是否可以添加限制。

因此,如果手机上有某些号码,我可以添加或删除这些号码,然后录音就会打开。

以下是我的工作代码,它可以记录任何电话,无论电话号码如何。

<?xml version="1.0" encoding="UTF-8"?>
<Response>
  <Say>Your call is being recorded</Say> 
    <Dial record="record-from-answer-dual" trim="trim-silence">
      <Conference waitUrl="">
        Conference Room
      </Conference>
    </Dial>
    </Response>

【问题讨论】:

    标签: twilio call voice voice-recording


    【解决方案1】:

    TwiML Bin 很棒,但有时它们不起作用,因为您需要实现条件逻辑才能使事情发生。

    Twilio 有一个名为 Twilio Functions 的产品,该产品处于测试阶段,它允许您实现条件逻辑,而不必启动您自己的 Web 服务器来托管该逻辑。有点像类固醇上的 TwiML 垃圾箱。

    您可以调整以下代码以满足您的需求。它几乎可以满足您的需求,但更多地使用它作为您可以做什么的示例,并从那里开始工作。它是用 Javascript/Node.js 编写的。您只需要更新逻辑以包含记录会议的 TwiML - https://www.twilio.com/docs/voice/twiml/conference#record。

    然后您将执行以下操作。

    1. 在浏览器中转到 Twilio 函数 - https://www.twilio.com/console/runtime/functions/manage
    2. 点击红色“+”
    3. 为空白模板单击 + 空白,然后单击创建
    4. 为函数起一个友好的名称,例如 ConferenceConditionalRecord 或您喜欢的类似名称
    5. 为函数指定路径,例如 /conference
    6. 擦除代码框中的代码并剪切/粘贴下面的代码,根据您的需要进行自定义,然后单击保存
    7. 访问您的来电号码,https://www.twilio.com/console/phone-numbers/incoming
    8. 选择您的 Twilio 号码
    9. 在语音和传真下,有来电,选择功能,然后选择您的功能,然后点击保存
    10. 通过从不同号码拨打电话进行测试。只有以下 3 人将开始会议。

      exports.handler = function(context, event, callback) {
      
        let twiml = new Twilio.twiml.VoiceResponse();
        let callerId = event.From || null;
        let conferenceParams = {};
        let conferenceName = "My Example Conference Room";
      
        let moderators = ["+18131234567", "+18131234568", "+18131234569"];
      
        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);
      
      };
      

    【讨论】:

    • 这太棒了!所以如果我理解了这段代码,只有这 3 个号码才能从我的 Twiml 代码中访问录音功能?由于我们正在使用这个函数,我们需要将我的 Twiml 代码以 Node.JS 的形式添加到函数中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多