无法修改正在进行的通话

时间:2019-10-20 09:17:33

标签: twilio twilio-api twilio-twiml

我正在使用Twilio Studio和Twilio Functions构建IVR,并且试图修改正在进行的实时通话。

实际上,我将客户端调用IVR的客户端放入带有<Enqueue>动词的队列中。 同时,我向座席发起呼叫,用<Say>动词警告他某个客户在线,然后我使用<Dial>动词将座席拨号到客户队列。 一切正常。

但是,现在,我想修改正在进行的实时通话,以使我的代理人和客户都满意。 我试图按照指南进行操作:https://www.twilio.com/docs/voice/tutorials/how-to-modify-calls-in-progress-node-js 但这确实对我有用。

这时我有两个CallSid:
1)客户致电我的IVR时的CallSid
2)我向座席发起呼叫时的CallSid

我尝试修改两个呼叫,什么都没有发生...

这是我的代码,用于修改正在进行的实时通话

exports.handler = function(context, event, callback) {
    let twiml = new Twilio.twiml.VoiceResponse();
    let client = context.getTwilioClient();
    console.log(event.ca)


    client.calls(event.ca)
      .update({twiml: '<Response><Say>Ahoy there</Say></Response>'})
      .then((resp) => {
              console.log(resp); // Succès !
                    callback();

       });

};

我从回调函数中获得了响应“ resp”,并提供了一些信息,这意味着更新函数运行良好,但是<Say></Say>无效...

1 个答案:

答案 0 :(得分:0)

这里是Twilio开发人员的传播者。

我想我知道发生了什么事。感谢您回答所有问题。

我相信您所使用的Twilio客户端版本早于具有直接TwiML功能的更新。因此,它正在发送一个更新调用,丢弃了TwiML,即使它什么也不做,看起来还是成功的。

前往您的Functions configuration page并将Twilio模块更新为最新版本3.36.0,然后重试。

让我知道怎么回事。