Subject: Re: [sipcore] Dialog state - Scope in draft-ietf-sipcore-reinvite

From: Paul Kyzivat <[email-masked]>
Date: Wed, 21 Jul 2010 14:47:20 -0400

Gonzallo,

Sorry it took me so long, but I finally got time to read the new version 
carefully.

This is looking good. I have a few nits, and a couple of things that 
might be more than nits.

3.1:

nit:
s/The UAS is automatically configured to reject video streams/The UAS is 
configured to automatically reject video streams/

3.3:

    A change to the session state is considered to have been executed if
    an offer/answer without preconditions [RFC4032] for the stream has
    completed successfully or the UAs have exchanged media using the new

"exchanged" is a tricky word here, and could use some added definition.

A UA can know if it has *sent* media, and it can know if it has 
*received* media. If media has been received (and can be distinguished 
from the media that would have been received had the change not 
occurred) then that UA knows media has been exchanged. But it doesn't 
know if the other UA knows media has been exchanged. We want both sides 
to reach the same conclusion regarding the exchange of media, but I'm 
not sure how to assure that.

So, from the perspective of one of the UAs, how do you propose that this 
decision be made? Is it just "I have received media according to the new 
sdp"?

What about cases where no media is expected to be exchanged as a result 
of the new O/A?  E.g. Suppose the change was simply from "a=sendrecv" to 
"a=inactive". Is the absence of packets for some period of time evidence 
that this is in effect?

3.4:

nit:

    and the session parameters in the offer/answer exchange SHOULD be as
    close as those in the pre-re-INVITE state as possible.

s/close as those/close to those/

4.4:

    If the UA receives a reliable provisional response or a 2xx response
    to the target-refresh request, or the UA receives a request on the
    new local target, the remote UA has updated its remote target.  The
    UA can consider the target refresh operation completed.

It isn't sufficient to receive a request on the new target - it must be 
a request *within the dialog. (It might receive an out of dialog request 
from another source, or otherwise unrelated.) (This is covered in 4.6, 
but good to catch it here too.) So I suggest:

    If the UAC receives a reliable provisional response or a 2xx response
    to the target-refresh request, or the UAC receives an in-dialog
    request on the new target, the UAS has updated its remote target.
    The UAC can consider the target refresh operation completed.

4.6:

nit:
s/ n-dialog/ in-dialog/

In the note discussing reliable provisional responses, it might be good 
to reference RFC 4320 that says they MUST NOT be used for non-invite 
transactions.

	Thanks,
	Paul

---

From: Gonzalo Camarillo <[email-masked]>
Date: Thu, 22 Jul 2010 10:13:49 +0300

Hi Paul,

thanks for your comments. Answers inline:

> configured to automatically reject video streams/

Fixed.

> "exchanged" is a tricky word here, and could use some added definition.

I have done the following:

OLD:
...or the UAs have exchanged media using the new parameters

NEW:
...or the UA have sent or received media using the new parameters

> not sure how to assure that.

You cannot do this in a simple way. For RTP over UDP media, you would
need to look at the RTCP information. For TCP media, you would need to
look into the TCP data (unless the media stream itself provided some
type of acks). So, I think this is the best we can do without adding a
level of complexity that nobody would really implement just to resolve
corner cases.

> decision be made? Is it just "I have received media according to the new 

I have received or sent media (or both) using the new sdp.

> "a=inactive". Is the absence of packets for some period of time evidence 

To cover all these cases, the UAs can perform a new offer/answer
exchange without preconditions, as described in that section. That is
the more general way to indicate that the session parameters are in use.

> s/close as those/close to those/

Fixed.

>     The UAC can consider the target refresh operation completed.

Fixed.

> s/ n-dialog/ in-dialog/

Fixed.

> to reference RFC 4320 that says they MUST NOT be used for non-invite 

I have added a reference to RFC 4320.

Thanks,

Gonzalo

---

From: [email-masked]
Date: Thu, 22 Jul 2010 15:33:07 +0800

Hi Gonzalo,

> the more general way to indicate that the session parameters are in use.

I'd like to check that do you mean only the new(subsequent) O/A exchange 
with out precondition means commitment?

as a example:

Offer1/Answer1(without precondition), then the Offer2/Answer2 with the 
same SDP. Only the Offer2/Answer2 means commitment?

then, I think the following sentence might not be proper. As this should 
be a defintion for the new (subsequent) O/A exchange behavior.

As indicated above, the successful
   completion of an offer/answer exchange without preconditions
   indicates that the new parameters for the media stream are already
   considered to be in use.

Thanks,

Gao 

--------------------------------------------------------
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.

---

From: Gonzalo Camarillo <[email-masked]>
Date: Thu, 22 Jul 2010 10:57:45 +0300

Hi Gao,

the successful completion of any offer/answer exchange without
preconditions means commitment. In your example, offer/answer 1 already
means commitment.

Cheers,

Gonzalo

---

From: [email-masked]
Date: Thu, 22 Jul 2010 15:57:39 +0800

Gonzalo,

> preconditions means commitment. In your example, offer/answer 1 already

Then, why the RTCP/TCP checked is needed for O/A without precondition? 
It puzzles me.

Thanks,

Gao

---

From: Gonzalo Camarillo <[email-masked]>
Date: Thu, 22 Jul 2010 11:13:48 +0300

Hi Gao,

you do not need the media check if you have had an offer/answer exchange
without preconditions. The sentence in the draft has an "or" separating
those two conditions.

Cheers,

Gonzalo

---

From: [email-masked]
Date: Thu, 22 Jul 2010 18:25:00 +0800

Hi Gonzalo,

I am glad to find that it's still my origial understanding. 

Then, technically:

Without precondition: completion of O/A as commitment or UA have sent or 
received media using the new parameters.

With preconditon: UAS send media/RTCP/TCP as commitment or a new O/A 
without preconditon(in some cases, I think a new O/A is necessary, as some 
parameters modification can not be checked from RTCP/TCP).

I'd like to double check for my understanding from you, is it right?

Thanks,

Gao

===================================
 Zip    : 210012
 Tel    : 87211
 Tel2   :(+86)-025-52877211
 e_mail : [email-masked]
===================================

Gonzalo Camarillo <[email-masked]> 
发件人:  [email-masked]
2010-07-22 16:13

收件人
"[email-masked]" <[email-masked]>
抄送
SIPCORE <[email-masked]>
主题
Re: [sipcore] Dialog state - Scope in draft-ietf-sipcore-reinvite

Hi Gao,

Cheers,

Gonzalo

On 22/07/2010 10:57 AM, [email-masked] wrote:
> 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.

_______________________________________________
sipcore mailing list
[email-masked]
https://www.ietf.org/mailman/listinfo/sipcore

---

From: Gonzalo Camarillo <[email-masked]>
Date: Thu, 22 Jul 2010 15:05:16 +0300

Hi Gao,

yes, your understanding is correct.

Cheers,

Gonzalo

On 22/07/2010 1:25 PM, [email-masked] wrote:
> without preconditon(in some cases, I think a new O/A is necessary, as
> some parameters modification can not be checked from RTCP/TCP).
> 
> *Gonzalo Camarillo <[email-masked]>*
>> 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.

---

From: Paul Kyzivat <[email-masked]>
Date: Thu, 22 Jul 2010 10:06:02 -0400

> ...or the UA have sent or received media using the new parameters

s/UA have sent/UA has sent/

	Thanks,
	Paul

---

From: Gonzalo Camarillo <[email-masked]>
Date: Thu, 22 Jul 2010 17:07:51 +0300

Hi Paul,

I have also fixed the nit you spotted below.

Thanks,

Gonzalo