Hello,
I think there's a problem in loose_route() in opensips 1.11.3.
When processing ACK message with single Route header pointing to proxy itself,
loose_route() returns "true" and spews the following warning:
WARNING:rr:after_strict: no socket found for match second RR
The message in question:
U 2014/12/04 11:33:13.403174 108.41.177.213:12064 -> 66.114.80.228:5060
ACK sip:[email protected]:5060;user=phone SIP/2.0.
Via: SIP/2.0/UDP 192.168.100.238:5060;branch=z9hG4bK591f67709819E312.
From: "650" <sip:[email protected]>;tag=62AEF3B2-BB8AB2B8.
To: <sip:[email protected];user=phone>;tag=as2b55f62a.
Route: <sip:66.114.80.228;lr;cmpid=2;did=de9.74c357b;nat=yes>.
CSeq: 2 ACK.
Call-ID: [email protected].
Contact: <sip:[email protected]:5060>.
Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, INFO, MESSAGE, SUBSCRIBE, NOTIFY,
PRACK, UPDATE, REFER.
User-Agent: PolycomSoundPointIP-SPIP_650-UA/4.0.7.2514.
Accept-Language: en.
Max-Forwards: 70.
Content-Length: 0.
This is an ACK after 487.
The proxy is running on 66.114.80.228:5060 and has the following directive in
its config:
listen=udp:66.114.80.228:5060
loose_route() documentation says (exception #2):
"If the request in inside a dialog ( has a to-tag ), loose-routing was used
($ru is end-point)
and Route contains only the local proxy, the function returns FALSE."
I'm not sure about the "loose-routing was used ($ru is end-point)" part, but I
think the ACK above
should be subject to this exception and loose_route() should return false as
this is not end-to-end ACK
and should not be loose routed.
Also I think the warning message is rather misleading in this case.I've
recently upgraded to 1.11.3 from
1.10.0 version and noticed the warnings. I've checked and see that opensips
1.10.0 behaviour was actually
the same except there was no warning and that's why I didn't notice it.
Any suggestions?
Thanks,
Michael
_______________________________________________
Users mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users