如何修复Twilio功能以接听来电并具有语音邮件功能

时间:2019-05-19 20:36:58

标签: twilio sip twilio-functions twilio-twiml

在Twilio电话号码上配置了该功能后,该功能将立即将呼叫方定向到语音邮件,如果语音邮件未能通知被叫方有来电,并且拒绝被叫方(SIP端点)(user@domain.sip.us1) (.twilio.com)接听电话的能力。

我也尝试过使用TwiML XML。当我在Twilio电话号码上配置TwiML XML时,被叫方(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 :(得分:0)

您可以从下面详述的Twilio函数代码中借用,它可以完全满足您的要求(需要检查DialCallStatus以便智能地确定下一步。

Implement Voicemail