Our Asterisk server is working well but sometimes we get the following warning in the CLI:
WARNING: chan_sip.c:4109 retrans_pkt: Timeout on 6185a510c8ecdc5cdfddcebc583642dd on non-critical invite transaction.
What are the possible cause(s) of this warning and would you suggest anything to get rid of it if possible?
Network problems, leading to multiple lost packets or loss of connectivity.
Broken SIP implementation in the peer.
Note I’ve only actually seen (2) with critical ones.
Based on the Asterisk Wiki
For some reason signalling doesn’t work as expected between your Asterisk server and the other device. There could be many reasons why this happens.
A NAT device in the signalling path. A misconfigured NAT device is in the signalling path and stops SIP messages.
A firewall that blocks messages or reroutes them wrongly in an attempt to assist in a too clever way.
A SIP middlebox (SBC) that rewrites contact: headers so that we can’t reach the other side with our reply or the ACK.
A badly configured SIP proxy that forgets to add record-route headers to make sure that signalling works.
Packet loss. IP and UDP are unreliable transports. If you loose too many packets the retransmits doesn’t help and communication is impossible. If this happens with signaling, media would be unusable anyway.
Same issue with me, this Timeout warning keep prompt in asterisk CLI. Then i capture tcpdump, i found request to make a call from other public ip. But cannot see it in asterisk CLI (maybe will show if u core set debug on, but i prefer to use tcpdump). I found the public ip address then i block using fail2ban, this issue resolve. No more Timeout warning in my asterisk server.