答复: About "rollback of re-Invite" - case with precondition and non-precondition

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




Dear Christer Holmberg

In my draft, Offer/Answer pair is the smallest transaction. I do not prefer to divide it into m lines commitment separately.

And in RFC3264, there is no definition of transaction smaller than Offer/Answer pair, so I use Offer/Answer pair as the base of nested transaction.

Your understanding is much near ours :)

For the reason I mentioned above, the commitment of session modification should be together for all m-lines of one Offer/Answer.
And if the Offer/Answer is by UPDATE/200OK, and it is a new modification, your presentation is correct. And we have the same understanding of semantics of "a new modification from the previous one".

But if the Offer/Answer is in Re-INVITE, such as Offer(in Re-INVITE)/Answer(in 18x) or Offer(in 18x)/Answer(in PRACK), so this Offer/Answer(or say this modification) is triggered by Re-INVITE. And 2xx of Re-INVITE is the late commitment of this modification. This is the property I called "late commitment of 200OK of Re-INVITE", which is defined in RFC3261 and emphasized again in RFC3311. It is really necessary for user's rejecting of session modification. So, this case, the modification need rollback.

And if there is not new modification (such as the one in UPDATE/200OK), and the new one committed, the previous one(triggered by Re-INVITE) will be discarded, no matter the final response. And curently, if the Offer/Answer in UPDATE/200OK is not precondition notification, it would be a new modification. And this obeys the issue 3GPP concerns.


Gaoyang




"Christer Holmberg" <christer.holmberg@xxxxxxxxxxxx>

2009-02-18 18:56

收件人
<gao.yang2@xxxxxxxxxx>, <wang.libo@xxxxxxxxxx>, <sipping@xxxxxxxx>
抄送
主题
[Sipping] About "rollback of re-Invite" - case with precondition and non-precondition





Hi,
 
Let's look into this precondition proposal.
 
There are some issues that needs to be taken into consideration.
 
Issue 1:
-----------
 
Assume I send a re-INVITE. I have two m- lines. For one of the m- line changes I use preconditions, and for the other m- line change I do NOT use preconditions.
 
Then I receive a relaible 18x, and the first offer/answer transaction has succeeded.
 
Then the re-INVITE fails. Now, according to the ZTE proposal, the precondition m- line is falled back to the value before the re-INVITE was changed. The non-precondition m- line is not falled back, however, since the change was comitted in the re-INVITE/18x o/a transaction.
 
So, we can NOT say that the whole SDP will be falled back to the state before the re-INVITE was sent. The precondition m- line is falled back, but the non-precondition m- line is NOT falled back.
 
Is that a correct understanding?
 
Regards,
 
Christer
 
 
 
 
 
 
 
 


From: gao.yang2@xxxxxxxxxx [mailto:gao.yang2@xxxxxxxxxx]
Sent:
18. helmikuuta 2009 2:46
To:
Elwell, John
Cc:
Christer Holmberg; sipping@xxxxxxxx; sipping-bounces@xxxxxxxx; wang.libo@xxxxxxxxxx
Subject:
答复: Re: [Sipping] About "rollback of re-Invite"



Dear Elwell John


From SIP signal level, UPDATE transaction have nothing to do with Re-INVITE transaction. And the nested-transaction is the natural property of session modification, so the concept of nested-transaction is application level issue. And that's why I emphasize that we MUST open the door for evolution and extension in future.


1. Precondition uage

o Precondition defined in RFC3312(Quality-of-Service precondition)\4032(Precondition Framework)\5027(Security Preconditions) is a typical nested-transaction with clear semantics of suspending\resuming session modification.


o Another property of Re-INVITE is "late commitment of 200OK of Re-INVITE", which is defined in RFC3261 and emphasized again in RFC3311. And it is really necessary for user's rejecting of session modification.


Based on the two rule mentioned above, as precondition notification is part of the original modification triggered by Re-INVITE, the 2xx final response of Re-INVITE is the commitment and non-2xx final response is the rejecting. So, rollback for Re-INVITE is clear for precondition usage.


 
2. Non precondition usage

If the Offer  during(not in) the Re-INVITE, such as UPDATE , is a new modification request, then


o if the UA can accept the UPDATE, and after Offer/Answer, the modification MUST be committed.

o if the UA can not accept the UPDATE(for example, can not accept it without the user's permition), the UA MUST reject this UPDATE.


The proof of rule one is that: "We have no reason to say that the the new successful modification should be commited by the signal(2xx of Re-INVITE) associate to the original modification request(Re-INVITE). And in signal level, Re-INVITE and UPDATE is independent transaction(SIP). As the new modification commitment and its state have nothing to do whit final resopnse of Re-INVITE, the session state is clear." And I mentioned this in the draft.


I MUST point out that rule two is the way to get rid of a new modification while the orignal one in pending state. It is a choice, but not a constraint.


Gaoyang




"Elwell, John" <john.elwell@xxxxxxxxxxx>
发件人:  sipping-bounces@xxxxxxxx

2009-02-17 21:50


收件人
Christer Holmberg <christer.holmberg@xxxxxxxxxxxx>, wang.libo@xxxxxxxxxx
抄送
sipping@xxxxxxxx
主题
Re: [Sipping] About "rollback of re-Invite"







I haven't been following all of this discussion, but there is nothing explicitly to bind an UPDATE transaction to a parent INVITE or re-INVITE transaction. It is implicit in the vast majority of cases, but timing issues break this, particularly where unreliable transport is concerned. For example, if UPDATE arrives while awaiting ACK, is it because UPDATE was sent before the ACK, or because the ACK was lost? If UPDATE arrives before sending a final response to re-INVITE, is it because UPDATE is nested within the re-INVITE transaction, or has there been a CANCEL request that has been lost and will be repeated later? Without explicit binding, the only consistent thing to do is to treat each transaction separately, and not roll back. If this means pre-conditions are broken, the focus should be on fixing pre-conditions somehow.

 

John

 


From: sipping-bounces@xxxxxxxx [mailto:sipping-bounces@xxxxxxxx] On Behalf Of Christer Holmberg
Sent:
16 February 2009 18:00
To:
wang.libo@xxxxxxxxxx
Cc:
sipping@xxxxxxxx
Subject:
Re: [Sipping] About "rollback of re-Invite"


Hi,


>
The key point of this discussion is how to find out the proper state of the rollback.
>
I think ,Some rules of using re-invite may be helpful.Such as, we restrict only
>one offer/answer pair in a re-invite,

 

I don't think we can do that, because at least some pre-condition scenarios require more offer/answer pairs.

 

And, even if you would only allow e.g. a single UPDATE within the re-INVITE, you would still have the same question: if the UPDATE suceeds, but the re-INVITE then fails, what is the state?

 

Regards,

 

Christer

 


"Christer Holmberg" <christer.holmberg@xxxxxxxxxxxx> 写于 2009-02-16 21:41:59:

>
> Hi,
>
>    
> >>I also pay high attention to the topic of "rollback of re-Invite".
> >>As lots of service is implemented on the network using SIP, and
> >>different ways may be carried out by different corporations, it's
> necessary to define
> >>a complete and clear method to solve the failure when the unsuccessful
> re-Invite
> >>happens.
> >  
> >I agree, and we thought that having a generic rule, not related to
> >specific use-cases, would be the most clear, clean and complete
> >solution.
> >  
> >[gaoyang] It is simple and clear. But it disregard nature property of
> nested transaction. I concluded incorrectness and drawback of such way.
> More details in
> http://www.ietf.org/internet-drafts/draft-gaoyang-sipping-session-state-
> analysis-01.txt.
>
> I agree it's not the most "beautiful" solution - that's why we spent a
> long time discussing it.
>    
> >>And the problems  "Commit any session parameters that have been
> sucessfully changed"
> >>metioned in "draft-gaoyang-sipping-session-state-analysis-01.txt" need
> further discuss,
> >>I think.
> >  
> >The draft does not define a generic rule. It more or less says that
> >every time there is a new use-case, the offer/answer rollback aspects
> >needs to be documented for that use-case. I think that is something we
> >wanted to avoid.
> >  
> >[gaoyang] It is not use-case oriented, but rules/definition oriented.
> >And the definition of how o/a pairs form nested transaction should be
> open for future.
> >Such as "a=chain" and so on extension can form more o/a pairs as nested
> transaction. It is not use-case.
> >We can have a further talk.
> >  
> >If I understand chapter 4.3.3 correct, it says that if you have a
> >pending re-INVITE transaction, a NEW modification must be sent in a
> >re-INVITE request. That way we would get rid of the race condition
> >problem. That is an interesting point. I guess the question is whether
> >it's too lake to make such a rule.
> >  
> >[gaoyang] Is the "lake" late? I think it can be BCP, not rules :).
>
> Perhaps, yes.
>
> Regards,
>
> Christer
>    
>


--------------------------------------------------------
ZTE Information Security Notice: The information contained in this mail is solely property of the sender's organization. This mail communication is confidential. Recipients named above are obligated to maintain secrecy and are not permitted to disclose the contents of this communication to others.
This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you have received this email in error please notify the originator of the message. Any views expressed in this message are those of the individual sender.
This message has been scanned for viruses and Spam by ZTE Anti-Spam system.

_______________________________________________
Sipping mailing list  https://www.ietf.org/mailman/listinfo/sipping
This list is for NEW development of the application of SIP
Use sip-implementors@xxxxxxxxxxxxxxx for questions on current sip
Use sip@xxxxxxxx for new developments of core SIP


--------------------------------------------------------
ZTE Information Security Notice: The information contained in this mail is solely property of the sender's organization. This mail communication is confidential. Recipients named above are obligated to maintain secrecy and are not permitted to disclose the contents of this communication to others.
This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you have received this email in error please notify the originator of the message. Any views expressed in this message are those of the individual sender.
This message has been scanned for viruses and Spam by ZTE Anti-Spam system.


--------------------------------------------------------
ZTE Information Security Notice: The information contained in this mail is solely property of the sender's organization. This mail communication is confidential. Recipients named above are obligated to maintain secrecy and are not permitted to disclose the contents of this communication to others.
This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you have received this email in error please notify the originator of the message. Any views expressed in this message are those of the individual sender.
This message has been scanned for viruses and Spam by ZTE Anti-Spam system.
_______________________________________________
Sipping mailing list  https://www.ietf.org/mailman/listinfo/sipping
This list is for NEW development of the application of SIP
Use sip-implementors@xxxxxxxxxxxxxxx for questions on current sip
Use sip@xxxxxxxx for new developments of core SIP

[Index of Archives]     [IETF Announce]     [IETF Discussion]     [Linux SCSI]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Big List of Linux Books]

  Powered by Linux