W3C home > Mailing lists > Public > public-webrtc@w3.org > March 2018

Re: Getting rid of SDP (relation to ORTC)

From: Peter Thatcher <pthatcher@google.com>
Date: Mon, 05 Mar 2018 22:47:48 +0000
Message-ID: <CAJrXDUE9+XehEX-F0cxx6snr9fm_=a_J+rgndE5offkaO5VYqQ@mail.gmail.com>
To: Lennart Grahl <lennart.grahl@gmail.com>
Cc: WebRTC WG <public-webrtc@w3.org>, Cullen Jennings <fluffy@iii.ca>, Sergio Garcia Murillo <sergio.garcia.murillo@gmail.com>
Here's what I present at a WebRTC virtual interim:

https://docs.google.com/presentation/d/1o-o5jZBLw3Py1OuenzWDkxDG6NigSmLHvGw5KemKWLw/edit#slide=id.g2f8f4acff1_1_136

And here's copy-and-paste version of the important bits:

interface SliceTransport {
  IceNetworkRoute addNetworkRoute(PacketTransport transport);
  void selectNetworkRoute(IceNetworkRoute networkRoute);
  void removeNetworkRoute(IceNetworkRoute networkRoute);
}

interface IceNetworkRoute {
  Promise sendCheck(...);
  eventhandler oncheckreceived;
}

interface UdpTransport : PacketTransport {
  readonly attribute IpPort localAddress;
  readonly attribute IpPort remoteAddress;
  void close();
}

interface UdpPort {
  readonly attribute IpPort localAddress;
  UdpTransport connect(IpPort remoteAddress);
  void close();
  eventhandler onnewremoteaddress;
}

interface NetworkManager {
  Promise<sequence<NetworkInfo>> EnumerateNetworks();
  Promise<UdpPort> OpenUdpPort(IPAddress localIp);
  attribute eventhandler onnetworkschanged;
}

interface NetworkInfo {
  readonly attribute sequence<IPAddress> ips;
  readonly attribute NetworkAdapterType type;
}

interface StunClient {
  Promise<IpPort> sendBindingRequest(PacketTransport transport, ...);
}

interface TurnClient {
  Promise<TurnAllocation> sendAllocationRequest(PacketTransport transport,
...);
}

interface TurnAllocation {
  readonly attribute IpPort serverAddress;
  TurnTransport connect(IpPort remoteAddress);
  void close();
  eventhandler onnewremoteaddress;
}

interface TurnTransport : PacketTransport {
  readonly attribute IpPort serverAddress;
  readonly attribute IpPort remoteAddress;
  void close();
}






On Mon, Mar 5, 2018 at 2:40 PM Lennart Grahl <lennart.grahl@gmail.com>
wrote:

> On 05.03.2018 23:20, Cullen Jennings wrote:
> >> On Mar 5, 2018, at 2:57 PM, Lennart Grahl <lennart.grahl@gmail.com>
> wrote:
> >>
> >>>
> >>> Let's define a low level modular api (that is what most devs want
> >>> anyway) that could be reused in different scenarios (ICE+DTLS+ICE or
> >>> quick) easily.
> >>
> >> Isn't that what ORTC does provide?
> >
> > So ORTC does a good job of what it does, which is get rid of the syntax
> of SDP and provide a programmatic interface to an RTP media stack that is
> roughly capable of what can be done with SDP Offer/Answer. As a result,
> most of ORTC 1:1 maps to the semantics or SDP.
> >
> > Take something simple like ptime and maxptime in ORTC. To real
> understand what these are and how they fit into RTP, what they do in an
> offer/answer, etc, you will be reading SDP documents. The approach in
> new-media is to ask if we could get rid of tons of the baggage that has
> accumulated in RTP, solve a bunch of the features that are too hard to do
> in existing RTP/ICE,  and simplify the RTP in a huge way that allowed us to
> move to something with far simpler semantics that SDP.
>
> Fair enough. Having read Peter's and Sergio's answers as well, it seems
> using ORTC as a starting point is a good idea and extending it with more
> fine granular control or entirely new "building blocks" (objects).
>
> Peter, can you send me a link to the SLICE spec/slides?
> (https://w3c.github.io/webrtc-ice does look way too high level to me)
>
> Cheers
> Lennart
>
Received on Monday, 5 March 2018 22:48:26 UTC

This archive was generated by hypermail 2.3.1 : Monday, 5 March 2018 22:48:26 UTC