Re: [Sip-implementors] Query on RFC 3680.
I agree with all Dale has said on this. Adding to that - it is also possible that there is *another* device that is sending register or unregister requests for the *same* contacts as your UA. Its not a *likely* scenario in most cases, but it is *possible*. This can lead to all sorts of odd state transitions. Just get over it - code your UA to cope with the responses it gets, rather than just the ones it wishes to get. Thanks, Paul Dale Worley wrote: >> <> >> 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. > > It doesn't matter *why* a server would do this. You will, sooner or > later, run into a server that does. If your UA depends on a server not > doing this, your UA will break. > >> 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? > > There certainly are such servers. I do not personally know of one at > this moment. But RFC 3261 permits a server to behave this way, so there > certainly are some correctly functioning servers that do so. > >> 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. > > However RFC 3680 says that the state of each registration is given > individually. Hence some server will present different states for two > contacts in situations where their state is not precisely synchronized. > > 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
Re: [Sip-implementors] Query on RFC 3680.
> <> > 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. It doesn't matter *why* a server would do this. You will, sooner or later, run into a server that does. If your UA depends on a server not doing this, your UA will break. > 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? There certainly are such servers. I do not personally know of one at this moment. But RFC 3261 permits a server to behave this way, so there certainly are some correctly functioning servers that do so. > 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. However RFC 3680 says that the state of each registration is given individually. Hence some server will present different states for two contacts in situations where their state is not precisely synchronized. Dale ___ Sip-implementors mailing list Sip-implementors@lists.cs.columbia.edu https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors
Re: [Sip-implementors] Query on RFC 3680.
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." <> 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? <> 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
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." 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
Re: [Sip-implementors] Query on RFC 3680.
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. 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? Regards, Krish -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Paul Kyzivat Sent: Saturday, December 06, 2008 2:43 AM To: [EMAIL PROTECTED] Cc: sip-implementors@lists.cs.columbia.edu Subject: Re: [Sip-implementors] Query on RFC 3680. [EMAIL PROTECTED] wrote: >From: "Naarumanchi Kaushik" <[EMAIL PROTECTED]> > >According to RFC 3680, when a user subscribes for reg event package, he >would receive notifications for any state change in the registered contacts >under that AOR. > >If an AOR is registered with multiple contacts and then subscribed to reg >event package, is it possible to receive notifications with different events >for these contacts or do we get the same event for all the contacts? > > The state of the registration of a contact is independent of the state > of the registration of any other contact -- other than the fact that > both registrations are for the same AOR. So the sequence of events > you see for one contact has nothing to do with the sequence of events > you see for another contact. But you don't register for notifications about a particular contact. So any given notification will show all the contacts that are present at that time. So, if A registers, then B, then C, and then B unregisters, you should see notifications that contain: A, A+B, A+B+C, A+C. Paul ___ 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
Re: [Sip-implementors] Query on RFC 3680.
[EMAIL PROTECTED] wrote: >From: "Naarumanchi Kaushik" <[EMAIL PROTECTED]> > >According to RFC 3680, when a user subscribes for reg event package, he >would receive notifications for any state change in the registered contacts >under that AOR. > >If an AOR is registered with multiple contacts and then subscribed to reg >event package, is it possible to receive notifications with different > events >for these contacts or do we get the same event for all the contacts? > > The state of the registration of a contact is independent of the state > of the registration of any other contact -- other than the fact that > both registrations are for the same AOR. So the sequence of events > you see for one contact has nothing to do with the sequence of events > you see for another contact. But you don't register for notifications about a particular contact. So any given notification will show all the contacts that are present at that time. So, if A registers, then B, then C, and then B unregisters, you should see notifications that contain: A, A+B, A+B+C, A+C. Paul ___ Sip-implementors mailing list Sip-implementors@lists.cs.columbia.edu https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors
Re: [Sip-implementors] Query on RFC 3680.
From: "Naarumanchi Kaushik" <[EMAIL PROTECTED]> According to RFC 3680, when a user subscribes for reg event package, he would receive notifications for any state change in the registered contacts under that AOR. If an AOR is registered with multiple contacts and then subscribed to reg event package, is it possible to receive notifications with different events for these contacts or do we get the same event for all the contacts? The state of the registration of a contact is independent of the state of the registration of any other contact -- other than the fact that both registrations are for the same AOR. So the sequence of events you see for one contact has nothing to do with the sequence of events you see for another contact. Dale ___ Sip-implementors mailing list Sip-implementors@lists.cs.columbia.edu https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors
Re: [Sip-implementors] Query on RFC 3680.
Kaushik To better explain ur query, consider the following scenario User A has 3 registered contacts: A_1, A_2 and A_3. Say user B has subscribed to A - more precisely to contacts A_1 and A_2. Then as per procedures in RFC 3680, B would be notified whenever there is a registration state change for either A_1 or A_2. Say A_1 transitions from "active" to "inactive" state with event as "rejected" then B would get notification as: sip:[EMAIL PROTECTED] Similarly say A_2 has transitioned to "inactive" with event as "deactivated", then B would get notification as: sip:[EMAIL PROTECTED] Regards Ranjit -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Naarumanchi Kaushik Sent: Friday, December 05, 2008 2:34 PM To: sip-implementors@lists.cs.columbia.edu Subject: [Sip-implementors] Query on RFC 3680. Hi All, According to RFC 3680, when a user subscribes for reg event package, he would receive notifications for any state change in the registered contacts under that AOR. If an AOR is registered with multiple contacts and then subscribed to reg event package, is it possible to receive notifications with different events for these contacts or do we get the same event for all the contacts? And if we could get multiple events, in what scenarios could this happen? For eg. If UserA registers with two contacts. Is it possible to receive a rejected event on first contact and deactivated event on second contact. -- N.V.S.Kaushik. ___ 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
Re: [Sip-implementors] Query on RFC 3680.
Kaushik To better explain ur query, consider the following scenario User A has 3 registered contacts: A_1, A_2 and A_3. Say user B has subscribed to A - more precisely to contacts A_1 and A_2. Then as per procedures in RFC 3680, B would be notified whenever there is a registration state change for either A_1 or A_2. Say A_1 transitions from "active" to "inactive" state with event as "rejected" then B would get notification as: sip:[EMAIL PROTECTED] Similarly say A_2 has transitioned to "inactive" with event as "deactivated", then B would get notification as: sip:[EMAIL PROTECTED] Regards Ranjit -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Naarumanchi Kaushik Sent: Friday, December 05, 2008 2:34 PM To: sip-implementors@lists.cs.columbia.edu Subject: [Sip-implementors] Query on RFC 3680. Hi All, According to RFC 3680, when a user subscribes for reg event package, he would receive notifications for any state change in the registered contacts under that AOR. If an AOR is registered with multiple contacts and then subscribed to reg event package, is it possible to receive notifications with different events for these contacts or do we get the same event for all the contacts? And if we could get multiple events, in what scenarios could this happen? For eg. If UserA registers with two contacts. Is it possible to receive a rejected event on first contact and deactivated event on second contact. -- N.V.S.Kaushik. ___ 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
Re: [Sip-implementors] Query on RFC 3680.
Hi IMO it is possible to receive notifications with different events for different contacts bound to a particular AOR. Consider Section 4.7.1 of RFC 3680 4.7.1. The Registration State Machine In addition to this state machine, each registration is associated with a set of contacts, each of which is modeled with its own state machine. Unlike the FSM for the address-of-record, which exists even when no contacts are registered, the per-contact FSM is instantiated when the contact is registered, and deleted when it is removed. The diagram for the per-contact state machine is shown in Figure 2. This FSM is identical to the registration state machine in terms of its states, but has many more transition events. Further .. 4.7.2. Applying the state machine The server MAY generate a notification to subscribers when any event occurs in either the address-of-record or per-contact state machines, except for the transition from terminated to init in the address-of- record state machine. As a general rule, when a subscriber is authorized to receive notifications about a set of registrations, it is RECOMMENDED that notifications contain information about those contacts which have changed state (and thus triggered a notification), instead of delivering the current state of every contact in all registrations. However, notifications triggered as a result of a fetch operation (a SUBSCRIBE with Expires of 0) SHOULD result in the full state of all contacts for all registrations to be present in the NOTIFY. Regards, Tarun Gupta -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Naarumanchi Kaushik Sent: Friday, December 05, 2008 2:34 PM To: sip-implementors@lists.cs.columbia.edu Subject: [Sip-implementors] Query on RFC 3680. Hi All, According to RFC 3680, when a user subscribes for reg event package, he would receive notifications for any state change in the registered contacts under that AOR. If an AOR is registered with multiple contacts and then subscribed to reg event package, is it possible to receive notifications with different events for these contacts or do we get the same event for all the contacts? And if we could get multiple events, in what scenarios could this happen? For eg. If UserA registers with two contacts. Is it possible to receive a rejected event on first contact and deactivated event on second contact. -- N.V.S.Kaushik. ___ Sip-implementors mailing list Sip-implementors@lists.cs.columbia.edu https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors "DISCLAIMER: This message is proprietary to Aricent and is intended solely for the use of the individual to whom it is addressed. It may contain privileged or confidential information and should not be circulated or used for any purpose other than for what it is intended. If you have received this message in error,please notify the originator immediately. If you are not the intended recipient, you are notified that you are strictly prohibited from using, copying, altering, or disclosing the contents of this message. Aricent accepts no responsibility for loss or damage arising from the use of the information transmitted by this email including damage from virus." ___ Sip-implementors mailing list Sip-implementors@lists.cs.columbia.edu https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors