[Devel] Processing REGISTER requests

Klaus Darilion klaus.mailinglists at pernau.at
Thu Oct 6 18:56:06 CEST 2005


I was not aware of the problems when using fix_nated_register().

I would propose (maybe I'm a little bit radical):
1.
- do not use fix_contact/fix_natted_contact (as it is not RFC conform 
and may cause problems with certain clients)
- fix the current alorithm to use the "public URI" instead of the 
private URI

2. Add support for call-id matching and make it configureable as users 
choice: either contact or call-id; no mixture

regards
klaus

Dan Pascu wrote:
> On Thursday 06 October 2005 19:07, Klaus Darilion wrote:
> 
>>>First registration.
>>>
>>>Phone 1:
>>>  callid = somecallid
>>>  cseq   = 101
>>>  ip     = 10.0.0.1
>>>  port   = 5060
>>
>>Ok! Now the second phone will register:
>>
>>>Phone 2:
>>>  callid = anothercallid
>>>  cseq   = 101
>>>  ip     = 10.0.0.1
>>>  port   = 5060
>>
>>Now ser will use your algorithm:
>>
>>1. Check for callid: not found
>>
>> > 2. if previous step failed to find an entry use the current
>> > algorithm to lookup by contact.
>>
>>This will match the registration from phone 1. Thus, combining call-id
>>and the existing algorithm won't work!
> 
> 
> That's true if you use fix_nated_register() and store private contacts, 
> but still this will improve the case where you store public contacts.
> Overall won't work worse, but the same or better. I don't claim it's a 
> panacea.
> 
> 
> 




More information about the Devel mailing list