我正在构建一个应用程序,我们将在其中添加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>
。
让我知道是否有帮助。