<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.29 (Ruby 3.4.4) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

]>


<rfc ipr="trust200902" docName="draft-wendt-stir-vesper-oob-01" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="VESPER OOB">VESPER Out-of-Band OOB</title>

    <author fullname="Chris Wendt">
      <organization>Somos Inc.</organization>
      <address>
        <postal>
          <country>US</country>
        </postal>
        <email>chris@appliedbits.com</email>
      </address>
    </author>
    <author fullname="Rob &#x015A;liwa">
      <organization>Somos Inc.</organization>
      <address>
        <postal>
          <country>US</country>
        </postal>
        <email>robjsliwa@gmail.com</email>
      </address>
    </author>

    <date year="2025" month="November" day="03"/>

    <area>AREA</area>
    <workgroup>WG Working Group</workgroup>
    <keyword>stir</keyword> <keyword>certificates</keyword> <keyword>delegate certificates</keyword> <keyword>oob</keyword>

    <abstract>


<?line 68?>

<t>This document describes a mechanism for delivering authenticated telephone call identity information using the VESPER framework in environments where SIP signaling is unavailable or unsuitable. By supporting an out-of-band (OOB) transport model, this approach enables entities to publish and retrieve signed PASSporT assertions independent of end-to-end delivery within SIP-based VoIP networks. These PASSporTs are signed with delegate certificates that were authorized for issuance by corresponding authority tokens, which represent the trust and validation of telephone number control and related claim information. Transparency features ensure that these authorizations are publicly auditable and cryptographically provable, supporting a higher standard of trust. This document also introduces support for Connected Identity to the STIR OOB model, enabling the called party to respond with a signed PASSporT asserting its identity, thereby binding the identities of both parties to the transaction and enhancing end-to-end accountability. The OOB mechanism serves as an alternative delivery path for PASSporTs in cases where end-to-end in-band SIP delivery is not possible, enabling verifiers to confirm the association between the originating telephone number and the identity asserting authority as part of the broader VESPER trust framework.</t>



    </abstract>

    <note title="About This Document" removeInRFC="true">
      <t>
        The latest revision of this draft can be found at <eref target="https://github.com/appliedbits/draft-wendt-stir-vesper-oob"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-wendt-stir-vesper-oob/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Secure Telephone Identity Revisited Working Group mailing list (<eref target="mailto:stir@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/stir/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/stir/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/appliedbits/draft-wendt-stir-vesper-oob"/>.</t>
    </note>


  </front>

  <middle>


<?line 72?>

<section anchor="introduction"><name>Introduction</name>

<t>The STIR framework enables the signing and verification of telephone calls using PASSporT <xref target="RFC8225"/> objects carried in SIP <xref target="RFC3261"/> in Identity Header Fields defined in <xref target="RFC8224"/>. However, there are scenarios where SIP-based in-band transmission is not feasible or the Identity Header Field may not be supported, such as legacy TDM interconnects or where intermediary network elements strip SIP Identity headers. STIR Out-of-Band (OOB) <xref target="RFC8816"/> addresses this generally for STIR by defining an OOB delivery model.</t>

<t>The VESPER framework <xref target="I-D.wendt-stir-vesper"/> extends the STIR framework by introducing support for vetted delegate certificates using authority tokens and certificate transparency logs and monitoring to enhance reliability and trust for the delegation of telephone number specific certificates and the associated claims authorized to be made by the use of those certificates for signed PASSporTs. The use cases motivating these enhancements are outlined in <xref target="I-D.wendt-stir-vesper-use-cases"/>.</t>

<t>This document describes how to expand the VESPER framework to use an out-of-band delivery mechanism corresponding to the model described in <xref target="RFC8816"/>. The VESPER framework defines how delegate certificates are issued based on authority tokens that attest to the vetting and authorization of the entity to use a telephone number and assert other related claim information. This specification extends this to enable authorized delegate certificate holders, who sign calls via a STIR Authentication Service, to deliver PASSporTs containing authorized, verifiable claims over a non-SIP-based path. These PASSporTs can be retrieved and validated by a STIR Verification Service, similar to SIP-based STIR as defined in <xref target="RFC8224"/>, thereby maintaining continuity of trust across heterogeneous networks.</t>

<t>OOB delivery is critical in extending the utility of STIR to networks where SIP identity headers cannot be delivered end-to-end. It provides a verifiable alternative path for transmitting PASSporTs and proving the originating telephone number's association to the signing identity.</t>

<t>The Vesper OOB delivery model assumes a one-way publish-and-retrieve interface based on a defined open discovery model for Call Placement Services (CPS). This document extends the concepts in <xref target="RFC8816"/> to specifically define an HTTPS-based interface for publishing and retrieving VESPER PASSporTs. It utilizes the following:</t>

<t><list style="symbols">
  <t>A mechanism for announcing the associated OOB Call Placement Services (CPSs) using the CPS URI extension defined in <xref target="I-D.sliwa-stir-cert-cps-ext"/>.</t>
  <t>A discovery mechanism for OOB endpoints based on <xref target="I-D.sliwa-stir-oob-transparent-discovery"/> with the corresponding Vesper requirement to utilize and verify STI certificate transparency receipts with delegate certificates used in Vesper OOB.</t>
</list></t>

<t>It also optionally supports the STIR concept of Connected Identity adopted in VESPER framework as well, where not only the originator of a call or message can authenticate their telephone number, but the destination party can also prove their telephone number back to the originator to have a full end-to-end bi-directional trust relationship.  This is based on Connected Identity defined in <xref target="I-D.ietf-stir-rfc4916-update"/> and also adopted by VESPER <xref target="I-D.wendt-stir-vesper"/>.</t>

</section>
<section anchor="conventions-and-definitions"><name>Conventions and Definitions</name>

<t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>

<?line -18?>

<t>VESPER: Verifiable Entity STIR Passport Entity Representation <xref target="I-D.wendt-stir-vesper"/>.</t>

<t>PASSporT: Personal Assertion Token as defined in <xref target="RFC8225"/>.</t>

<t>Delegate Certificate: A certificate issued to an enterprise or user entity asserting right-to-use for a telephone number, based on an authority token, defined in <xref target="RFC9060"/>.</t>

<t>Authority Token: A signed assertion that authorizes the issuance of a delegate certificate and represents the vetting of a subject's control over a telephone number and any associated claims defined in <xref target="RFC9447"/>.</t>

<t>CPS URI: Call Placement Service (CPS) URI extension in X.509 certs <xref target="I-D.sliwa-stir-cert-cps-ext"/>.</t>

<t>CPS Discovery: Defines the use of STI certificate transparency log monitoring and CPS URI extension in certificates for announcing CPS locations for certificates <xref target="I-D.sliwa-stir-oob-transparent-discovery"/>.</t>

</section>
<section anchor="vesper-oob-architectural-overview"><name>Vesper OOB Architectural Overview</name>

<t>The VESPER OOB architecture consists of three main functional components that work together to enable the out-of-band signing, publishing, discovery, and verification of PASSporTs using a trust framework based on delegate certificates and transparency mechanisms. These components interact across SIP and HTTPS protocols to support both simulataneous and parallel in-band and out-of-band delivery of telephone number authentication information, ensuring interoperability across a variety of telephony related network environments. Figure 1 illustrates the flow of identity data between the authentication service, the out-of-band Call Placement Service (CPS), and the verification service.</t>

<figure><artwork><![CDATA[
        +--------------------+  Send SIP INVITE /w Identity
        |   Authentication   |  Header Field (RFC8824/VESPER AS)
        |     Service        |-------------------+
        |  (Calling Party)   |                   |
        +---------+----------+                   |
                  |                              |
                  | 1. Publish PASSporT with     |
                  |    Delegate Certificate      |
                  v                          .~~~~~~~~~~.
        +---------+----------+           .-''             '-.
        |        CPS         |        ,.'   SIP-based VoIP  '.
        |      (HTTPS)       |       /        Routing        |      
        +---------+----------+      |         Network       /
                  ^                  '.___..~~~~~~..______.'
                  |                              |
                  | 2. Retrieve PASSporT         |
                  |                              |
        +---------+----------+                   |
        |    Verification    |                   |
        |      Service       |<------------------+
        |   (Called Party)   |  Receive SIP INVITE /w Identity
        +--------------------+  Header Field (RFC8824/VESPER VS)
]]></artwork></figure>
<t>Figure 1 - Architecture showing both in-band and out-of-band PASSporT delivery</t>

</section>
<section anchor="https-interface-specification"><name>HTTPS Interface Specification</name>

<t>The interface design is conceptually aligned with the interface model described in <xref target="ATIS-1000105"/> Section 7. It supports two categories of HTTPS methods:</t>

<t>General Operations:</t>

<t>These required endpoints enable basic VESPER-OOB publish and retrieval functions:</t>

<t><list style="symbols">
  <t>GET /health - check service availability</t>
  <t>POST /passports/{DEST}/{ORIG} - publish one or more signed PASSporTs, optionally with a 'response_uuid' for Connected Identity</t>
  <t>GET /passports/{DEST}/{ORIG} - retrieve published PASSporTs and optionally discover an associated 'response_uuid'</t>
</list></t>

<t>Connected Identity Extensions:</t>

<t>These optional endpoints are used if a <spanx style="verb">response_uuid</spanx> was included in the publish operation and the recipient supports Connected Identity:</t>

<t><list style="symbols">
  <t>POST /respond/{UUID} - the called party submits a 'rsp' PASSporT</t>
  <t>GET /passports/response/{UUID} - the caller polls for the response</t>
  <t>GET /passports/response/stream/{UUID} - Server-Sent Events (SSE) push interface (optional)</t>
  <t>wss://.../stream/respond/{UUID} - WebSocket push delivery (optional)</t>
</list></t>

<t>All endpoints <bcp14>MUST</bcp14> be served over HTTPS. The POST endpoint <bcp14>MUST</bcp14> require authentication Access JWT. The GET endpoint <bcp14>MAY</bcp14> be unauthenticated. CPS operators <bcp14>SHOULD</bcp14> additionally enforce rate-limits and access-control policies.</t>

<t>Server certificates <bcp14>SHOULD</bcp14> be validated using standard PKIX procedures. HTTP Strict Transport Security (HSTS) <bcp14>MAY</bcp14> be used by CPS operators to enforce HTTPS usage.</t>

<section anchor="common-access-jwt"><name>Common Access JWT</name>

<t>All CPS interfaces that require authorization <bcp14>MUST</bcp14> support Access JWTs signed using the <spanx style="verb">ES256</spanx> algorithm and validated against trusted VESPER delegate certificates. These tokens establish caller or responder identity and intent.</t>

<section anchor="access-jwt-header"><name>Access JWT Header</name>

<figure><sourcecode type="json"><![CDATA[
{
  "alg": "ES256",
  "x5c": [
    "MIIB3TCCAYOgAwIBAgIUUjF7Jq9kYfU12nJkBA==",
    "IUUjF7Jq9kYfU12nJkBAMIIB3TCCAYOgAwIBAg=="
  ]
}
]]></sourcecode></figure>

<t><list style="symbols">
  <t>'alg': <bcp14>MUST</bcp14> be "ES256" as required by STIR PASSporT and VESPER.</t>
  <t>'x5c': An array of base64-encoded certificates representing the end-entity delegate certificate and any intermediate certificates with an optionally included root certificate. These <bcp14>MUST</bcp14> be validated against a STIR eco-system trusted root.</t>
</list></t>

</section>
<section anchor="access-jwt-claims"><name>Access JWT Claims</name>

<t>The Access JWT payload <bcp14>MUST</bcp14> contain the following claims:</t>

<texttable title="Access JWT Claims">
      <ttcol align='left'>Claim</ttcol>
      <ttcol align='left'>Description</ttcol>
      <c>'iat'</c>
      <c>Issued-at timestamp (Unix time). <bcp14>MUST</bcp14> be recent (&lt; 5 min skew).</c>
      <c>'exp'</c>
      <c>Timestamp indicating the time the call is guaranteed to complete</c>
      <c>'jti'</c>
      <c>Unique token ID. <bcp14>SHOULD</bcp14> be used for replay prevention and audit.</c>
      <c>'action'</c>
      <c>Operation intent: "publish", "retrieve", or "respond".</c>
      <c>'aud'</c>
      <c>The CPS hostname (e.g., "cps.example.net"). <bcp14>MUST</bcp14> match the target server.</c>
      <c>'iss'</c>
      <c>The SPC or TN representing the signer. <bcp14>MUST</bcp14> match TNAuthList in cert.</c>
      <c>'sub'</c>
      <c>Same value as <spanx style="verb">iss</spanx>. Identifies the subscriber authorized to act.</c>
      <c>'orig'</c>
      <c>Object with TN/URI of the originating party.</c>
      <c>'dest'</c>
      <c>Object with TN/URI of the destination party.</c>
      <c>'passports'</c>
      <c><bcp14>OPTIONAL</bcp14>. For 'publish', SHA-256 JCS digest of the canonicalized <spanx style="verb">passports</spanx>.</c>
      <c>'rsp_passport'</c>
      <c><bcp14>OPTIONAL</bcp14>. For 'respond', SHA-256 JCS digest of the <spanx style="verb">rsp_passport</spanx>.</c>
</texttable>

<section anchor="examples"><name>Examples</name>

<t>Publish Token (Calling Party):</t>

<figure><sourcecode type="json"><![CDATA[
{
  "iat": 1693590000,
  "exp": 1608048425, 
  "jti": "550e8400-e29b-41d4-a716-446655440000",
  "action": "publish",
  "aud": "cps.example.net",
  "iss": "12013776051",
  "sub": "12013776051",
  "orig": { "tn": "12013776051" },
  "dest": { "tn": ["19032469103"] },
  "passports": "sha256-XyZabc123..."
}
]]></sourcecode></figure>

<t>Retrieve Token (Verifying Called Party):</t>

<figure><sourcecode type="json"><![CDATA[
{
  "iat": 1693590100,
  "jti": "550e8400-e29b-41d4-a716-426655440002",
  "action": "retrieve",
  "aud": "cps.example.net",
  "iss": "19032469103",
  "sub": "19032469103",
  "orig": { "tn": "12013776051" },
  "dest": { "tn": ["19032469103"] }
}
]]></sourcecode></figure>

<t>Respond Token (Called Party responding with Connected Identity):</t>

<figure><sourcecode type="json"><![CDATA[
{
  "iat": 1693590050,
  "jti": "550e8400-e29b-41d4-a716-426655440001",
  "action": "respond",
  "aud": "cps.example.net",
  "iss": "19032469103",
  "sub": "19032469103",
  "orig": { "tn": "12013776051" },
  "dest": { "tn": ["19032469103"] },
  "rsp_passport": "sha256-AbCdEf123..."
}
]]></sourcecode></figure>

</section>
</section>
<section anchor="validation-rules"><name>Validation Rules</name>

<t>The CPS <bcp14>MUST</bcp14> validate the Access JWT as follows:</t>

<t><list style="symbols">
  <t>Signature: Must be signed with ES256 using a VESPER delegate certificate that chains to a trusted STI root.</t>
  <t>Certificate: The certificate in 'x5c' <bcp14>MUST</bcp14> match the 'iss'/'sub' TN and contain valid TNAuthList entries.</t>
  <t>Time Validity: 'iat' <bcp14>MUST</bcp14> be recent (within an allowed freshness window, e.g., 5 minutes).</t>
  <t>Audience: 'aud' <bcp14>MUST</bcp14> match the target CPS domain.</t>
  <t>Claims Match: The 'orig' and 'dest' claims <bcp14>MUST</bcp14> match the HTTP path parameters.</t>
  <t>Digest Integrity: If the 'passports' or 'rsp_passport' claim is present, its hash <bcp14>MUST</bcp14> match the canonicalized JSON in the request body using JSON Canonicalization Scheme (JCS) <xref target="RFC8785"/>.</t>
</list></t>

</section>
<section anchor="additional-security"><name>Additional Security</name>

<t><list style="symbols">
  <t>CPS <bcp14>SHOULD</bcp14> reject expired, reused, or improperly scoped JWTs.</t>
  <t>JWT replay prevention <bcp14>SHOULD</bcp14> be enforced using the jti field and short TTLs. The CPS <bcp14>MUST</bcp14> cache recent jti values and <bcp14>MUST</bcp14> reject re-use within the configured window.</t>
  <t>Tokens <bcp14>MUST</bcp14> be scoped per transaction; long-lived JWTs <bcp14>MUST NOT</bcp14> be used.</t>
</list></t>

</section>
</section>
<section anchor="api-method-definitions"><name>API Method Definitions</name>

<section anchor="method-get-health"><name>Method: 'GET /health'</name>

<section anchor="request-definition"><name>Request Definition</name>

<figure><sourcecode type="http"><![CDATA[
Method: GET  
Path: /health  
Authentication: None required
]]></sourcecode></figure>

</section>
<section anchor="response-definition"><name>Response Definition</name>

<t>200 OK - Service operational<br />
503 Service Unavailable - Service not operational<br />
Body (optional):</t>

<figure><sourcecode type="json"><![CDATA[
{
  "status": 200,
  "message": "OK"
}
]]></sourcecode></figure>

</section>
</section>
<section anchor="publish-method-post-passportsdestorig"><name>Publish Method: POST /passports/{DEST}/{ORIG}</name>

<t>This method allows the calling party to publish one or more signed PASSporTs associated with a specific ORIG and DEST pair. The CPS <bcp14>MAY</bcp14> optionally return a <spanx style="verb">response_uuid</spanx> for Connected Identity.</t>

<t>PASSporTs and Connected Identity response PASSporTs <bcp14>SHOULD</bcp14> be retained only for a short period of time unless longer retention is explicitly required by policy.</t>

<t>Note: <xref target="ATIS-1000105"/> supports a "re-publish" action, because the VESPER-OOB discovery mechanism is different and re-publishing PASSporTs is not required for VESPER-OOB, CPSs that support this specification are not dependent on support the initiation of this action or otherwise communicate to other CPSs supporting this specification including the inclusion of "token" fields, but the intent is to be compatible with implementations that support both specifications</t>

<section anchor="request-definition-1"><name>Request definition</name>

<figure><sourcecode type="http"><![CDATA[
Method: POST
Path: /passports/{DEST}/{ORIG}
Authentication: Access JWT with "action": "publish"
]]></sourcecode></figure>

</section>
<section anchor="request-headers"><name>Request Headers</name>

<figure><sourcecode type="http"><![CDATA[
Content-Type: application/json
Authorization: Bearer <Access JWT>
]]></sourcecode></figure>

<t>The server <bcp14>SHOULD</bcp14> support an Idempotency-Key request header <xref target="I-D.ietf-httpapi-idempotency-key-header"/>. When present, repeated requests with the same key <bcp14>MUST</bcp14> return the original result without creating duplicate records.</t>

</section>
<section anchor="request-parameters"><name>Request Parameters</name>

<t>DEST: Canonicalized and percent-encoded destination telephone number or URI. <br />
ORIG: Canonicalized and percent-encoded originating telephone number or URI.</t>

<t>Canonicalization of TNs follows <xref target="RFC8224"/> and percent encoding of URIs follows <xref target="RFC3986"/>.</t>

</section>
<section anchor="request-body"><name>Request Body</name>

<t>The request body is a JSON object with the following field:</t>

<t><list style="symbols">
  <t>passports: <bcp14>REQUIRED</bcp14>. An array of PASSporT strings signed by the calling party.</t>
</list></t>

<t>Authorization JWT Requirements:</t>

<t>The Access JWT for this method <bcp14>MUST</bcp14> include:</t>

<t><list style="symbols">
  <t>"action": "publish"</t>
</list></t>

<t>All other validation requirements are defined in Common Access JWT.</t>

</section>
<section anchor="example-request"><name>Example Request</name>

<figure><sourcecode type="http"><![CDATA[
POST /passports/19032469103/12013776051 HTTP/1.1
Host: cps.example.com
Authorization: Bearer <Access JWT>
Content-Type: application/json

{
  "passports": [
    "eyJhbGciOiJFUzI1NiIsIn..."
  ]
}
]]></sourcecode></figure>

</section>
<section anchor="response-definition-1"><name>Response definition</name>

<t>Success Codes</t>

<figure><sourcecode type="http"><![CDATA[
201 - Created if the PASSporTs were successfully published.
]]></sourcecode></figure>

<t>Failure Codes</t>

<figure><sourcecode type="http"><![CDATA[
400 - Bad Request if required fields are missing or malformed
401 - Unauthorized if authentication fails
403 - Forbidden if certificate constraints are not met
429 - Too Many Requests if rate-limited
5xx errors (e.g., 503 Service Unavailable)
]]></sourcecode></figure>

<t>Responses <bcp14>MUST</bcp14> use status codes defined in <xref target="RFC6585"/> and <bcp14>SHOULD</bcp14> be informative when possible.</t>

<t>If the server supports Connected Identity, the response body <bcp14>MAY</bcp14> include a <spanx style="verb">response_uuid</spanx> that the called party can use in follow-up Connected Identity methods. This UUID <xref target="RFC4122"/> is generated by the CPS and serves as a transaction-specific identifier for subsequent API calls.</t>

</section>
<section anchor="example-response"><name>Example Response</name>

<figure><sourcecode type="http"><![CDATA[
HTTP/1.1 201 Created
Content-Type: application/json

{
  "status": 201,
  "message": "Created",
  "response_uuid": "123e4567-e89b-12d3-a456-426614174000"
}
]]></sourcecode></figure>

</section>
<section anchor="response-body-fields"><name>Response Body Fields</name>

<t><list style="symbols">
  <t><spanx style="verb">status</spanx>: HTTP status code indicating result of publish request (e.g., 201 for success).</t>
  <t><spanx style="verb">message</spanx>: A human-readable message describing the outcome of the request.</t>
  <t><spanx style="verb">response_uuid</spanx>: (Optional) A UUID <xref target="RFC4122"/> generated by the CPS for Connected Identity. Returned only if the CPS supports Connected Identity response workflows.</t>
</list></t>

</section>
<section anchor="example-success-and-error-responses"><name>Example Success and Error Responses</name>

<t>Success Response (201 Created):</t>

<figure><sourcecode type="http"><![CDATA[
HTTP/1.1 201 Created
Content-Type: application/json

{
  "status": 201,
  "message": "Created",
  "response_uuid": "123e4567-e89b-12d3-a456-426614174000"
}
]]></sourcecode></figure>

<t>Error Response (400 Bad Request):</t>

<figure><sourcecode type="http"><![CDATA[
HTTP/1.1 400 Bad Request
Content-Type: application/json

{
  "status": 400,
  "error": "Missing required field: passports"
}
]]></sourcecode></figure>

<t>Error Response (401 Unauthorized):</t>

<figure><sourcecode type="http"><![CDATA[
HTTP/1.1 401 Unauthorized
Content-Type: application/json

{
  "status": 401,
  "error": "Access JWT is invalid or expired"
}
]]></sourcecode></figure>

</section>
</section>
<section anchor="retrieve-method-get-passportsdestorig"><name>Retrieve Method: GET /passports/{DEST}/{ORIG}</name>

<t>This method allows the called party to retrieve PASSporTs published by the originating party for a given ORIG/DEST combination.</t>

<section anchor="request-definition-2"><name>Request Definition</name>

<figure><sourcecode type="http"><![CDATA[
Method: GET
Path: /passports/{DEST}/{ORIG}
Authentication: Access JWT with "action": "retrieve"
]]></sourcecode></figure>

</section>
<section anchor="request-headers-1"><name>Request Headers</name>

<figure><sourcecode type="http"><![CDATA[
Authorization: Bearer <Access JWT>
]]></sourcecode></figure>

</section>
<section anchor="request-parameters-1"><name>Request Parameters</name>

<t><list style="symbols">
  <t>DEST: Percent-encoded and canonicalized destination telephone number or URI, representing the final called party after any retargeting.</t>
  <t>ORIG: Percent-encoded and canonicalized calling party TN or URI, typically from the SIP From or P-Asserted-Identity header.</t>
</list></t>

<t>Canonicalization of TNs follows <xref target="RFC8224"/> and percent encoding of URIs follows <xref target="RFC3986"/>.</t>

</section>
<section anchor="authorization-jwt-requirements"><name>Authorization JWT Requirements</name>

<t>The JWT used to authorize this request <bcp14>MUST</bcp14> include:</t>

<t><list style="symbols">
  <t>"action": "retrieve"</t>
</list></t>

<t>All other JWT validation requirements are defined in <xref target="common-access-jwt"/> and <bcp14>MUST</bcp14> also be enforced by the CPS.</t>

</section>
<section anchor="response-definition-2"><name>Response Definition</name>

<t>Success:</t>

<figure><artwork><![CDATA[
200 OK - PASSporT(s) retrieved successfully
]]></artwork></figure>

<t>Failure:</t>

<figure><artwork><![CDATA[
401 Unauthorized - JWT missing or invalid
403 Forbidden - Certificate constraints violated
404 Not Found - No PASSporTs available
429 Too Many Requests - Rate limits exceeded
503 Service Unavailable - CPS temporarily unavailable
]]></artwork></figure>

<t>Status codes <bcp14>MUST</bcp14> follow <xref target="RFC6585"/>. On 5xx failures, retrying another CPS endpoint <bcp14>MAY</bcp14> be allowed.</t>

<t>Response Body (on success):</t>

<figure><sourcecode type="json"><![CDATA[
{
  "passports": [
    "eyJhbGciOiJFUzI1NiIsIn..." // Base64-encoded PASSporT string(s)
  ],
  "response_uuid": "123e4567-e89b-12d3-a456-426614174000"
}
]]></sourcecode></figure>

<t><list style="symbols">
  <t><spanx style="verb">passports</spanx>: An array of one or more PASSporT strings published by the originating party, in compact JWS serialization format as per <xref target="RFC8225"/>.</t>
  <t><spanx style="verb">response_uuid</spanx>: <bcp14>OPTIONAL</bcp14>. If present, provides the Connected Identity transaction UUID <xref target="RFC4122"/> to which the called party can submit an identity response PASSporT using the appropriate API method. This value is provided only if included in the corresponding publish operation.</t>
</list></t>

</section>
<section anchor="example-request-1"><name>Example Request</name>

<figure><sourcecode type="http"><![CDATA[
GET /passports/19032469103/12013776051 HTTP/1.1
Host: cps.example.com
Authorization: Bearer <Access JWT>
]]></sourcecode></figure>

</section>
<section anchor="example-response-1"><name>Example Response</name>

<figure><sourcecode type="http"><![CDATA[
HTTP/1.1 200 OK
Content-Type: application/json

{
  "passports": [
    "eyJhbGciOiJFUzI1NiIsIn..."
  ],
  "response_uuid": "123e4567-e89b-12d3-a456-426614174000"
}
]]></sourcecode></figure>

</section>
<section anchor="example-success-and-error-responses-1"><name>Example Success and Error Responses</name>

<t>Success Response (200 OK):</t>

<figure><sourcecode type="http"><![CDATA[
HTTP/1.1 200 OK
Content-Type: application/json

{
  "passports": [
    "eyJhbGciOiJFUzI1NiIsIn..."
  ],
  "response_uuid": "123e4567-e89b-12d3-a456-426614174000"
}
]]></sourcecode></figure>

<t>Error Response (404 Not Found):</t>

<figure><sourcecode type="http"><![CDATA[
HTTP/1.1 404 Not Found
Content-Type: application/json

{
  "status": 404,
  "error": "No PASSporTs available for the requested origin and 
    destination"
}
]]></sourcecode></figure>

<t>Error Response (403 Forbidden):</t>

<figure><sourcecode type="http"><![CDATA[
HTTP/1.1 403 Forbidden
Content-Type: application/json

{
  "status": 403,
  "error": "Caller is not authorized to retrieve PASSporTs for this 
    identity"
}
]]></sourcecode></figure>

</section>
<section anchor="response-body-fields-1"><name>Response Body Fields</name>

<t><list style="symbols">
  <t><spanx style="verb">passports</spanx>: Array of PASSporT strings published by the originating party, encoded in compact JWS serialization.</t>
  <t><spanx style="verb">response_uuid</spanx>: (Optional) UUID <xref target="RFC4122"/> that identifies a Connected Identity response transaction. Provided only if the CPS returned it during publish.</t>
</list></t>

</section>
</section>
<section anchor="respond-method-post-responduuid"><name>Respond Method: POST /respond/{UUID}</name>

<t>This method allows the called party to submit a response PASSporT (rsp_passport) asserting their identity in a Connected Identity exchange. The UUID <xref target="RFC4122"/> corresponds to the <spanx style="verb">response_uuid</spanx> originally returned by the CPS during the publish operation.</t>

<section anchor="request-definition-3"><name>Request Definition</name>

<figure><sourcecode type="http"><![CDATA[
Method: POST
Path: /respond/{UUID}
Authentication: Access JWT with "action": "respond"
]]></sourcecode></figure>

</section>
<section anchor="request-headers-2"><name>Request Headers</name>

<figure><sourcecode type="http"><![CDATA[
Content-Type: application/json
Authorization: Bearer <Access JWT>
]]></sourcecode></figure>

</section>
<section anchor="request-parameters-2"><name>Request Parameters</name>

<t><list style="symbols">
  <t>UUID: A unique response transaction identifier <xref target="RFC4122"/> returned by the CPS in the publish response as <spanx style="verb">response_uuid</spanx>. This identifies the call session context for Connected Identity.</t>
</list></t>

</section>
<section anchor="request-body-1"><name>Request Body</name>

<figure><sourcecode type="json"><![CDATA[
{
  "rsp_passport": "eyJhbGciOiJFUzI1NiIsIn..."
}
]]></sourcecode></figure>

<t><list style="symbols">
  <t>rsp_passport: <bcp14>REQUIRED</bcp14>. The PASSporT signed by the called party delegate certificate for Connected Identity.</t>
</list></t>

</section>
<section anchor="authorization-jwt-requirements-1"><name>Authorization JWT Requirements</name>

<t>The JWT used to authorize this request <bcp14>MUST</bcp14> include:</t>

<t><list style="symbols">
  <t>"action": "respond"</t>
</list></t>

<t>All other JWT validation requirements are defined in <xref target="common-access-jwt"/> and <bcp14>MUST</bcp14> be enforced by the CPS.</t>

</section>
<section anchor="response-definition-3"><name>Response Definition</name>

<t>Success:</t>

<figure><artwork><![CDATA[
201 Created - The Connected Identity response was accepted.
]]></artwork></figure>

<t>Failure:</t>

<figure><artwork><![CDATA[
401 Unauthorized - JWT missing or invalid.
403 Forbidden - Certificate constraints violated.
404 Not Found - UUID not found or expired.
409 Conflict - A response has already been submitted.
429 Too Many Requests - Rate limits exceeded.
503 Service Unavailable - CPS temporarily unavailable.
]]></artwork></figure>

<t>Status codes <bcp14>MUST</bcp14> follow <xref target="RFC6585"/>. Connected Identity response PASSporTs <bcp14>SHOULD</bcp14> be retained only for a short period unless longer retention is explicitly required by policy.</t>

</section>
<section anchor="example-request-2"><name>Example Request</name>

<figure><sourcecode type="http"><![CDATA[
POST /respond/123e4567-e89b-12d3-a456-426614174000 HTTP/1.1
Host: cps.example.net
Content-Type: application/json
Authorization: Bearer <Access JWT>

{
  "rsp_passport": "eyJhbGciOiJFUzI1NiIsIn..."
}
]]></sourcecode></figure>

</section>
<section anchor="example-response-2"><name>Example Response</name>

<figure><sourcecode type="http"><![CDATA[
HTTP/1.1 201 Created
Content-Type: application/json

{
  "status": 201,
  "message": "Connected Identity Stored"
}
]]></sourcecode></figure>

</section>
<section anchor="example-success-and-error-responses-2"><name>Example Success and Error Responses</name>

<t>Success Response (201 Created):</t>

<figure><sourcecode type="http"><![CDATA[
HTTP/1.1 201 Created
Content-Type: application/json

{
  "status": 201,
  "message": "Connected Identity Stored"
}
]]></sourcecode></figure>

<t>Error Response (409 Conflict):</t>

<figure><sourcecode type="http"><![CDATA[
HTTP/1.1 409 Conflict
Content-Type: application/json

{
  "status": 409,
  "error": "A response for this UUID has already been submitted"
}
]]></sourcecode></figure>

<t>Error Response (404 Not Found):</t>

<figure><sourcecode type="http"><![CDATA[
HTTP/1.1 404 Not Found
Content-Type: application/json

{
  "status": 404,
  "error": "UUID not found or expired"
}
]]></sourcecode></figure>

</section>
</section>
<section anchor="retrieving-connected-identity-responses"><name>Retrieving Connected Identity Responses</name>

<t>Once a response is submitted using the <spanx style="verb">response_uuid</spanx>, the originating party may retrieve it in two ways using a polling interface (GET method) or via an optional push interface using WSS as detailed in the following methods.</t>

</section>
<section anchor="retrieve-response-method-get-passportsresponseuuid"><name>Retrieve Response Method:  GET /passports/response/{UUID}</name>

<t>This method allows the originating (calling) party to retrieve a Connected Identity response PASSporT, if one has been submitted by the called party. The UUID in this path is the same value (<spanx style="verb">response_uuid</spanx>) previously provided by the CPS in the response to the <spanx style="verb">POST /passports/{DEST}/{ORIG}</spanx> method.</t>

<section anchor="request-definition-4"><name>Request Definition</name>

<figure><sourcecode type="http"><![CDATA[
Method: GET
Path: /passports/response/{UUID}
Headers: Authorization: Bearer <JWT>
]]></sourcecode></figure>

</section>
<section anchor="response-definition-4"><name>Response Definition</name>

<t>Success:</t>

<t>200 OK - Connected Identity response PASSporT retrieved successfully</t>

<t>Failure:</t>

<t>404 Not Found - No response is available yet</t>

</section>
<section anchor="response-body"><name>Response Body</name>

<figure><sourcecode type="json"><![CDATA[
{
  "rsp": {
    "passport": "eyJhbGciOiJFUzI1NiIsIn..."
  }
}
]]></sourcecode></figure>

</section>
<section anchor="response-body-fields-2"><name>Response Body Fields</name>

<t><list style="symbols">
  <t><spanx style="verb">rsp</spanx>: An object containing the Connected Identity response.
  <list style="symbols">
      <t><spanx style="verb">passport</spanx>: A PASSporT string signed by the called party using its delegate certificate.</t>
    </list></t>
</list></t>

</section>
<section anchor="example-success-and-error-responses-3"><name>Example Success and Error Responses</name>

<t>Success Response (200 OK):</t>

<figure><sourcecode type="http"><![CDATA[
HTTP/1.1 200 OK
Content-Type: application/json

{
  "rsp": {
    "passport": "eyJhbGciOiJFUzI1NiIsIn..."
  }
}
]]></sourcecode></figure>

<t>Error Response (404 Not Found):</t>

<figure><sourcecode type="http"><![CDATA[
HTTP/1.1 404 Not Found
Content-Type: application/json

{
  "status": 404,
  "error": "No Connected Identity response has been submitted for 
      this UUID"
}
]]></sourcecode></figure>

</section>
</section>
<section anchor="retrieve-response-push-methods-optional"><name>Retrieve Response Push Methods (Optional)</name>

<t>The CPS <bcp14>MAY</bcp14> support real-time delivery via:</t>

<t>WebSocket: wss://cps.example.net/stream/respond/{UUID}</t>

<t>Server-Sent Events (SSE): GET /passports/response/stream/{UUID}
(with Accept: text/event-stream header)</t>

<t>These interfaces allow immediate delivery of Connected Identity responses when available.</t>

</section>
</section>
</section>
<section anchor="example-vesper-oob-requestresponse-flow"><name>Example VESPER OOB Request/Response Flow</name>

<t>This example illustrates a full transaction using the Connected Identity UUID-based pattern.</t>

<section anchor="calling-party-publishes-a-passport"><name>Calling Party Publishes a PASSporT</name>

<figure><sourcecode type="http"><![CDATA[
POST /passports/19035551234/12015550100 HTTP/1.1
Host: cps.example.net
Content-Type: application/json
Authorization: Bearer <jwt-from-calling-party>
]]></sourcecode></figure>

<t>Body:</t>

<figure><artwork><![CDATA[
{
  "passports": [
    "eyJhbGciOiJFUzI1NiIsIn..." // Signed PASSporT by calling party
  ]
}
]]></artwork></figure>

<t>Response:</t>

<figure><sourcecode type="http"><![CDATA[
HTTP/1.1 201 Created
Content-Type: application/json

{
  "status": 201,
  "message": "Created",
  "response_uuid": "123e4567-e89b-12d3-a456-426614174000"
}
]]></sourcecode></figure>

</section>
<section anchor="called-party-retrieves-passport-and-extracts-responseuuid"><name>Called Party Retrieves PASSporT and Extracts response_uuid</name>

<figure><sourcecode type="http"><![CDATA[
GET /passports/19035551234/12015550100 HTTP/1.1
Host: cps.example.net
Authorization: Bearer <jwt-from-called-party>
]]></sourcecode></figure>

<t>Response:</t>

<figure><artwork><![CDATA[
{
  "passports": [
    "eyJhbGciOiJFUzI1NiIsIn..."
  ],
  "response_uuid": "123e4567-e89b-12d3-a456-426614174000"
}
]]></artwork></figure>

</section>
<section anchor="called-party-submits-a-connected-identity-rsp-passport"><name>Called Party Submits a Connected Identity <spanx style="verb">rsp</spanx> PASSporT</name>

<figure><sourcecode type="http"><![CDATA[
POST /respond/123e4567-e89b-12d3-a456-426614174000 HTTP/1.1
Host: cps.example.net
Content-Type: application/json
Authorization: Bearer <jwt-from-called-party>
]]></sourcecode></figure>

<t>Body:</t>

<figure><sourcecode type="json"><![CDATA[
{
  "rsp_passport": "eyJhbGciOiJFUzI1NiIsIn..."
}
]]></sourcecode></figure>

<t>Response:</t>

<figure><sourcecode type="http"><![CDATA[
HTTP/1.1 201 Created
Content-Type: application/json

{"status":201,"message":"Connected Identity Stored"}
]]></sourcecode></figure>

</section>
<section anchor="calling-party-polls-for-the-rsp-passport"><name>Calling Party Polls for the <spanx style="verb">rsp</spanx> PASSporT</name>

<figure><sourcecode type="http"><![CDATA[
GET /passports/response/123e4567-e89b-12d3-a456-426614174000 HTTP/1.1
Host: cps.example.net
Authorization: Bearer <jwt-from-calling-party>
]]></sourcecode></figure>

<t>Response:</t>

<figure><sourcecode type="json"><![CDATA[
{
  "rsp": {
    "passport": "eyJhbGciOiJFUzI1NiIsIn..."
  }
}
]]></sourcecode></figure>

<t>This flow demonstrates the full cycle from publish to response using the Connected Identity UUID-based model. Optionally, the final step may use SSE or WSS push interfaces instead of polling.</t>

<t>The VESPER OOB interface specification offers a modular architecture for telephony identity authentication. It supports both simple publish/retrieve workflows and bidirectional identity binding through Connected Identity.</t>

</section>
</section>
<section anchor="authentication-service-procedures-for-vesper-oob"><name>Authentication Service Procedures for VESPER OOB</name>

<t>When participating in VESPER OOB, Authentication Services that sign PASSporTs <bcp14>MUST</bcp14> adhere to all requirements of the core VESPER specification <xref target="I-D.wendt-stir-vesper"/> and additional procedures specified herein to ensure the integrity of out-of-band transactions and compatibility with verifier expectations.</t>

<section anchor="delegate-certificate-requirements"><name>Delegate Certificate Requirements</name>

<t>Delegate certificates used to sign PASSporTs in VESPER OOB <bcp14>MUST</bcp14> be issued under authority tokens that represent an explicit right-to-use a telephone number.  These certificates <bcp14>MUST</bcp14> include:
- One or more Signed Certificate Timestamps (SCTs) from certificate transparency logs as defined in <xref target="I-D.wendt-stir-certificate-transparency"/>.
- A CPS URI in the Call Placement Service (CPS) X.509 extension, enabling discovery of the associated OOB Call Placement Service (CPS) as defined in <xref target="I-D.sliwa-stir-cert-cps-ext"/>.</t>

</section>
<section anchor="passport-construction-requirements"><name>PASSporT Construction Requirements</name>

<t>PASSporTs signed in a VESPER OOB deployment <bcp14>MUST</bcp14> meet the following conditions:</t>

<t><list style="symbols">
  <t>The PASSporT <bcp14>MUST</bcp14> be signed with a delegate certificate whose authority token authorizes the use of the specific originating telephone number.</t>
  <t>The 'orig' claim <bcp14>MUST</bcp14> contain the telephone number or URI as authorized by the delegate certificate.</t>
  <t>The 'dest' claim <bcp14>MUST</bcp14> reflect the final destination of the call after any retargeting.</t>
  <t>The 'iat' claim <bcp14>MUST</bcp14> represent a timestamp within an acceptable freshness window (e.g., 5 minutes).</t>
  <t>The JWT 'x5c' header <bcp14>MUST</bcp14> contain the certificate chain including the delegate certificate and its SCT(s).</t>
</list></t>

<t>The Authentication Service <bcp14>MUST</bcp14> also publish the signed PASSporT to the CPS endpoint identified by the CPS URI in the delegate certificate.</t>

</section>
</section>
<section anchor="cps-uri-and-oob-cps-discovery"><name>CPS URI and OOB CPS Discovery</name>

<t>CPS URIs are associated with the delegate certificates through the CPS URI extension defined in <xref target="I-D.sliwa-stir-cert-cps-ext"/>. Verifiers are expected to obtain the CPS URI for a specific telephone number via transparency-enabled discovery mechanisms described in <xref target="I-D.sliwa-stir-oob-transparent-discovery"/>. The CPS URI identifies the base URL for the Call Placement Service responsible for publishing and serving PASSporTs for calls associated with that telephone number.</t>

<t>The CPS URI <bcp14>MUST</bcp14> resolve to a reachable and operational CPS that supports the VESPER OOB interface defined in this document. It is assumed that the CPS implements the endpoints defined in the HTTPS interface specification, including '/health', '/passports/{DEST}/{ORIG}', and appropriate authorization mechanisms. The CPS will provide a <spanx style="verb">response_uuid</spanx> in its response to the publish operation, which is used by the calling and called parties in subsequent API calls for Connected Identity.</t>

<t>///////////
Delegate certificates <bcp14>MUST</bcp14> reference a CPS via the CPS URI extension and <bcp14>MUST</bcp14> be resolvable through the Discovery service specified for Vesper OOB. The Discovery service <bcp14>MUST</bcp14> return multiple CPS instances for each delegate certificate to provide redundancy. Operators <bcp14>SHOULD</bcp14> advertise regional or edge CPS instances to improve latency and availability for verifiers and retrievers.</t>

<t>Verifiers and retrievers <bcp14>MUST</bcp14> implement endpoint failover across the set of CPS instances provided by Discovery and <bcp14>SHOULD</bcp14> select among them using local policy (e.g., lowest latency or geographically closest instances).</t>

<t>Deployments that also support CPS-to-CPS replication <bcp14>MAY</bcp14> perform inter-CPS propagation by invoking the publish API using "action": "republish" semantics. In this mode, a CPS acts as a client to peer CPS servers to broaden availability of published PASSporTs. The wire format and validation requirements are otherwise identical to "action": "publish", except the policy <bcp14>MUST</bcp14> authorize the republish CPS to perform this operation.
///////////</t>

</section>
<section anchor="verification-service-procedures-for-vesper-oob"><name>Verification Service Procedures for VESPER OOB</name>

<t>Verification Services that retrieve and validate PASSporTs via the VESPER OOB model <bcp14>MUST</bcp14> implement the following procedures in addition to those defined fundamentally in <xref target="RFC8224"/> and specific to VESPER defined in <xref target="I-D.wendt-stir-vesper"/>.</t>

<section anchor="retrieval-and-validation-process"><name>Retrieval and Validation Process</name>

<t><list style="symbols">
  <t>CPS URI Resolution: Retrieve the CPS URI from an appropriate CPS discovery service as discussed and defined in <xref target="I-D.sliwa-stir-oob-transparent-discovery"/> to locate the specific '/passports/{DEST}/{ORIG}' endpoint.</t>
  <t>PASSporT Retrieval: Submit a 'GET' request to the CPS endpoint using a properly formed JWT in the Authorization header.</t>
  <t>Authentication JWT Validation: Ensure the JWT is:
  <list style="symbols">
      <t>Signed by a valid STI certificate that chains to a trusted root.</t>
      <t>Contains matching 'iss' and 'sub' values as authorized in the certificate's TNAuthList.</t>
      <t>Has an 'action' claim set to "retrieve".</t>
      <t>Contains 'orig' and 'dest' claims matching the intended retrieval parameters.</t>
    </list></t>
</list></t>

</section>
<section anchor="passport-validation"><name>PASSporT Validation</name>

<t>Once retrieved, the verifier <bcp14>MUST</bcp14>:</t>

<t><list style="symbols">
  <t>Validate the PASSporT signature using the provided certificate referenced in the 'x5c' Header.</t>
  <t>Verify that the delegate certificate:
  <list style="symbols">
      <t>Is valid and chains to a trusted authority.</t>
      <t>Contains valid SCTs proving inclusion in a certificate transparency log.</t>
      <t>Was issued under a valid, verifiable authority token (directly or via reference).</t>
    </list></t>
  <t>Check that the 'iat' claim is within an acceptable range relative to the call time.</t>
  <t>Optionally, verify the transparency receipt (if present) that correlates the certificate and signing event.</t>
</list></t>

<t>These validation steps ensure end-to-end trust in the originating identity of the call, even across heterogeneous network paths or in the absence of SIP Identity header delivery.</t>

</section>
<section anchor="connected-identity-validation"><name>Connected Identity Validation</name>

<t>When a Connected Identity response PASSporT (<spanx style="verb">rsp</spanx>) is retrieved by the Verification Service (VS), it <bcp14>MUST</bcp14> be validated in accordance with the procedures defined in <xref target="I-D.ietf-stir-rfc4916-update"></xref> and the VESPER framework <xref target="I-D.wendt-stir-vesper"></xref>.</t>

<t>Specifically:</t>

<t>The <spanx style="verb">rsp</spanx> PASSporT <bcp14>MUST</bcp14> be signed using a valid VESPER delegate certificate associated with the <spanx style="verb">dest</spanx> telephone number of the original call.</t>

<t>The certificate used to sign the <spanx style="verb">rsp</spanx> PASSporT <bcp14>MUST</bcp14>:
- Be issued under a valid authority token authorizing use of the <spanx style="verb">dest</spanx> number.
- Contain TNAuthList values that include the <spanx style="verb">dest</spanx> identifier.
- Include valid Signed Certificate Timestamps (SCTs) from a Certificate Transparency log.</t>

<t>The VS <bcp14>MUST</bcp14> validate the PASSporT signature and the delegate certificate's trust chain, including SCT verification and certificate expiration status.</t>

<t>The VS <bcp14>MUST</bcp14> confirm that the <spanx style="verb">orig</spanx> and <spanx style="verb">dest</spanx> claims in the <spanx style="verb">rsp</spanx> PASSporT match those of the original call. That is:
- The <spanx style="verb">orig</spanx> claim in the <spanx style="verb">rsp</spanx> PASSporT <bcp14>MUST</bcp14> match the <spanx style="verb">orig</spanx> claim of the original PASSporT.
- The <spanx style="verb">dest</spanx> claim in the <spanx style="verb">rsp</spanx> PASSporT <bcp14>MUST</bcp14> match the <spanx style="verb">dest</spanx> claim of the original PASSporT.</t>

<t>The key distinction from typical STIR verification is that the entity signing the <spanx style="verb">rsp</spanx> PASSporT is asserting control over the <spanx style="verb">dest</spanx> number, and the delegate certificate used in the signature <bcp14>MUST</bcp14> be valid for that number.</t>

<t>The <spanx style="verb">iat</spanx> claim in the <spanx style="verb">rsp</spanx> PASSporT <bcp14>MUST</bcp14> be within an acceptable freshness interval as defined by local policy.</t>

<t>If these validations succeed, the verifier can confirm that the called party has cryptographically asserted its identity using a VESPER-authorized certificate, completing the Connected Identity flow. Any failure in these validations <bcp14>MUST</bcp14> cause the <spanx style="verb">rsp</spanx> PASSporT to be rejected.</t>

</section>
</section>
<section anchor="privacy-considerations"><name>Privacy Considerations</name>

<t>The VESPER OOB framework facilitates the transmission and verification of signed identity assertions that may include personally identifiable information (PII), such as telephone numbers and organizational names. This section outlines key privacy considerations to ensure implementations protect individual privacy and comply with applicable regulations.</t>

<section anchor="minimization-of-identity-claims"><name>Minimization of Identity Claims</name>

<t>PASSporTs exchanged via VESPER OOB <bcp14>SHOULD</bcp14> contain only the minimum necessary identity claims to establish the intended trust relationship. The inclusion of unnecessary claims in the PASSporT payload or certificate extensions may reveal sensitive information about users or organizations. Implementations <bcp14>SHOULD</bcp14> avoid including additional metadata beyond what is required for call verification.</t>

</section>
<section anchor="use-of-connected-identity"><name>Use of Connected Identity</name>

<t>The Connected Identity feature allows both parties in a communication to share independently signed identity assertions. While this can enhance trust, it also introduces a risk of correlation between calling and called parties. Implementers <bcp14>SHOULD</bcp14> consider allowing users to opt out of responding with Connected Identity or restrict participation to enterprise contexts where such correlation is expected.</t>

<t>The response_uuid <bcp14>MUST</bcp14> only be disclosed to the authenticated parties authorized to retrieve the original publish. Servers <bcp14>SHOULD</bcp14> keep the response_uuid lifetime short and <bcp14>MUST NOT</bcp14> expose it via unauthenticated endpoints or logs.</t>

</section>
<section anchor="compliance-with-regional-privacy-regulations"><name>Compliance with Regional Privacy Regulations</name>

<t>Operators deploying VESPER OOB <bcp14>MUST</bcp14> assess their processing of PASSporTs and related metadata for compliance with applicable data protection laws (e.g., GDPR, CCPA). This includes evaluating:</t>

<t><list style="symbols">
  <t>Whether telephone numbers are treated as personal data</t>
  <t>Lawful basis for processing and retention</t>
  <t>User transparency and rights of access, rectification, and erasure</t>
</list></t>

<t>Audit mechanisms and data subject request workflows <bcp14>SHOULD</bcp14> be implemented when operating in regulated jurisdictions.</t>

</section>
<section anchor="transparency-and-logging"><name>Transparency and Logging</name>

<t>While logging of CPS activity is important for fraud detection and accountability, implementations <bcp14>MUST</bcp14> avoid logging full PASSporT payloads or tokens unless strictly necessary. Where logs include sensitive fields, they <bcp14>SHOULD</bcp14> be protected with access controls and subject to audit.</t>

<t>The use of transaction-specific UUIDs instead of callback URLs minimizes the privacy exposure associated with publishing service endpoints. Only parties with the appropriate authorization token (Access JWT) can retrieve or respond to a PASSporT exchange, which helps ensure that identity data is not leaked to unauthorized entities. Connected Identity responses are associated only with the UUID provided to the intended recipient, reducing correlation risk across sessions.</t>

</section>
</section>
<section anchor="security-considerations"><name>Security Considerations</name>

<section anchor="trust-anchors-and-certificate-transparency"><name>Trust Anchors and Certificate Transparency</name>

<t>All JWTs and PASSporTs <bcp14>MUST</bcp14> be signed using delegate certificates anchored in a trusted STI-CA root and <bcp14>SHOULD</bcp14> be accompanied by Signed Certificate Timestamps (SCTs) to prove log inclusion. Verifiers <bcp14>SHOULD</bcp14> validate SCT presence and match against a known CT log set.</t>

</section>
<section anchor="cross-origin-and-cors"><name>Cross-Origin and CORS</name>

<t>CPS servers that expose web-facing endpoints <bcp14>MAY</bcp14> implement CORS headers to restrict origin access to approved domains or application scopes.</t>

</section>
<section anchor="logging-and-audit"><name>Logging and Audit</name>

<t>CPS operators <bcp14>SHOULD</bcp14> log authentication attempts, JWT usage (by jti), PASSporT publication, and response_url usage for auditing and potential fraud investigation. Logs <bcp14>SHOULD</bcp14> be retained securely and in accordance with privacy regulations.</t>

</section>
<section anchor="uuid-based-transaction-integrity"><name>UUID-Based Transaction Integrity</name>

<t>The specification relies on cryptographically random UUIDs as transaction identifiers for Connected Identity responses. These UUIDs <bcp14>MUST</bcp14> be generated by the CPS using secure random generation techniques and <bcp14>MUST</bcp14> be unguessable to prevent targeted scraping or brute-force enumeration of published PASSporTs or responses.</t>

</section>
<section anchor="replay-and-reuse-mitigation"><name>Replay and Reuse Mitigation</name>

<t>The use of the 'jti' (JWT ID) field in Access JWTs supports replay protection and auditability. CPS implementations <bcp14>SHOULD</bcp14> maintain short-term caches of recent JTIs and reject duplicate requests. JWTs <bcp14>MUST</bcp14> have short time-to-live values (e.g., 5 minutes) to reduce exposure from replay attacks.</t>

</section>
<section anchor="cps-operator-responsibilities"><name>CPS Operator Responsibilities</name>

<t>CPS operators <bcp14>MUST</bcp14> enforce authorization controls and rate limiting across all endpoints. They are responsible for securing logs, ensuring endpoint availability, monitoring for anomalies, and maintaining certificate trust anchors. Any retained identity data <bcp14>MUST</bcp14> be stored securely and retained only as long as operationally necessary.</t>

</section>
</section>
<section anchor="iana-considerations"><name>IANA Considerations</name>

<t>This document has no IANA actions.</t>

</section>


  </middle>

  <back>


<references title='References' anchor="sec-combined-references">

    <references title='Normative References' anchor="sec-normative-references">



<reference anchor="RFC3261">
  <front>
    <title>SIP: Session Initiation Protocol</title>
    <author fullname="J. Rosenberg" initials="J." surname="Rosenberg"/>
    <author fullname="H. Schulzrinne" initials="H." surname="Schulzrinne"/>
    <author fullname="G. Camarillo" initials="G." surname="Camarillo"/>
    <author fullname="A. Johnston" initials="A." surname="Johnston"/>
    <author fullname="J. Peterson" initials="J." surname="Peterson"/>
    <author fullname="R. Sparks" initials="R." surname="Sparks"/>
    <author fullname="M. Handley" initials="M." surname="Handley"/>
    <author fullname="E. Schooler" initials="E." surname="Schooler"/>
    <date month="June" year="2002"/>
    <abstract>
      <t>This document describes Session Initiation Protocol (SIP), an application-layer control (signaling) protocol for creating, modifying, and terminating sessions with one or more participants. These sessions include Internet telephone calls, multimedia distribution, and multimedia conferences. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="3261"/>
  <seriesInfo name="DOI" value="10.17487/RFC3261"/>
</reference>
<reference anchor="RFC3986">
  <front>
    <title>Uniform Resource Identifier (URI): Generic Syntax</title>
    <author fullname="T. Berners-Lee" initials="T." surname="Berners-Lee"/>
    <author fullname="R. Fielding" initials="R." surname="Fielding"/>
    <author fullname="L. Masinter" initials="L." surname="Masinter"/>
    <date month="January" year="2005"/>
    <abstract>
      <t>A Uniform Resource Identifier (URI) is a compact sequence of characters that identifies an abstract or physical resource. This specification defines the generic URI syntax and a process for resolving URI references that might be in relative form, along with guidelines and security considerations for the use of URIs on the Internet. The URI syntax defines a grammar that is a superset of all valid URIs, allowing an implementation to parse the common components of a URI reference without knowing the scheme-specific requirements of every possible identifier. This specification does not define a generative grammar for URIs; that task is performed by the individual specifications of each URI scheme. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="STD" value="66"/>
  <seriesInfo name="RFC" value="3986"/>
  <seriesInfo name="DOI" value="10.17487/RFC3986"/>
</reference>
<reference anchor="RFC4122">
  <front>
    <title>A Universally Unique IDentifier (UUID) URN Namespace</title>
    <author fullname="P. Leach" initials="P." surname="Leach"/>
    <author fullname="M. Mealling" initials="M." surname="Mealling"/>
    <author fullname="R. Salz" initials="R." surname="Salz"/>
    <date month="July" year="2005"/>
    <abstract>
      <t>This specification defines a Uniform Resource Name namespace for UUIDs (Universally Unique IDentifier), also known as GUIDs (Globally Unique IDentifier). A UUID is 128 bits long, and can guarantee uniqueness across space and time. UUIDs were originally used in the Apollo Network Computing System and later in the Open Software Foundation\'s (OSF) Distributed Computing Environment (DCE), and then in Microsoft Windows platforms.</t>
      <t>This specification is derived from the DCE specification with the kind permission of the OSF (now known as The Open Group). Information from earlier versions of the DCE specification have been incorporated into this document. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="4122"/>
  <seriesInfo name="DOI" value="10.17487/RFC4122"/>
</reference>
<reference anchor="RFC6585">
  <front>
    <title>Additional HTTP Status Codes</title>
    <author fullname="M. Nottingham" initials="M." surname="Nottingham"/>
    <author fullname="R. Fielding" initials="R." surname="Fielding"/>
    <date month="April" year="2012"/>
    <abstract>
      <t>This document specifies additional HyperText Transfer Protocol (HTTP) status codes for a variety of common situations. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="6585"/>
  <seriesInfo name="DOI" value="10.17487/RFC6585"/>
</reference>
<reference anchor="RFC8224">
  <front>
    <title>Authenticated Identity Management in the Session Initiation Protocol (SIP)</title>
    <author fullname="J. Peterson" initials="J." surname="Peterson"/>
    <author fullname="C. Jennings" initials="C." surname="Jennings"/>
    <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
    <author fullname="C. Wendt" initials="C." surname="Wendt"/>
    <date month="February" year="2018"/>
    <abstract>
      <t>The baseline security mechanisms in the Session Initiation Protocol (SIP) are inadequate for cryptographically assuring the identity of the end users that originate SIP requests, especially in an interdomain context. This document defines a mechanism for securely identifying originators of SIP requests. It does so by defining a SIP header field for conveying a signature used for validating the identity and for conveying a reference to the credentials of the signer.</t>
      <t>This document obsoletes RFC 4474.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8224"/>
  <seriesInfo name="DOI" value="10.17487/RFC8224"/>
</reference>
<reference anchor="RFC8225">
  <front>
    <title>PASSporT: Personal Assertion Token</title>
    <author fullname="C. Wendt" initials="C." surname="Wendt"/>
    <author fullname="J. Peterson" initials="J." surname="Peterson"/>
    <date month="February" year="2018"/>
    <abstract>
      <t>This document defines a method for creating and validating a token that cryptographically verifies an originating identity or, more generally, a URI or telephone number representing the originator of personal communications. The Personal Assertion Token, PASSporT, is cryptographically signed to protect the integrity of the identity of the originator and to verify the assertion of the identity information at the destination. The cryptographic signature is defined with the intention that it can confidently verify the originating persona even when the signature is sent to the destination party over an insecure channel. PASSporT is particularly useful for many personal-communications applications over IP networks and other multi-hop interconnection scenarios where the originating and destination parties may not have a direct trusted relationship.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8225"/>
  <seriesInfo name="DOI" value="10.17487/RFC8225"/>
</reference>
<reference anchor="RFC8785">
  <front>
    <title>JSON Canonicalization Scheme (JCS)</title>
    <author fullname="A. Rundgren" initials="A." surname="Rundgren"/>
    <author fullname="B. Jordan" initials="B." surname="Jordan"/>
    <author fullname="S. Erdtman" initials="S." surname="Erdtman"/>
    <date month="June" year="2020"/>
    <abstract>
      <t>Cryptographic operations like hashing and signing need the data to be expressed in an invariant format so that the operations are reliably repeatable. One way to address this is to create a canonical representation of the data. Canonicalization also permits data to be exchanged in its original form on the "wire" while cryptographic operations performed on the canonicalized counterpart of the data in the producer and consumer endpoints generate consistent results.</t>
      <t>This document describes the JSON Canonicalization Scheme (JCS). This specification defines how to create a canonical representation of JSON data by building on the strict serialization methods for JSON primitives defined by ECMAScript, constraining JSON data to the Internet JSON (I-JSON) subset, and by using deterministic property sorting.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8785"/>
  <seriesInfo name="DOI" value="10.17487/RFC8785"/>
</reference>
<reference anchor="RFC8816">
  <front>
    <title>Secure Telephone Identity Revisited (STIR) Out-of-Band Architecture and Use Cases</title>
    <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
    <author fullname="J. Peterson" initials="J." surname="Peterson"/>
    <date month="February" year="2021"/>
    <abstract>
      <t>The Personal Assertion Token (PASSporT) format defines a token that can be carried by signaling protocols, including SIP, to cryptographically attest the identity of callers. However, not all telephone calls use Internet signaling protocols, and some calls use them for only part of their signaling path, while some cannot reliably deliver SIP header fields end-to-end. This document describes use cases that require the delivery of PASSporT objects outside of the signaling path, and defines architectures and semantics to provide this functionality.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8816"/>
  <seriesInfo name="DOI" value="10.17487/RFC8816"/>
</reference>
<reference anchor="RFC9060">
  <front>
    <title>Secure Telephone Identity Revisited (STIR) Certificate Delegation</title>
    <author fullname="J. Peterson" initials="J." surname="Peterson"/>
    <date month="September" year="2021"/>
    <abstract>
      <t>The Secure Telephone Identity Revisited (STIR) certificate profile provides a way to attest authority over telephone numbers and related identifiers for the purpose of preventing telephone number spoofing. This specification details how that authority can be delegated from a parent certificate to a subordinate certificate. This supports a number of use cases, including those where service providers grant credentials to enterprises or other customers capable of signing calls with STIR.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9060"/>
  <seriesInfo name="DOI" value="10.17487/RFC9060"/>
</reference>
<reference anchor="RFC9447">
  <front>
    <title>Automated Certificate Management Environment (ACME) Challenges Using an Authority Token</title>
    <author fullname="J. Peterson" initials="J." surname="Peterson"/>
    <author fullname="M. Barnes" initials="M." surname="Barnes"/>
    <author fullname="D. Hancock" initials="D." surname="Hancock"/>
    <author fullname="C. Wendt" initials="C." surname="Wendt"/>
    <date month="September" year="2023"/>
    <abstract>
      <t>Some proposed extensions to the Automated Certificate Management Environment (ACME) rely on proving eligibility for certificates through consulting an external authority that issues a token according to a particular policy. This document specifies a generic Authority Token Challenge for ACME that supports subtype claims for different identifiers or namespaces that can be defined separately for specific applications.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9447"/>
  <seriesInfo name="DOI" value="10.17487/RFC9447"/>
</reference>

<reference anchor="I-D.wendt-stir-certificate-transparency">
   <front>
      <title>STI Certificate Transparency</title>
      <author fullname="Chris Wendt" initials="C." surname="Wendt">
         <organization>Somos, Inc.</organization>
      </author>
      <author fullname="Robert Śliwa" initials="R." surname="Śliwa">
         <organization>Somos, Inc.</organization>
      </author>
      <author fullname="Alec Fenichel" initials="A." surname="Fenichel">
         <organization>TransNexus</organization>
      </author>
      <author fullname="Vinit Anil Gaikwad" initials="V. A." surname="Gaikwad">
         <organization>Twilio</organization>
      </author>
      <date day="11" month="June" year="2025"/>
      <abstract>
	 <t>   This document describes a framework for the use of the Certificate
   Transparency (CT) protocol for publicly logging the existence of
   Secure Telephone Identity (STI) certificates as they are issued or
   observed.  This allows any interested party that is part of the STI
   eco-system to audit STI certification authority (CA) activity and
   audit both the issuance of suspect certificates and the certificate
   logs themselves.  The intent is for the establishment of a level of
   trust in the STI eco-system that depends on the verification of
   telephone numbers requiring and refusing to honor STI certificates
   that do not appear in a established log.  This effectively
   establishes the precedent that STI CAs must add all issued
   certificates to the logs and thus establishes unique association of
   STI certificates to an authorized provider or assignee of a telephone
   number resource.  The primary role of CT in the STI ecosystem is for
   verifiable trust in the avoidance of issuance of unauthorized
   duplicate telephone number level delegate certificates or provider
   level certificates.  This provides a robust auditable mechanism for
   the detection of unauthorized creation of certificate credentials for
   illegitimate spoofing of telephone numbers or service provider codes
   (SPC).

   The framework borrows the log structure and API model from RFC6962 to
   enable public auditing and verifiability of certificate issuance.
   While the foundational mechanisms for log operation, Merkle Tree
   construction, and Signed Certificate Timestamps (SCTs) are aligned
   with RFC6962, this document contextualizes their application in the
   STIR eco-system, focusing on verifiable control over telephone number
   or service provider code resources.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-wendt-stir-certificate-transparency-06"/>
   
</reference>

<reference anchor="I-D.wendt-stir-vesper">
   <front>
      <title>VESPER - Framework for VErifiable STI Personas</title>
      <author fullname="Chris Wendt" initials="C." surname="Wendt">
         <organization>Somos, Inc.</organization>
      </author>
      <author fullname="Robert Śliwa" initials="R." surname="Śliwa">
         <organization>Somos, Inc.</organization>
      </author>
      <date day="5" month="September" year="2025"/>
      <abstract>
	 <t>   This document formalizes a profile and a framework for the use of
   delegate certificates and authority tokens to strengthen the
   association between telephone number assignments and the entities
   that have the authoritative right to use them.  It defines a model in
   which the TNAuthList Authority Token serves as a trusted
   representation of telephone number assignment and right-to-use (RTU),
   anchored by a Notary Agent that logs these associations through
   verifiable transparency mechanisms.  The framework also extends the
   use of authority tokens to support other PASSporT claims like Rich
   Call Data (RCD) by defining a role for JWTClaimConstraints Authority
   Tokens.  These tokens are issued by authoritative or recognized and
   vetted claim agents within the ecosystem to assert information
   associated with the entity assigned a telephone number.  The Notary
   Agent plays a critical role in recording these claims and their
   provenance, enhancing transparency and accountability.  Delegate
   certificates encapsulate and incorporate both the telephone number
   and associated information validated via authority tokens to the
   certification authority issuing them, binding them to the
   authenticated telephone number of the calling party.  These
   certificates are published to a certificate transparency log,
   enabling relying parties to independently verify the integrity and
   legitimacy of number use and related claims.  The VESPER (Verifiable
   STI PERsona) approach utilizes STIR protocols and the ACME authority
   token to formalizing a verifiable, auditable, and privacy-conscious
   foundation for associating telephone numbers with vetted entities and
   validated assertion of associated metadata.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-wendt-stir-vesper-05"/>
   
</reference>

<reference anchor="I-D.wendt-stir-vesper-use-cases">
   <front>
      <title>Verifiable STI Persona (VESPER) Use Cases and Requirements</title>
      <author fullname="Chris Wendt" initials="C." surname="Wendt">
         <organization>Somos, Inc.</organization>
      </author>
      <date day="11" month="August" year="2025"/>
      <abstract>
	 <t>   This document discusses a set of use cases and requirements for an
   extension to Secure Telephone Identity Revisited (STIR) called
   Verifiable STI PERsona (VESPER).  VESPER fundamentally enhances STIR
   by establishing an authoritative and cryptographically verifiable
   Right-to-Use (RTU) relationship between telephone numbers and their
   assigned entities, business organizations or individuals, through
   digital signatures that bind an entity to a set of asserted claims,
   delegate certificates that govern the assertion of those claims to a
   responsible party, and Authority Tokens that prove the validation of
   those claims by authoritative parties.  This cryptographic binding
   ensures explicit non-repudiation, removing ambiguity around who is
   accountable for calls or messages originating from specific telephone
   numbers, significantly deterring spoofing and fraud.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-wendt-stir-vesper-use-cases-02"/>
   
</reference>

<reference anchor="I-D.sliwa-stir-cert-cps-ext">
   <front>
      <title>Call Placement Service (CPS) URI Certificate Extension for STI Certificates</title>
      <author fullname="Robert Śliwa" initials="R." surname="Śliwa">
         <organization>Somos Inc.</organization>
      </author>
      <author fullname="Chris Wendt" initials="C." surname="Wendt">
         <organization>Somos Inc.</organization>
      </author>
      <date day="5" month="September" year="2025"/>
      <abstract>
	 <t>   This document specifies a non-critical X.509 v3 certificate extension
   that conveys the HTTPS URI of a Call Placement Service (CPS)
   associated with the telephone numbers authorized in a STIR Delegate
   Certificate.  The extension enables originators and verifiers of STIR
   PASSporTs to discover, with a single certificate lookup, where Out-
   of-Band (OOB) PASSporTs can be retrieved.  The mechanism removes
   bilateral CPS provisioning, allows ecosystem-scale discovery backed
   by STI Certificate Transparency (STI-CT), and is fully backward
   compatible with existing STIR certificates and OOB APIs.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-sliwa-stir-cert-cps-ext-00"/>
   
</reference>

<reference anchor="I-D.sliwa-stir-oob-transparent-discovery">
   <front>
      <title>Transparent Discovery of STIR Out-of-Band Call Placement Services</title>
      <author fullname="Robert Śliwa" initials="R." surname="Śliwa">
         <organization>Somos Inc.</organization>
      </author>
      <author fullname="Chris Wendt" initials="C." surname="Wendt">
         <organization>Somos Inc.</organization>
      </author>
      <date day="5" month="September" year="2025"/>
      <abstract>
	 <t>   This document defines a Discovery Service for STIR Out-of-Band (OOB)
   Call Placement Services (CPS).  The Discovery Service enables
   Authentication Services (AS) and Verification Services (VS) to
   quickly determine which CPS is responsible for a given telephone
   number (TN) or Service Provider Code (SPC), allowing retrieval of
   PASSporTs even when SIP Identity headers are removed by non-IP or
   hybrid network segments.  The Discovery Service leverages a CPS URI
   certificate extension, which allows STIR Certificates or Delegate
   Certificates to embed an HTTPS URI for the CPS serving the TNs or
   SPCs covered by the certificate.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-sliwa-stir-oob-transparent-discovery-00"/>
   
</reference>

<reference anchor="I-D.ietf-stir-rfc4916-update">
   <front>
      <title>Connected Identity for STIR</title>
      <author fullname="Jon Peterson" initials="J." surname="Peterson">
         <organization>TransUnion</organization>
      </author>
      <author fullname="Chris Wendt" initials="C." surname="Wendt">
         <organization>Somos</organization>
      </author>
      <date day="7" month="July" year="2025"/>
      <abstract>
	 <t>   The Session Initiation Protocol (SIP) Identity header field conveys
   cryptographic identity information about the originators of SIP
   requests.  The Secure Telephone Identity Revisited (STIR) framework,
   however, provides no means for determining the identity of the called
   party in a traditional telephone-calling scenario.  This document
   updates prior guidance on the &quot;connected identity&quot; problem to reflect
   the changes to SIP Identity that accompanied STIR, and considers a
   revised problem space for connected identity as a means of detecting
   calls that have been retargeted to a party impersonating the intended
   destination, as well as the spoofing of mid-dialog or dialog-
   terminating events by intermediaries or third parties.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-stir-rfc4916-update-07"/>
   
</reference>

<reference anchor="I-D.ietf-httpapi-idempotency-key-header">
   <front>
      <title>The Idempotency-Key HTTP Header Field</title>
      <author fullname="Jayadeba Jena" initials="J." surname="Jena">
         </author>
      <author fullname="Sanjay Dalal" initials="S." surname="Dalal">
         </author>
      <date day="15" month="October" year="2025"/>
      <abstract>
	 <t>   The HTTP Idempotency-Key request header field can be used to make
   non-idempotent HTTP methods such as POST or PATCH fault-tolerant.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-httpapi-idempotency-key-header-07"/>
   
</reference>
<reference anchor="RFC2119">
  <front>
    <title>Key words for use in RFCs to Indicate Requirement Levels</title>
    <author fullname="S. Bradner" initials="S." surname="Bradner"/>
    <date month="March" year="1997"/>
    <abstract>
      <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="14"/>
  <seriesInfo name="RFC" value="2119"/>
  <seriesInfo name="DOI" value="10.17487/RFC2119"/>
</reference>
<reference anchor="RFC8174">
  <front>
    <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
    <author fullname="B. Leiba" initials="B." surname="Leiba"/>
    <date month="May" year="2017"/>
    <abstract>
      <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="14"/>
  <seriesInfo name="RFC" value="8174"/>
  <seriesInfo name="DOI" value="10.17487/RFC8174"/>
</reference>



    </references>

    <references title='Informative References' anchor="sec-informative-references">

<reference anchor="ATIS-1000105" target="https://access.atis.org/higherlogic/ws/public/download/79509/ATIS-1000105.pdf">
  <front>
    <title>ATIS-1000105 - Signature-based Handling of Asserted information using Tokens (SHAKEN): Out-of-Band PASSporT Transmission Between Service Providers that Interconnect using TDM</title>
    <author >
      <organization>ATIS</organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>


    </references>

</references>


<?line 1046?>

<section numbered="false" anchor="acknowledgments"><name>Acknowledgments</name>

<t>The authors thank the contributors of the STIR working group and authors of ATIS-1000105, many of the API mechanisms have been aligned and extended in this document to support the Vesper OOB Framework for PASSporT delivery signed with delegate certificates.</t>

</section>


  </back>

<!-- ##markdown-source:
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

-->

</rfc>

