我一直在尝试使用功能配置FindMe Twimlet,以便我可以在基本twimlet上为此添加更多功能。创建功能并将功能设置为要使用的号码时,拨打该号码时会出现错误。这就是我所拥有的,这还会阻止电话转到语音信箱吗?
我仍然需要使用TwiML Bin吗?还是应该立即使用此功能?
const context = {
PHONE_NUMBERS: '+1xxxxxx,+1xxxxxx'
};
exports.handler = function(context, event, callback) {
const numbers = context.PHONE_NUMBERS.split(',').map(number => number.trim());
const response = new Twilio.twiml.VoiceResponse();
if (event.DialCallStatus === 'complete') {
// Call was answered and completed
response.hangup();
} else if (event.finished === 'true') {
if (context.FINAL_URL) {
response.redirect(context.FINAL_URL);
} else {
response.hangup();
}
} else {
const numberToDial = event.nextNumber ? event.nextNumber : numbers[0];
const currentNumberIndex = numbers.indexOf(numberToDial);
let url;
if (currentNumberIndex + 1 === numbers.length) {
// No more numbers to call after this.
url = '/hunt?finished=true';
} else {
const nextNumber = numbers[currentNumberIndex + 1];
url = '/hunt?nextNumber=' + encodeURIComponent(nextNumber);
}
const dial = response.dial({ action: url });
dial.number(numberToDial);
}
callback(null, response);
};
答案 0 :(得分:0)
Twilio开发人员传播者Phil Nash已经编写了一个功能来执行类似的操作,您可以在下面的代码中找到链接。这不会阻止呼叫转到语音邮件,因此,您需要实现其他逻辑,最可靠的是此处{@ 3}中讨论的人体检测。
答案 1 :(得分:0)
这里是Twilio开发人员的传播者。
我认为这里的问题是您试图在处理程序外部的函数中设置PHONE_NUMBERS
的列表。
context
是一个由Twilio运行时传递给处理程序函数的参数。该对象由config area for functions中设置的环境变量填充。
我会将您的PHONE_NUMBERS
列表设置为environment variable,然后重试。