我正在使用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>
无效...
答案 0 :(得分:0)
这里是Twilio开发人员的传播者。
我想我知道发生了什么事。感谢您回答所有问题。
我相信您所使用的Twilio客户端版本早于具有直接TwiML功能的更新。因此,它正在发送一个更新调用,丢弃了TwiML,即使它什么也不做,看起来还是成功的。
前往您的Functions configuration page并将Twilio模块更新为最新版本3.36.0
,然后重试。
让我知道怎么回事。