{
  "$schema": "/api/schemas/documents.schema.json",
  "apiVersion": "1.1.0",
  "lastModified": "2026-10-15T19:18:58.233Z",
  "sourcePath": "src/main/data/docs",
  "docId": "RFC5780",
  "document": {
    "abstract": "This specification defines an experimental usage of the Session Traversal Utilities for NAT (STUN) Protocol that discovers the presence and current behavior of NATs and firewalls between the STUN client and the STUN server. This document defines an Experimental Protocol for the Internet community.",
    "abstract$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML abstract",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc5780/",
      "updated": "2026-10-15T19:18:58.233Z",
      "version": "extractDocs.js@commit:669b9e3c6fef"
    },
    "authors": [
      {
        "name": "Derek MacDonald"
      },
      {
        "name": "Bruce Lowekamp"
      }
    ],
    "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/rfc5780/",
      "updated": "2026-10-15T19:18:58.233Z",
      "version": "extractDocs.js@commit:669b9e3c6fef"
    },
    "docId": "RFC5780",
    "docId$meta": {
      "confidence": "high",
      "note": "Derived from RFC number or Datatracker identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc5780/",
      "updated": "2026-10-15T19:18:58.233Z",
      "version": "extractDocs.js@commit:669b9e3c6fef"
    },
    "docLabel": "IETF RFC 5780",
    "docLabel$meta": {
      "confidence": "high",
      "note": "Constructed from provider and document identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc5780/",
      "updated": "2026-10-15T19:18:58.233Z",
      "version": "extractDocs.js@commit:669b9e3c6fef"
    },
    "docNumber": "5780",
    "docNumber$meta": {
      "confidence": "high",
      "note": "Parsed from RFC info page report metadata",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc5780/",
      "updated": "2026-10-15T19:18:58.233Z",
      "version": "extractDocs.js@commit:669b9e3c6fef"
    },
    "docTitle": "NAT Behavior Discovery Using Session Traversal Utilities for NAT (STUN)",
    "docTitle$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML title",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc5780/",
      "updated": "2026-10-15T19:18:58.233Z",
      "version": "extractDocs.js@commit:669b9e3c6fef"
    },
    "docType": "Experimental",
    "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/rfc5780/",
      "updated": "2026-10-15T19:18:58.233Z",
      "version": "extractDocs.js@commit:669b9e3c6fef"
    },
    "doi": "10.17487/RFC5780",
    "doi$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML doi",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc5780/",
      "updated": "2026-10-15T19:18:58.233Z",
      "version": "extractDocs.js@commit:669b9e3c6fef"
    },
    "href": "https://doi.org/10.17487/RFC5780",
    "href$meta": {
      "confidence": "high",
      "note": "Derived from DOI (https://doi.org/<doi>)",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc5780/",
      "updated": "2026-10-15T19:18:58.233Z",
      "version": "extractDocs.js@commit:669b9e3c6fef"
    },
    "keywords": [
      "NAT Type Diagnostics"
    ],
    "keywords$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML keywords",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc5780/",
      "updated": "2026-10-15T19:18:58.233Z",
      "version": "extractDocs.js@commit:669b9e3c6fef"
    },
    "pages": "27",
    "pages$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML page-count",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc5780/",
      "updated": "2026-10-15T19:18:58.233Z",
      "version": "extractDocs.js@commit:669b9e3c6fef"
    },
    "publicationDate": "2010-05-01",
    "publicationDate$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML date",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc5780/",
      "updated": "2026-10-15T19:18:58.233Z",
      "version": "extractDocs.js@commit:669b9e3c6fef"
    },
    "publisher": "IETF",
    "publisher$meta": {
      "confidence": "high",
      "note": "Static: provider",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc5780/",
      "updated": "2026-10-15T19:18:58.233Z",
      "version": "extractDocs.js@commit:669b9e3c6fef"
    },
    "references": {
      "bibliographic": [
        "RFC3424",
        "RFC3489",
        "RFC5245",
        "RFC5626"
      ],
      "bibliographic$meta": {
        "confidence": "medium",
        "flag": "MIXED_REF_LAYOUT_RISK anchored=8 proseBlocks=11 skippedAnchorBlocks=9",
        "note": "Parsed from RFC HTML references/informative sections",
        "originalValue": [],
        "reviewRequired": true,
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc5780/",
        "updated": "2026-10-15T19:18:58.233Z",
        "version": "extractDocs.js@commit:669b9e3c6fef"
      },
      "normative": [
        "RFC2119",
        "RFC2782",
        "RFC4787",
        "RFC5389"
      ],
      "normative$meta": {
        "confidence": "high",
        "note": "Parsed from RFC HTML normative references sections",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc5780/",
        "updated": "2026-10-15T19:18:58.233Z",
        "version": "extractDocs.js@commit:669b9e3c6fef"
      }
    },
    "resolvedHref": "https://www.rfc-editor.org/info/rfc5780/",
    "resolvedHref$meta": {
      "confidence": "high",
      "note": "Final URL resolved via URL redirect verification",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc5780/",
      "updated": "2026-10-15T19:18:58.233Z",
      "version": "extractDocs.js@commit:669b9e3c6fef"
    },
    "status": {
      "active": true,
      "active$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc5780/",
        "updated": "2026-10-15T19:18:58.233Z",
        "version": "extractDocs.js@commit:669b9e3c6fef"
      },
      "amendedBy": [
        "RFC8553"
      ],
      "amendedBy$meta": {
        "confidence": "high",
        "note": "Parsed from RFC index XML",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc5780/",
        "updated": "2026-10-15T19:18:58.233Z",
        "version": "extractDocs.js@commit:669b9e3c6fef"
      },
      "errataExist": true,
      "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/rfc5780/",
        "updated": "2026-10-15T19:18:58.233Z",
        "version": "extractDocs.js@commit:669b9e3c6fef"
      },
      "errataUrl": [
        "https://www.rfc-editor.org/errata/rfc5780",
        "https://www.rfc-editor.org/errata_search.php?rfc=5780",
        "https://www.rfc-editor.org/rfc/inline-errata/rfc5780.html"
      ],
      "errataUrl$meta": {
        "confidence": "high",
        "note": "Parsed from errata links on RFC/Datatracker pages",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc5780/",
        "updated": "2026-10-15T19:18:58.233Z",
        "version": "extractDocs.js@commit:669b9e3c6fef"
      },
      "latestVersion": true,
      "latestVersion$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc5780/",
        "updated": "2026-10-15T19:18:58.233Z",
        "version": "extractDocs.js@commit:669b9e3c6fef"
      },
      "statusNote": "Experimental",
      "statusNote$meta": {
        "confidence": "high",
        "note": "Mapped from Datatracker doc.json std_level",
        "originalValue": null,
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc5780/",
        "updated": "2026-10-15T19:18:58.233Z",
        "version": "extractDocs.js@commit:669b9e3c6fef"
      },
      "superseded": false,
      "superseded$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc5780/",
        "updated": "2026-10-15T19:18:58.233Z",
        "version": "extractDocs.js@commit:669b9e3c6fef"
      }
    }
  }
}