catalina oancea schrieb:
According to rfc3261, REGISTER is a dialog.
Where did you found this. The second REGISTER does not have a to-tag -
thus it is clearly out-of-dialog.
My problem is: if this hostname resolves to more than
one IP
addresses, and the 401 comes from IP1, then the second REGISTER goes
to IP2, then IP will continue to reject the message etc. Also, I am
not completely sure but I think the same problem occurs in normal
calls as well.
Yes, this is a problem if the upstream provider has multiple
un-synchronized ingress points where one ingress point rejects the nonce
of the others.
As a dirty workaround you could use htable module - fetch the upstream
provider IP address in the 407/401 response and store it in htable (as
key you can use the To-URI + user-IP + user-port. Then, subsequent
REGISTER (if a key is found) are sent to the stored IP address - unless
there is a failure - then you can delete the key in failure route.
regards
klaus
2009/9/24 Juha Heinanen <jh(a)tutpro.com>om>:
catalina oancea writes:
It seems that kamailio does dns lookup again when
receiving REGISTER
2, although both registers are part of the same dialog. Is this the
expected behavior?
i don't think that register requests establish any dialogs. when
registrar receives the second register, it has complete forgotten about
the first.
-- juha
_______________________________________________
Kamailio (OpenSER) - Users mailing list
Users(a)lists.kamailio.org
http://lists.kamailio.org/cgi-bin/mailman/listinfo/users
http://lists.openser-project.org/cgi-bin/mailman/listinfo/users