I agree, a change of reaction to transport error is a "game" with edge-conditions. I also agree that issuing of a new special and only transport error fixing RFC makes no sense - but what about in situation when a new fixing RFC is in progress to address another error? I think it makes sense to think about it in INV server transaction case.
As you responded, the change of reaction to transport error in Completed and Accepted states (saving current states) solves possible different final response(s) and due to this it may be important accept this change. I have tried to think about it also for Proceeding state, but I don't see any important reason for this change. I have found out only these (just improving) minor reasons: 1) if the TU receives transport error notification, and the TU successfully initiate repair of transport layer, how the TU may send a response when the transaction layer is in the Terminated state? Note there is no sure that retransmission(s) of INV request will happen (especially in case when a 1xx response has been already successfully received by a UAC and there is no NAT between UAC and UAS). 2) I am not sure (it is not clearly specified) who (transaction layer or TU) behaves according to RFC 3263, section 5, page 12, paragraph 1. If this is the job of TU, and a transport error happens, and the transaction layer is destroyed, how the TU can send a response to a new IP:port pair? Kolomaz -----Original Message----- From: Robert Sparks [mailto:[EMAIL PROTECTED] Sent: 8. září 2008 22:31 To: Kolomaznik Jan Cc: [email protected] List Subject: Re: [Sip] draft-sparks-sip-invfix-02 (was Re:draft-sparks-sip-invfix-01: comments and questions) Inline. On Sep 8, 2008, at 3:05 AM, Kolomaznik Jan wrote: > OK, but if we want to receive and mask all request retransmissions > on transaction layer, this problem is more general. Than we probably > need to inform TU about transport error the next version of the draft (hopefully out later today) will do this. > , create a new state, I don't see the need fo rthis > and stay there enough time to absorb all retransmissions of INVITE > request. The existing Accepted state does this. > And this is needed for transport error reaction not only in > Accepted state, but also for transport error in Proceeding and > Completed states. Those states already transition to Terminated on transport error - (they did so in 3261). I think I see what you're getting at on keeping state after this transport error is noticed though - I don't know about Proceeding, but if you're in Completed, throwing away the state when you try to send your final response and the transport complains may not be the right thing to do. Let me poke at that for a little while. > There also may be a question whether to inform TU about transport > error in Proceeding and Completed states while there is probably no > state of TU in these states of transaction layer. That TU has decided to send a provisional or failure-final response in those cases. There's a chance there is application state being maintained as a result (or precondition) to those decisions, so letting the TU know is important. Again, this was 3261 behavior already. > > > Please note that if we accept that the SIP transaction layer has to > receive and mask all request retransmissions when it detects a > transport error, then also non-INVITE server transaction should be > changed - reaction to transport error in Proceeding and Completed > states. Will look. Its probably worth pulling up and asking if trying to address this kind of edge-condition failure is worth the effort. The changes we're talking about here won't make something succeed later - its not going to help the network or application repair/ recover from whatever transport error is being reported. What it will do is help prevent an application from re-performing some work based on a retransmission (possibly causing different resulting end-states). That might be enough justification on its own, but its worth asking if this is really a big enough problem to take on the fix? > > > Kolomaz > > > -----Original Message----- > From: Robert Sparks [mailto:[EMAIL PROTECTED] > Sent: 5. září 2008 22:17 > To: Kolomaznik Jan > Cc: [email protected] List > Subject: Re: [Sip] draft-sparks-sip-invfix-02 (was Re:draft-sparks- > sip-invfix-01: comments and questions) > > Nits fixed. > > For your suggestion 4 below: > > It would not be the right thing to transition to Terminated - we want > the transaction state to still be around to receive any > retransmissions of the INVITE, but it might make sense to tell the TU > that its 2xx's aren't going anywhere. I'll work that into the figure > and text unless someone objects here quickly. > > RjS > > On Jul 23, 2008, at 10:27 AM, Kolomaznik Jan wrote: > >> I have just a couple of nits: >> >> 1. State labeled Completed on Figure 2 should be labeled Accepted >> >> 2. section 7.3 paragraph 1 contains "... receiving any response SIP >> response ..." >> >> 3. While whole section 18 in RFC 3261 deals with SIP transport layer >> regardless transaction stateful or stateless behavior, it could be >> explicitly clarified that suggested change of section 18.1.2 (in >> invfix >> section 8.8) tells just about stateful behavior. >> >> 4. INVITE server state machine doesn't react to transport error in >> Accepted state. It could contain transition from Accepted to >> Terminated >> state conditioned by transport error - analogy to transitions from >> Proceeding and Completed states. >> >> Jan >> _______________________________________________ Sip mailing list https://www.ietf.org/mailman/listinfo/sip This list is for NEW development of the core SIP Protocol Use [EMAIL PROTECTED] for questions on current sip Use [EMAIL PROTECTED] for new developments on the application of sip
