{
  "product": "Specification (reference)",
  "title": "WebRTC",
  "summary": "Peer-to-peer audio, video and data — including getting through the NAT.",
  "category": "protocols",
  "entries": [
    {
      "path": [
        "AI",
        "Signalling",
        "Offer/answer exchange over a channel you provide"
      ],
      "value": "",
      "status": "yes",
      "note": "SDP; the protocol does not specify transport"
    },
    {
      "path": [
        "AI",
        "Signalling",
        "Renegotiation when tracks change mid-call"
      ],
      "value": "",
      "status": "yes",
      "note": ""
    },
    {
      "path": [
        "AI",
        "Connectivity",
        "ICE candidate gathering and connectivity checks"
      ],
      "value": "",
      "status": "yes",
      "note": ""
    },
    {
      "path": [
        "AI",
        "Connectivity",
        "STUN for reflexive addresses"
      ],
      "value": "",
      "status": "yes",
      "note": ""
    },
    {
      "path": [
        "AI",
        "Connectivity",
        "TURN relay when direct connection fails"
      ],
      "value": "",
      "status": "yes",
      "note": "the case that actually decides call success"
    },
    {
      "path": [
        "AI",
        "Connectivity",
        "Trickle ICE to shorten setup"
      ],
      "value": "",
      "status": "yes",
      "note": ""
    },
    {
      "path": [
        "AI",
        "Media",
        "Codec negotiation"
      ],
      "value": "Opus, VP8/VP9, H.264, AV1",
      "status": "yes",
      "note": ""
    },
    {
      "path": [
        "AI",
        "Media",
        "Simulcast or SVC for multiple qualities"
      ],
      "value": "",
      "status": "yes",
      "note": ""
    },
    {
      "path": [
        "AI",
        "Media",
        "Echo cancellation, noise suppression, gain control"
      ],
      "value": "",
      "status": "yes",
      "note": ""
    },
    {
      "path": [
        "AI",
        "Media",
        "Adaptive bitrate under congestion"
      ],
      "value": "",
      "status": "yes",
      "note": ""
    },
    {
      "path": [
        "AI",
        "Data",
        "Data channels, reliable and unreliable modes"
      ],
      "value": "",
      "status": "yes",
      "note": ""
    },
    {
      "path": [
        "AI",
        "Security",
        "DTLS-SRTP mandatory; media is always encrypted"
      ],
      "value": "",
      "status": "yes",
      "note": ""
    },
    {
      "path": [
        "AI",
        "Security",
        "Permission prompts before camera and microphone"
      ],
      "value": "",
      "status": "yes",
      "note": ""
    },
    {
      "path": [
        "AI",
        "Quality",
        "Statistics API for jitter, loss and round-trip time"
      ],
      "value": "",
      "status": "yes",
      "note": ""
    },
    {
      "path": [
        "AI",
        "Quality",
        "Graceful degradation to audio-only"
      ],
      "value": "",
      "status": "yes",
      "note": ""
    },
    {
      "path": [
        "AI",
        "Lifecycle",
        "Clean teardown releasing devices and sockets"
      ],
      "value": "",
      "status": "yes",
      "note": ""
    }
  ]
}
