[英]Asterisk,SIP Retransmission timeout
我已经从一个 Asterisk(版本 11.2.1)创建了一个 sip 中继,说“A”服务器到另一个 Asterisk 服务器(11.7.0)说“B”,我得到 sip 响应 200 ok。
但是当我开始呼叫 Asterisk A 上的 DID 时,呼叫被路由到 Asterisk 'B' 并且在 38 秒后呼叫已断开,显示以下警告:
Retransmission timeout reached on transmission 11bc71e029119e5877806ed40fcde691@111.xxx.xxx.xxx:5060 for seqno 102 (Critical Response) -- See https://wiki.asterisk.org/wiki/display/AST/SIP+Retransmissions
Packet timed out after 32000ms with no response
Hanging up call 11bc71e029119e5877806ed40fcde691@111.xxx.xxx.xx:5060 - no reply to our critical packet (see https://wiki.asterisk.org/wiki/display/AST/SIP+Retransmissions).
有任何想法吗 ?
默认情况下,Asterisk 在呼叫建立后发送 RE-INVITE 请求。
但是市场上大多数sip客户端和sip服务器不接受RE-INVITE请求。 为此,当Asterisk 在呼叫建立后发送RE-INVITE 时,对方不应答该请求。 所以,32 秒后,Asterisk 挂断了电话。
为了解决这个问题,如果你的客户端软件不接受 RE-INVITE 请求,你需要禁用 Asterisk 的 RE-INVITE 功能。 为此,您需要在 Asterisk 中编辑sip.conf
文件以包括:
canreinvite = no
当您遇到 nat 问题或防火墙问题时,可能会出现这种情况
见这篇文章http://www.voip-info.org/wiki/view/Asterisk+SIP+NAT+solutions
有关更多信息,您可以使用以下命令启用 sip 调试
asterisk -r
sip set debug on
这些事件通常与 NAT 问题有关。
如果您确定这不是您的问题,请查看路由器配置。 某些路由器默认配置为“SIP ALG”选项。
在某些情况下,此选项应该关闭,因为实现不完整。
试试看,如果它工作正常,请告诉我。
确保您在 /etc/asterisk 下的 sip.conf 中的“externip=”中有正确的 IP 地址。
听起来像nat问题。 你能分享你的 sip 配置以便我们看看吗?
你有没有设置你的extenip和localip?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.