Re: [MMUSIC] Magnus Westerlund's Discuss on draft-ietf-mmusic-data-channel-sdpneg-25: (with DISCUSS and COMMENT)

Magnus Westerlund <> Tue, 09 April 2019 09:00 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id E7CA7120195; Tue, 9 Apr 2019 02:00:24 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -2
X-Spam-Status: No, score=-2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (1024-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id 7RmkxLwbf3aA; Tue, 9 Apr 2019 02:00:22 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 12966120044; Tue, 9 Apr 2019 02:00:21 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Dq/7YU0NfNhSdOvPDA/cxaltODwch1AQGyRXY5ivu5c=; b=CUtGGidZdFhsVR+mLvfKnmFWFc/rizorKDEv7LimFAIVJC3o6HtXPBSU974aINA2lNkfSXAgy0LumH+2loTNi2y5XrnRyRL0ijno8QdDPpYWzh3UkZLqMsJ8InJ58/AmChNqzPkshcI8eiQ/hRkdYJC3wMEVL3gVO4HBN+2sBig=
Received: from ( by ( with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1792.11; Tue, 9 Apr 2019 09:00:19 +0000
Received: from ([fe80::107c:5f27:2ef:8505]) by ([fe80::107c:5f27:2ef:8505%5]) with mapi id 15.20.1792.009; Tue, 9 Apr 2019 09:00:19 +0000
From: Magnus Westerlund <>
To: Adam Roach <>, The IESG <>
CC: "" <>, "" <>, "" <>
Thread-Topic: [MMUSIC] Magnus Westerlund's Discuss on draft-ietf-mmusic-data-channel-sdpneg-25: (with DISCUSS and COMMENT)
Thread-Index: AQHU66fNA40h4UsP7kq3a/Vv5QT6wQ==
Date: Tue, 9 Apr 2019 09:00:18 +0000
Message-ID: <>
References: <> <>
Accept-Language: sv-SE, en-US
Content-Language: en-US
authentication-results: spf=none (sender IP is );
x-originating-ip: []
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 17f37535-e8b0-4adc-f8fb-08d6bcc9ca71
x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600139)(711020)(4605104)(2017052603328)(7193020); SRVR:HE1PR0701MB2537;
x-ms-traffictypediagnostic: HE1PR0701MB2537:
x-ms-exchange-purlcount: 2
x-microsoft-antispam-prvs: <>
x-forefront-prvs: 000227DA0C
x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(376002)(39860400002)(366004)(346002)(136003)(396003)(189003)(199004)(966005)(256004)(229853002)(14454004)(6436002)(99286004)(478600001)(74316002)(86362001)(7736002)(66066001)(5660300002)(97736004)(44832011)(3846002)(52536014)(25786009)(606006)(6116002)(110136005)(316002)(54906003)(102836004)(106356001)(6506007)(7696005)(26005)(76176011)(53546011)(54896002)(2906002)(53936002)(6246003)(446003)(486006)(186003)(71190400001)(71200400001)(9686003)(33656002)(68736007)(476003)(105586002)(8676002)(55016002)(81166006)(81156014)(6306002)(8936002)(236005)(4326008); DIR:OUT; SFP:1101; SCL:1; SRVR:HE1PR0701MB2537;; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1;
received-spf: None ( does not designate permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam-message-info: SaQdmhmULx/noP3kI9OV9V1PWnBYKQgWBgEIPyMDS71KJRn5RQXDq6vpOOMPFvICG5LGUY7Fr7WaBkNWRJJ0Y8ls+KlCC0As3bi7f05zbcafAzbj9JKxIT7QsgTKHXXq19GKTZa0hAPMfRQFWZOSDedyYr6ZR0jSuOFWy9yZQgqQETNRnV/72JDUQxV/05DUmX3UbTJ+ycSQmdGiBJubNgz1FNxjg8e1NfjSJiMbnw8EAr4YqfQ4VHk0X43lFFwN277rwpSQkwH/S990S1Q6mZnZM197IOpNHzc8fbGRuHfMyK2HfMG4oplBW0tQVMotlIBjZLF5QP6Gpq/LfFcvfk5NvDMBzXU4ASa/9PCgrPFz5+w09XN+K5xO0AOfRdFDnxQpuC0vQZ3JQIit0jL5OeSmVq7tuiZcIlVcb9V4+6A=
Content-Type: multipart/alternative; boundary="_000_HE1PR0701MB252226AB6D1CBCD2DFEFB4AB952D0HE1PR0701MB2522_"
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-Network-Message-Id: 17f37535-e8b0-4adc-f8fb-08d6bcc9ca71
X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Apr 2019 09:00:18.8577 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 92e84ceb-fbfd-47ab-be52-080c6b87953f
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0701MB2537
Archived-At: <>
Subject: Re: [MMUSIC] Magnus Westerlund's Discuss on draft-ietf-mmusic-data-channel-sdpneg-25: (with DISCUSS and COMMENT)
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Multiparty Multimedia Session Control Working Group <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Tue, 09 Apr 2019 09:00:25 -0000

On 2019-04-08 17:55, Adam Roach wrote:
On 4/5/19 7:04 AM, Magnus Westerlund via Datatracker wrote:


There might be a serious issue in label definition.

5.1.3.  Label Parameter

   The 'label' parameter indicates the name of the channel.  It
   represents a label that can be used to distinguish, in the context of
   the WebRTC API [WebRtcAPI], an RTCDataChannel object from other
   RTCDataChannel objects.  This parameter maps to the 'Label' parameter
   defined in [I-D.ietf-rtcweb-data-protocol].  The 'label' parameter is
   optional.  If it is not present, then its value defaults to the empty

  label-opt       = "label=" quoted-string
  quoted-string   = DQUOTE *(quoted-char / escaped-char) DQUOTE
  quoted-char     = SP / quoted-visible
  quoted-visible  = %x21 / %x23-24 / %x26-7E ; VCHAR without " or %
  escaped-char    = "%" HEXDIG HEXDIG

I interpret that as the intention is to enable the SDP Attribute to carry the
label as defined in W3C API. That value is in the current candidatate
specification an as an USVSsting
( And in the reference version
of the WebRTC API as an DOMstring. Both are not limited to ASCII and may
contain any Unicode characters. Thus the escaping mechanism defined appear to
be insufficient.

I think the "quoted-string" need a definition of what type of string this truly
are so that it is clear what a character in the string is.

In addition the specification of escaping is undersspecified. I would recommend
at least adding discussion of the need and how to escape DQUOTE and % that can
be relatively common operations.

I can see that this could benefit from some explicit detail about how to convert the cited USVString string into the "quoted-string" construct defined here. I think this roughly consists of:

  *   Serialize the WebRTC label as a UTF-8 string
  *   Treat the UTF-8 serialization as a series of bytes
  *   For each byte in the serialization:
     *   If the byte can be expressed as a `quoted-char`, do so
     *   Otherwise, express the byte as an `escaped-char`.

Would including text to that effect satisfy your concern?

Yes it would be clear what is expected. However, I fail to understand why one need to ASCIIify and escape the UTF-8 encoded characters where one could simply define the label value as an UTF-8 string something that is compatible with SDP specification. Wouldn't that reduce the set of characters needing escaping to a much smaller set.


Magnus Westerlund

Network Architecture & Protocols, Ericsson Research
Ericsson AB                 | Phone  +46 10 7148287
Torshamnsgatan 23           | Mobile +46 73 0949079
SE-164 80 Stockholm, Sweden | mailto:<>