Home

ORTC Support in Edge Chromium

%3CLINGO-SUB%20id%3D%22lingo-sub-411631%22%20slang%3D%22en-US%22%3EORTC%20Support%20in%20Edge%20Chromium%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-411631%22%20slang%3D%22en-US%22%3E%3CP%3EHi%2C%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EWhat's%20the%20position%20on%20ORTC%20support%20in%20Edge%20please%3F%20It's%20currently%20supported%20in%20the%20GA%20build%20of%20Edge%2C%20but%20I%20noticed%20that%20it%20appears%20to%20not%20be%20present%20in%20the%20latest%20Insider%20Build%2C%20running%20the%20Chromium%20rendering%20engine.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EThis%20wasn't%20a%20complete%20surprise%20because%20Chrome%20doesn't%20support%20ORTC%20either%2C%20but%20if%20the%20future%20plan%20is%20that%20Edge%20will%20no%20longer%20support%20ORTC%2C%20that's%20a%20message%20that%20would%20be%20really%20good%20to%20articulate%20now%2C%20so%20folks%20can%20prepare.%20(there%20are%20solutions%20out%20that%20that%20depend%20on%20ORTC%20and%20use%20Edge%20to%20deliver%20them)%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EThanks%20for%20any%20guidance.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E-tom%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-412189%22%20slang%3D%22en-US%22%3ERe%3A%20ORTC%20Support%20in%20Edge%20Chromium%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-412189%22%20slang%3D%22en-US%22%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F7960%22%20target%3D%22_blank%22%3E%40Tom%20Morgan%3C%2FA%3E%26nbsp%3B%20Thanks%20for%20your%20comments%20and%20suggestions.%26nbsp%3B%20You%20are%20correct%20that%20the%20existing%20ORTC%20implementation%20in%20Edge%20is%20not%20supported%20in%20the%20new%20Edge%20builds.%26nbsp%3B%20Until%20we%20can%20provide%20more%20detailed%20guidance%2C%20here%20are%20some%20things%20that%20developers%20should%20consider.%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E1.%20Developers%20who%20were%20using%20Edge%20ORTC%20to%20build%20WebRTC%201.0%20applications%20running%20on%20all%20browsers%20via%20the%20adapter.js%20shim%20should%20test%20those%20applications%20on%20the%20new%20Edge%20code%20base.%26nbsp%3B%20Since%20the%26nbsp%3Badapter.js%20shim%20correctly%20detects%20the%20difference%20between%20the%20new%20and%20older%20Edge%20code%20bases%20we%20believe%20that%20many%20of%20those%20applications%20will%20continue%20to%20run%20or%20will%20require%20only%20minor%20changes.%20If%20you%20are%20encountering%20issues%20with%20adapter.js%20applications%20on%20the%20new%20Edge%20code%20base%2C%20please%20let%20us%20know%20so%20we%20can%20investigate%20the%20problems.%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E2.%20Developers%20who%20were%20supporting%20Chrome%20%22Plan%20B%22%20in%20their%20applications%20are%20advised%20to%20test%20their%20%22Plan%20B%22%20applications%20on%20the%20new%20Edge%20code%20base.%26nbsp%3B%20Since%20%22Unified%20Plan%22%20is%20the%20default%20in%20the%20new%20Edge%20code%20base%2C%20you%20will%20specifically%20need%20to%20request%20%22Plan%20B%22%20when%20constructing%20an%20RTCPeerConnection%2C%20as%20follows%3A%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3Epc%20%3D%20new%20RTCPeerConnection(%7BsdpSemantics%3A%20'plan-b'%20%7D)%3B%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EIt%20is%20our%20expectation%20that%20existing%20%22Plan%20B%22%20applications%20will%20run%20on%20the%20new%20Edge%20code%20base%20with%20little%20or%20no%20changes.%26nbsp%3B%20If%20you%20are%20encountering%20issues%2C%20please%20let%20us%20know.%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E3.%20Developers%20that%20were%20developing%20native%20ORTC%20applications%20but%20did%20not%20support%20%22Plan%20B%22%20in%20Chrome%20are%20advised%20to%20consider%20migrating%20to%20%22Unified%20Plan%22%20in%20the%20new%20Edge%20code%20base.%26nbsp%3B%20Some%20advice%20on%20adoption%20of%20%22Unified%20Plan%22%20is%20available%20here%3A%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CA%20href%3D%22https%3A%2F%2Fwebrtc.internaut.com%2Fitexpo-2019%2Fslides%2FITEXPO-2019_Leveraging_WebRTC.pdf%22%20target%3D%22_blank%22%20rel%3D%22noopener%20nofollow%20noopener%20noreferrer%20noopener%20noreferrer%22%3Ehttps%3A%2F%2Fwebrtc.internaut.com%2Fitexpo-2019%2Fslides%2FITEXPO-2019_Leveraging_WebRTC.pdf%3C%2FA%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EWhile%20%22Unified%20Plan%22%20is%20still%20a%20%22work-in-progress%22%2C%20it%20does%20support%20the%26nbsp%3BRtpSender%20and%20RtpReceiver%20objects%20from%20ORTC%20as%20well%20as%20the%20RtpTransceiver%2C%20and%20can%20provide%20standards-based%20functionality%20not%20present%20in%20Edge%20ORTC%20(such%20as%20support%20for%20simulcast).%26nbsp%3B%20%22Unified%20Plan%22%20also%20provides%20support%20for%20standards-based%20statistics%20beyond%20what%20was%20available%20in%20Edge%20ORTC.%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EDocumentation%20on%20the%20APIs%20supported%20in%20the%20new%20Edge%20code%20base%20are%20available%20here%3A%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EWebRTC%201.0%20Candidate%20Recommendation%3A%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CA%20href%3D%22https%3A%2F%2Frawgit.com%2Fw3c%2Fwebrtc-pc%2Fmaster%2Fwebrtc.html%22%20target%3D%22_blank%22%20rel%3D%22noopener%20nofollow%20noopener%20noreferrer%20noopener%20noreferrer%22%3Ehttps%3A%2F%2Frawgit.com%2Fw3c%2Fwebrtc-pc%2Fmaster%2Fwebrtc.html%3C%2FA%3E%3C%2FP%3E%0A%3CP%3EWebRTC-Stats%20API%3A%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fw3c.github.io%2Fwebrtc-stats%2F%22%20target%3D%22_blank%22%20rel%3D%22noopener%20nofollow%20noopener%20noreferrer%20noopener%20noreferrer%22%3Ehttps%3A%2F%2Fw3c.github.io%2Fwebrtc-stats%2F%3C%2FA%3E%3C%2FP%3E%0A%3CP%3EWebRTC-ICE%3A%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fw3c.github.io%2Fwebrtc-ice%2F%22%20target%3D%22_blank%22%20rel%3D%22noopener%20nofollow%20noopener%20noreferrer%20noopener%20noreferrer%22%3Ehttps%3A%2F%2Fw3c.github.io%2Fwebrtc-ice%2F%3C%2FA%3E%3C%2FP%3E%0A%3CP%3ERTCQuicTransport%20trial%20documentation%3A%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fgithub.com%2Fshampson%2FRTCQuicTransport-Origin-Trial-Documentation%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noopener%20noreferrer%20noopener%20noreferrer%22%3Ehttps%3A%2F%2Fgithub.com%2Fshampson%2FRTCQuicTransport-Origin-Trial-Documentation%3C%2FA%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EA%20final%20note.%26nbsp%3B%20While%20not%20appropriate%20for%20use%20in%20production%20applications%2C%20the%20new%20Edge%20code%20base%20also%20provides%20support%20for%20experimental%20APIs%20such%20as%20those%20for%20the%20QuicTransport%20and%20IceTransport%20objects%20(inspired%20by%20ORTC)%3A%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CA%20href%3D%22https%3A%2F%2Fdevelopers.google.com%2Fweb%2Fupdates%2F2019%2F01%2Frtcquictransport-api%22%20target%3D%22_blank%22%20rel%3D%22noopener%20nofollow%20noopener%20noreferrer%20noopener%20noreferrer%22%3Ehttps%3A%2F%2Fdevelopers.google.com%2Fweb%2Fupdates%2F2019%2F01%2Frtcquictransport-api%3C%2FA%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E
Tom Morgan
MVP

Hi,

 

What's the position on ORTC support in Edge please? It's currently supported in the GA build of Edge, but I noticed that it appears to not be present in the latest Insider Build, running the Chromium rendering engine.

 

This wasn't a complete surprise because Chrome doesn't support ORTC either, but if the future plan is that Edge will no longer support ORTC, that's a message that would be really good to articulate now, so folks can prepare. (there are solutions out that that depend on ORTC and use Edge to deliver them)

 

Thanks for any guidance.

 

-tom 

1 Reply

@Tom Morgan  Thanks for your comments and suggestions.  You are correct that the existing ORTC implementation in Edge is not supported in the new Edge builds.  Until we can provide more detailed guidance, here are some things that developers should consider. 

 

1. Developers who were using Edge ORTC to build WebRTC 1.0 applications running on all browsers via the adapter.js shim should test those applications on the new Edge code base.  Since the adapter.js shim correctly detects the difference between the new and older Edge code bases we believe that many of those applications will continue to run or will require only minor changes. If you are encountering issues with adapter.js applications on the new Edge code base, please let us know so we can investigate the problems. 

 

2. Developers who were supporting Chrome "Plan B" in their applications are advised to test their "Plan B" applications on the new Edge code base.  Since "Unified Plan" is the default in the new Edge code base, you will specifically need to request "Plan B" when constructing an RTCPeerConnection, as follows: 

 

pc = new RTCPeerConnection({sdpSemantics: 'plan-b' }); 

 

It is our expectation that existing "Plan B" applications will run on the new Edge code base with little or no changes.  If you are encountering issues, please let us know. 

 

3. Developers that were developing native ORTC applications but did not support "Plan B" in Chrome are advised to consider migrating to "Unified Plan" in the new Edge code base.  Some advice on adoption of "Unified Plan" is available here: 

https://webrtc.internaut.com/itexpo-2019/slides/ITEXPO-2019_Leveraging_WebRTC.pdf

 

While "Unified Plan" is still a "work-in-progress", it does support the RtpSender and RtpReceiver objects from ORTC as well as the RtpTransceiver, and can provide standards-based functionality not present in Edge ORTC (such as support for simulcast).  "Unified Plan" also provides support for standards-based statistics beyond what was available in Edge ORTC. 

 

Documentation on the APIs supported in the new Edge code base are available here: 

 

WebRTC 1.0 Candidate Recommendation: 

https://rawgit.com/w3c/webrtc-pc/master/webrtc.html

WebRTC-Stats API: https://w3c.github.io/webrtc-stats/

WebRTC-ICE: https://w3c.github.io/webrtc-ice/

RTCQuicTransport trial documentation: https://github.com/shampson/RTCQuicTransport-Origin-Trial-Documentation

 

A final note.  While not appropriate for use in production applications, the new Edge code base also provides support for experimental APIs such as those for the QuicTransport and IceTransport objects (inspired by ORTC): 

https://developers.google.com/web/updates/2019/01/rtcquictransport-api 

 

 

Related Conversations
Tabs and Dark Mode
cjc2112 in Discussions on
46 Replies
Extentions Synchronization
Deleted in Discussions on
3 Replies
Stable version of Edge insider browser
HotCakeX in Discussions on
35 Replies
How to Prevent Teams from Auto-Launch
chenrylee in Microsoft Teams on
30 Replies
flashing a white screen while open new tab
Deleted in Discussions on
14 Replies
Security Community Webinars
Valon_Kolica in Security, Privacy & Compliance on
13 Replies