Как исправить функцию Twilio, чтобы принимать входящие звонки и иметь функцию голосовой почты - PullRequest
0 голосов
/ 19 мая 2019

Когда функция настроена на телефонный номер Twilio, она немедленно направит вызывающую сторону на голосовую почту, которая не сможет уведомить вызываемую сторону о входящем звонке и отклонит вызываемую сторону (конечная точка SIP) (user@domain.sip.us1.twilio.com) возможность отвечать на вызовы.

Я также пытался использовать TwiML XML.Когда я настраиваю TwiML XML для телефонного номера Twilio, вызываемая сторона (user@domain.sip.us1.twilio.com) уведомляется о входящих вызовах и может отвечать на вызовы и автоматически перенаправляет вызывающие стороны на голосовую почту.когда вызываемая сторона недоступна.Однако, когда вызов завершается изящно, вызывающая сторона направляется на голосовую почту, что является проблемой.

exports.handler = function(context, event, callback) {
    let phoneNumber = "sip:user@domain.sip.us1.twilio.com"; 
    const twiml = new Twilio.twiml.VoiceResponse();
    if (event.DialCallStatus === "completed") {
        twiml.hangup();
    } else {
        twiml.say("You have reached users voicemail. Please leave a message and I will get back to you.");
        twiml.record({
            transcribe: true,
            transcribeCallback: "http://twimlets.com/voicemail?Email=user@domain.com",
             action: "/hangup"
        });
    }
callback(null, twiml);
};

Функция должна предоставить вызываемой стороне (user@domain.sip.us1.twilio.com) возможностьотвечать на вызовы и автоматически направлять вызывающую сторону на голосовую почту, когда вызываемая сторона (user@domain.sip.us1.twilio.com) недоступна.Если есть способ добиться этого с помощью функции или TwiML XML, это было бы здорово.

Спасибо

1 Ответ

0 голосов
/ 25 мая 2019

Вы можете позаимствовать из кода функции Twilio, подробно описанного ниже, он будет делать именно то, что вы ищете (необходимо проверить DialCallStatus для интеллектуального определения следующих шагов.

Реализация голосовой почты

...