Subject: [sipcore] info-03 draft and "session negotiation exchange"

From: "Attila Sipos" <[email-masked]>
Date: Thu, 30 Apr 2009 07:30:37 +0100

Hi, 

Sorry for questions late in the day but I'm not clear on the
negotiation methods of the info package draft.

The draft mentions "session negotiation exchange" several times.

Can someone tell me where this is defined?

Section 3.1 (UA Behavior) shows INVITE/OK/ACK as an exchange.

I see from section "5.2.  INFO Headers" of the "INFO tables" e-mail
that PRACK and UPDATE are allowed to carry the Recv-Info header. So
what is the "exchange" if say, INVITE and PRACK are involved?

>From section 3.1, it seems that the initial "offer" is in the INVITE
and then "confirmed" in the ACK. So if PRACK is received, can one
"confirm" in a PRACK?

Also, if Recv-Info is allowed in UPDATE, how does that get "confirmed"?
Or is it that UPDATE just lists the packages already negotiated?

Or is it that package renegotiation is only ever done in
INVITE/re-INVITE?
If so, I would like to see some text explicitly stating this.
If not, what renegotiation combinations are there?
 
Then there is this...
   The limitation on requiring the negotiation to occur within the
   context of a session negotiation exchange means that if the
   initiating UA issues a re-INVITE (after the above ACK) with the
   following.

   INVITE ...
   ...
   Recv-Info: P, R, T
   ...

   The target UA MUST NOT send any package P INFO methods until the
   target UA sees P in the final ACK from the initiating UA.

So, let's say P was being sent by the target.   Then when the
re-INVITE arrives, P has to be stopped (or queued), until P is
seen again in the ACK.

So what happens if there is a re-INVITE/INFO(package P) crossover?
I think we need to say that if the initiating UA receives the INFO
for package P, it should either:
1. still process it as normal
 or
2. issue a 4xx response (something like 491 Request Pending)
   so that the package P event can be re-attempted once the ACK
   has been received.

Regards,

Attila