从Microsoft Bot Framework向twilio返回消息时经常出现超时错误

从Microsoft Bot Framework向twilio返回消息时经常出现超时错误,twilio,botframework,Twilio,Botframework,我在twilio和bot框架渠道集成方面遇到了一些问题 简言之,通过twilio通道发生的大量传入消息和对话超时,用户从未收到响应。然后,几分钟后,所有堆积的响应将同时到达-几乎就像响应者挂起然后继续一样。该错误仅在twilio通道中发生-当嵌入站点、在azure portal中测试以及连接到slack时,该bot可以完美地工作 当我第一次将twilio连接到bot时,它运行了几天完全正常,现在我在大约70-80%的通过该通道出现的消息中发现以下错误 在较高级别上,我得到的特定于该通道的错误是:

我在twilio和bot框架渠道集成方面遇到了一些问题

简言之,通过twilio通道发生的大量传入消息和对话超时,用户从未收到响应。然后,几分钟后,所有堆积的响应将同时到达-几乎就像响应者挂起然后继续一样。该错误仅在twilio通道中发生-当嵌入站点、在azure portal中测试以及连接到slack时,该bot可以完美地工作

当我第一次将twilio连接到bot时,它运行了几天完全正常,现在我在大约70-80%的通过该通道出现的消息中发现以下错误

在较高级别上,我得到的特定于该通道的错误是:“向您的bot发送此消息时出错:HTTP状态代码GatewayTimeout”

在应用程序日志中,错误记录要详细得多,但仍然无法深入了解导致错误的具体原因:

HTTP错误500.1013-内部服务器错误

由于发生内部服务器错误,无法显示该页

最可能的原因: •IIS收到请求;但是,在处理请求期间发生内部错误。此错误的根本原因取决于处理请求的模块以及发生此错误时工作进程中发生的情况。 •IIS无法访问网站或应用程序的web.config文件。如果NTFS权限设置不正确,可能会发生这种情况。 •IIS无法处理网站或应用程序的配置。 •经过身份验证的用户没有使用此DLL的权限。 •请求映射到托管处理程序,但未安装.NET扩展功能

您可以尝试的事情: •确保web.config文件的NTFS权限正确,并允许访问web服务器的计算机帐户。 •检查事件日志,查看是否记录了任何其他信息。 •验证DLL的权限。 •如果请求映射到托管处理程序,请安装.NET扩展功能。 •创建跟踪规则以跟踪此HTTP状态代码的失败请求。有关为失败请求创建跟踪规则的详细信息,请单击此处

在twilio端,我得到以下错误

错误-11200 HTTP检索失败

可能原因 Web服务器向Twilio返回了4xx或5xx HTTP响应 配置错误的Web服务器 Twilio和web服务器之间的网络中断 响应没有附加内容类型标题 内容类型与实际内容不匹配,例如,提供内容类型为audio/x-wav而不是内容类型为audio/mpeg的MP3文件

可能的解决办法 仔细检查TwiML URL是否未返回4xx或5xx错误 确保URL不会执行302重定向到无效URL 确认请求的URL不受HTTP Auth保护 确保web服务器允许对静态资源的HTTP POST请求(如果URL引用.xml或.html文件) 验证您的web服务器是否已启动并响应 检查URL主机是否不是专用或本地IP地址 验证web服务器和www.twilio.com之间的ping时间和数据包丢失

Twilio向Bot Framework发送请求,并返回以下信息 消息“坏网关” sourceComponent“14100” 错误代码“11200” 电子邮件通知“错误” httpResponse“502” 日志级别“错误” url“”

Twilio无法从以下位置获取内容: 错误:已触发总超时。配置tt为15000ms,我们尝试了1次 帐户SID:已编辑 希德:编辑 请求ID:已编辑 远程主机:sms.botframework.com 申请方式:邮寄 请求URI: URL片段:true

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

一些补充资料:

  • 当嵌入到网站中、在azure门户中测试以及连接到slack时,Bot可以完美地工作
  • 错误似乎发生在代码中await context.sendActivity(messageToReturnToUser)或await dialogContext.beginDialog(this.id)的位置,或者基本上发生在我们将某些内容发送回用户的任何位置
  • 几分钟后,bot框架将把所有堆积的消息发送给最终用户,他们将背靠背地收到一大块短信
  • 无法在任何其他通道或bot framework emulator中复制错误
  • 并非每条消息都会出现错误。任意数量的消息都可以通过fine并立即得到响应,但是任意数量的消息都会受到延迟的影响
  • 我使用的是付费的twilio号码,这里没有试错

还有其他人有这个问题吗?如有任何意见或帮助,将不胜感激

此问题已在Azure/BotFramework方面得到缓解。如果您仍然有问题,请告诉我。

由于服务器上的错误,您将收到11200 Twilio错误,因此您应该集中注意力。您是否尝试过500.1013错误消息中的任何补救措施?能否确认您正在为您的bot使用哪个SDK和Botbuilder版本?@philnash我已经尝试了500.1013错误消息中的所有补救措施,并且基于堆栈跟踪,这似乎是SDK或bot framework网关无法发出响应的问题-我希望这是我的代码中的内容-至少这样我可以更轻松地诊断问题:(@StevenKanberg Hi Steven,我正在使用的botbuilder SDK版本是4.5.3。它在node.js上!你能分享你正在使用的代码和一个示例堆栈跟踪吗?Hi Dana!Woo!它看起来确实在工作