- From: Bernard Aboba <Bernard.Aboba@microsoft.com>
- Date: Wed, 3 May 2017 22:26:28 +0000
- To: "public-webrtc@w3.org" <public-webrtc@w3.org>
- Message-ID: <BY2PR21MB003514C89483CB28A73919CCEC160@BY2PR21MB0035.namprd21.prod.outlook.com>
At the WebRTC WG virtual interim yesterday, I volunteered to review the current WebRTC-PC draft (https://rawgit.com/w3c/webrtc-pc/master/webrtc.html ) against the requirements provided in the following IETF documents:
https://tools.ietf.org/html/rfc7478 and https://tools.ietf.org/html/draft-ietf-rtcweb-security-arch
In general, most of the requirements appear to be satisfied by the current WebRTC-PC draft, with some handled in other documents such as Media Capture & Streams, WebAudio or various IETF documents.
Some notes below:
----------------------------------------------------------------
F7 When there are both incoming and outgoing audio
streams, echo cancellation must be made
available to avoid disturbing echo during
conversation.
[BA] Currently echo cancellation is supported in Media Capture
(see: https://www.w3.org/TR/mediacapture-streams/#def-constraint-echoCancellation ).
Is this sufficient?
----------------------------------------------------------------
F17 The communication session must survive across a
change of the network interface used by the
session.
[BA] The WebRTC-PC specification supports ICE restart, so could
be said to support this requirement from an API perspective.
However, performance against this requirement is largely determined by
IETF STUN/TURN/ICE specifications. Looking over the STUN/TURN/ICE
references, some updates might be appropriate: RFC 5245 is referenced,
but not RFC 5245bis, there is no reference to TURN mobility (RFC 8016), etc.
----------------------------------------------------------------
F20 The browser must support the use of STUN and TURN
servers that are supplied by entities other than
the web application (i.e., the network provider).
[BA] One aspect of this (STUN/TURN server discovery) was discussed
in https://github.com/w3c/webrtc-pc/issues/941 . However, rather
than adding API surface for STUN/TURN server discovery, it
was noted that WebRTC-PC could permit STUN/TURN servers supplied by
a separate API to be added. So can we say this is satisfied?
----------------------------------------------------------------
F21 The browser must be able to send streams and
data to a peer in the presence of firewalls that only
allow traffic via an HTTP Proxy, when firewall policy
allows WebRTC traffic.
[BA] WebRTC-PC references
https://tools.ietf.org/html/draft-ietf-rtcweb-transports , which includes
HTTP Proxy support as an optional capability. While the ICE WG has been
discussing TLS candidates (e.g.
https://tools.ietf.org/html/draft-martinsen-ice-tls-candidates ) that
work is not yet an IETF WG work item so it would be somewhat
premature to add support for it in WebRTC-PC.
----------------------------------------------------------------
F27 The browser must be able to apply spatialization
effects to audio streams.
[BA] Though there is no API surface in WebRTC-PC, applications
appear to be supporting this by combining WebAudio and WebRTC:
http://smus.com/copresence-webvr/
https://groups.google.com/forum/#!topic/discuss-webrtc/KWo9VwIcBXA
----------------------------------------------------------------
F29 The browser must be able to change the
voice activity level in audio streams.
[BA] WebRTC-PC supports the voiceActivityDetection
flag. We also have audioLevel and voiceActivityFlag attributes (both
read-only) and the dtx attribute in RTCRtpEncodingParameters.
Does that cover everything implied by this requirement?
----------------------------------------------------------------
Received on Wednesday, 3 May 2017 22:27:04 UTC