API: WebRTC documentation status

This page tracks ongoing documentation work in the MDN WebRTC API 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
440 20 (5%) 99 (23%) 307 (70%) 316 (72%) 202 (46%) 0 (0%) 26 (6%) 0 (0%)

See also localization status of this section.

Needs* tags

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

Missing tags

At least missing one of the following:

Found 99 pages. Learn more about how to tag pages.

Editorial reviews

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

Technical reviews

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

Outdated pages

Found 202 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 26 bugs. Learn more about how to resolve a dev-doc-needed bug.

Bug Summary Release
1380555 Refactor RTCInboundRTPStreamStats & RTCOutboundRTPStreamStats to catch up with the spec Future
952160 [meta] Add simulcast support to RTCPeerConnections/AddStream/onAddStream/etc ---
1498652 Remove mozLocalTransport from WebRTC ICE stats ---
881532 maxRetransmits is not exposed on the Data Channel object ---
1386861 Remove RTCInboundRTPStreamStats fields mozAvSyncDelay and mozJitterBufferDelay ---
1363667 Add getContributingSources and getSynchronizationSources to RTCRtpReceiver mozilla59
1359775 Add RTCRtpContributingSourceStats to webrtc stats report mozilla55
1323095 Add deprecation warnings to callback-based pc.getStats() mozilla53
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
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
859565 Remove readyState legacy attribute in future release mozilla32
942367 Implement peerIdentity constraint mozilla32
1014304 Remove onconnection and onclosedconnection from PC 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.


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

Language Pages Translated Translations up to date
bn 312 0 (0%) 0 (0%)
de 312 4 (1%) 0 (0%)
es 312 11 (3%) 1 (9%)
fa 312 1 (0%) 0 (0%)
fr 312 12 (3%) 2 (16%)
it 312 0 (0%) 0 (0%)
ja 406 45 (11%) 7 (15%)
ko 312 7 (2%) 2 (28%)
pl 312 0 (0%) 0 (0%)
pt-BR 312 6 (1%) 1 (16%)
pt-PT 312 5 (1%) 1 (20%)
ru 312 7 (2%) 0 (0%)
zh-CN 312 32 (10%) 5 (15%)
zh-TW 312 1 (0%) 1 (100%)


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

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 Browsers Candidate Recommendation Initial definition.
Media Capture and Streams Candidate Recommendation
MediaStream Recording Working Draft

Contact us