Inline a couple of clarifications -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of [EMAIL PROTECTED] Sent: Sunday, December 07, 2008 10:10 PM To: sip-implementors@lists.cs.columbia.edu Subject: Re: [Sip-implementors] Query on RFC 3680.
From: "P Sudarshanakrishnan-A14377" <[EMAIL PROTECTED]> Assuming A registers contacts A1, A2. When a network entity initiates a notification I am not sure if there is a possibility that it indicates different attributes (say rejected for A1 and probation for A2) for the individual contacts A1 & A2. Assuming both registrations are done in one REGISTER message, they either both succeed or both fail. But even then, there is no requirement that the registrar treat them identically. For instance, the registrar may return different expires values for different contacts. If there is a probation process, the two contacts may be treated differently by it. Etc. And there is (as far as I know) no reason that the reg events may not report the registration of A1 and the registration of A2 in separate events (although they would be closely-spaced): First "no contacts", then "A1 registered", and then "A1 registered, A2 registered". If the device register the same expires value for A1 and A2 and intends to keep them both registered with appropriate refreshes I don't see why the server would need to indicate different states for those contacts ever. Any use cases? If the question is "Is there something the UA can do to ensure that the states of A1 and A2 are always the same?" the answer is "No." <<Krish-Start>> The contacts A1 & A2 from the UA's perspective are just different ways to get a call delivered to it. UA does not intend to prioritize one over the other. What would be the need for the server in this case to return different expires. While I understand that theoretically it is possible I am not sure I understand why a server would want to (or need to) treat these different. I understand that there different notifications have a subset of contacts. However let us take an example NOTIFY-1 has A1 state as deactivated. UA is supposed to kill all dilogs (at least as per 24.229 and create a fresh registration. Should the (re)REGISTER have only A1. It still wants to & can receive messages on A2. Assuming NOTIFY-2 comes after (re)REGISTER was sent by the UA it is an un-necessary race condition to handle for the UA. Here are the questions I have 1. Are there servers out in the world that treat the contacts from the same device independently and generate NOTIFYs with different state attributes? If so, in what cases? >> Server implementations probably don't need to track the device and operate on the AOR and associated contacts and if so, I don't see a case for different state attributes for contacts associated with the same device 2. I can understand the need for a state attribute to be present at the individual contact level in the XML (Two devices can register the same AOR and have independent life cycles). However from a UA that needs to handle reg-events for Contacts that are all associated with the AOR I see unified handling of all contacts as simpler and possible. Can some one point out cases otherwise that would break this? <<Krish-End>> If the question is "Can the registrar assume that A1 and A2 will always have the same state because it knows the UA will be carefully attempt to keep them the same?" the answer is "No, because some UA will inevitably do something that desynchronizes the states of A1 and A2." You really have to handle the states of A1 and A2 individually. Dale _______________________________________________ Sip-implementors mailing list Sip-implementors@lists.cs.columbia.edu https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors _______________________________________________ Sip-implementors mailing list Sip-implementors@lists.cs.columbia.edu https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors