无法修改正在进行的呼叫

Impossible to modify calls in progress

我正在使用 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>Ahoy there</Say> 不工作...

此处为 Twilio 开发人员布道师。

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

我认为您使用的 Twilio 客户端版本早于具有直接 TwiML 功能的更新。因此,它正在发送一个更新调用,丢弃 TwiML,并且看起来是成功的,尽管它什么都不做。

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

告诉我进展如何。