Re: [MEDIACTRL] FW: Race condition between msc-ivr dialogstart and SIP ACK

RahulSrivastava 71616 <rahuls@huawei.com> Tue, 20 July 2010 04:58 UTC

Return-Path: <rahuls@huawei.com>
X-Original-To: mediactrl@core3.amsl.com
Delivered-To: mediactrl@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 68C753A6890 for <mediactrl@core3.amsl.com>; Mon, 19 Jul 2010 21:58:28 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.262
X-Spam-Level:
X-Spam-Status: No, score=-0.262 tagged_above=-999 required=5 tests=[AWL=-0.067, BAYES_00=-2.599, FH_RELAY_NODNS=1.451, HELO_MISMATCH_COM=0.553, MIME_8BIT_HEADER=0.3, RDNS_NONE=0.1]
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 lXbHf3UMD3p5 for <mediactrl@core3.amsl.com>; Mon, 19 Jul 2010 21:58:27 -0700 (PDT)
Received: from szxga04-in.huawei.com (unknown [119.145.14.67]) by core3.amsl.com (Postfix) with ESMTP id 5A3F33A689E for <mediactrl@ietf.org>; Mon, 19 Jul 2010 21:58:26 -0700 (PDT)
Received: from huawei.com (szxga04-in [172.24.2.12]) by szxga04-in.huawei.com (iPlanet Messaging Server 5.2 HotFix 2.14 (built Aug 8 2006)) with ESMTP id <0L5U008RDB5E6C@szxga04-in.huawei.com> for mediactrl@ietf.org; Tue, 20 Jul 2010 12:58:26 +0800 (CST)
Received: from huawei.com ([172.24.2.119]) by szxga04-in.huawei.com (iPlanet Messaging Server 5.2 HotFix 2.14 (built Aug 8 2006)) with ESMTP id <0L5U00JZTB5EF4@szxga04-in.huawei.com> for mediactrl@ietf.org; Tue, 20 Jul 2010 12:58:26 +0800 (CST)
Received: from [172.24.1.24] (Forwarded-For: [10.18.1.33]) by szxmc04-in.huawei.com (mshttpd); Tue, 20 Jul 2010 09:58:26 +0500
Date: Tue, 20 Jul 2010 09:58:26 +0500
From: RahulSrivastava 71616 <rahuls@huawei.com>
In-reply-to: <27A4F3AC-00AB-4A22-AE2F-57BDED7AF5CA@broadsoft.com>
To: Stéphane Bastien <stephane@broadsoft.com>
Message-id: <fdfd9f3e1dc8.1dc8fdfd9f3e@huawei.com>
MIME-version: 1.0
X-Mailer: iPlanet Messenger Express 5.2 HotFix 2.14 (built Aug 8 2006)
Content-type: text/plain; charset="windows-1252"
Content-language: en
Content-transfer-encoding: quoted-printable
Content-disposition: inline
X-Accept-Language: en
Priority: normal
References: <21866C7FE177A4449B9136B5B24B1B1303702B9F38@EXMBXCLUS01.citservers.local> <CD5674C3CD99574EBA7432465FC13C1B21FE98EE5A@DC-US1MBEX4.global.avaya.com> <fd2e97b5c87a.c87afd2e97b5@huawei.com> <F8055E1B-A147-401C-987A-2D06E4DAD0AB@standardstrack.com> <27A4F3AC-00AB-4A22-AE2F-57BDED7AF5CA@broadsoft.com>
Cc: "mediactrl@ietf.org" <mediactrl@ietf.org>
Subject: Re: [MEDIACTRL] FW: Race condition between msc-ivr dialogstart and SIP ACK
X-BeenThere: mediactrl@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Media Control WG Discussion List <mediactrl.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/mediactrl>, <mailto:mediactrl-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/mediactrl>
List-Post: <mailto:mediactrl@ietf.org>
List-Help: <mailto:mediactrl-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/mediactrl>, <mailto:mediactrl-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 20 Jul 2010 04:58:28 -0000

Some implementation issue.
FSM becomes complicated as two different events are required to initiate dialogstart with no ordering among them.
A more fundamental issue INVITE becomes a four way handshake. 
(Fourth event adding as extra identifier for confirming INVITE is over).

I think there are two issues here:

1. Unreliablity in protocol/mechanism. (Dialogstart will be sent after ACK deterministically)
2. Unreliability in implementation. (Control channel and UDP works on different process/threads etc in MS)

Unreliability in protocol/mechanism can only be removed by transport. In implementation it can exist.
e.g SCTP both dialogstart and ACK for a media session can be put inside same association. (IF INVITE is used with SCTP)

Regards,
Rahul




******************************************************************************************
 This email and its attachments contain confidential information from HUAWEI, which is intended only for the person or entity whose address is listed above. Any use of the information contained here in any way (including, but not limited to, total or partial disclosure, reproduction, or dissemination) by persons other than the intended recipient(s) is prohibited. If you receive this email in error, please notify the sender by phone or email immediately and delete it!
 *****************************************************************************************

----- Original Message -----
From: Stéphane Bastien <stephane@broadsoft.com>
Date: Tuesday, July 20, 2010 7:06 am
Subject: Re: [MEDIACTRL] FW: Race condition between msc-ivr dialogstart	and	SIP ACK
To: "mediactrl@ietf.org" <mediactrl@ietf.org>

> As long as we have two separate channels (one for SIP, one for 
> CFW), the race condition exists, regardless of the transport protocol.
> 
> I believe that an alternate solution is for the SIP INVITE 
> establishing the media session to provide an identifier which 
> informs the Media Server about which CFW channel will control the 
> media session. Then, when the media session is confirmed (i.e., 
> SIP ACK received), the Media Server can transmit a notification 
> over the CFW channel (i.e., media session is ready).
> 
> Le 2010-07-19 à 17:13, Eric Burger a écrit :
> 
> > Require TCP, TLS, or reliable SCTP only?  That is, no UDP allowed?
> > 
> > That might fly.  Comments from others, especially those that 
> today do not have TCP stacks?
> > 
> > On Jul 6, 2010, at 3:27 AM, RahulSrivastava 71616 wrote:
> > 
> >> Any automata which relies on time for success cases doesn't 
> look good.
> >> This problem is same if you use INFO/ACK (on UDP).
> >> INFO reaches earlier as compared to ACK then INFO is generally 
> queued (based on wait logic as described by you).
> >> 
> >> In long run I'll prefer reliable connecction to be used between 
> MS and AS.
> >> 
> >> Regards,
> >> Rahul
> >> 
> ******************************************************************************************>> This email and its attachments contain confidential information from HUAWEI, which is intended only for the person or entity whose address is listed above. Any use of the information contained here in any way (including, but not limited to, total or partial disclosure, reproduction, or dissemination) by persons other than the intended recipient(s) is prohibited. If you receive this email in error, please notify the sender by phone or email immediately and delete it!
> >> 
> *****************************************************************************************>> 
> >> ----- Original Message -----
> >> From: "WORLEY, Dale R (Dale)" <dworley@avaya.com>
> >> Date: Monday, July 5, 2010 11:41 pm
> >> Subject: Re: [MEDIACTRL] FW: Race condition between msc-ivr 
> dialogstart and SIP ACK
> >> To: Stéphane Bastien <stephane@broadsoft.com>, 
> "mediactrl@ietf.org" <mediactrl@ietf.org>
> >> 
> >>> ________________________________________
> >>> From: mediactrl-bounces@ietf.org [mailto:mediactrl-
> >>> bounces@ietf.org] On Behalf Of Stéphane Bastien
> >>> 
> >>> 5.       Application Server sends a SIP ACK with the answer 
> SDP to 
> >>> the Media Server
> >>> 
> >>> 6.       Application Server transmits over the control channel 
> an 
> >>> msc-ivr <dialogstart> with a connectionid of the media session 
> >>> established in step 5
> >>> 
> >>> The problem is what happens if the SIP ACK transmitted in step 
> 5 
> >>> gets lost in the network? One of the retransmissions of the 
> SIP 
> >>> ACK may eventually reach the Media Server, but will be 
> received 
> >>> later than the dialogstart from step 6. Yet, the Media Server 
> >>> can’t execute the dialogstart until the SIP ACK is received, 
> >>> otherwise the user gets media clipping.
> >>> 
> >>> I'm currently thinking of handling  this scenario by waiting 
> for a 
> >>> few seconds in step 6 if the SIP ACK is missing, and execute 
> >>> <dialogstart> as soon as the SIP ACK arrives. If the SIP ACK 
> does 
> >>> not arrive, the MS returns the msc-ivr status code 412 "Media 
> >>> stream not available". (Could we create an error code for this 
> >>> specific scenario to make it easier to detect by the AS?) An 
> >>> alternate approach would be for the AS to subscribe to the 
> state 
> >>> of a connectionid, and the Media Server would send a "Media 
> Stream 
> >>> Established" notification when receiving the SIP ACK in step 5.
> >>> ________________________________________
> >>> 
> >>> (Speaking as an individual.)
> >>> 
> >>> I'm not familiar with this particular application, but in 
> general, 
> >>> it's easier to implement a protocol if actions are taken on 
> when 
> >>> indications are received rather than based on timeouts.  So it 
> >>> would seem more robust and easier to code if we required the 
> MS to 
> >>> send an indication to the AS that it had received the answer 
> SDP, 
> >>> and the AS would then send the <dialogstart>.  But it appears 
> that 
> >>> the mechanism for doing that is having the AS specifically 
> >>> subscribe to the connectionid (carried in the SDP?) and then 
> wait 
> >>> for a notification, which adds several more steps.
> >>> 
> >>> Is there a way to do this which works the same way regardless 
> of 
> >>> which end sends the offer SDP?
> >>> 
> >>> Dale
> >>> _______________________________________________
> >>> MEDIACTRL mailing list
> >>> MEDIACTRL@ietf.org
> >>> https://www.ietf.org/mailman/listinfo/mediactrl
> >>> Supplemental Web Site:
> >>> http://www.standardstrack.com/ietf/mediactrl
> >>> 
> >> _______________________________________________
> >> MEDIACTRL mailing list
> >> MEDIACTRL@ietf.org
> >> https://www.ietf.org/mailman/listinfo/mediactrl
> >> Supplemental Web Site:
> >> http://www.standardstrack.com/ietf/mediactrl
> > 
> > _______________________________________________
> > MEDIACTRL mailing list
> > MEDIACTRL@ietf.org
> > https://www.ietf.org/mailman/listinfo/mediactrl
> > Supplemental Web Site:
> > http://www.standardstrack.com/ietf/mediactrl
> 
> _______________________________________________
> MEDIACTRL mailing list
> MEDIACTRL@ietf.org
> https://www.ietf.org/mailman/listinfo/mediactrl
> Supplemental Web Site:
> http://www.standardstrack.com/ietf/mediactrl
>