Мне надоело получать роботизированные звонки, поэтому я решил скрыть свой номер телефона. Я хочу, чтобы люди звонили мне и вводили пароль, который я им дал. если это успешно, тогда они могут соединиться со мной.
Я использую Twilio и NodeJS SDK
router.get('/', (req, res) => {
const twiml = new VoiceResponse();
const gather = twiml.gather({
action: '/call',
numDigits: '4',
method: 'GET'
});
gather.say(
'Please enter the password I gave you'
);
return res.status(200).send(twiml.toString());
});
router.get('/call', (req, res) => {
const { Digit, Called } = req.query;
const twiml = new VoiceResponse();
if (Digit === '1234') {
const myRealPhoneNumber = '+14444444444'
twilio.calls
.create({
url: 'http://demo.twilio.com/docs/voice.xml',
to: myRealPhoneNumber,
from: Called
})
.then(call => console.log(call.sid));
} else {
twiml.redirect('/');
}
return res.status(200).send(twiml.toString());
});
Проблема, с которой я сталкиваюсь, заключается в том, что вызов автоматически сбрасывается. Я вижу только пропущенный звонок на моем телефоне. и я также хотел бы, чтобы люди, звонящие мне, услышали, как ожидающую песню, пока я не заберу.
Обновление: Мне удалось позвонить просто:
twiml.dial(myRealPhoneNumber, { callerId: Called });
но я не могу воспроизвести песню, пока человек ждет, пока я не отвечу
twiml.play('http://demo.twilio.com/docs/classic.mp3');
, которая работает только после того, как я положу трубку.