Re: [rtcweb] WGLC for data channel drafts - missing descriptions of error situations

Gunnar Hellstrom <gunnar.hellstrom@omnitor.se> Sat, 05 July 2014 06:14 UTC

Return-Path: <gunnar.hellstrom@omnitor.se>
X-Original-To: rtcweb@ietfa.amsl.com
Delivered-To: rtcweb@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id A8D621A017A for <rtcweb@ietfa.amsl.com>; Fri, 4 Jul 2014 23:14:38 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Level:
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id hyQAhTNmvovl for <rtcweb@ietfa.amsl.com>; Fri, 4 Jul 2014 23:14:36 -0700 (PDT)
Received: from vsp-authed-01-02.binero.net (vsp-authed02.binero.net [195.74.38.226]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 6AA981A016A for <rtcweb@ietf.org>; Fri, 4 Jul 2014 23:14:35 -0700 (PDT)
Received: from smtp01.binero.se (unknown [195.74.38.28]) by vsp-authed-01-02.binero.net (Halon Mail Gateway) with ESMTPS; Sat, 5 Jul 2014 08:14:31 +0200 (CEST)
Received: from [192.168.2.41] (81-224-110-16-no227.business.telia.com [81.224.110.16]) (Authenticated sender: gunnar.hellstrom@omnitor.se) by smtp-02-01.atm.binero.net (Postfix) with ESMTPA id 7E6673A235; Sat, 5 Jul 2014 08:14:25 +0200 (CEST)
Message-ID: <53B797C1.3080609@omnitor.se>
Date: Sat, 05 Jul 2014 08:14:25 +0200
From: Gunnar Hellstrom <gunnar.hellstrom@omnitor.se>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.6.0
MIME-Version: 1.0
To: Michael Tuexen <Michael.Tuexen@lurchi.franken.de>
References: <CA+9kkMAzdcLhM_g+S6407=_SUBKu7hLhMrYSrqGP5tk3yEsP6w@mail.gmail.com> <53B71B6E.2010604@omnitor.se> <470AD025-E40B-43BD-B141-599489FB892C@lurchi.franken.de>
In-Reply-To: <470AD025-E40B-43BD-B141-599489FB892C@lurchi.franken.de>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 8bit
Archived-At: http://mailarchive.ietf.org/arch/msg/rtcweb/mCPBA0fg95TWknkLqJSoR0rRJL4
Cc: rtcweb@ietf.org
Subject: Re: [rtcweb] WGLC for data channel drafts - missing descriptions of error situations
X-BeenThere: rtcweb@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Real-Time Communication in WEB-browsers working group list <rtcweb.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtcweb>, <mailto:rtcweb-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/rtcweb/>
List-Post: <mailto:rtcweb@ietf.org>
List-Help: <mailto:rtcweb-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtcweb>, <mailto:rtcweb-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 05 Jul 2014 06:14:38 -0000

On 2014-07-04 23:34, Michael Tuexen wrote:
> On 04 Jul 2014, at 23:23, Gunnar Hellstrom <gunnar.hellstrom@omnitor.se> wrote:
>
>> I cannot find that what happens in transmission error situations is described in any of these drafts.
>>
>> Both reliable and partially reliable transmission can fail, and the application designer need to know what happens.
> I don't understand the notion of "reliable and partially reliable transmission can fail"...
> If a user message gets abandoned (so the stack gives up transmitting/retransmitting it, but
> the association stays alive), I don't think it is signalled via the JS API, but that might
> be an issue of W3C. If the association fails, all data channel fail. This is signalled.
> However, this is something for the W3C document.
The W3C mechanism makes use of the rtcweb-data-channel.
The rtcweb-data-channel should tell what happens in error situations and 
if that is possible to be signaled to higher layers.
The higher layers should have specified the requirements on the 
data-channel.
If no requirements can be found, we should either propose behavior in 
error situations or request to get requirements stated from upper layers.
>> We discussed it earlier, and came to the conclusion that
>> A failing reliable channel will tear down the connection and some indication will be provided if possible to the application.
>> A failing partially reliable channel will enable transmission of next data item. ( I do not remember if the application will get any error indication or if it needs to have its own sequence checking if it is interested in knowing if there are no gaps. )
>>
>> I suggest that a section on failure handling is added. I get the impression that it is in the data-channel draft it would be best suited.
> But this is about the API. So it should go into the W3C document.
The API can only provide the functions provided by the mechanisms it has 
underneath.

There was a mail discussion in webRTC about the error situations.
A conclusion was that if a reliable channel reaches its retry limit ( 
that is usually only about 5 for WebRTC) or some other indication that 
the channel failed to convey the data, then the channel shall be broken 
(by the channel) and indications provided to both sides if possible. 
(another reasons mentioned was missed heartbeats for the whole 
association, setting a retry time limit of - what was it - - - 15 seconds?)

If the retries or retransmission time is exceeded for a partially 
reliable channel, the conclusion was that communication can continue 
with next data item. I am not sure if the applications were to get any 
notification about that or if they need to introduce sequence number 
checking themselves if they are interested to know.



I cannot see how we can avoid describing the mechanisms needed and what 
happens to the channel.


I found a sentence about this  in section 6.6 of the data-channel-11 draft.

"

If a message with an unsupported PPID is received or some error is
    detected by the receiver (for example, illegal ordering), the
    receiver SHOULD close the corresponding data channel."


This paragraph could be extended to tell more about error situations in 
open channels.
I suggest to move this sentence to a new section and add description of 
other situations. The sentence only tells about errors detected at the 
receiving end. But it can also be the transmitting end that detects the 
problem. It should be stated what shall be done then.T

Something like this ( with my questions in paranthesis).
-------------------------------------------------------Proposed error 
handling section in 
rtcweb-data-channel---------------------------------------------------------------------------
6.7 Transmission failure and error handling
Failures can occur when a data channel is open.

If transmission in a reliable channel fails, the channel shall be closed 
by the party detecting the failure and an error indication provided.   
    ( what does STCP do in this situation? )

If a watchdog times out, the channel shall be closed with an error 
indication.         ( if this is part of the channel mechanisms, I have 
not seen where it is defined.)

If retransmissions or transmission time is exceeded in a partially 
reliable channel, the transmission SHALL be allowed to continue with 
next data item.

If reception out-of order is detected from an SCTP channel for which 
ordered transmission is requested, the receiver SHALL close the data 
channel.

If a message with an unsupported PPID is received or some logical error 
is detected by the receiver, the receiver SHALL close the corresponding 
data channel.

--------------------End of proposed section on failure 
handling---------------------------------------------------------------------------------------------------------------------------



Regards

/Gunnar

>
> Best regards
> Michael
>> Regards
>>
>> Gunnar
>> Gunnar Hellström
>> Omnitor
>> gunnar.hellstrom@omnitor.se
>> On 2014-06-10 20:52, Ted Hardie wrote:
>>> Dear WG,
>>>
>>> This starts a working group last call for our core Data Channel drafts:
>>>
>>> draft-ietf-rtcweb-data-protocol-06.txt
>>> draft-ietf-rtcweb-data-channel-10.txt
>>>
>>> Please review them in detail, especially for areas which may be of concern to the broader IETF community.  This WGLC will end on June 27, 2014.
>>>
>>> Ted, Sean, Cullen
>>>
>>>
>>> _______________________________________________
>>> rtcweb mailing list
>>>
>>> rtcweb@ietf.org
>>> https://www.ietf.org/mailman/listinfo/rtcweb
>> _______________________________________________
>> rtcweb mailing list
>> rtcweb@ietf.org
>> https://www.ietf.org/mailman/listinfo/rtcweb