I’m trying to troubleshoot an issue with my SIP service. All outgoing calls work normally. The following is a SIP debug log from Asterisk. The test setup is as follows:
One Yealink SIP-T22P phone (10.0.0.107), extension 10, configured to talk to my local FreePBX/Asterisk 11.0 server which is at 10.0.0.17.
The Yealink phone doesn’t seem to have any problem placing outgoing calls through the Asterisk server, which is registered to Diamondcard. I can reach both the Asterisk server itself (for example to use voicemail) or call any number on the PSTN. Likewise I have the server configured to pass incoming DID calls for myDIDnumber to extension 10. Calls from the PSTN to myDIDnumber ring the phone, including CID passing, and will connect a full duplex audio call session. The problem is that the phone won’t stay connected longer than 13 to 17 seconds.
When the phone is manually configured to use my account and password on the diamondcard servers directly, both incoming and outgoing calls work normally, with RTP/UDP port 5060 traffic passing through my NAT without trouble. I have made no special modifications to the NAT.
13 seconds after picking up an incoming call, the phone disconnects at the same time as the log shows this:
[2012-11-11 01:51:40] WARNING chan_sip.c: Retransmission timeout reached on transmission firstname.lastname@example.org for seqno 103 (Critical Response)
It seems a firewall or signaling problem. The calling part is not sending a ACK response to my host because it never get an “OK 200″ from it.
In other words, the called part is trying to send to the calling part:
a) TRYING 100, then
b) RING 180 and finally
c) OK 200
but the calling part seems not being receiving no signals from my host. As a result, my host has sent 4 times “SIP/2.0 200 OK” (retransmissions) to the calling part but it never got an ACK from the other end to establish the communication. Then, the link is destroyed.
Always consider having a look at the SIP packets to figure out more. On the Asterisk box:
tcpdump -nnqt -s 0 -A -i eth0 port 5060
Also, check your router/firewall logs, respectively activate them, to find out why the packets are not going through.
Maybe also try
For a comprehensive and current understanding of SIP protocol, consider reading the following book: