【发布时间】:2019-12-29 22:03:34
【问题描述】:
我有一个 API,它首先使用 C# 包装器创建对数字的调用,假设接收者是 +1000000001
var call = CallResource.Create(new PhoneNumber("+1000000001"),
new PhoneNumber("MYVERIFIEDNUMBER"),
url: new Uri("https://api.com/answered"),
method: HttpMethod.Get,
client: _client,
sendDigits: ""
);
当回答时,从https://api.com/answered 返回的 TWIML 是
<?xml version="1.0" encoding="utf-8"?>
<Response>
<Gather action="https://api.com/connect/6AE3045C0D024F1896BF7ECFCB2FC40A" method="GET">
<Say voice="alice" loop="0" language="en">Press any key to connect to John Doe, , </Say>
</Gather>
</Response>
这应该会导致 SAY 动词的“alice”声音无限循环,在 +1000000001 处重复给接收者,但它是男性机器人声音,它只重复一次然后挂断电话。这是问题的第一部分。
第二部分是 GATHER 动词什么都不做。我应该可以按下按键式电话并返回 url https://api.com/connect/6AE3045C0D024F1896BF7ECFCB2FC40A
<?xml version="1.0" encoding="utf-8"?>
<Response>
<Dial>client:6AE3045C0D024F1896BF7ECFCB2FC40A</Dial>
<Hangup></Hangup>
</Response>
它在 GET 请求中执行但由于 GATHER 问题我永远无法得到它
第三部分是拨打客户端应用程序看起来正确吗?
<Dial>client:6AE3045C0D024F1896BF7ECFCB2FC40A</Dial>
感谢您的建议
【问题讨论】:
-
你有
loop="0"这使它只播放一次。language="en"也不是有效的语言选项。我想你想要language="en-US" -
如果我错了,请有人纠正我,但我认为你在这两个方面都错了。 twilio.com/docs/voice/twiml/say#attributes-loop 似乎暗示 loop="0" 会导致无限循环,直到挂断。我在 6 个月前也尝试过,它无限循环,完全在合理范围内 - 我认为它持续了大约 20 分钟。任何更多都需要进一步的 SAY 动词。 twilio.com/docs/voice/twiml/say#attributes-language 建议“默认为带有美国口音 (en) 的英语”以及“选择带有美国口音 (en) 的英语”
-
看起来你在循环中是正确的。但是对于语言,正如文档所说,“en”代表“男人”或“女人”。 Alice 的默认值为 en-US,因此如果您需要,您可以关闭语言属性。
标签: twilio twilio-twiml