[Kamailio-Users] DNS lookup for requests within dialog

Klaus Darilion klaus.mailinglists at pernau.at
Thu Sep 24 12:53:02 CEST 2009


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 at tutpro.com>:
>> 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 at lists.kamailio.org
> http://lists.kamailio.org/cgi-bin/mailman/listinfo/users
> http://lists.openser-project.org/cgi-bin/mailman/listinfo/users




More information about the sr-users mailing list