API: WebRTC documentation status

This page tracks ongoing documentation work in the MDN WebRTC section.

Feel free to contribute! We love help!


Pages Needs* tags Missing tags Editorial reviews Technical reviews Outdated pages Missing pages Dev-doc-needed bugs Documentation requests
181 9 (5%) 0 (0%) 2 (2%) 17 (10%) 26 (15%) 0 (0%) 19 (11%) 35 (20%)

See also localization status of this section.

Needs* tags

Found 9 pages. Learn more about how to deal with meta-tags.

Editorial reviews

Found 2 pages. Learn more about how to do an editorial review.

Technical reviews

Found 17 pages. Learn more about how to do a technical review.

Outdated pages

Found 26 pages. These pages haven't been updated in over a year. Outdated pages can have problems with both content and format. Look at these pages and consider: Is this page talking about the Web of today? Does it look consistent with newer pages in this topic area? If not, make any needed changes.

Dev-doc-needed bugs

Found 19 bugs. Learn more about how to resolve a dev-doc-needed bug.

Bug Summary Release
1213056 Change RTCStatsReport to be maplike. mozilla48
1232082 Add RTCRtpReceiver and fire ontrack for remote tracks mozilla46
1175609 onnegotiationneeded fires synchronously mozilla45
1155923 Unprefix WebRTC mozilla44
1189060 Add hooks to allow an extension to hook into createOffer() and createAnswer() mozilla43
1184426 Unprefix RTCIceCandidatePairStats.priority (formerly mozPriority) mozilla42
1152538 Enable WebRTC identity by default mozilla40
975144 Support electrolysis for WebRTC identity mozilla38
1032839 Implement Track replace for RTPSender mozilla34
1032835 Implement basic RTPSender and RTPReceiver with RTCPeerConnection mozilla34
1036653 Implement application sharing for getUserMedia mozilla34
1038926 Add support for window sharing for getUserMedia mozilla33
942367 Implement peerIdentity constraint mozilla32
1014304 Remove onconnection and onclosedconnection from PC mozilla32
859565 Remove readyState legacy attribute in future release mozilla32
796463 Pref on WebRTC by default mozilla21
752352 Define and implement chrome extensions to getUserMedia and MediaStreams for privileged callers mozilla18
691234 Write MediaEngine backend for Desktop based on WebRTC code mozilla16
752353 Implement DOM bindings for getUserMedia mozilla15

Browse as bug list.

Documentation requests

Found 35 bugs. Documentation request bugs can contain various kinds work related to MDN pages. Read through the bug and ask questions in the bug if in doubt.

Bug Summary
1050930 [META] Complete WebRTC documentation
1117356 Update WebRTC basics article
1119285 webrtc video chat examples and documentation are old and broken
1243487 Document potential causes of WebRTC ICE renegotiation
1257984 Document RTCIceTransport interface
1257987 Clean up RTCSessionDescription documentation
1257988 Clean up and verify documentation of RTCPeerConnectionIceEvent
1257990 Update and complete RTCRtpSender documentation
1257992 Update and complete RTCRtpReceiver documentation
1257994 Update and complete RTCTrackEvent documentation
1257999 Document RTCCertificate
1258002 Document RTCDataChannel
1258004 Document RTCDTMFSender
1258007 Document RTCDTMFToneChangeEvent
1258393 Document RTCStatsReport
1258394 Document RTCIdentityProviderRegistrar
1258395 Document RTCIdentityProvider
1258396 Document RTCIdentityAssertion
1258400 Update documentation: RTCIdentityEvent has been removed from the spec
1258401 Update documentation: RTCIdentityErrorEvent has been removed
1258408 Document RTCPeerConnectionIceErrorEvent
1258409 Document RTCRtpTransceiver
1258411 Document RTCDtlsTransport
1258412 Document RTCDataChannelEvent
1258413 Document RTCStatsReport
1258415 Document RTCStats
1258418 Complete and verify currentness of MediaStreamTrack documentation
1258419 Document how to use Web-based identity providers with WebRTC
1258423 Document how to use DTMF with WebRTC
1258424 Document how to use WebRTC statistics to debug and measure quality of WebRTC connections
1258437 Document privacy and security considerations for WebRTC apps
1275214 Document WebRTC APIs
1277904 Document RTCPeerConnectionObserver
1280833 MediaStreamConstraints documentation does not exist.
1301196 Document MediaStreamError

Browse as bug list.


Please help us to localize this documentation into different languages. Read more about how to translate.

Language Pages Translated Translations up to date
af 132 0 (0%) 0 (0%)
bn-BD 132 0 (0%) 0 (0%)
de 132 2 (1%) 0 (0%)
es 132 5 (3%) 0 (0%)
fa 132 0 (0%) 0 (0%)
fr 132 10 (7%) 3 (30%)
it 132 0 (0%) 0 (0%)
ja 132 15 (11%) 4 (26%)
ko 132 0 (0%) 0 (0%)
pl 132 0 (0%) 0 (0%)
pt-BR 132 2 (1%) 0 (0%)
pt-PT 132 0 (0%) 0 (0%)
ro 132 0 (0%) 0 (0%)
ru 132 2 (1%) 1 (50%)
zh-CN 132 15 (11%) 3 (20%)
zh-TW 132 1 (0%) 0 (0%)


The documentation work will be handled primarily by:

Sample code and guide/tutorial content.
Romain Gauthier (tOkeshu on IRC)

has volunteered to help with samples and tutorials. He's got a few already on github, including: Signaling server. HiBuddy (bidirectional video chat)


  • Encourage the use of a critical new Web technology.
  • Enable Firefox OS developers to easily learn how to write audio/video apps.
  • Enable Firefox OS developers to perform peer-to-peer data transactions.
  • Enable Firefox OS developers to write code that sends DTMF (touch-tone phone dialing) signals.

User stories

A user story is a description of a specific user's needs that should be met by the documentation once it's finished.

  • I want to write a video capture application.
  • I want to write a video/audio chat application.
  • I want to do easy peer-to-peer data transactions.
  • My app needs to send DTMF tones. Note: This is very low priority; Gecko doesn't support it yet and implementing it isn't a priority, and while Chrome supports it, generally devs aren't interested in using it.

Documents needed

Landing pages

User guides

The following user guide content will be needed.

  • High level guides
    • Introduction to WebRTC (what it is and what it can do)
    • Overview of the APIs
    • Architecture overview
      • Protocols (ICE, STUN, etc)
      • Two-way call architecture
      • Multi-party call architecture
    • The life cycle of a WebRTC connection
    • Security
    • Tools and frameworks
    • Support and compatibility details
      • Browser compatibility details
      • Supported codecs/formats
    • FAQ
  • Low level guides
    • Working with media streams
      • Introduction to the MediaStream API
      • Things you can do with media streams
      • Creating a stream
    • Peer-to-peer connections
      • Introduction
        • What it is
        • Things you can do once connected
          • Streaming media
          • Data transfer
        • What's done for you by RTCPeerConnection
      • Signaling servers
        • What signaling is
        • How it works
          • STUN
          • TURN
          • Which to use when and why
        • Setting up a signaling server
          • Available services to do it for you
          • Setting up your own
            • Available libraries and tools
            • Example: Using <some package yet to be chosen>
      • Establishing a connection
        • Session description object
        • Exchanging session descriptions
        • Opening the connection
    • Data channels
      • Introduction
        • What it is
        • Architecture
          • Use of RTCPeerConnection
          • API modeled on WebSocket
        • Advantages of RTCDataChannel
      • Using data channels
        • Creating the channel
        • Sending and receiving data
    • Using DTMF (need more info on what to do here)
    • Example:
    • Video conferencing
      • Calling another user
      • Receiving a connection

Code samples

The following things need to be demonstrated in sample code. This may be accomplished by either multiple small examples or one large example project which can be presented in pieces as needed to demonstrate specific concepts.

  • Video
    • One way video session
    • Audio-only sessions?
    • Starting a two-way video session
    • Multi-user sessions
    • Handling video session errors
    • Adding/removing users from a session
    • Screen sharing
  • Data
    • Initiating a data transfer session
    • Unidirectional/bidirectional?
    • Multicasting? (I don't know yet if this is supported)
  • Chat
    • A larger example of a chat client/server system using a combination of WebRTC and WebSockets
      • Text chat like IRC
      • Option to initiate video conference among users
      • Option to transmit files among users
  • Contact API
    • Using contacts to start a WebRTC session


The links below contain useful information that may help when producing WebRTC documentation.


Tagging standard

  • Grouping tag is: "WebRTC"

Other tasks to do

  • TBD

Tutorial to-do list

  • TBD

Notes for translators

Any notes here? Where do we expect updates, so that localizers don't translate and update too often?


The interfaces defined in the following specifications are tracked by this status page:

Specification Status Comment
WebRTC 1.0: Real-time Communication Between Browser Working Draft  
Media Capture and Streams Editor's Draft  
MediaStream Recording Working Draft  

Help the 'API/WebRTC' documentation project…
Topic driver : Eric Shepherd (IRC nickname: sheppy)
Look at the current status of the 'API/WebRTC' documentation.
Don't hesitate to contact us on #mdn or on the dev-mdc mailing-list:

Document Tags and Contributors

 Contributors to this page: Sheppy, fscholz, teoli
 Last updated by: Sheppy,