From: "Bob Penfield" <[EMAIL PROTECTED]>

   This is not correct. If the two contact addresses are different, there will 
   still be two bindings for the address-of-record. The fact that the two 
   REGISTER messages have the same Call-ID does not cause the second REGISTER 
   to "replace" the binding of the first unless it is the same address.

Ugh, yes, that's my mistake.  The rules are in section 10.3, section
7, though they're not clearly presented.

The Call-Id and CSeq values (which define the pseudo-dialogs) are used
to determine which REGISTERs can revise the bindings created by which
REGISTERs.  The processing is done on a per-contact-URI basis, if two
REGISTERs that contain the same contact have the same Call-Id, the one
with the largest CSeq wins, but if the two REGISTERs have different
Call-Ids, the one that arrives last wins.

So if one pseudo-dialog contains updates for two contacts, each
contact is updated independently of the other, as if the REGISTERs not
mentioning that contact don't exist.

In the perverse case of two pseudo-dialogs containing updates for one
contact, the likely result is that the last REGISTER to arrive at the
registrar will take precedence, rather than the registrar detecting
out-of-order REGISTERs using the CSeq value.

Dale
_______________________________________________
Sip-implementors mailing list
[email protected]
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors

Reply via email to