совершать звонки с помощью Twilio с nodejs - PullRequest
0 голосов
/ 13 февраля 2020

Мне надоело получать роботизированные звонки, поэтому я решил скрыть свой номер телефона. Я хочу, чтобы люди звонили мне и вводили пароль, который я им дал. если это успешно, тогда они могут соединиться со мной.

Я использую 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');

, которая работает только после того, как я положу трубку.

...