【问题标题】:Twilio Studio/Functions and Conference callsTwilio Studio/函数和电话会议
【发布时间】:2021-06-23 14:24:19
【问题描述】:

我正在使用 Studio 流程来管理对拨入我们号码的最终用户的身份验证,并假设他们通过了身份验证,然后他们会被添加到电话会议中 - 但是这样我就可以设置各种参数来启动电话会议,我正在尝试在从 Studio 调用的 Functions 中启动加入会议功能。

例如: 最终用户(如果确认),Studio 流程中的下一步将调用一个名为“开始调用”的函数。传递给 start call 函数的变量包括会议名称。

 exports.handler = function(context, event, callback) {
  console.log('Function - /startCall');
  const conference_id = event.conference_id;

  
  let twiml = new Twilio.twiml.VoiceResponse();

  twiml.say('Please wait while we dial you into the call.');
  twiml.dial().conference(conference_id);
  
  console.log('TWIML',twiml);
  
  return callback(null, twiml);
  };

然后返回到 Studio Flow,因此作为测试,我的下一部分是将第 3 方拨入同一个电话会议 - 因此流向名为 ConferenceOperator 的函数发出另一个请求:

 exports.handler = function (context, event, callback) {
  console.log('Function - /conferenceOperator');
  
  const conference_id = event.conference_id;

  console.log('CONFERENCE',conference_id );
  
  const twilioClient = context.getTwilioClient();
  console.log(twilioClient.studio);
  twilioClient.studio.flows('FWxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx').executions.create({ 
    to: '+44xxxxxxxxxxxx', 
    from: '+44xxxxxxxxxx', 
    parameters: JSON.stringify({
      call_id: conference_id 
    })
  })
  .then(function(execution) { 
    console.log(execution.sid); 
    callback(null, execution.sid);        
  })
  .catch(error => {
    console.error(`problem with request: ${error.message}`);
    callback(error.message);
  });

该号码已拨打,并处于等待会议开始的状态。但是,在此流程开始的那一刻,原始入站呼叫将被丢弃。查看 Studio 流程的日志,它显示为仍在执行。

所以问题:

  • 为什么呼入电话掉线?
  • 我是否正确处理通过该函数将呼入呼叫转移到会议?
  • 我遗漏了哪些问题?

谢谢

【问题讨论】:

    标签: twilio-functions twilio-studio twilio-conference


    【解决方案1】:

    我现在已经解决了这个问题 - 流程的另一部分出现了一个奇怪的错误,它返回了一个 http-error 500 - 这导致整个流程失败,因此结束呼叫而不报告!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-19
      • 1970-01-01
      • 2014-01-25
      相关资源
      最近更新 更多