{
  "$schema": "/api/schemas/documents.schema.json",
  "apiVersion": "1.1.0",
  "lastModified": "2026-10-16T20:45:51.502Z",
  "sourcePath": "src/main/data/docs",
  "docId": "RFC7090",
  "document": {
    "abstract": "After an emergency call is completed (terminated either prematurely by the emergency caller or normally by the call taker), the call taker may feel the need for further communication. For example, the call may have been dropped by accident without the call taker having sufficient information about the current state of an accident victim. A call taker may trigger a callback to the emergency caller using the contact information provided with the initial emergency call. This callback could, under certain circumstances, be treated like any other call and, as a consequence, it may get blocked by authorization policies or may get forwarded to an answering machine. The IETF emergency services architecture specification already offers a solution approach for allowing Public Safety Answering Point (PSAP) callbacks to bypass authorization policies in order to reach the caller without unnecessary delays. Unfortunately, the specified mechanism only supports limited scenarios. This document discusses shortcomings of the current mechanisms and illustrates additional scenarios where better-than-normal call treatment behavior would be desirable. We describe a solution based on a new header field value for the SIP Priority header field, called \"psap-callback\", to mark PSAP callbacks.",
    "abstract$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML abstract",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7090/",
      "updated": "2026-10-16T20:45:51.502Z",
      "version": "extractDocs.js@commit:2c3b1db1b97b"
    },
    "authors": [
      {
        "name": "Henning Schulzrinne"
      },
      {
        "name": "Hannes Tschofenig"
      },
      {
        "name": "Christer Holmberg"
      },
      {
        "name": "Milan Patel"
      }
    ],
    "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/rfc7090/",
      "updated": "2026-10-16T20:45:51.502Z",
      "version": "extractDocs.js@commit:2c3b1db1b97b"
    },
    "docId": "RFC7090",
    "docId$meta": {
      "confidence": "high",
      "note": "Derived from RFC number or Datatracker identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7090/",
      "updated": "2026-10-16T20:45:51.502Z",
      "version": "extractDocs.js@commit:2c3b1db1b97b"
    },
    "docLabel": "IETF RFC 7090",
    "docLabel$meta": {
      "confidence": "high",
      "note": "Constructed from provider and document identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7090/",
      "updated": "2026-10-16T20:45:51.502Z",
      "version": "extractDocs.js@commit:2c3b1db1b97b"
    },
    "docNumber": "7090",
    "docNumber$meta": {
      "confidence": "high",
      "note": "Parsed from RFC info page report metadata",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7090/",
      "updated": "2026-10-16T20:45:51.502Z",
      "version": "extractDocs.js@commit:2c3b1db1b97b"
    },
    "docTitle": "Public Safety Answering Point (PSAP) Callback",
    "docTitle$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML title",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7090/",
      "updated": "2026-10-16T20:45:51.502Z",
      "version": "extractDocs.js@commit:2c3b1db1b97b"
    },
    "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/rfc7090/",
      "updated": "2026-10-16T20:45:51.502Z",
      "version": "extractDocs.js@commit:2c3b1db1b97b"
    },
    "doi": "10.17487/RFC7090",
    "doi$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML doi",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7090/",
      "updated": "2026-10-16T20:45:51.502Z",
      "version": "extractDocs.js@commit:2c3b1db1b97b"
    },
    "href": "https://doi.org/10.17487/RFC7090",
    "href$meta": {
      "confidence": "high",
      "note": "Derived from DOI (https://doi.org/<doi>)",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7090/",
      "updated": "2026-10-16T20:45:51.502Z",
      "version": "extractDocs.js@commit:2c3b1db1b97b"
    },
    "keywords": [
      "PSAP",
      "Callback",
      "SIP",
      "Emergency Services",
      "VoIP"
    ],
    "keywords$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML keywords",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7090/",
      "updated": "2026-10-16T20:45:51.502Z",
      "version": "extractDocs.js@commit:2c3b1db1b97b"
    },
    "pages": "18",
    "pages$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML page-count",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7090/",
      "updated": "2026-10-16T20:45:51.502Z",
      "version": "extractDocs.js@commit:2c3b1db1b97b"
    },
    "publicationDate": "2014-04-01",
    "publicationDate$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML date",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7090/",
      "updated": "2026-10-16T20:45:51.502Z",
      "version": "extractDocs.js@commit:2c3b1db1b97b"
    },
    "publisher": "IETF",
    "publisher$meta": {
      "confidence": "high",
      "note": "Static: provider",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7090/",
      "updated": "2026-10-16T20:45:51.502Z",
      "version": "extractDocs.js@commit:2c3b1db1b97b"
    },
    "references": {
      "bibliographic": [
        "RFC3325",
        "RFC4474",
        "RFC5012",
        "RFC5222",
        "RFC6443",
        "RFC6881",
        "orphan/RFC7090/h:9333a6f9"
      ],
      "bibliographic$meta": {
        "confidence": "medium",
        "flag": "MIXED_REF_LAYOUT_RISK anchored=12 proseBlocks=16 skippedAnchorBlocks=14",
        "note": "Parsed from RFC HTML references/informative sections",
        "originalValue": [],
        "reviewRequired": true,
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc7090/",
        "updated": "2026-10-16T20:45:51.502Z",
        "version": "extractDocs.js@commit:2c3b1db1b97b"
      },
      "normative": [
        "RFC2119",
        "RFC3261",
        "RFC5234",
        "RFC5627",
        "RFC6878"
      ],
      "normative$meta": {
        "confidence": "high",
        "note": "Parsed from RFC HTML normative references sections",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc7090/",
        "updated": "2026-10-16T20:45:51.502Z",
        "version": "extractDocs.js@commit:2c3b1db1b97b"
      }
    },
    "resolvedHref": "https://www.rfc-editor.org/info/rfc7090/",
    "resolvedHref$meta": {
      "confidence": "high",
      "note": "Final URL resolved via URL redirect verification",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7090/",
      "updated": "2026-10-16T20:45:51.502Z",
      "version": "extractDocs.js@commit:2c3b1db1b97b"
    },
    "status": {
      "active": true,
      "active$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc7090/",
        "updated": "2026-10-16T20:45:51.502Z",
        "version": "extractDocs.js@commit:2c3b1db1b97b"
      },
      "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/rfc7090/",
        "updated": "2026-10-16T20:45:51.502Z",
        "version": "extractDocs.js@commit:2c3b1db1b97b"
      },
      "latestVersion": true,
      "latestVersion$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc7090/",
        "updated": "2026-10-16T20:45:51.502Z",
        "version": "extractDocs.js@commit:2c3b1db1b97b"
      },
      "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/rfc7090/",
        "updated": "2026-10-16T20:45:51.502Z",
        "version": "extractDocs.js@commit:2c3b1db1b97b"
      },
      "superseded": false,
      "superseded$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc7090/",
        "updated": "2026-10-16T20:45:51.502Z",
        "version": "extractDocs.js@commit:2c3b1db1b97b"
      }
    }
  }
}