Subject: RE: [Sip] Open Issue #58: Rejected mid-call SDP in 2xx

From: "Chris Hogg" <[email-masked]>
Date: Thu, 4 Oct 2001 14:34:40 +0100

Hi Christer,

>I am not sure I agree on that. Isn't the 200 for a non-SDP re-INVITE
>supposed to return the current remote SDP, and if the call has been put
>on hold that should be a call-hold SDP (ie the SDP that was returned in
>the 200 for the call hold re-INVITE)?

I agree with this understanding.  I think this is also useful in 3pcc cases
whereby a controller (C) is already in session with a UA "A" but wishes to
establish a session between A and a new UA "B".  C sends a Re-INVITE to A
with no SDP causing A to send a 200 OK with its' SDP (which will be the
current remote SDP).  C may then initiate a new INVITE to B with the SDP it
has gleaned from A. The ACK from C to A will contain SDPb thus enabling the
call signalling to go from A to B via the controller but the media path to
be set up between A and B.  Thus in this case, the ACK does require to
modify the SDP from that of the original session but will not add any
additional media streams. I suppose if the SDP from B (sent to A from C in
the ACK) was inconsistent with that from A then the redirect would fail and
the session would revert to the call between A and C. 

Just wanted to understand the issues some more - comments welcome.

Thanks

Regards

Chris 

Chris Hogg
Nortel Networks (UK).

-----Original Message-----
From: Christer Holmberg [mailto:[email-masked]]
Sent: 04 October 2001 06:11
To: [email-masked]
Cc: [email-masked]
Subject: Re: [Sip] Open Issue #58: Rejected mid-call SDP in 2xx

Hi,

>>However, my understanding was that the UAC
>>should be able to modify the existing streams
>>in the ACK SDP (but not add new streams).
>>Is that wrong?
>You are correct.

Good :)

>>At least I am :) But, again, my concern is
>>if there IS a scenario where
>>the UAC DOES add streams in the ACK SDP?
>Within the offer-answer model (both INVITE-200
>and 200-ACK), it is a protocol violation to
>add media streams in the answer.

I agree.

>>Yes, and that is related to my question:
>>what is 200/ACK SDP exchange
>>really needed for, if no party is allowed
>>to change anything in the SDPs?
>After a call has been established and placed
>on hold, a reinvite-without-sdp will likely
>trigger non-hold SDP in the 200 and ACK.
>Thus one or both SDP's have changed.

I am not sure I agree on that. Isn't the 200 for a non-SDP re-INVITE
supposed to return the current remote SDP, and if the call has been put
on hold that should be a call-hold SDP (ie the SDP that was returned in
the 200 for the call hold re-INVITE)?

Thanks for your comments!

Christer Holmberg
Ericsson Finland

_______________________________________________
Sip mailing list  http://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: "Chris Hogg" <[email-masked]>
Date: Thu, 4 Oct 2001 15:34:56 +0100

Hi everyone,

Siddharth's scenario is very similar to the one I was discussing with the
3pcc. Amalgamating my scerario with the one described below, "A" in
Siddharth's example is equivalent to my "controller"(C).  Thus after the
original INV/200/ACK transaction A may send a Re-INVITE to put B on hold.
But A may then subsequently send a Re-INVITE with no SDP to B.  B will reply
with its' current SDP which may be hold or unhold SDP.  The ACK from A may
contain modified SDP (i.e. modified as a result of the controller talking to
some other SIP UA) but I do not think it should add any new media streams.

Comments?

Regards

Chris

Chris Hogg
Nortel Networks (UK).

-----Original Message-----
From: [email-masked] [mailto:[email-masked]]
Sent: 04 October 2001 14:59
To: Hogg, Chris [MDN05:EP30:EXCH]
Cc: 'Christer Holmberg'; [email-masked]; [email-masked]
Subject: RE: [Sip] Open Issue #58: Rejected mid-call SDP in 2xx

Hi everyone,

Please find my comments below...

>> I am not sure I agree on that. Isn't the 200 for a non-SDP
>> re-INVITE supposed to return the current remote SDP, and if
>> the call has been put on hold that should be a call-hold
>> SDP (ie the SDP that was returned in the 200 for the call
>> hold re-INVITE)?

Just to confirm, the scenario we are talking about is

User A <-----> User B    established with 2 streams (say)
User A  -----> User B    re-INVITE Hold both streams
User A <------ User B    200 OK with Hold SDP (2 way hold)
User A  -----> User B    ACK and session is on hold now.

NOW...
User A  -----> User B    a re-INVITE w/o SDP

Is this correct?

If so, I have a feeling I agree with Brett. A response to a
re-INVITE w/o SDP need not have a held SDP even if the UAS
was earlier put on hold.

REASON: On the list it had earlier been agreed that change
of IP and/or port in ANY offer after the original INVITE
is allowed. In case of responding to a re-INVITE w/o SDP,
the offer is in the 200 OK to this re-INVITE. The UA SHOULD
be allowed to send either of:

1. A hold SDP (like the previous 200 OK response that it sent)
   if it still wants A to be on hold.
2. A unhold SDP as this involves only a change of IP (or
   media stream) as it may now want User A to come off hold.

What the UAS MUST NOT do is add a third stream (in addition
to the 2 already accepted originally). It is free to put one
or more of the 2 "originally in use streams" on/off hold.

Comments please?

Best regards,
Siddharth.

=================================
Siddharth Toshniwal
Software Engineer
Hughes Software Systems, Bangalore
http://www.hssworld.com

---

From: [email-masked]
Date: Thu, 4 Oct 2001 17:30:57 +0200

Hi,

So, can I conclude saying that if there was no SDP in the Invite (or re-Invite), the SDP that can be sent by UA-A on an ACK message can only be a subset of the SDP received in the 200 message ?
In other words, the UA sending the ACK (which is the same that sent the Invite w/o SDP) cannot improve the session description in this case.
This way of reasonning seems to be very logic. If the UA-A is not happy with this SDP, can he still issue a CANCEL message, followed by a new re-Invite with modified SDP ?
Is this the correct interpretation ?

Best regards

     Juan Carlos

"Chris Hogg" <[email-masked]> on 04/10/2001 16:34:56

 To:      "[email-masked]'" <[email-masked]> 
                                                              
 cc:      "'Christer Holmberg'"                               
          <[email-masked]>,                
          [email-masked], [email-masked](bcc: Juan-Carlos  
          ROJAS/FR/ALCATEL)                                   

 Subject: RE: [Sip] Open Issue #58: Rejected mid-call SDP in  
          2xx                                                 

Hi everyone,

Comments?

Regards

Chris

Chris Hogg
Nortel Networks (UK).

-----Original Message-----
From: [email-masked] [mailto:[email-masked]]
Sent: 04 October 2001 14:59
To: Hogg, Chris [MDN05:EP30:EXCH]
Cc: 'Christer Holmberg'; [email-masked]; [email-masked]
Subject: RE: [Sip] Open Issue #58: Rejected mid-call SDP in 2xx

Hi everyone,

NOW...

Is this correct?

Comments please?

Best regards,
Siddharth.

---

From: "Chris Hogg" <[email-masked]>
Date: Fri, 5 Oct 2001 10:14:44 +0100

Hi Victor / everyone,

> (part 1) User A <-----> User B    established with 2 streams (say)	 
> (part 2)User A  -----> User B    re-INVITE Hold both streams
> (part 3) User A  -----> User B    a re-INVITE w/o SDP

>>In addition to the above two, the UAS can also send a third new SDP with
>>addition/deletion/modification of new/old/old streams if it intends, as
all
>>characteristics of a session can be modified.

Yes, if you mean the scenario

(part 4)  User A ----> User B  a re-INVITE with modified SDP as you describe

then I think this is valid.  Whether or not user B accepts this SDP is of
course a different matter. 

Does anyone else agree with this?

Best Regards

Chris

Chris Hogg
Nortel Networks (UK).

-----Original Message-----
From: Victor Paulsamy [mailto:[email-masked]]
Sent: 04 October 2001 19:49
To: Hogg, Chris [MDN05:EP30:EXCH]; stoshniwal
Cc: SIP; sip; brett; 'Christer Holmberg'; Victor Paulsamy
Subject: RE: [Sip] Open Issue #58: Rejected mid-call SDP in 2xx

> or more of the 2 "originally in use streams" on/off hold.

In addition to the above two, the UAS can also send a third new SDP with
addition/deletion/modification of new/old/old streams if it intends, as all
characteristics of a session can be modified.

Comments?

Warm regards,

--victor

---

From: "Chris Hogg" <[email-masked]>
Date: Fri, 5 Oct 2001 10:53:39 +0100

Hi Juan Carlos,

>So, can I conclude saying that if there was no SDP in the Invite (or
re-Invite), the SDP  >that can be sent by UA-A on an ACK message can only be
a subset of the SDP received in the >200 message ?

Yes I think this is how the appendix B of bis intends this to work - In the
case of a re-INVITE with no SDP the "offer" is in the 200 OK and the
"answer" is in the ACK.  According to appendix B, what the UAS can offer in
this case is governed by:

"the offerer SHOULD offer the same SDP it
   provided previously if it has no reason to change anything." (In the case
of a 200 OK offer).

>In other words, the UA sending the ACK (which is the same that sent the
Invite w/o SDP) 
>cannot improve the session description in this case.

The "answer" is contained within the ACK.  Appendix B seems to indicate that
even if the "offer" did not change anything from the previous SDP (i.e. it
is effectively a no-op) that the "answer" may contain SDP which is the same
as the previous SDP from the answerer or MAY be different.  However, the
constraint in constructing all answers means that the answer "The answer to
offered SDP is based on the offered SDP" (see section B.3) i.e. it must
contain the same number of "m=" lines.  Of course, if the UA doesn't like
the offered streams in the 200 OK it can always reject them by setting the
port to 0. 

So in answer to your question, I think the 200 OK can update the session
description compared to that of the previous SDP if it has a reason to
change something in the session description but the ACK MUST contain the
answer which is based on this offer.

>If the UA-A is not happy with this SDP, can he still issue a CANCEL
message, followed by a >new re-Invite with modified SDP ?

Yes, I think this is ok.

From Appendix B

"If the offer occurs in the 200 class response, the UAC
   MUST send an ACK request, with a valid answer. It MAY send a BYE
   request to terminate the call, or MAY generate a re-INVITE, with the
   offer in the INVITE, to change the session parameters back to an
   acceptable form."

Comments?

Best Regards,

Chris

Chris Hogg
Nortel Networks (UK)

-----Original Message-----
From: [email-masked] [mailto:[email-masked]]
Sent: 04 October 2001 16:31
To: Hogg, Chris [MDN05:EP30:EXCH]
Cc: [email-masked]'; 'Christer Holmberg'; [email-masked];
[email-masked]

Hi,

So, can I conclude saying that if there was no SDP in the Invite (or
re-Invite), the SDP that can be sent by UA-A on an ACK message can only be a
subset of the SDP received in the 200 message ?
In other words, the UA sending the ACK (which is the same that sent the
Invite w/o SDP) cannot improve the session description in this case.
This way of reasonning seems to be very logic. If the UA-A is not happy with
this SDP, can he still issue a CANCEL message, followed by a new re-Invite
with modified SDP ?
Is this the correct interpretation ?

Best regards

     Juan Carlos

                                                              

                                                              

Hi everyone,

Comments?

Regards

Chris

Chris Hogg
Nortel Networks (UK).

-----Original Message-----
From: [email-masked] [mailto:[email-masked]]
Sent: 04 October 2001 14:59
To: Hogg, Chris [MDN05:EP30:EXCH]
Cc: 'Christer Holmberg'; [email-masked]; [email-masked]
Subject: RE: [Sip] Open Issue #58: Rejected mid-call SDP in 2xx

Hi everyone,

NOW...

Is this correct?

Comments please?

Best regards,
Siddharth.