Subject: Re:

From: "yinshaohua" <[email-masked]>
Date: Mon, 28 Feb 2000 19:04:10 +0800

Hi:

   In RFC2543, The re-INVITE is used to change the session descrioption of a
existing call.
   If a UA receives a INVITE request for an existing call leg with a higher
CSeq sequence number when processing a previous INVITE , I think the UA
SHOULD stop the transaction of previous INVITE and then process the
re-INVITE request, otherwise, there have two transactions in a call leg and
may lead to confusion of call state.
   Would you tell me whether I am correct ? If not, how to process the
re-INVITE?
   Thanks!

ShaoHua Yin
2000/2/28

---

From: "Stanislav S. Timinsky" <[email-masked]>
Date: Mon, 28 Feb 2000 15:00:28 +0300

Hello yinshaohua,

Monday, February 28, 2000, 2:04:10 PM, you wrote:

yinshaohua> Hi:

yinshaohua>    In RFC2543, The re-INVITE is used to change the session descrioption of a
yinshaohua> existing call.
yinshaohua>    If a UA receives a INVITE request for an existing call leg with a higher
yinshaohua> CSeq sequence number when processing a previous INVITE , I think the UA
yinshaohua> SHOULD stop the transaction of previous INVITE and then process the
yinshaohua> re-INVITE request, otherwise, there have two transactions in a call leg and
yinshaohua> may lead to confusion of call state.
yinshaohua>    Would you tell me whether I am correct ? If not, how to process the
yinshaohua> re-INVITE?
yinshaohua>    Thanks!

yinshaohua> ShaoHua Yin
yinshaohua> 2000/2/28

I think that You are mistaken in the moment, when UA should stop the
previous INVITE-transaction. If re-INVITE has incompatible session
description (and You stopped the current INVITE-transaction and RTP
media flows), You can't return to the previous call
(INVITE-transaction). My opinion is that the UA should stop the previous
INVITE-transaction, if re-INVITE transaction has been finished (200-response has been received).

-- 
Best regards,
 Stanislav S. Timinsky                      mailto:[email-masked]
 Mera Labs.

---

From: Jonathan Rosenberg <[email-masked]>
Date: Mon, 28 Feb 2000 09:36:07 -0500

> INVITE-transaction, if re-INVITE transaction has been finished (200-response has been received).

No. You should always complete the transaction, otherwise you end up
with state hanging around in proxies longer than it needs to be. As a
general rule, transactions are independent and should each individually
be completed.

There is never confusion with call state or session state. Regarding
session state, the most recent SDP (as indicated by CSeq) is the one to
use. Regarding call state, non-200 class responses to reinvites do not
terminate the call, so the call remains active no matter what the
response to re-INVITE.

For example, lets assume that both session descriptions are OK. In this
case, the right approach is to send a 200 OK to the first and then the
second re-invite. If the first SDP is not acceptable, but the second is,
respond to the first with 400 and the second with 200. 

-Jonathan R.

-- 
Jonathan D. Rosenberg                       200 Executive Drive
Chief Scientist                             Suite 120 
dynamicsoft                                 West Orange, NJ 07052
[email-masked]                     FAX:   (732) 741-4778
http://www.cs.columbia.edu/~jdrosen         PHONE: (732) 741-7244
http://www.dynamicsoft.com