The decision whether after_loose or after_strict will be called is based on the
Request-URI of the request. If the Request-URI hostname part contains
the IP or hostname of the proxy which received the request then it
assumes that the previous hop was strict router. If the previous hop was
loose router then the Request-URI should contain the Contact header of
UA2 and that should not be matched by (uri==myself).
Jan.
On 30-01-2006 19:34, JF wrote:
Hi,
One of my (Open)SER machines (P1) is acting as registrar and so I have
alias=mydomain.tld in the script; it is used in the (uri == myself)
check to handle REGISTER requests.
I have a setup like this:
UA1 (user1(a)mydomain.tld) - P2 - P1 - P3 - P1 - P2 - UA2 (user2(a)mydomain.tld)
(all proxies are record-routing except P3)
For initial requests (INVITE from UA1 to UA2) all is fine. But I'm
having problems with the loose_route() function, because when an
in-dialog (subsequent) request comes into P1 (from UA1, P2) with a
Route header containing (<P1>, <P1>, <P2>), the after_strict()
function is called, when I would expect the after_loose() function to
be called since P1 is a loose router.
Within loose_route(), is_preloaded() returns 0, which is correct. But
then is_myself returns true because of the alias...
Is this a bug in loose_route() which doesn't account for this kind of
setup (Routeing in-dialog requests through the registrar)? Maybe this
could be avoided, if there was a parameter forcing loose_route to
treat previous hop as a loose router... Or am I just doing something
wrong?
Thanks in advance,
JF
_______________________________________________
Serusers mailing list
serusers(a)lists.iptel.org
http://lists.iptel.org/mailman/listinfo/serusers