Asterisk,SIP Retransmission timeout

2020-07-06 08:18发布

问题:

I have created a sip trunk from One Asterisk(version 11.2.1) say 'A' server to another Asterisk server(11.7.0) say 'B', and I am getting sip response 200 ok.
But when I start calling on a DID on Asterisk A then the call is being routed to Asterisk 'B' and After 38 seconds call has been disconnected showing following warnings :

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).

Any ideas ?

回答1:

Such situation can be spot when you have nat issues or firewall issue

See this article http://www.voip-info.org/wiki/view/Asterisk+SIP+NAT+solutions

For more info you can enable sip debug by using

 asterisk -r
 sip set debug on


回答2:

By default Asterisk sends a RE-INVITE request after a call is established.

But most sip clients and sip servers in the market do not accept RE-INVITE requests. For this reason, when Asterisk sends a RE-INVITE after a call is established, the other side does not answer the request. So, after 32 seconds, Asterisk hangs up the call.

To solve the problem, you need to disable the RE-INVITE feature of Asterisk if your client software does not accept RE-INVITE requests. To do this, you need to edit the sip.conf file in Asterisk to include:

canreinvite = no


回答3:

These incidents usually associated with NAT problems.

If you're sure that this isn't your problem, take a look at router configuration. Some routers are configured by default with "SIP ALG" option.

In some cases, this option should be off because implementation is incomplete.

Try it, and let me known if it works properly.



回答4:

make sure you have correct ip address in 'externip=' in sip.conf under /etc/asterisk.



标签: sip asterisk