[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Sip] [Sipping] UPDATE with offer



Shinji,

 

I have added my comments to those from Rockson - inline.

 

I am unsure why you are proposing these sequences. If you implement them
you may have interworking issues.

Ian Elz 

System Manager 
DUCI LDC UK 
(Lucid Duck) 

Office: + 44 24 764 35256 
gsm: +44 7801723668 
ian.elz at ericsson.com 

________________________________

From: sipping-bounces at ietf.org [mailto:sipping-bounces at ietf.org] On
Behalf Of Rockson Li (zhengyli)
Sent: 10 September 2008 15:49
To: OKUMURA Shinji; sip at ietf.oFrom sip-bounces at ietf.org  Wed Sep 10 08:41:21 2008
Return-Path: <sip-bounces at ietf.org>
X-Original-To: sip-archive at optimus.ietf.org
Delivered-To: ietfarch-sip-archive at core3.amsl.com
Received: from [127.0.0.1] (localhost [127.0.0.1])
	by core3.amsl.com (Postfix) with ESMTP id D6F2D28C288;
	Wed, 10 Sep 2008 08:41:21 -0700 (PDT)
X-Original-To: sip at core3.amsl.com
Delivered-To: sip at core3.amsl.com
Received: from localhost (localhost [127.0.0.1])
	by core3.amsl.com (Postfix) with ESMTP id 72B743A6D98;
	Wed, 10 Sep 2008 08:41:20 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.248
X-Spam-Level:
X-Spam-Status: No, score=-6.248 tagged_above=-999 required=5
	tests=[AWL=-0.000, BAYES_00=-2.599, HELO_EQ_SE=0.35,
	HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([64.170.98.32])
	by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024)
	with ESMTP id GL2hZjOZaE7e; Wed, 10 Sep 2008 08:41:11 -0700 (PDT)
Received: from mailgw3.ericsson.se (mailgw3.ericsson.se [193.180.251.60])
	by core3.amsl.com (Postfix) with ESMTP id 83B333A6D87;
	Wed, 10 Sep 2008 08:41:06 -0700 (PDT)
Received: from mailgw3.ericsson.se (unknown [127.0.0.1])
	by mailgw3.ericsson.se (Symantec Mail Security) with ESMTP id
	E6ED42088B; Wed, 10 Sep 2008 17:41:10 +0200 (CEST)
X-AuditID: c1b4fb3c-ad0ccbb0000015b5-64-48c7ea96fba2
Received: from esealmw126.eemea.ericsson.se (unknown [153.88.254.123])
	by mailgw3.ericsson.se (Symantec Mail Security) with ESMTP id
	AC48320812; Wed, 10 Sep 2008 17:41:10 +0200 (CEST)
Received: from esealmw118.eemea.ericsson.se ([153.88.200.77]) by
	esealmw126.eemea.ericsson.se with Microsoft SMTPSVC(6.0.3790.1830);
	Wed, 10 Sep 2008 17:41:10 +0200
X-MimeOLE: Produced By Microsoft Exchange V6.5
Content-class: urn:content-classes:message
MIME-Version: 1.0
Date: Wed, 10 Sep 2008 17:42:20 +0200
Message-ID: <C0E80510684FE94DBDE3A4AF6B968D2D040AD2AC at esealmw118.eemea.ericsson.se>
In-Reply-To: <F86B91A10B14744E88408E80B8A30EF30382620F at xmb-hkg-412.apac.cisco.com>
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Thread-Topic: [Sipping] UPDATE with offer
thread-index: AckTLJYYjc8D9w8iSLah0GAmPVlZ/AAJrDQgAAEcaAAReferences: <CC9132C7CDF08shin at softfront.co.jp>
	<F86B91A10B14744E88408E80B8A30EF30382620F at xmb-hkg-412.apac.cisco.com>
From: "Ian Elz" <ian.elz at ericsson.com>
To: "Rockson Li (zhengyli)" <zhengyli at cisco.com>,
	"OKUMURA Shinji" <shin at softfront.co.jp>, <sip at ietf.org>, <sipping at ietf.org>
X-OriginalArrivalTime: 10 Sep 2008 15:41:10.0289 (UTC)
	FILETIME=[A5E3C810:01C9135B]
X-Brightmail-Tracker: AAAAAA=Subject: Re: [Sip] [Sipping] UPDATE with offer
X-BeenThere: sip at ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Session Initiation Protocol <sip.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/sip>,
	<mailto:sip-request at ietf.org?subject=unsubscribe>
List-Post: <mailto:sip at ietf.org>
List-Help: <mailto:sip-request at ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/sip>,
	<mailto:sip-request at ietf.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="==============39869241=="
Sender: sip-bounces at ietf.org
Errors-To: sip-bounces at ietf.org

This is a multi-part message in MIME format.

Shinji,

 

I have added my comments to those from Rockson – inline.

 

I am unsure why you are proposing these sequences. If you implement them you may have interworking issues.

Ian Elz

System Manager
DUCI LDC UK
(Lucid Duck)

Office: + 44 24 764 35256
gsm: +44 7801723668
ian.elz at ericsson.com


From: sipping-bounces at ietf.org [mailto:sipping-bounces at ietf.org] On Behalf Of Rockson Li (zhengyli)
Sent: 10 September 2008 15:49
To: OKUMURA Shinji; sip at ietf.org; sipping at ietf.org
Subject: Re: [Sipping] UPDATE with offer

 

Comments in line.

-Rockson

-----Original Message-----
From: sipping-bounces at ietf.org [
mailto:sipping-bounces at ietf.org] On Behalf Of OKUMURA Shinji
Sent: Wednesday, September 10, 2008 6:04 PM
To: sip at ietf.org; sipping at ietf.org
Subject: [Sipping] UPDATE with offer

Hi,

I have any questions about sending offer by UPDATE request.

RFC3311/5.1 Sending an UPDATE says,

   The rules for inclusion of offers and answers in SIP messages as
   defined in Section 13.2.1 of RFC 3261 still apply.  These rules exist
   to guarantee a consistent view of the session state.  This means
   that, for the caller:

      o  If the UPDATE is being sent before completion of the initial
         INVITE transaction, and the initial INVITE contained an offer,
         the UPDATE can contain an offer if the callee generated an
         answer in a reliable provisional response, and the caller has
         received answers to any other offers it sent in either PRACK or
         UPDATE, and has generated answers for any offers it received in
         an UPDATE from the callee.

      o  If the UPDATE is being sent before completion of the initial
         INVITE transaction, and the initial INVITE did not contain an
         offer, the UPDATE can contain an offer if the callee generated
         an offer in a reliable provisional response, and the UAC
         generated an answer in the corresponding PRACK.  Of course, it
         can't send an UPDATE if it has not received answers to any
         other offers it sent in either PRACK or UPDATE, or has not
         generated answers for any other offers it received in an UPDATE
         from the callee.

      o  If the UPDATE is being sent after the completion of the initial
         INVITE transaction, it cannot contain an offer if the caller
pan>

From: sipping-bounces at ietf.org [mailto:sipping-bounces at ietf.org] On Behalf Of Rockson Li (zhengyli)
Sent: 10 September 2008 15:49
To: OKUMURA Shinji; sip at ietf.org; sipping at ietf.org
Subject: Re: [Sipping] UPDATE with offer

 

Comments in line.

-Rockson

-----Original Message-----
From: sipping-bounces at ietf.org [
mailto:sipping-bounces at ietf.org] On Behalf Of OKUMURA Shinji
Sent: Wednesday, September 10, 2008 6:04 PM
To: sip at ietf.org; sipping at ietf.org
Subject: [Sipping] UPDATE with offer

Hi,

I have any questions about sending offer by UPDATE request.

RFC3311/5.1 Sending an UPDATE says,

   The rules for inclusion of offers and answers in SIP messages as
   defined in Section 13.2.1 of RFC 3261 still apply.  These rules exist
   to guarantee a consistent view of the session state.  This means
   that, for the caller:

      o  If the UPDATE is being sent before completion of the initial
         INVITE transaction, and the initial INVITE contained an offer,
         the UPDATE can contain an offer if the callee generated an
         answer in a reliable provisional response, and the caller has
         received answers to any other offers it sent in either PRACK or
         UPDATE, and has generated answers for any offers it received in
         an UPDATE from the callee.

      o  If the UPDATE is being sent before completion of the initial
         INVITE transaction, and the initial INVITE did not contain an
         offer, the UPDATE can contain an offer if the callee generated
         an offer in a reliable provisional response, and the UAC
         generated an answer in the corresponding PRACK.  Of course, it
         can't send an UPDATE if it has not received answers to any
         other offers it sent in either PRACK or UPDATE, or has not
         generated answers for any other offers it received in an UPDATE
         from the callee.

      o  If the UPDATE is being sent after the completion of the initial
         INVITE transaction, it cannot contain an offer if the caller
 &          has generated or received offers in a re-INVITE or UPDATE which
         have not been answered.

According to the description above, The following scenarios seem to be allowed.(before sending PRACK)

    A                               B
    |                               |
    |ini-INVITE (offer0)            |
    |------------------------------>|
    |                               |
    |              1xx-rel (answer0)|
    |<------------------------------|
    |                               |
    |UPDATE (offer1)                |
    |==============================>|
    |                               |

[RL] IMO, this is intended scenario, UPDATE here is used to update caller's ip address if caller is mobile.

[Ian Elz ] In this scenario it would be usual to send the PRACK before the UPDATE. As you can send a new sdp offer in the PRACK and you have to send the PRACK why bother with the UPDATE.



    A                               B
    |                               |
    |re-INVITE (offer0)             |
    |------------------------------>|
    |                               |
    |              1xx-rel (answer0)|
    |<------------------------------|
    |                               |
  nbsp;       has generated or received offers in a re-INVITE or UPDATE which
         have not been answered.

According to the description above, The following scenarios seem to be allowed.(before sending PRACK)

    A                               B
    |                               |
    |ini-INVITE (offer0)            |
    |------------------------------>|
    |                               |
    |              1xx-rel (answer0)|
    |<------------------------------|
    |                               |
    |UPDATE (offer1)                |
    |==============================>|
    |                               |

[RL] IMO, this is intended scenario, UPDATE here is used to update caller's ip address if caller is mobile.

[Ian Elz ] In this scenario it would be usual to send the PRACK before the UPDATE. As you can send a new sdp offer in the PRACK and you have to send the PRACK why bother with the UPDATE.



    A                               B
    |                               |
    |re-INVITE (offer0)             |
    |------------------------------>|
    |                               |
    |              1xx-rel (answer0)|
    |<------------------------------|
    |                               |
    |  |UPDATE (offer1)                |
    |==============================>|
    |                               |

[RL] this is allowed, however, I seldom see any reliable response used for re-INVITE.

[Ian Elz ] Again this is possible but you could use the PRACK.



    A                               B
    |                               |
    |re-INVITE (no offer)           |
    |------------------------------>|
    |                               |
    |UPDATE (offer1)                |
    |==============================>|
    |                               |

[RL] this is subject to race condition. B is probably sending its 200 with its own offer simultaneously,

     so this two offers cross over causing overlapping offer.

[Ian Elz ] As Rockson says, this would create a race condition for the sdp. This should not be allowed. The offer answer draft should cover this. If it doesn’t then it should.



   and for the callee:

      o  If the UPDATE is being sent before the completion of the INVITE
         transaction, and the initial INVITE contained an offer, the
         UPDATE cannot be sent with an offer unless the callee has
  &nbsUPDATE (offer1)                |
    |==============================>|
    |                               |

[RL] this is allowed, however, I seldom see any reliable response used for re-INVITE.

[Ian Elz ] Again this is possible but you could use the PRACK.



    A                               B
    |                               |
    |re-INVITE (no offer)           |
    |------------------------------>|
    |                               |
    |UPDATE (offer1)                |
    |==============================>|
    |                               |

[RL] this is subject to race condition. B is probably sending its 200 with its own offer simultaneously,

     so this two offers cross over causing overlapping offer.

[Ian Elz ] As Rockson says, this would create a race condition for the sdp. This should not be allowed. The offer answer draft should cover this. If it doesn’t then it should.



   and for the callee:

      o  If the UPDATE is being sent before the completion of the INVITE
         transaction, and the initial INVITE contained an offer, the
         UPDATE cannot be sent with an offer unless the callee has
    p;      generated an answer in a reliable provisional response, has
         received a PRACK for that reliable provisional response, has
         not received any requests (PRACK or UPDATE) with offers that it
         has not answered, and has not sent any UPDATE requests
         containing offers that have not been answered.

      o  If the UPDATE is being sent before completion of the INVITE
         transaction, and the initial INVITE did not contain an offer,
         the UPDATE cannot be sent with an offer unless the callee has
         sent an offer in a reliable provisional response, received an
         answer in a PRACK, and has not received any UPDATE requests
         with offers that it has not answered, and has not sent any
         UPDATE requests containing offers that have not been answered.

      o  If the UPDATE is being sent after the completion of the initial
         INVITE transaction, it cannot be sent with an offer if the
         callee has generated or received offers in a re-INVITE or
         UPDATE which have not been answered.

According to the description above, The following scenarios seem to be allowed.(before receiving PRACK)

    A                               B
    |                               |
    |             re-INVITE (offer0)|
    |<------------------------------|
    |                               |
    |1xx-rel (answer0)              |
    |------------------------------>|
    |                               |
    |UPDATE (offer1)                |
    |==============================>|
    |                               |

[Ian Elz ] In this case you would normally wait for the PRACK as you don’t know that B has received the sdp answer until the PRACK has been returned. It would be normal to send the 200 OK to the PRACK before the UPDATE.

         received a PRACK for that reliable provisional response, has
         not received any requests (PRACK or UPDATE) with offers that it
         has not answered, and has not sent any UPDATE requests
         containing offers that have not been answered.

      o  If the UPDATE is being sent before completion of the INVITE
         transaction, and the initial INVITE did not contain an offer,
         the UPDATE cannot be sent with an offer unless the callee has
         sent an offer in a reliable provisional response, received an
         answer in a PRACK, and has not received any UPDATE requests
         with offers that it has not answered, and has not sent any
         UPDATE requests containing offers that have not been answered.

      o  If the UPDATE is being sent after the completion of the initial
         INVITE transaction, it cannot be sent with an offer if the
         callee has generated or received offers in a re-INVITE or
         UPDATE which have not been answered.

According to the description above, The following scenarios seem to be allowed.(before receiving PRACK)

    A                               B
    |                               |
    |             re-INVITE (offer0)|
    |<------------------------------|
    |                               |
    |1xx-rel (answer0)              |
    |------------------------------>|
    |                               |
    |UPDATE (offer1)                |
    |==============================>|
    |                               |

[Ian Elz ] In this case you would normally wait for the PRACK as you don’t know that B has received the sdp answer until the PRACK has been returned. It would be normal to send the 200 OK to the PRACK before the UPDATE.



    A                               B
    |                               |
    |              re-INV (no offer)|
    |<------------------------------|
    |                               |
    |UPDATE (offer1)                |
    |==============================>|
    |                               |

[RL] you can send 200 with offer here instead more naturally, why bother with UPDATE??

[Ian Elz ] Technically this is valid but it will appear as a cross over to B. In this scenario B may send a CANCEL to the re-INVITE as he has now received the offer he required.   



Is my understanding correct?
Some scenarios seem to be allowed only for re-INVITE.
is this what the author intended?
If not, which is not intended scenario?

Regards,
Shinji
_______________________________________________
Sipping mailing list 
https://www.ietf.org/mailman/listinfo/sipping
This list is for NEW development of the application of SIP Use sip-implementors at cs.columbia.edu for questions on current sip Use sip at ietf.org for new developments of core SIP

_______________________________________________
Sip mailing list  https://www.ietf.org/mailman/listinfo/sip
This list is for NEW development of the core SIP Protocol
Use sip-implementors at cs.columbia.edu for questions on current sip
Use sipping at ietf.org for new developments on the application of sip