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: 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@xxxxxxxx2009-02-17 21:50
收件人Christer Holmberg <christer.holmberg@xxxxxxxxxxxx>, wang.libo@xxxxxxxxxx 抄送sipping@xxxxxxxx 主题Re: 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: 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.
_______________________________________________ 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