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

Re: LC comment on update-01, was Re: [Sip] Question on manyfolks 05





William Marshall wrote:
> 
> Gonzalo wrote:
> > A PRACK for a 1xx response that contained an answer can contain an
> offer
> > (as stated in the draft), because the UAS will not generate an UPDATE
> > until it receives the PRACK... therefore, in that situation, there is
> > not a chance of having a glare condition... it is OK as it is
> specified.
> 
> I'm still a little confused about this.  I don't see where the
> restriction
> is written that the UAS MUST NOT generate a new offer until its answer
> is acknowledged -- only that it send the answer before a new offer.

Right, this is not written at this time, although I believe it should
be.

> 
> There are four separate drafts that interact in making the rules:
> 
> in offer-answer-02, section 8
>   At any point during the session, either participant MAY issue a new
>   offer to modify characteristics of the session.  ...
> in 2543bis-09, section 13.2.1
>   If the initial offer is in an INVITE, the answer MUST be in a reliable
>   non-failure message from UAS back to UAC which is correlated to that
>   INVITE.  ...
> in 100rel-06, section 5
>   If the INVITE contained an offer, the UAS MAY generate an answer in a
>   reliable provisional response. ... If the UAC receives a reliable
>   provisional response with an answer, it MAY generate an additional
>   offer in the PRACK.  If the UAS receives a PRACK with an offer, it
>   MUST place the answer in the 2xx to the PRACK.
> in update-01, section 6.1.1
>   ... for the callee:  If the UPDATE is being sent before the completion
>   of the INVITE transaction, and the initial INVITE contained an offer,
>   the UPDATE annot be sent unless the callee has generated an answer
>   in a reliable provisional response, and has not sent or received
>   other UPDATE requests containing offers that have not been answered.
> 
> It seems to me that a perfectly valid sequence is
>   --- INVITE (offer) --->
>   <-- 183 (answer) ------
>   --- PRACK (offer) \
>   <-- UPDATE (offer) ----
>                       \--
> and at this point there is glare.

Correct.

> 
> The 100rel draft now requires the UAS to respond to the offer in the
> PRACK with an answer in the 200 (OK).
> 
> The nearest text which is close to this case is update-01 section 6.2.1
>   If an UPDATE is received that contains an offer, and the UAS has
>   generated an offer (presumably in an UPDATE of its own) to which it
>   has not yet received an answer, the UAS MUST reject the UPDATE with a
>   491 response.
> 
> This text in 6.2.1 should be generalized to cover this additional glare
> case, by requiring the UAC to respond to an UPDATE request with a 491
> if it has an outstanding offer pending in a PRACK.  I'd suggest:
>   If an UPDATE is received that contains an offer, and the receiver has
>   generated an offer to which it has not yet received an answer, the
>   UPDATE MUST be rejected with a 491 response.

You might still end up rejecting PRACK, which you'd generally prefer to
avoid. My proposal is to incorporate Gonzalos suggestion.


> An editorial nit in update-01, section 6.1.1 final paragraph should
> reference section 14.1 of RFC BBBB, not section 4.1.

Fixed.

-Jonathan R.

-- 
Jonathan D. Rosenberg, Ph.D.            72 Eagle Rock Avenue
Chief Scientist                         First Floor
dynamicsoft                             East Hanover, NJ 07936
jdrosen@dynamicsoft.com                 FAX: (973) 952-5050
http://www.jdrosen.net                  PH:  (973) 952-5000
http://www.dynamicsoft.com

_______________________________________________
Sip mailing list  https://www1.ietf.org/mailman/listinfo/sip
This list is for NEW development of the core SIP Protocol
Use sip-implementors@cs.columbia.edu for questions on current sip
Use sipping@ietf.org for new developments on the application of sip