Tang Xi wrote:
> Hi Dale, here is another question for register request:
> 
>   if we have 1 binding for AOR_1 to (callID_1, contactURI_1, ...)
>   and we receive another REGISTER request for AOR_1 with callID_2 and
>   contactURI_2 but the expiration time is not zero,
>   should we just update AOR(callID_1, contactURI_1) to AOR( (callID_2,
> contactURI_2)?

No

  or  add a new binding and the binding becomes
> to AOR_1( (callID_1, contactURI_1), (callID_2, contactURI_2))?

Yes. This should be clear from 3261.

        Paul

> thanks
> 
> 
> On 2/11/07, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
>>   From: Marco Ambu <[EMAIL PROTECTED]>
>>
>>   implementing a registrar server we found some problems with this part of
>>   RFC 3261 - 10.3 (page 66):
>>   "For each address, the registrar then searches the list of
>>   current bindings using the URI comparison rules. If the
>>   binding does not exist, it is tentatively added. If the
>>   binding does exist, the registrar checks the Call-ID value. If
>>   the Call-ID value in the existing binding differs from the
>>   Call-ID value in the request, the binding MUST be removed if
>>   the expiration time is zero and updated otherwise."
>>
>>   For example if we have 1 binding for AOR_1 to (callID_1, contactURI_1,
>> ...)
>>   and we receive another REGISTER request for AOR_1 with callID_2 and
>>   contactURI_1 but the expiration time is not zero, we should update the
>>   binding.
>>
>>   Must we update also the call-ID value? from CallID_1 to callID_2?
>>
>> Yes, you should, and you should store the CSeq.
>>
>> I believe that the point of the rule is not that a change in call-id
>> causes something strange to be done in regard to updating the binding.
>> Note that "must be removed if the expiration time is zero and updated
>> otherwise" is what would happen with an ordinary REGISTER.  The idea
>> is that if the call-id changes, the usual check for out-of-order CSeq
>> values is bypassed.  If the call-id changes, the last received
>> REGISTER is assumed to update any previously received REGISTER.  But
>> if the call-ids are the same, ordering is done via cseq.
>>
>> This rule makes the situation of a rebooted UA work correctly.
>>
>> Dale
>> _______________________________________________
>> Sip-implementors mailing list
>> [email protected]
>> https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors
>>
> _______________________________________________
> Sip-implementors mailing list
> [email protected]
> https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors
> 
_______________________________________________
Sip-implementors mailing list
[email protected]
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors

Reply via email to