praveen dandin wrote: > Hi all, > One more query is added to the list of queries as compared to previous > mail:) > > */praveen dandin <[EMAIL PROTECTED]>/* wrote: > > Hi Paul/Harsha/Brett, > What I understood from the discussion is : If one session timer > negotiation is under process (received through INVITE ), processing > the another session timer offer received in UPDATE everytime will > affect the session-timer functionality of UAS. Is my > understanding correct?
IMO the issues you raise were not considered during the development of session timer, and it doesn't really address them. As a result there are some ambiguities. Session Timer was first specified a very long time ago, I think before 3261. But it also wasn't completed for a long time. It was retrofitted with support for UPDATE before it became an RFC, but a lot of these issues weren't appreciated. As a result, we can speculate on the best way to handle these things, but it may require a new RFC, or at least a BCP, to have any confidence that these things work. Normally in such a case I would just recommend that you try to avoid the situation. Unfortunately its not really possible to avoid in this case. In particular, if you start a session timer negotiation in an initial invite, and then need to use UPDATE for additional o/a negotiation before completion of that invite, then you can't really avoid this. > I have few more queries on this: > 1) Suppose UAC sends INVITE with SDP offer and Session-Expires value > and receives SDP answer in 180. Now UAC sends UPDATE with second SDP > offer and Session-Expires header in it. Now if UAS tries to send 200 > OK for UPDATE with the SDP answer (for second offer) /without/ the > Session-Expires does it not violate atomicity of request processing > as mentioned in section 8.2 of RFC 3261: > " > Note that request processing is atomic. If a request is accepted, > all state changes associated with it MUST be > performed. If it is rejected, all state changes MUST NOT be performed." > ?? Note that this isn't just a matter of whether UAC is using Session-Expires. (IMO there are no good reasons for it ever to do so.) But a proxy in the middle may include S-E, which then presents the same issues. I do think the UAC and UAS need to do the negotiation in the UPDATE, but also in the INVITE. They will have to work hard to ensure that the values negotiated are consistent. It would be very messy if the UPDATE and the INVITE negotiated inconsistent values. (E.g. one agreeing on a value less than the minimum agreed to in the other exchange.) > 2) There is no mention of overlapping/ pending refresh requests in > the RFC 4028. How it should be handled? For example, what should be > done if an UPDATE is received while the another UPDATE refresh > request is under process at UAS ( when both requests have > Session-Expires values).? You could try using a 491 response, even if there is no o/a in the UPDATE. I'm not certain that is entirely kosher, but I think it is at least within the *spirit* of the 491 response. > 3) How can the above issue (2) be handled in case of early dialogs > and confirmed dialogs? I think there is nothing more here that I haven't mentioned above. > 4) Can UAS send the negative (4xx-5xx) response to the UAC if it > receives the UPDATE with Session-Expires in early dialog? [ here > note that INVITE also requested session-timer by including the > Session-Expires header]. Certainly a 4xx/5xx may be returned. But it might have broader consequences, such as killing the whole session. 491 is probably the best if going this way. For instance, if the UPDATE is in an early dialog and is also being used for o/a, then rejecting it might well cause the call to fail. > 5) Is there any RFC statement which says that "An outstanding > session-expires mechanism should not prevent another from > occurring." ?. If so, please let me know. Not that I know of. > *6) Can Session-Expires be added in early UPDATE? If yes, then what > is its purpose?* AFAIK this has not been specified, in either a positive or negative way. My gut reaction is that it would be best not to do so with an UPDATE that falls during an INVITE, whether it was an initial INVITE or a reINVITE. But that flies in the face of the general logic that says every INVITE or UPDATE renegotiates the session timeer. Its complicated no matter which way you go. This is an area that seems deserving of a new draft. Paul > Thanks, > Praveen Dandin > > > */Paul Kyzivat <[EMAIL PROTECTED]>/* wrote: > > This isn't compatible with the current approach because in the > current > approach *every* INVITE or UPDATE impacts the session timer, > either by > renegotiating it or by turning it off. > > Paul > > Harsha. R wrote: > > Brett, > > > >> An outstanding session-expires mechanism should not prevent > another from > >> occurring. However there is a potential for race conditions > concerning > >> knowing if UPDATE sent/received prior to INVITE 200 response. > > > > Why cant this be addressed say using something like the SDP > > offer/answer semantics? > > a subsequent session refresh cant be made unless the previous > request > > has been answered? > > > > Regards > > Harsha > > _______________________________________________ > > Sip-implementors mailing list > > Sip-implementors@lists.cs.columbia.edu > > https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors > > > > > ------------------------------------------------------------------------ > Bring your gang together - do your thing. Start your group. > > <http://in.rd.yahoo.com/tagline_groups_2/*http://in.promos.yahoo.com/groups> > > > ------------------------------------------------------------------------ > Bring your gang together - do your thing. Start your group. > <http://in.rd.yahoo.com/tagline_groups_2/*http://in.promos.yahoo.com/groups> > _______________________________________________ Sip-implementors mailing list Sip-implementors@lists.cs.columbia.edu https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors