Re: [MMUSIC] it's time to expel SDP from our lives

Bernard Aboba <bernard.aboba@gmail.com> Tue, 13 June 2017 23:33 UTC

Return-Path: <bernard.aboba@gmail.com>
X-Original-To: mmusic@ietfa.amsl.com
Delivered-To: mmusic@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id C7C6E127241 for <mmusic@ietfa.amsl.com>; Tue, 13 Jun 2017 16:33:07 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.698
X-Spam-Level:
X-Spam-Status: No, score=-2.698 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, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
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 COGN4zVyeOjM for <mmusic@ietfa.amsl.com>; Tue, 13 Jun 2017 16:33:04 -0700 (PDT)
Received: from mail-vk0-x236.google.com (mail-vk0-x236.google.com [IPv6:2607:f8b0:400c:c05::236]) (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 956661205D3 for <mmusic@ietf.org>; Tue, 13 Jun 2017 16:33:04 -0700 (PDT)
Received: by mail-vk0-x236.google.com with SMTP id 191so72442011vko.2 for <mmusic@ietf.org>; Tue, 13 Jun 2017 16:33:04 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=TSY/u96tJjc+Zd9OXc1j5XYkqVH2kMaLT+Ewmo3aoNA=; b=KXf9KrUNSiSHRBNQx6AWBeLEjy0E24gW+rrAhsEcdmC4P5sQ9Ezh+6iFoWpSUc+0jw tRz0U7shj9U/G3mmlFh9lHBSVIPQn86oLCJadKtg4k+YbKoi8dsxbnpaZLpX04fKFuXl l4mswEYQVbVhWlzJeHFGXZJZ5FapNVmSLK6rKIA3UXLnS/6pQFWsgMGQlzGq0TfFr8qv 078dKvP3EhnBIE9SkrAy8AlD8Uk8VidHjGUqUvmvP+oLwHCTlDO3LEIpBWn3seiK9UmA /TDywoeOZ0VsLVhfFgGR/5Ul0tcdcCPmcJrOo37yVw9CE65QGGeZltRs1NEFFRycEZzb lTgw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=TSY/u96tJjc+Zd9OXc1j5XYkqVH2kMaLT+Ewmo3aoNA=; b=p5IQQ8RrcdDc+qQX83kTRNEZlpQ3H0to38YY1FR0SJtQqsrlloCT3p6jg2BHM9G69L ee7pQIOslSK/ERGCfzZtqveNM+REz0S/3VBkBSnOkHAXgP6P7nt6HJPy/NvT1evm1maD D2C/488RIa9hmj7TLEYU8oG7/a9DNL9m55uyapWhBpqxtq58jl30ZzQB/WNpvxNvaERV Arfi8AbYAux9wcNautTUwcSC47pgImK58qOy+/owTAdJPJalMKFxFm7OeK7jbn4/Y2RV xGOI1tIQuAc/QERBYT0ven1lBs8UBwGZiRqpwhIJ1RvtwHDAOTICBhi5mXtIr64Sl2og 5HQA==
X-Gm-Message-State: AKS2vOwmaKs2x5TRd84f0utNdejP+wYt9IS8oa/BgK0e5XhwDGvWovan yYH9HQ/XnnNcny5rrPiOexEMPcGgjjvBtfU=
X-Received: by 10.31.174.16 with SMTP id x16mr1506380vke.136.1497396783235; Tue, 13 Jun 2017 16:33:03 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.159.52.218 with HTTP; Tue, 13 Jun 2017 16:32:42 -0700 (PDT)
In-Reply-To: <CALiegf=4ANANnM_14Z4QwnS2LiUxmDniyicL56X635ERq5WpkA@mail.gmail.com>
References: <CABcZeBMd2BZgyeFnqafTVyGga4FMoK0xJkPCv0y_wvmBWsg+xg@mail.gmail.com> <CAD5OKxvwgvm3Q4HsCYsewZjRS9ty_g34n9+x87vfLW4Omcm8mw@mail.gmail.com> <CALiegfk_Oz5Vj5xxbO9v1XgGHyBYyzCqg1jp1Mv_aW0noWMchA@mail.gmail.com> <402e9b86-e28f-e2ab-d3b3-2f34e9dd0bff@alum.mit.edu> <CALiegf=4ANANnM_14Z4QwnS2LiUxmDniyicL56X635ERq5WpkA@mail.gmail.com>
From: Bernard Aboba <bernard.aboba@gmail.com>
Date: Tue, 13 Jun 2017 16:32:42 -0700
Message-ID: <CAOW+2dtgNCDACJxtSt_jeZYiscurJDYQAvNC2RMVOFf1R+Mr5g@mail.gmail.com>
To: Iñaki Baz Castillo <ibc@aliax.net>
Cc: "mmusic@ietf.org" <mmusic@ietf.org>
Content-Type: multipart/alternative; boundary="001a1144078c5a48b60551dfdbfa"
Archived-At: <https://mailarchive.ietf.org/arch/msg/mmusic/H_MsakpBq_sJhor1Cp69cRBvWxY>
Subject: Re: [MMUSIC] it's time to expel SDP from our lives
X-BeenThere: mmusic@ietf.org
X-Mailman-Version: 2.1.22
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: Tue, 13 Jun 2017 23:33:08 -0000

First, let me apologize for contributing to this thread.

Just as my wife has counseled me to limit my viewing of TV news programming
to under 10 minutes a day (since more than this seems to lead to ranting
and foaming at the mouth), so too would it be in my best interest not to
contribute to this thread.

However, although I will try to keep this response brief, I simply cannot
resist.  In my defense, since it is now June, this is at least one new
year's resolution that I have kept for half a year, rather than the
customary three weeks.   And yes, I listened to Jim Comey's testimony last
week and Jeff Session's today, both for more than 10 minutes.

I will however, attempt to heed Tim Cook's recent advice to MIT graduates
(see:
https://www.washingtonpost.com/national/higher-education/apple-ceo-tim-cook-to-address-2017-graduates-at-mit/2017/06/09/ee763ac8-4ccb-11e7-987c-42ab5745db2e_story.html?utm_term=.676972454c80
)

"Don't listen to trolls, and don't become one."

Overall, my observation is that applications utilizing the RTCWEB protocol
stack that require interoperability with other SIP implementations tend to
utilize an "SDP adapter" (along the lines of adapter.js) that functions
much like an "in-application SBC", so as to ensure SDP interoperability.
However, those applications only requiring interoperability with versions
of the same application running on other platforms (e.g. an application
building on iOS, Android, Mac OS X and UWP) generally do not need an SDP
adapter.  Sometimes this is because they utilize JSON signaling and
therefore do not use SIP/SDP signaling at all, and sometimes it is because
their builds on all platforms utilize the same SDP dialect (typically the
dialect utilized in the webrtc.org implementation).

Within each of the categories described above, there are applications
written to a native WebRTC 1.0 API, applications written to a "shimmed"
WebRTC 1.0 API running over ORTC, and ORTC native applications.  This is
because ORTC is not so much an API as a "micro-kernel" approach to realtime
communications.

That is, just as one can use a micro-kernel to support multiple upper layer
sub-systems (e.g. Posix, Win32, etc.), using ORTC it is possible to support
multiple signaling approaches (e.g. SIP, H.323, JSON, etc.) on top of the
same core media library.

This is perhaps demonstrated most clearly in the ORTC Lib implementation
(see https://github.com/ortclib), which provides both access to ORTC as
well as the WebRTC 1.0 API, and could, I believe be used to provide support
for H.323, although so far noone has contributed an implementation of that.

However, while I have seen many different applications utilizing the RTCWEB
protocol stack with different interoperability requirements, one thing I
have not so far encountered is an a situation where there has been a need
for standardizing a non-SDP signaling mechanism.

If you are developing a basic realtime application that needs to provide
interoperable A/V with a different realtime application (either on the same
platform, or a different one), so far my experience has been that SIP/SDP
works well enough.  And where it doesn't work well enough (such as in
advanced video conferencing scenarios involving multi-stream, simulcast,
SVC, VR/AR, etc.) the odds are that interoperability between distinct
applications is not required, in which case a non-SIP/SDP signaling
approach can be utilized.

So with respect to the need to standardize a non-SDP signaling mechanism,
my view is "Don't bother, be happy."

Gotta go.  My 10 minutes are up.








On Tue, Jun 13, 2017 at 2:45 PM, Iñaki Baz Castillo <ibc@aliax.net> wrote:

> 2017-06-13 22:33 GMT+02:00 Paul Kyzivat <pkyzivat@alum.mit.edu>:
> > Everybody who has worked with SDP realizes that it is ill-suited to the
> > tasks we use it for. Quite a long time ago there was an effort called
> SDPng
> > that tried to define a new syntax. I wasn't involved in that, but it
> seemed
> > like it was defining something reasonable (XML based IIRC). But it failed
> > because (IIUC) nobody could see a viable migration plan to introduce it.
> >
> > I think you are suggesting to do something new but limit its scope to
> > WebRTC. Such a narrow scope would ease the migration effort. There would
> > still be one but perhaps people would be willing to suffer through it.
> >
> > BUT, WebRTC doesn't stand alone. Interworking with SIP is still
> important,
> > and probably will be for a long time. Also, your description of what is
> > needed is simplistic. What features (functionality, not syntax) of SDP
> O/A
> > are not needed with WebRTC? AFAICT all the stuff that describes codecs is
> > needed, and much of the rest. There is a lot of that, spread over many
> RFCs.
> > All of that would have to be re-done.
> >
> > Doing something new here may well be the right thing to do. But the first
> > step is to carefully define the scope of applicability, and what
> > interworking requirements there are with things outside that scope. Then
> > perhaps the size of the effort can be estimated and the feasibility
> doing so
> > assessed.
>
> Hi Paul,
>
> I'm not asking for a SDP 2.0 in JSON/XML or any other format. In your
> text above, you state that "all the stuff that describes codecs is
> needed, and much of the rest", and I don't agree with that:
>
> ORTC has proven to provide the *same* functionality as SDP, but
> without imposing the exchange of a full SDP blob/string. Yes, codec
> parameters must be exchanged between peers, but that does not mean
> that a SDP (or similar format) is required. Instead, in ORTC, it's up
> to the application/developer to decide how to signal parameters
> between the endpoints of a multimedia session. In ORTC an endpoint can
> signal ICE parameters, DTLS parameters, RTP parameters, and other
> parameters in an independent way (so, if for example a new video
> stream is added, there is no need to signal all the ICE/DTLS stuff to
> the remote party again, but just the RTP parameters related to the new
> stream). This design prevents issues such as the "SDP DTLS role
> conflict" described in the previous email thread.
>
> You say "There is a lot of that, spread over many RFCs".
>
> And that's true, but ORTC specification [*] collects many of those
> parameters and re-uses them within their own Dictionaries about ICE,
> DTLS, RTP, RTCP, etc. It's true that there are tons of RFC's that
> define multimedia parameters assuming SDP syntax, but IMHO the SDP-ish
> is just a minor component in those specifications, nothing too hard to
> circumvent IHMO (in fact, ORTC did it).
>
>
> >  I think you are suggesting to do something new but limit its scope to
> WebRTC
>
> Not exactly. Continue reading, please.
>
>
> > WebRTC doesn't stand alone. Interworking with SIP is still important
>
> Sure, and I understand that SIP indeed requires a wire-signaling
> format/syntax because SIP requires interoperability between different
> devices in both, the signaling and media, planes. But IMHO that does
> not justify the fact that all the multimedia related specifications
> are tiled to just SDP. SDP should not be the minimum irreducible unit
> for exchanging multimedia information, and ORTC is a good example of
> the opposite.
>
> What I would expect nowadays from the MMUSIC WG is to define
> multimedia parameters (including different *layers" such as transport,
> security/encryption, RTP, RTCP, etc) rather than a single format(SDP)
> to cover them all. Having that, WebRTC could perfectly drop SDP and
> define some proper Dictionaries (as ORTC) pointing to those parameters
> defined by MMUSIC so WebRTC developers are done and free to exchange
> data as they wish. And when it comes to SIP, of course the SIP
> protocol needs a "multimedia format". A separate WG or a different
> task within MMUSIC could be responsible of producing an standardized
> "multimedia format" for SIP with those parameters, let it be SDP or
> SDP 2.0.
>
> Anyhow, if so many things within the SDP are so problematic for
> WebRTC, they will also be problematic for SIP (once SIP devices
> implement so many advanced features such as those in WebRTC devices),
> so still I consider that sending a full SDP to just renegotiate a new
> codec (or remove a specific video stream) will produce real problems
> as we suffer in WebRTC. But again, this is a separate concern that
> should just affect to SIP devices (because SIP chose to go with SDP),
> and not to WebRTC.
>
>
> Thanks a lot for your response, regards.
>
>
>
> [*] http://draft.ortc.org/
>
>
> --
> Iñaki Baz Castillo
> <ibc@aliax.net>
>
> _______________________________________________
> mmusic mailing list
> mmusic@ietf.org
> https://www.ietf.org/mailman/listinfo/mmusic
>