Re: [MMUSIC] Open Issues: draft-ietf-mmusic-sdp-simulcast-03

Martin Thomson <martin.thomson@gmail.com> Fri, 23 October 2015 17:22 UTC

Return-Path: <martin.thomson@gmail.com>
X-Original-To: mmusic@ietfa.amsl.com
Delivered-To: mmusic@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 832E51A882D for <mmusic@ietfa.amsl.com>; Fri, 23 Oct 2015 10:22:24 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2
X-Spam-Level:
X-Spam-Status: No, score=-2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, 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 yj12I0NsSy9y for <mmusic@ietfa.amsl.com>; Fri, 23 Oct 2015 10:22:22 -0700 (PDT)
Received: from mail-yk0-x234.google.com (mail-yk0-x234.google.com [IPv6:2607:f8b0:4002:c07::234]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 5B3541A87EA for <mmusic@ietf.org>; Fri, 23 Oct 2015 10:22:17 -0700 (PDT)
Received: by ykba4 with SMTP id a4so120905195ykb.3 for <mmusic@ietf.org>; Fri, 23 Oct 2015 10:22:16 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=8yLx7rgEUj4hRnLNzU5q/ZrLo4SZ/y1hVI0gcGHUud8=; b=dXRxdoWB2wrthv+AkZq8ZqHvGsBXWzMFcr7rohvU9XHYMtO4CwuJgvWBsOZYwvrtPT 0SXcfcPolvg4gf+VMP1q1qiheAqiKGnslkkX7tGLaDEd8SxMd/BRWwpAvaK8z3EJLsDS L72TJOzcKHT9bNVd8l2wQxzAEgX5ju5thz/sXAvXZ9k5/TnzDAfowwSM7ZcWkTOU6pHS UqphGT2qNtBtaiObe/mIrxf8AS80fyTm6+jVk99D6dsArTI+FlnH8vi+88D57KKI005/ j7xKU3AjtddC6UHNqtzq6bsFIdr/6lNh8RTiTCDQDEQo9zW/cAdiO64uSdeXQCmTLIGn Nn6A==
MIME-Version: 1.0
X-Received: by 10.129.79.6 with SMTP id d6mr2750840ywb.120.1445620936708; Fri, 23 Oct 2015 10:22:16 -0700 (PDT)
Received: by 10.129.132.145 with HTTP; Fri, 23 Oct 2015 10:22:16 -0700 (PDT)
In-Reply-To: <562A6522.60501@alum.mit.edu>
References: <56294C8A.1030205@nostrum.com> <562A6522.60501@alum.mit.edu>
Date: Fri, 23 Oct 2015 10:22:16 -0700
Message-ID: <CABkgnnUv3mugXTTzE8SMcJfNWuiDMrFY+pOXZWLoGqmP68CWDw@mail.gmail.com>
From: Martin Thomson <martin.thomson@gmail.com>
To: Paul Kyzivat <pkyzivat@alum.mit.edu>
Content-Type: text/plain; charset="UTF-8"
Archived-At: <http://mailarchive.ietf.org/arch/msg/mmusic/8u6xovOrERnpNXUO8qVMqr2NoX0>
Cc: "mmusic@ietf.org" <mmusic@ietf.org>
Subject: Re: [MMUSIC] Open Issues: draft-ietf-mmusic-sdp-simulcast-03
X-BeenThere: mmusic@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Multiparty Multimedia Session Control Working Group <mmusic.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/mmusic>, <mailto:mmusic-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/mmusic/>
List-Post: <mailto:mmusic@ietf.org>
List-Help: <mailto:mmusic-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/mmusic>, <mailto:mmusic-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 23 Oct 2015 17:22:24 -0000

On 23 October 2015 at 09:49, Paul Kyzivat <pkyzivat@alum.mit.edu> wrote:
>       simulcast-value = sc-send-opt [SP sc-recv-opt]
>                       / sc-recv-opt

I like this, but I think that it can be improved further.

One annoying feature of your grammar is that this is valid:

a=simulcast:send rid=1 paused=2 recv pt=3

This makes it much harder to parse than ideal because you can't just
split on spaces, you have to process the paused as if it might also be
"recv".

It also permits rid and pt on the same line.

How about:

simulcast-value = simulcast-pt / simulcast-rid
simulcast-pt = ( simulcast-pt-send [ SP simulcast-pt-recv ] )
             / simulcast-pt-recv
simulcast-rid = ( simulcast-rid-send [ SP simulcast-rid-recv ] )
             / simulcast-rid-recv

simulcast-pt-send = "send" SP simulcast-pt-args
simulcast-pt-recv = "recv" SP simulcast-pt-args
simulcast-pt-args = simulcast-pt-list *(";" simulcast-pt-list)
simulcast-pt-list = payload-type *("," payload-type)

simulcast-rid-send = "send" SP simulcast-rid-args
simulcast-rid-recv = "recv" SP simulcast-rid-args
simulcast-rid-args = simulcast-rid-list *(";" simulcast-rid-list)
simulcast-rid-list = simulcast-rid-id *("," simulcast-rid-id)
simulcast-rid-id = [simulcast-rid-paused] rid-identifier
simulcast-rid-paused = "!"

Which would have paused streams prefixed with a character (I chose "!"
because it is the first character that is permitted by the SDP token
grammar but not the rid-identifier grammar, feel free to paint that
bikeshed any colour you like).

This:
      a=simulcast: send rid=1,2,3 recv rid=4 paused=3
Becomes:
      a=simulcast:send rid=1,2,3 recv rid=4,!4

And this is now invalid:
      a=simulcast:send pt=1 recv=rid=2