gpt4 book ai didi

twilio - 出现错误 - 可编程语音中的 twilio 11200

转载 作者:行者123 更新时间:2023-12-05 07:15:12 25 4
gpt4 key购买 nike

我在使用 Twilio 时遇到间歇性问题。每 50 次调用中就有一次失败,当我检查日志时,它指出错误 11200,并给出“试图从 https://mednection.azurewebsites.net/appointment/fallback 检索内容返回了 HTTP 状态代码 500”

我查看了 Twilio 关于此错误的建议(位于 https://www.twilio.com/docs/errors/11200 )。他们列出了一系列可能导致错误网关错误的原因:

1) Web 服务器向 Twilio 返回了 4xx 或 5xx HTTP 响应 - 据我在日志中所见,Web 服务器正在向 Twilio 返回 200 HTTP 响应。 2) 错误配置的 Web 服务器 - 我们已经检查了我们的 Web 服务器的配置,并相信它是正确的。 3) Twilio 和您的 Web 服务器之间的网络中断 - 我们已经测试了 ping 响应时间,以及 www.twilio.com 和我们的服务器之间的数据包丢失。 ping 时间小于 15 秒,使用 ping -n 100 www.twilio.com 进行测试时似乎没有丢包 4) 响应中没有附加 Content-Type header - 我们将 Content-Type 设置为 application/xml。 5) Content-Type 与实际内容不匹配 - 我们将 Content-Type 设置为 application/xml 并使用 TwiML 语言发回我们的响应。

我们还检查了 Twilio 的可能解决方案部分中的所有元素是否存在此错误。

一些关于我们正在做的事情:

我们正在开发约会创建系统。在这两个通话中,同时检查双方的可用性,挂断电话时我遇到了这个问题。

我不排除是我们这边的某些东西导致了这个问题,但我们真的不知道接下来要检查什么。 Web 服务器似乎正在发回 200 响应,但 Twilio 似乎正在接收 502。

有人有什么建议可以帮助我们吗?会不会是我们使用的 API 有问题?

提前致谢!

双语

最佳答案

Twilio 似乎忘记为他们的请求设置 content-type...这使得中间件无法解析正文。

如果您将 Node.js 与 express 一起使用,这里有一个解决方案:

  • 检查是否没有设置content-type
  • 如果不是,则假设它是 application/x-www-form-urlencoded,这似乎是 Twilio 发送的实际内容类型。
// This is used by your TwiML App as the Voice Request Url
app.post('/makecall', (req, res, next) => {
if (!req.headers['content-type']) {
req.headers['content-type'] = 'application/x-www-form-urlencoded'
const urlEncodedMiddleware = bodyParser.urlencoded({ extended: false })
urlEncodedMiddleware(req, res, next)
} else {
next()
}
}, makeCall);

如果 Twilio 决定开始发送 content-type,这个解决方案是 future 的证明。但是,如果他们在不发送 content-type 的情况下更改正文格式,它可能会中断...

受此答案启发的解决方案:https://stackoverflow.com/a/17228529/1340601

关于twilio - 出现错误 - 可编程语音中的 twilio 11200,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59647041/

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