gpt4 book ai didi

javascript - 更改 twilio.js 库创建的 twilio 调用状态会挂断调用的用户

转载 作者:太空宇宙 更新时间:2023-11-04 15:50:37 25 4
gpt4 key购买 nike

我正在使用 twilio.js 通过我的网站给人们打电话。

Twilio.Device.connect({
agent: "Smith",
phone_number: "4158675309"
});

我正在尝试更改已连接调用的状态。例如:

@client = Twilio::REST::Client.new account_sid, auth_token
@call = @client.account.calls.get("CAe1644a7eed5088b159577c5802d8be38")
@call.update(:url => "http://demo.twilio.com/docs/voice.xml",
:method => "POST")

上面的代码来 self 的 Rails 应用程序,但它是由 JavaScript 中的 ajax 调用生成的。

问题 - 当我更改调用状态时,我调用的人会挂断电话。 如何防止调用的用户挂断电话?

最佳答案

这里是 Twilio 开发者布道者。

如果您希望调用的另一段被重定向,那么您需要找到第二段的调用 Sid。我猜您现在正在通过 ajax 将 Call Sid 从 Twilio 客户端调用传递到您的服务器。由于这是发起调用,因此它将是父调用 sid。

然后您可以使用 REST API list calls与此call as the parent 。下面的一些 Ruby 表明:

@client = Twilio::REST::Client.new account_sid, auth_token
parent_call_sid = params["call_sid"]
child_calls = @client.calls.list(parent_call_sid: parent_call_sid)
child_call = child_calls.first
@call = @client.calls.get(child_call.sid)
@call.update(:url => "http://demo.twilio.com/docs/voice.xml",
:method => "POST")

在此示例中,我假设只有一个子调用并选择第一个,但这在这种情况下可能应该有效。值得注意的是,将子调用重定向离开将会挂断调用者的电话。如果您不希望发生这种情况,请添加 action attribute on the <Dial> 您使用的 TwiML 或添加 TwiML 以遵循 <Dial> .

请告诉我这是否有帮助。

关于javascript - 更改 twilio.js 库创建的 twilio 调用状态会挂断调用的用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43148631/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com