{
  "$schema": "/api/schemas/documents.schema.json",
  "apiVersion": "1.1.0",
  "lastModified": "2026-10-22T15:59:21.615Z",
  "sourcePath": "src/main/data/docs",
  "docId": "RFC3910",
  "document": {
    "abstract": "This document describes the Services in PSTN (Public Switched Telephone Network) requesting Internet Services (SPIRITS) protocol. The purpose of the SPIRITS protocol is to support services that originate in the cellular or wireline PSTN and necessitate interactions between the PSTN and the Internet. On the PSTN side, the SPIRITS services are most often initiated from the Intelligent Network (IN) entities. Internet Call Waiting and Internet Caller-ID Delivery are examples of SPIRITS services, as are location-based services on the cellular network. The protocol defines the building blocks from which many other services can be built. [STANDARDS-TRACK]",
    "abstract$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML abstract",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc3910/",
      "updated": "2026-10-22T15:49:44.804Z",
      "version": "extractDocs.js@commit:17393e87cc4d"
    },
    "authors": [
      {
        "name": "Vijay K. Gurbani"
      },
      {
        "name": "Alec Brusilovsky"
      },
      {
        "name": "Igor Faynberg"
      },
      {
        "name": "Jorge Gato"
      },
      {
        "name": "Hui-Lan Lu"
      },
      {
        "name": "Musa Unmehopa"
      }
    ],
    "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/rfc3910/",
      "updated": "2026-10-22T15:49:44.804Z",
      "version": "extractDocs.js@commit:17393e87cc4d"
    },
    "docId": "RFC3910",
    "docId$meta": {
      "confidence": "high",
      "note": "Derived from RFC number or Datatracker identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc3910/",
      "updated": "2026-10-22T15:49:44.804Z",
      "version": "extractDocs.js@commit:17393e87cc4d"
    },
    "docLabel": "IETF RFC 3910",
    "docLabel$meta": {
      "confidence": "high",
      "note": "Constructed from provider and document identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc3910/",
      "updated": "2026-10-22T15:49:44.804Z",
      "version": "extractDocs.js@commit:17393e87cc4d"
    },
    "docNumber": "3910",
    "docNumber$meta": {
      "confidence": "high",
      "note": "From the RFC index entry (rfc-index.xml <doc-id>)",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc3910/",
      "updated": "2026-10-22T15:49:44.804Z",
      "version": "extractDocs.js@commit:17393e87cc4d"
    },
    "docTitle": "The SPIRITS (Services in PSTN requesting Internet Services) Protocol",
    "docTitle$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML title",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc3910/",
      "updated": "2026-10-22T15:49:44.804Z",
      "version": "extractDocs.js@commit:17393e87cc4d"
    },
    "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/rfc3910/",
      "updated": "2026-10-22T15:49:44.804Z",
      "version": "extractDocs.js@commit:17393e87cc4d"
    },
    "doi": "10.17487/RFC3910",
    "doi$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML doi",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc3910/",
      "updated": "2026-10-22T15:49:44.804Z",
      "version": "extractDocs.js@commit:17393e87cc4d"
    },
    "href": "https://doi.org/10.17487/RFC3910",
    "href$meta": {
      "confidence": "high",
      "note": "Derived from DOI (https://doi.org/<doi>)",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc3910/",
      "updated": "2026-10-22T15:49:44.804Z",
      "version": "extractDocs.js@commit:17393e87cc4d"
    },
    "keywords": [
      "SPIRITS",
      "PSTN",
      "Public Switched Telephone Network",
      "SIP",
      "Event Notification",
      "XML",
      "Wireless",
      "Intelligent Network"
    ],
    "keywords$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML keywords",
      "originalValue": [
        "SPIRTS",
        "PSTN",
        "Public Switched Telephone Network",
        "SIP",
        "Event Notification",
        "Eventpackages",
        "Internet Call Waiting",
        "XML",
        "Wireless",
        "Intelligent Network",
        "Detection Point"
      ],
      "overridden": true,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc3910/",
      "updated": "2026-10-22T15:59:21.615Z",
      "version": "extractDocs.js@commit:44a7428c57f3"
    },
    "pages": "50",
    "pages$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML page-count",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc3910/",
      "updated": "2026-10-22T15:49:44.804Z",
      "version": "extractDocs.js@commit:17393e87cc4d"
    },
    "publicationDate": "2004-10-01",
    "publicationDate$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML date",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc3910/",
      "updated": "2026-10-22T15:49:44.804Z",
      "version": "extractDocs.js@commit:17393e87cc4d"
    },
    "publisher": "IETF",
    "publisher$meta": {
      "confidence": "high",
      "note": "Static: provider",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc3910/",
      "updated": "2026-10-22T15:49:44.804Z",
      "version": "extractDocs.js@commit:17393e87cc4d"
    },
    "references": {
      "bibliographic": [
        "T-REC-Q.1228",
        "RFC2848",
        "RFC3023",
        "RFC2995",
        "RFC3263",
        "W3C.xmlschema-1.20010502",
        "T-REC-Q.1238.2000",
        "RFC2141",
        "RFC2648",
        "RFC3688",
        "W3C.xml-names",
        "RFC3851",
        "RFC2045",
        "RFC2046",
        "RFC2047",
        "RFC2048",
        "RFC2049",
        "orphan/RFC3910/h:187d1259",
        "orphan/RFC3910/h:65d40618"
      ],
      "bibliographic$meta": {
        "confidence": "medium",
        "flag": "MIXED_REF_LAYOUT_RISK anchored=20 proseBlocks=31 skippedAnchorBlocks=22",
        "note": "Parsed from RFC HTML references/informative sections",
        "originalValue": [],
        "reviewRequired": true,
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc3910/",
        "updated": "2026-10-22T15:49:44.804Z",
        "version": "extractDocs.js@commit:17393e87cc4d"
      },
      "normative": [
        "RFC3136",
        "RFC2119",
        "RFC3265",
        "RFC3298",
        "RFC3261"
      ],
      "normative$meta": {
        "confidence": "high",
        "note": "Parsed from RFC HTML normative references sections",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc3910/",
        "updated": "2026-10-22T15:49:44.804Z",
        "version": "extractDocs.js@commit:17393e87cc4d"
      }
    },
    "resolvedHref": "https://www.rfc-editor.org/info/rfc3910/",
    "resolvedHref$meta": {
      "confidence": "high",
      "note": "Final URL resolved via URL redirect verification",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc3910/",
      "updated": "2026-10-22T15:49:44.804Z",
      "version": "extractDocs.js@commit:17393e87cc4d"
    },
    "status": {
      "active": true,
      "active$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc3910/",
        "updated": "2026-10-22T15:49:44.804Z",
        "version": "extractDocs.js@commit:17393e87cc4d"
      },
      "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/rfc3910/",
        "updated": "2026-10-22T15:49:44.804Z",
        "version": "extractDocs.js@commit:17393e87cc4d"
      },
      "latestVersion": true,
      "latestVersion$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc3910/",
        "updated": "2026-10-22T15:49:44.804Z",
        "version": "extractDocs.js@commit:17393e87cc4d"
      },
      "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/rfc3910/",
        "updated": "2026-10-22T15:49:44.804Z",
        "version": "extractDocs.js@commit:17393e87cc4d"
      },
      "superseded": false,
      "superseded$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc3910/",
        "updated": "2026-10-22T15:49:44.804Z",
        "version": "extractDocs.js@commit:17393e87cc4d"
      }
    }
  }
}