在可编程语音中获取twilio中的错误-11200

在可编程语音中获取twilio中的错误-11200,twilio,Twilio,我和Twilio之间有间歇性的问题。在每50个调用中,我们会收到一个失败的调用,当我检查日志时,它会指出是错误11200,并给出“尝试从返回的HTTP状态代码500中检索内容” 我已经看了Twilio关于这个错误的建议(见)。它们列出了网关错误的一系列可能原因: 1) Web服务器向Twilio返回了4xx或5xx HTTP响应—据我在日志中看到的,Web服务器向Twilio返回了200 HTTP响应。2) 配置错误的Web服务器-我们已经检查了Web服务器的配置,并认为它是正确的。3) Twi

我和Twilio之间有间歇性的问题。在每50个调用中,我们会收到一个失败的调用,当我检查日志时,它会指出是错误11200,并给出“尝试从返回的HTTP状态代码500中检索内容”

我已经看了Twilio关于这个错误的建议(见)。它们列出了网关错误的一系列可能原因:

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)响应中没有附加内容类型头-我们将内容类型设置为application/xml。5) 内容类型与实际内容不匹配-我们将内容类型设置为application/xml,并使用TwiML语言将响应发回

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

关于我们正在做的事情:

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

我不排除是我们这边的问题造成的,但我们真的不知道下一步该检查什么。web服务器似乎正在发送200响应,但Twilio似乎正在接收502响应

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

提前谢谢你


twilio似乎忘记了为他们的请求设置内容类型。。。这使得中间件无法解析主体

如果您在express中使用Node.js,下面是一个解决方案:

  • 检查是否未设置
    内容类型
  • 如果不是,则假设它是
    application/x-www-form-urlencoded
    ,这似乎是Twilio正在发送的实际内容类型
//这被TwiML应用程序用作语音请求Url
app.post('/makecall',(请求、回复、下一步)=>{
if(!请求头['content-type']){
请求标题['content-type']='application/x-www-form-urlencoded'
const urlEncodedMiddleware=bodyParser.urlencoded({extended:false})
URLEncodedmddlware(请求、恢复、下一个)
}否则{
下一个()
}
},打电话);
如果Twilio决定开始发送
内容类型
,这个解决方案就有点过时了。但是,如果他们更改正文格式而不发送
内容类型


受此答案启发的解决方案:

1)您使用哪种语言和框架?2) 可能是在http头之前发送的忘记调试字符串?3) 也许您的服务器或框架对相同的ip每分钟有一个请求限制?4) 它总是每50个请求,或者大约?如果Twilio从您的应用程序收到500个错误,那么很可能是您自己的错误。您的应用程序中是否有错误跟踪和报告?