[SR-Users] loose_route() with pre-loaded Route in ACK
Andreas Granig
agranig at sipwise.com
Wed Feb 29 14:34:40 CET 2012
Hi,
I ran into an interesting scenario when experimenting with kamailio 3.1
as a stateless proxy (no tm module used):
There is an initial INVITE without to-tag and with pre-loaded Route
header pointing to the external address of the lb. When I call
loose_route for that, it returns false and the Route header is removed.
That's what I expected, and it's documented in
http://www.kamailio.org/docs/modules/3.1.x/modules_k/rr.html#loose-route-id.
However if a 407 is relayed back from the registrar via the lb to the
UA, it sends an ACK, again with pre-loaded Route header like in the
initial INVITE, this time with to-tag. In that case, loose_route()
returns true, but the $du is $null and the R-URI is still the same. So
the Route is consumed, but the URI is not used. Since it's a stateless
proxy, this hop-by-hop ACK needs to be routed the same way as the
initial INVITE, so what I'm doing is something like that:
if(loose_route()) {
if($du == $null && $ru == $ou) {
# skip loose-routing for such a request
}
}
Is this how it's supposed to work? And is there some documentation of
how loose_route() detects whether Route points to itself or not? I'm not
using auto_aliases, nor do I set any aliases manually. Does it determine
internally whether the Route points to its local ip and port? If not,
how come the $du is not set although loose_route returns true?
Andreas
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 900 bytes
Desc: OpenPGP digital signature
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20120229/d9c01312/attachment.pgp>
More information about the sr-users
mailing list