Richard,
well, the RURI of remote ACK has proxy IP address 10.200.70.100 so proxy thinks that previous hop was a strict router. I can't think of any workaround that would not be an ugly hack at the moment, though.
On 11/23/2012 03:24 AM, Richard Brady wrote:
Hi guys
I have a multihomed Kamailio proxy sitting between two B2BUAs on separate networks and record-routing all dialogs.
The problem I have is that when one of these devices receives a 200 OK, it does not populate the RURI of the ACK correctly. Instead of taking it from the Contact header on the 200 OK, it uses the user part from the Contact header and sets the domain to the proxy IP. It then also populates the Route headers.
The ACKs are below and the IPs are:
10.152.1.92:5060: UAC on outside 10.200.70.100:5060: proxy outside interface 192.168.242.100: proxy inside interface 192.168.242.102: UAS on inside
This the ACK message going into and coming out of the proxy.
# U 10.152.1.92:5060 -> 10.200.70.100:5060 ACK sip:natted_ua*9197**192.168.242.102*5080*udp@10.200.70.100 SIP/2.0. Via: SIP/2.0/UDP 127.0.1.1:5060;branch=z9hG4bK-2280-1-5. Route: sip:10.200.70.100;r2=on;lr=on;nat=yes,sip:192.168.242.100;r2=on;lr=on;nat=yes. From: sipp sip:sipp@127.0.1.1:5060;tag=2280SIPpTag001. To: sut sip:9197@10.200.70.100:5060;tag=p0FaeQ1QUS9ae. Call-ID: 1-2280@127.0.1.1. CSeq: 1 ACK. Contact: sip:sipp@127.0.1.1:5060. Max-Forwards: 70. Subject: Performance Test. Content-Length: 0. .
# U 10.200.70.100:5060 -> 192.168.242.100:5060 ACK sip:192.168.242.100;r2=on;lr=on;nat=yes SIP/2.0. Via: SIP/2.0/UDP 10.200.70.100;branch=z9hG4bKcydzigwkX. Via: SIP/2.0/UDP 127.0.1.1:5060;rport=5060;received=10.152.1.92;branch=z9hG4bK-2280-1-5. Route: . From: sipp sip:sipp@127.0.1.1:5060;tag=2280SIPpTag001. To: sut sip:9197@10.200.70.100:5060;tag=p0FaeQ1QUS9ae. Call-ID: 1-2280@127.0.1.1. CSeq: 1 ACK. Contact: sip:sipp@127.0.1.1:5060;alias=10.152.1.92~5060~1. Max-Forwards: 69. Subject: Performance Test. Content-Length: 0.
So I am trying to understand why it is trying to relay to itself (I have mhomed=1) and why it is rewriting the RURI as if it is a strict router.
Currently decode_contact() is disabled but enabling doesn't seem to help. Unless there is a very specific place where it belongs.
Any advice would be hugely appreciated. I can always paste logs / configs / traces.
Richard
-- Richard Brady M: +44 (0)7771 623 348 T: +44 (0)20 8144 8160 E: rnbrady@gmail.com
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users