我正在构建一个应用程序,我们将在其中添加20个人参加重要的讨论,
并假设有一个或两个参与者(从添加到会议的20个人中)不可用,并且他们的语音信箱处于活动状态,
然后在一个重要的讨论中,那些预先录制的语音邮件消息/音频开始,这对于会议中的其他人来说非常烦人。
我想防止这种情况的发生。


  我曾尝试使用ifMachine,但它没有帮助,MachineDetection
  回调URL也不会被调用,AnsweredBy也是如此。


我正在关注MachineDetection

我的代码如下

const Twilio = require('twilio');
const client = new Twilio(account_sid, authToken);

mobileArr.forEach(function(number,ind) {
        console.log("mobile array iteration",ind, number,'    '+twilioCallBackUrl+'twilioMachineWebhook');
        client
          .conferences(conferences.title)
          .participants.create({
            machineDetection: 'Enable',
            url:twilioMachinecallback,
            to: number,
            from: user.twilioDetails.number,
            statusCallback: twilioCallWebhook,
            statusCallbackMethod: 'POST',
            statusCallbackEvent: ['initiated', 'ringing', 'answered', 'completed'],
            Timeout: '15',
            method: 'GET',
        }, function(err, participant) {
            if (err) {
                console.error('conf failed because: '+ err + '   ' + helper.authToken + '   ' +client.accountSid);
            } else {

            }
        })
    })


我是Twilio的新手,如果我做错了任何事情,请提出建议并给予帮助。

最佳答案

Twilio开发人员布道者在这里。

直接在会议中创建呼叫时,participants resource does not list the machineDetection or Url parameter作为可用参数。这是因为此API调用将参与者直接拨入电话会议。

要进行机器检测,您将需要使用常规Calls resource进行呼叫。在此API请求中,您可以将machineDetection设置为Enable并设置Url。您将需要URL来处理AnsweredBy参数,或者,如果它是human,则返回TwiML以将用户拨入计算机上的<Conference>或只是<Hangup>

让我知道是否有帮助。

09-26 01:58