Subject: [Sip] PRACK question: draft-ietf-sip-100rel-06

From: Christer Holmberg <[email-masked]>
Date: Mon, 04 Mar 2002 15:07:50 +0200

Hi,

A short clarification question on PRACK.

Assume the following case

UA_A sends an INVITE, with an SDP (offer 1).

UA_B sends back a 18x provisional response, WITHOUT SDP.

UA_A sends PRACK.

My question is: is UA_A now allowed to include an SDP in the PRACK? It
would be a new offer (offer 2), without an answer for the first offer
(offer 1).

No, this case is NOT described in chapter 5, but the generic description
of PRACK says that it may always include an SDP, so...

Regards,

Christer Holmberg
Ericsson Finland

_______________________________________________
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: Mon, 04 Mar 2002 10:05:42 -0500

> would be a new offer (offer 2), without an answer for the first offer

No.

Please see lines 2116 to 2118 in -09 PDF. You cannot send a new offer
until you've gotten an answer to your previous.

-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

---

From: Gonzalo Camarillo <[email-masked]>
Date: Mon, 04 Mar 2002 17:02:08 +0200

Hi,

A similar scenario to the one you have just described was discueed in
the list not so long ago. No, the UAC cannot send a new offer until it
has received the answer... the same way, if the UAC did not include an
offer in the INVITE, it has to wait until the UAS provides one... that
is, the UAC cannot send an initial offer in a PRACK.

Regards,

Gonzalo

-- 
Gonzalo Camarillo                    Phone :   +1 212 939 71 71
Columbia University                  Mobile:  +358 40 702 35 35
472 Computer Science Building        Fax   :  +358  9 299 30 52
1214 Amsterdam Ave., Mail Code 0401  http://www.hut.fi/~gonzalo
New York, NY 10027                   
USA                              [email-masked]

---

From: Christer Holmberg <[email-masked]>
Date: Tue, 05 Mar 2002 09:30:07 +0200

Hi,

Thanks for your answers!

I know that we can't have two "active" offers. My point was that if it
should be mentioned also in chapter 5 of the 100rel draft, but I guess it's
not necessary.

Another question:

UA_A sends an INVITE, with SDP (offer 1).

UA_B sends back the first 18x provisional response, WITH SDP (answer 1).

UA_A sends the first PRACK, WITHOUT SDP.

UA_B sends back the second 18x provisional response, WITHOUT SDP.

UA_A sends the second PRACK,  WITH SDP (offer 2).

Now, at the same time as UA_A sends the second PRACK, UA_B sends a 200 final
response for the INVITE (it does NOT have to wait for the second PRACK since
the second 18x provisional response did NOT contain SDP).

So, in this case there would be a race condition, since UA_B sends the final
response BEFORE it receives the second PRACK (with offer 2).

So, are we allowed to include an SDP (offer or answer) in the PRACK ONLY if
the 18x provisional response being PRACKed contained an SDP? If not, how do
we solve the race condition?

Regards,

Christer Holmberg
Ericsson Finland

---

From: "Salva Rey Calatayud" <[email-masked]>
Date: Tue, 5 Mar 2002 13:16:51 +0100

Hi,

	I have a little doubt regarding the offer/answer model for session 
description used in SIP:

	if the offer is present in an 	INVITE message, then confirmation 
of receipt of the answer can be conveyed in the ACK.

	but what happens when the INVITE is blank? therefore being 
possible the offer to be sent back in the 200 OK, and the answer in 
the ACK. if the something goes wrong the answerer may think the 
offerer received the answer and initiate the session, while the 
offerer is still awaiting for the answer.

	It'd recommendable that after sending the ACK, the answerer 
send an UPDATE with its previous answer as offer and the other 
party confirmed the session description.

	comments?

thanks,
Salva

---

From: "Bob Penfield" <[email-masked]>
Date: Tue, 5 Mar 2002 08:35:34 -0500

----- Original Message -----
From: "Salva Rey Calatayud" <[email-masked]>
> offerer is still awaiting for the answer.

The answerer (the UAC in this case) does know that the offerer (the UAS) got
the answer because the UAS will retransmit the 200-OK until it receives the
ACK from the UAC. The requirement is that all answers and offers be in
reliable messages, and that is the case here.

---

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

> UA_A sends the second PRACK,  WITH SDP (offer 2).

This is illegal. According to 100rel:

 If the UAC receives a reliable provisional response with an offer
   (this would occur if the UAC sent an INVITE without an offer, in
   which case the first reliable provisional response will contain the
   offer), it MUST generate an answer in the PRACK. 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.

Generating additional offers in the PRACK is contingent on receiving an
answer in the 1xx. 

The result is that there will only ever be one generating of an offer in
PRACK, since only the first reliable provisional response can have an
answer.

-Jonathan R.