Twilio encaminhar as chamadas recebidas com base no número de telefone recebido
<Response>
<Dial>mycellnumber</Dial>
</Response>
O que eu gostaria de fazer é ter alguma lógica para encaminhar as chamadas recebidas para uma célula diferente com base na chamada recebida que corresponde a um número numa lista de contactos, e encaminhamento padrão se o número recebido não estiver numa lista de contactos.
por exemplo, se o a chamada recebida é de um número na lista de contactos para Cell-X
e, em seguida, encaminhe a chamada para Cell-X
, caso contrário, se estiver na lista de contactos para Cell-Y
encaminhar para Cell-Y
, então talvez vá para o correio de voz na nuvem ou para outro número.
1 answers
Digamos que a tua lista de células X se parece com isto.
const cellXContactList = ["+17782001001", "+17782001002", "+17782001003"];
E a tua lista de telemóveis parece-se com isto.
const cellYContactList = ["+17782001004", "+17782001005", "+17782001006"];
Então você poderia distribuir chamadas recebidas com algo assim:
if (cellXContactList.length && cellXContactList.indexOf(event.From) !== -1) {
// caller number found in Cell-X contact list
destinationPhoneNumber = "+17781001001";
} else if (cellYContactList.length && cellYContactList.indexOf(event.From) !== -1) {
// caller number found in Cell-Y contact list
destinationPhoneNumber = "+17781001002";
}
Abaixo está todo o código da função (substitua pelos seus números de telefone):
// forward calls based on the incoming phone number
exports.handler = function (context, event, callback) {
// reference the Twilio helper library
const twiml = new Twilio.twiml.VoiceResponse();
// contacts lists
const cellXContactList = ["+17782001001", "+17782001002", "+17782001003"];
const cellYContactList = ["+17782001004", "+17782001005", "+17782001006"];
// if not in any contact list forward to this number
let destinationPhoneNumber = "+17781001000";
if (cellXContactList.length && cellXContactList.indexOf(event.From) !== -1) {
// caller number found in Cell-X contact list
destinationPhoneNumber = "+17781001001";
} else if (cellYContactList.length && cellYContactList.indexOf(event.From) !== -1) {
// caller number found in Cell-Y contact list
destinationPhoneNumber = "+17781001002";
}
twiml.dial({}, destinationPhoneNumber);
// return the TwiML
callback(null, twiml);
};
Você pode criar funções Twilio no seu console Twilio em ([20]} https://www.twilio.com/console/functions/manage ). comece por um modelo de funções "em branco" e substitua depois pelo código acima.
Uma vez criada e publicada a sua função, poderá configurar o seu número Twilio para a executar quando "chegar uma chamada" ( https://www.twilio.com/console/phone-numbers/incoming).