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

From: William Marshall <[email-masked]>
Date: Tue, 12 Mar 2002 17:39:15 -0500 (EST)

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.

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.

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.

Also, the UAS on receiving the 491 does not need to follow the procedures 
in bis-09 section 14.1 for this case and can re-send the UPDATE immediately.
However, the random delay does no real harm.

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

Bill Marshall
[email-masked]

_______________________________________________
Sip mailing list  https://www1.ietf.org/mailman/listinfo/sip
This list is for NEW development of the core SIP Protocol
Use [email-masked] for questions on current sip
Use [email-masked] for new developments on the application of sip

---

From: Jonathan Rosenberg <[email-masked]>
Date: Sun, 17 Mar 2002 23:30:21 -0500

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

> and at this point there is glare.

Correct.

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

> 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
[email-masked]                 FAX: (973) 952-5050
http://www.jdrosen.net                  PH:  (973) 952-5000
http://www.dynamicsoft.com