- 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