Hello. I’m trying to do a call between 2 soft phones - 101 (192.168.168.106 - marti) and 100 (192.168.168.104 - stan).
In order to get the NAT out of the equation, the calls are done locally. The asterisk IP is 192.168.169.20. The hostname is replaced with MY_ASTERISK_DOMAIN.
I’m able to hear both directions just fine, but after 31-32 seconds the call just drops. Complete SIP trace of the communications can be seen here
The system is behaving as though the ACK is never reaching UDP:192.168.168.106:45313 or is not being recognised when it reaches there. You need to find out if the ACK is reaching its destination and if it is, look at logs from the destination to work out why it is being ignored…
I’ve checked with wireshark, and it seems that 168.106 received the ACK on port 45313 and replied to the server with Ok.
There is no reply to an ACK. Sending OK in this context means that it has not seen the ACK. ACK stops the sending of OK.
Well, according to wireshark seems that the ACK is going to the mobile phone, and the OK is coming from the same port the ACK is supposed to arrive. Linphone on android is used on both ends if that matters. What can the reason be in that case?
The 200 OK is a retransmission, so it is as David said - the ACK never got there, or is being ignored. You’d need to look on the linphone side.
@david551 @jcolp thank you guys! With the asterisk aside, I tried many settings on the linphone side, and turned out that setting the server address at the “Outbound proxy” as well fixed the issue. No more 200 OK’s - only ACKs and the call isn’t dropping like earlier.
This article explain with details and it is very useful for a better understanding
Really useful article. Thanks, @ambiorixg12 .