{
  "$schema": "/api/schemas/documents.schema.json",
  "apiVersion": "1.1.0",
  "lastModified": "2026-10-14T16:15:24.580Z",
  "sourcePath": "src/main/data/docs",
  "docId": "RFC8108",
  "document": {
    "abstract": "This memo expands and clarifies the behavior of Real-time Transport Protocol (RTP) endpoints that use multiple synchronization sources (SSRCs). This occurs, for example, when an endpoint sends multiple RTP streams in a single RTP session. This memo updates RFC 3550 with regard to handling multiple SSRCs per endpoint in RTP sessions, with a particular focus on RTP Control Protocol (RTCP) behavior. It also updates RFC 4585 to change and clarify the calculation of the timeout of SSRCs and the inclusion of feedback messages.",
    "abstract$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML abstract",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8108/",
      "updated": "2026-10-14T16:15:24.580Z",
      "version": "extractDocs.js@commit:1ff63569c1a0"
    },
    "authors": [
      {
        "name": "Jonathan Lennox"
      },
      {
        "name": "Magnus Westerlund"
      },
      {
        "name": "Qin Wu"
      },
      {
        "name": "Colin Perkins"
      }
    ],
    "authors$meta": {
      "confidence": "high",
      "note": "Parsed from Datatracker doc page article:author (profile full names)",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8108/",
      "updated": "2026-10-14T16:15:24.580Z",
      "version": "extractDocs.js@commit:1ff63569c1a0"
    },
    "docId": "RFC8108",
    "docId$meta": {
      "confidence": "high",
      "note": "Derived from RFC number or Datatracker identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8108/",
      "updated": "2026-10-14T16:15:24.580Z",
      "version": "extractDocs.js@commit:1ff63569c1a0"
    },
    "docLabel": "IETF RFC 8108",
    "docLabel$meta": {
      "confidence": "high",
      "note": "Constructed from provider and document identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8108/",
      "updated": "2026-10-14T16:15:24.580Z",
      "version": "extractDocs.js@commit:1ff63569c1a0"
    },
    "docNumber": "8108",
    "docNumber$meta": {
      "confidence": "high",
      "note": "Parsed from RFC info page report metadata",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8108/",
      "updated": "2026-10-14T16:15:24.580Z",
      "version": "extractDocs.js@commit:1ff63569c1a0"
    },
    "docTitle": "Sending Multiple RTP Streams in a Single RTP Session",
    "docTitle$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML title",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8108/",
      "updated": "2026-10-14T16:15:24.580Z",
      "version": "extractDocs.js@commit:1ff63569c1a0"
    },
    "docType": "Standard",
    "docType$meta": {
      "confidence": "high",
      "note": "Mapped from Datatracker std_level or RFC status text",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8108/",
      "updated": "2026-10-14T16:15:24.580Z",
      "version": "extractDocs.js@commit:1ff63569c1a0"
    },
    "doi": "10.17487/RFC8108",
    "doi$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML doi",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8108/",
      "updated": "2026-10-14T16:15:24.580Z",
      "version": "extractDocs.js@commit:1ff63569c1a0"
    },
    "href": "https://doi.org/10.17487/RFC8108",
    "href$meta": {
      "confidence": "high",
      "note": "Derived from DOI (https://doi.org/<doi>)",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8108/",
      "updated": "2026-10-14T16:15:24.580Z",
      "version": "extractDocs.js@commit:1ff63569c1a0"
    },
    "pages": "29",
    "pages$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML page-count",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8108/",
      "updated": "2026-10-14T16:15:24.580Z",
      "version": "extractDocs.js@commit:1ff63569c1a0"
    },
    "publicationDate": "2017-03-01",
    "publicationDate$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML date",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8108/",
      "updated": "2026-10-14T16:15:24.580Z",
      "version": "extractDocs.js@commit:1ff63569c1a0"
    },
    "publisher": "IETF",
    "publisher$meta": {
      "confidence": "high",
      "note": "Static: provider",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8108/",
      "updated": "2026-10-14T16:15:24.580Z",
      "version": "extractDocs.js@commit:1ff63569c1a0"
    },
    "references": {
      "bibliographic": [
        "IETF.draft-ietf-clue-framework-25",
        "IETF.draft-ietf-avtcore-multi-media-rtp-session-13",
        "IETF.draft-ietf-avtcore-rtp-multi-stream-optimisation-12",
        "RFC3390",
        "RFC3551",
        "RFC3556",
        "RFC3830",
        "RFC4588",
        "RFC5104",
        "RFC5576",
        "RFC6190",
        "RFC6928",
        "RFC7022",
        "RFC7160",
        "RFC7667",
        "IETF.draft-ietf-mmusic-sdp-bundle-negotiation-36",
        "orphan/RFC8108/h:efb23f4d",
        "orphan/RFC8108/h:090a355e"
      ],
      "bibliographic$meta": {
        "confidence": "medium",
        "flag": "MIXED_REF_LAYOUT_RISK anchored=24 proseBlocks=33 skippedAnchorBlocks=27",
        "note": "Parsed from RFC HTML references/informative sections",
        "originalValue": [],
        "reviewRequired": true,
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc8108/",
        "updated": "2026-10-14T16:15:24.580Z",
        "version": "extractDocs.js@commit:1ff63569c1a0"
      },
      "normative": [
        "RFC2119",
        "RFC3550",
        "RFC3711",
        "RFC4585",
        "RFC5124",
        "RFC5506"
      ],
      "normative$meta": {
        "confidence": "high",
        "note": "Parsed from RFC HTML normative references sections",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc8108/",
        "updated": "2026-10-14T16:15:24.580Z",
        "version": "extractDocs.js@commit:1ff63569c1a0"
      }
    },
    "resolvedHref": "https://www.rfc-editor.org/info/rfc8108/",
    "resolvedHref$meta": {
      "confidence": "high",
      "note": "Final URL resolved via URL redirect verification",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8108/",
      "updated": "2026-10-14T16:15:24.580Z",
      "version": "extractDocs.js@commit:1ff63569c1a0"
    },
    "status": {
      "active": true,
      "active$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc8108/",
        "updated": "2026-10-14T16:15:24.580Z",
        "version": "extractDocs.js@commit:1ff63569c1a0"
      },
      "amends": [
        "RFC3550",
        "RFC4585"
      ],
      "amends$meta": {
        "confidence": "high",
        "note": "Parsed from RFC index XML",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc8108/",
        "updated": "2026-10-14T16:15:24.580Z",
        "version": "extractDocs.js@commit:1ff63569c1a0"
      },
      "errataExist": false,
      "errataExist$meta": {
        "confidence": "high",
        "note": "Derived from presence of errata links on RFC/Datatracker pages",
        "originalValue": null,
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc8108/",
        "updated": "2026-10-14T16:15:24.580Z",
        "version": "extractDocs.js@commit:1ff63569c1a0"
      },
      "latestVersion": true,
      "latestVersion$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc8108/",
        "updated": "2026-10-14T16:15:24.580Z",
        "version": "extractDocs.js@commit:1ff63569c1a0"
      },
      "statusNote": "Proposed Standard",
      "statusNote$meta": {
        "confidence": "high",
        "note": "Mapped from Datatracker doc.json std_level",
        "originalValue": null,
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc8108/",
        "updated": "2026-10-14T16:15:24.580Z",
        "version": "extractDocs.js@commit:1ff63569c1a0"
      },
      "superseded": false,
      "superseded$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc8108/",
        "updated": "2026-10-14T16:15:24.580Z",
        "version": "extractDocs.js@commit:1ff63569c1a0"
      }
    }
  }
}