Hi all,
I have a problem when using two UACs
behind same NAT on Linksys WRT54GL router. Registrations, Invites, ...
are handled correctly, but after 30sec in the call UACs hangs up the
call (RTP goes directly between clients). This happens because UAC#1
(which answerd the call with OK) didn't recive ACK from UAC#2. This isn't
happening when I have this same clinets behind NAT on PIX525 and everything is working
fine. Everithing is also fine when UAC#1 calls someone on PSTN (RTP is handled by
RTPProxy) or someone behind other NAT.
Strange thing is that UAC#1 sends Ringing response and OK message with this information in
Contact header:
Contact: <sip:bob@public_ip_address:31479;rinstance=e0f8548cf68b5b6e>
but proxy forwards this Ringing response and OK message to UAC#2 with this information in
Contact header:
Contact: <sip:bob@public_ip_address:0;rinstance=b18efeaa8a0e3f0f>
so port is "0" and with ngrep on proxy I saw that this port is replaced
with port "5060" and ACK is sent to the UAC#1 with this parameters
public_ip_address:5060 which isn't correct because UAC#1 is using
31478-31488 port range and expects traffic on these ports.
Some of debug messages that i see on proxy are:
1. sl_filter_ACK: to late to be a local ACK!,
2. e2e proxy ACK found
building branch for end2end ACK
totag for e2e ACK found: 1
I'm using Kamailio 1.5.0 with standard kamailio.cfg and newest XLite (with STUN and
ICE options turn on).
I would be greatfull if someone can give me any guidelines what to look next in order to
solve this issue.
Best regards
Dubravko