[Devel] Processing REGISTER requests
Daniel-Constantin Mierla
daniel at voice-system.ro
Tue Oct 4 17:32:31 CEST 2005
Are you sure that 98% implements it? There are different phones that
generate same call-id, maybe that's the charm of SIP, nothing is
reliable 100% :-) ... never boring ... all the time something to fix ...
I understood that you propose to lookup by call-id only, otherwise I see
no sense to do the lookup based on (call-id, contact address) since the
contact is different (due to port change, in this case) => never matches.
Maybe you can sketch the lookup algorithm so I understand better what
you propose and we can spot the proper solution.
I met the situation when same call-id was used by many phones and a lot
of contact addresses were registered. The short term solution was to
lower the expire interval to reduce the number of stored contact addresses.
Cheers,
Daniel
On 10/04/05 17:53, Dan Pascu wrote:
>On Monday 03 October 2005 21:01, Daniel-Constantin Mierla wrote:
>
>
>>Hello,
>>
>>the call-id is not reliable, as the rfc says "SHOULD", I also checked
>>
>>
>
>It doesn't matter how reliable is. The whole point of my proposal was to
>improve the behavior for those phones that respect this recommendation
>and keep the current behavior for those that don't. I didn't propose that
>we replace the current lookup-by-contact with lookup-by-callid, I
>proposed to use the 2 together to improve the accuracy.
>
>And as a matter of fact 98% of the phones implement this recommendation
>which means it would improve behavior for 98% of the cases. I'd say it's
>reliable enough to worth it.
>
>
>
>>that the sip phones usually uses the same call-id, but in the case of a
>>sipphone crash, upon restart/reboot you will get another SIP id, which,
>>
>>
>
>This is not even an example against using callid. If the phone crashed/is
>restarted it will have a new callid indeed but most likely the same
>contact and because we use callid together with contact in the lookup we
>will correctly identify the usrloc entry even across restarts/crashes.
>
>Now even if we assume it wouldn't identify them correctly (but it does)
>still this is a marginal behavior not the rule. How many times does a
>phone crash or is restarted in a row? 5? 10? 20? Then if both callid and
>contact are changed you end up with 20 records in usrloc for the
>registration period. This happens so rarely I don't care.
>But currently I have phones that because of broken NATs have 200 contacts
>in my database 24/7 for a single phone. 20 contacts on occasion do not
>bother me. 200 all the time do.
>
>
>
>>indeed, should be a new registration, but looking from user's point of
>>view is an update. I think that is the reason the RFC keeps "SHOULD"
>>
>>
>
>It will be an update, because failing callid match it will use contact
>match which will succeed.
>
>
>
>>there, although would have been more convenient to be "MUST".
>>
>>There is a draft which adds an extension to identify the devices:
>>http://www.softarmor.com/wgdb/docs/draft-jennings-sipping-instance-id-0
>>1.txt
>>
>>It will be added when after the release.
>>
>>
>
>That's very nice, but I don't think this will fix the 200 contacts
>problem, or any other of the mentioned problems, since this draft is
>currently not implemented by any phone.
>And in 2 years from now I don't think that more than 40% of phones will
>use this.
>
>The point is to improve behavior with existing phones and alleviate
>current problems. Using callid together with contact can do this right
>now and as phones will start implementing that draft (which may take a
>long time) they will benefit from that solution which will be even
>better. But I don't see any of these mutually exclusive, so why shouldn't
>we use all of them together if they can improve things?
>
>
>
>>Cheers,
>>Daniel
>>
>>
>
>
>
>
More information about the Devel
mailing list