<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.27 (Ruby 3.0.0) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-hardman-verifiable-voice-protocol-07" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.28.0 -->
  <front>
    <title abbrev="VVP">Verifiable Voice Protocol</title>
    <seriesInfo name="Internet-Draft" value="draft-hardman-verifiable-voice-protocol-07"/>
    <author fullname="Daniel Hardman">
      <organization>Provenant, Inc</organization>
      <address>
        <email>daniel.hardman@gmail.com</email>
      </address>
    </author>
    <date year="2026" month="March" day="19"/>
    <keyword>voip</keyword>
    <keyword>telecom</keyword>
    <keyword>telco</keyword>
    <keyword>telephone number</keyword>
    <keyword>vetting</keyword>
    <keyword>KYC</keyword>
    <abstract>
      <?line 114?>

<t>Verifiable Voice Protocol (VVP) authenticates and authorizes organizations and individuals making and/or receiving telephone calls. This eliminates trust gaps that malicious parties exploit. Like related technologies such as SHAKEN, RCD, and BCID, VVP uses STIR to bind cryptographic evidence to a SIP INVITE, and verify this evidence downstream. VVP can also let evidence flow the other way, proving things about the callee. VVP builds from different technical and governance assumptions than alternatives, and uses richer, stronger evidence. This allows VVP to cross jurisdictional boundaries easily and robustly. It also makes VVP simpler, more decentralized, cheaper to deploy and maintain, more private, more scalable, and higher assurance. Because it is easier to adopt, VVP can plug gaps or build bridges between other approaches, functioning as glue in hybrid ecosystems. For example, it may justify an A attestation in SHAKEN, or an RCD passport for branded calling, when a call originates outside SHAKEN or RCD ecosystems. VVP also works well as a standalone mechanism, independent of other solutions. An extra benefit is that VVP enables two-way evidence sharing with verifiable text and chat (e.g., RCS and vCon), as well as with other industry verticals that need verifiability in non-telco contexts.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://dhh1128.github.io/vvp/draft-hardman-verifiable-voice-protocol.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-hardman-verifiable-voice-protocol/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/dhh1128/vvp"/>.</t>
    </note>
  </front>
  <middle>
    <?line 118?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>When we get phone calls, we want to know who's calling, and why. Often, we want similar information when we <em>make</em> calls as well, to confirm that we've truly reached who we intend. Strangers abuse expectations in either direction, far too often.</t>
      <t>Regulators have mandated protections, and industry has responded. However, existing solutions have several drawbacks:</t>
      <ul spacing="normal">
        <li>
          <t>Assurance of callers derives only from the signatures of originating service providers, with no independently verifiable proof of what they assert.</t>
        </li>
        <li>
          <t>Proving the identity of the callee is not supported.</t>
        </li>
        <li>
          <t>Each jurisdiction has its own governance and its own set of signers. Sharing information across boundaries is fraught with logistical and regulatory problems.</t>
        </li>
        <li>
          <t>Deployment and maintenance costs are high.</t>
        </li>
        <li>
          <t>Market complexities such as the presence of aggregators, wholesalers, and call centers that proxy a brand are difficult to model safely.</t>
        </li>
        <li>
          <t>What might work for enterprises offers few benefits and many drawbacks for individual callers.</t>
        </li>
      </ul>
      <t>VVP solves these problems by applying crucial innovations in evidence scope, evidence format, and vetting mechanisms. These innovations profoundly upgrade what is provable in an ecosystem, as well as what is cacheable and what must be centralized. However, they have only subtle effects on the content of a STIR PASSporT, so they are explored outside this spec.</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?>

</section>
    <section anchor="overview">
      <name>Overview</name>
      <t>Fundamentally, VVP requires identified parties (callers and/or callees) to curate a dossier (<xref target="TOIP-DOSSIER"/>) of stable evidence that proves things about them. This is done once or occasionally, in advance, as a configuration precondition. Then, for each call, participants decide whether to share this evidence. Callers share evidence by creating an ephemeral STIR-compatible VVP PASSporT (<xref target="RFC8225"/>) that cites (<xref format="counter" target="citing"/>) their preconfigured dossier. This passport travels along the delivery route as an <tt>Identity</tt> header in a SIP INVITE. Callees share evidence by adding an analogous passport to an attribute line in the SDP <xref target="RFC8866"/> body of their SIP response. This passes a signed citation to their dossier in the other direction. Verifiers anywhere along the route check the citation(s) and corresponding dossier(s), including realtime revocation status, to make decisions (<xref format="counter" target="verifying"/>).</t>
      <t>A VVP call may carry assurance in either or both directions. Compliant implementations may choose to support only assurance about the caller, only assurance about the callee, or both.</t>
      <section anchor="roles">
        <name>Roles</name>
        <t>Understanding the workflow in VVP requires a careful definition of roles related to the protocol. The terms that follow have deep implications for the mental model, and their meaning in VVP may not match casual usage.</t>
        <section anchor="callee">
          <name>Callee</name>
          <t>For a given phone call, a <em>callee</em> receives the SIP INVITE. Typically one callee is targeted, but multiparty SIP flows allow INVITEs to multiple callees, either directly or via a conference server (see <xref target="RFC4353"/> and <xref target="RFC4575"/>). A callee can be an individual consumer or an organization. The direct service provider of the callee is the <em>terminating service provider</em> (<em>TSP</em>). In many use cases for VVP, callers attempt to prove things to callees, and callees and their service providers use VVP primarily with a verifier mindset. However, enterprises or call centers that accept inbound calls from individuals may want assurance to flow the other direction; hence, VVP supports optional evidence about callees as well.</t>
        </section>
        <section anchor="OP">
          <name>Originating Party</name>
          <t>An <em>originating party</em> (<em>OP</em>) controls the first <em>session border controller</em> (<em>SBC</em>) that processes an outbound call, and therefore builds the VVP passport that cites evidence about the caller.</t>
          <t>It may be tempting to equate the OP with "the caller", and in some perspectives this could be true. However, this simple equivalence lacks nuance and doesn't always hold. In a VVP context, it is more accurate to say that the OP creates a SIP INVITE <xref target="RFC3261"/> with explicit, provable authorization from the party accountable for calls on the originating phone number. The OP originates the VVP protocol, but not always the call on the handset.</t>
          <t>It may also be tempting to associate the OP with an organizational identity like "Company X". While this is not wrong, the precise cryptographic identity of an OP should be narrower. It typically corresponds to a single service operated by an IT department within (or outsourced but operating at the behest of) Company X, rather than to Company X generically. This narrowness limits cybersecurity risk, because a single service operated by Company X needs far fewer privileges than the company as a whole. Failing to narrow identity appropriately creates vulnerabilities in some alternative approaches. The evidence securing VVP <bcp14>MUST</bcp14> therefore prove a valid relationship between the OP's narrow identity and the broader legal entities that stakeholders more naturally assume and understand.</t>
          <t>The service provider associated with an OP is called the <em>originating service provider</em> (<em>OSP</em>). For a given phone call, there may be complexity between the hardware that begins a call and the SBC of the OP -- and there may also be many layers, boundaries, and transitions between OSP and TSP.</t>
        </section>
        <section anchor="AP">
          <name>Accountable Party</name>
          <t>For a given call, the <em>accountable party</em> (<em>AP</em>) is the organization or individual that has the right to use the originating phone number, according to the regulator of that number. When a callee asks, "Who's calling?", they have little interest in the technicalities of the OP, and it is almost always the AP that they want to identify. The AP is accountable for the call, and thus "the caller", as far as the regulator and the callee are concerned.</t>
          <t>APs can operate their own SBCs and therefore be their own OPs. However, APs can also use a UCaaS provider that makes the AP-OP relationship indirect. Going further, a business can hire a call center, and delegate to the call center the right to use its phone number. In such a case, the business is the AP, but the call center is the OP that makes calls on its behalf. None of these complexities alter the fact that, from the callee's perspective, the AP is "the caller". The callee chooses to answer or not, based on their desire to interact with the AP. If the callee's trust is abused, the regulator and the callee both want to hold the AP accountable.</t>
          <t>In order to verify a caller, VVP requires an AP to prepare a dossier of evidence that documents a basis for imposing this accountability on them. Only the owner of a given dossier can prove they intend to initiate a VVP call that cites their dossier. Therefore, if a verifier confirms that a particular call properly matches its dossier, the verifier is justified in considering the owner of that dossier the AP for the call. Otherwise, someone is committing fraud. Accountability, and the basis for it, are both unambiguous.</t>
        </section>
        <section anchor="VP">
          <name>Verified Party</name>
          <t>A <em>verified party</em> (<em>VP</em>) is a party that uses VVP to prove assertions about itself and its delegation decisions. When VVP provides assurance about callers, the AP is a VP. When VVP provides assurance about callees, the callee is a VP. Some characteristics of proxies, delegates, and service providers may be proved by a dossier, but these parties are not VPs. They don't create dossiers, and dossiers are not focused on them.</t>
        </section>
        <section anchor="verifier">
          <name>Verifier</name>
          <t>A <em>verifier</em> is a party that wants to know who's calling or being called, and maybe why -- and that evaluates the answers to these questions by examining formal evidence. Callees, callers, TSPs, OSPs, government regulators, law enforcement doing lawful intercept, auditors, and even APs or OPs can be verifiers. Each may need to see different views of the evidence about a particular phone call, and it may be impossible to comply with various regulations unless these views are kept distinct -- yet each wants similar and compatible assurance.</t>
          <t>In addition to checking the validity of cryptographic evidence, the verifier role in VVP <bcp14>MAY</bcp14> also consider how that evidence matches business rules and external conditions. For example, a verifier can begin its analysis by deciding whether Call Center Y has the right, in the abstract, to make or receive calls on behalf of Organization X using a given phone number. However, VVP evidence allows a verifier to go further: it can also consider whether Y is allowed to exercise this right at the particular time of day when a call occurs, or in a particular jurisdiction, given the business purpose asserted in a particular call.</t>
        </section>
      </section>
      <section anchor="lifecycle">
        <name>Lifecycle</name>
        <t>VVP depends on three interrelated activities with evidence:</t>
        <ul spacing="normal">
          <li>
            <t>Curating</t>
          </li>
          <li>
            <t>Citing</t>
          </li>
          <li>
            <t>Verifying</t>
          </li>
        </ul>
        <t>Chronologically, evidence must be curated before it can be cited or verified. In addition, some vulnerabilities in existing approaches occur because evidence requirements are too loose. Therefore, understanding the nature of backing evidence, and how that evidence is created and maintained, is a crucial consideration for VVP.</t>
        <t>However, curating does not occur in realtime during phone calls, and is out of scope for a network protocol specification. Citing and verifying are the heart of VVP, and implementers will approach VVP from the standpoint of SIP flows <xref target="RFC3261"/>, <xref target="RFC5626"/>. Therefore, we leave the question of curation to separate document (for example, <xref target="TOIP-DOSSIER"/>).</t>
      </section>
    </section>
    <section anchor="citing">
      <name>Citing</name>
      <section anchor="citing-the-aps-dossier">
        <name>Citing the AP's dossier</name>
        <t>A VVP call that makes the caller verifiable begins when the OP (<xref format="counter" target="OP"/>) generates a new VVP passport <xref target="RFC8225"/> that complies with STIR <xref target="RFC8224"/> requirements. In its compact-serialized JWT <xref target="RFC7519"/> form, this passport is then passed as an <tt>Identity</tt> header in a SIP INVITE <xref target="RFC3261"/>. The passport <em>constitutes</em> lightweight, direct, and ephemeral evidence; it <em>cites</em> and therefore depends upon comprehensive, indirect, and long-lived evidence (the AP's dossier). Safely and efficiently citing stronger evidence in a dossier is one way that VVP differs from alternatives.</t>
        <section anchor="questions-answered-by-an-aps-passport">
          <name>Questions answered by an AP's passport</name>
          <t>The passport directly answers at least the following questions:</t>
          <ul spacing="normal">
            <li>
              <t>What is the cryptographic identity of the OP?</t>
            </li>
            <li>
              <t>How can a verifier determine the OP's key state at the time the passport was created?</t>
            </li>
            <li>
              <t>How can a verifier identify and fetch more evidence that connects the OP to the asserted AP?</t>
            </li>
            <li>
              <t>What brand attributes are asserted to accompany the call?</t>
            </li>
          </ul>
          <t>The first two answers come from the <tt>kid</tt> header. The third answer is communicated in the required <tt>evd</tt> claim. The fourth answer is communicated in the optional <tt>card</tt> and <tt>goal</tt> claims.</t>
          <t>More evidence can then be fetched to indirectly answer the following additional questions:</t>
          <ul spacing="normal">
            <li>
              <t>What is the legal identity of the AP?</t>
            </li>
            <li>
              <t>Does the AP have the right to use the originating phone number?</t>
            </li>
            <li>
              <t>Does the AP intend the OP to sign passports on its behalf?</t>
            </li>
            <li>
              <t>Does the AP have the right to use the brand attributes asserted for the call?</t>
            </li>
          </ul>
          <t>Dossiers can be further expanded to answer even more questions; such dynamic expansion of the scope of proof is compatible with but not specified by VVP.</t>
        </section>
        <section anchor="sample-passport">
          <name>Sample passport</name>
          <t>An example will help. In its JSON-serialized form, a typical VVP passport for an AP (with some long CESR-encoded hashes shortened by ellipsis for readability) might look like this:</t>
          <sourcecode type="json"><![CDATA[
{
  "header": {
    "alg": "EdDSA",
    "typ": "passport",
    "ppt": "vvp",
    "kid": "https://agentsrus.net/oobi/EMC.../agent/EAx..."
  },
  "payload": {
    "orig": {"tn": ["+33612345678"]},
    "dest": {"tn": ["+33765432109"]},
    "card": ["NICKNAME:Monde d'Exemples",
      "CHATBOT:https://example.com/chatwithus",
      "LOGO;HASH=EK2...;VALUE=URI:https://example.com/ico64x48.png"],
    "goal": "negotiate.schedule",
    "call-reason": "planifier le prochain rendez-vous",
    "evd": "https://fr.example.com/dossiers/E0F....cesr",
    "origId": "e0ac7b44-1fc3-4794-8edd-34b83c018fe9",
    "iat": 1699840000,
    "exp": 1699840030,
    "jti": "70664125-c88d-49d6-b66f-0510c20fc3a6"
  }
}
]]></sourcecode>
          <t>The semantics of the fields are:</t>
          <ul spacing="normal">
            <li>
              <t><tt>alg</tt> <em>(required)</em> <bcp14>MUST</bcp14> be either "EdDSA" (<xref target="RFC8032"/>), or (for post-quantum) "FN-DSA-512" (<xref target="FN-DSA"/>). Standardizing on best-in-class schemes prevents weaker cryptography from degrading the security guarantees of the ecosystem. The RSA, HMAC, and ES256 algorithms <bcp14>MUST NOT</bcp14> be used. (EdDSA is motivated by compatibility with the vLEI and its associated ACDC ecosystem, which currently uses the Montgomery-to-Edwards transformation.)</t>
            </li>
            <li>
              <t><tt>typ</tt> <em>(required)</em> Per <xref target="RFC8225"/>, <bcp14>MUST</bcp14> be "passport".</t>
            </li>
            <li>
              <t><tt>ppt</tt> <em>(required)</em> Per <xref target="RFC8225"/>, <bcp14>MUST</bcp14> identify the specific PASSporT type -- in this case, "vvp".</t>
            </li>
            <li>
              <t><tt>kid</tt> <em>(required)</em> <bcp14>MUST</bcp14> be the OOBI of an AID (<xref target="TOIP-KERI"/>) controlled by the OP (<xref format="counter" target="OP"/>). An OOBI is a special URL that facilitates ACDC's viral discoverability goals. It returns IANA content-type <tt>application/json+cesr</tt>, which provides some important security guarantees. The content for this particular OOBI <bcp14>MUST</bcp14> be a KEL (<xref target="TOIP-KERI"/>). Typically the AID in question does not identify the OP as a legal entity, but rather software running on or invoked by the SBC operated by the OP. (The AID that identifies the OP as a legal entity may be controlled by a multisig scheme and thus require multiple humans to create a signature. The AID for <tt>kid</tt> <bcp14>MUST</bcp14> be single-sig and, in the common case where it is not the legal entity AID, <bcp14>MUST</bcp14> have a delegate relationship with the legal entity AID that's proved through formal evidence.)</t>
            </li>
            <li>
              <t><tt>orig</tt> <em>(required)</em> Although VVP does not depend on SHAKEN, the format of this field <bcp14>MUST</bcp14> conform to SHAKEN requirements (<xref target="RFC8588"/>), for interoperability reasons. It <bcp14>MUST</bcp14> also satisfy one additional constraint, which is that only one phone number is allowed. Despite the fact that a containing SIP INVITE may allow multiple originating phone numbers, only one can be tied to evidence evaluated by verifiers.</t>
            </li>
            <li>
              <t><tt>dest</tt> <em>(required)</em> For interoperability reasons, <bcp14>MUST</bcp14> conform to SHAKEN requirements.</t>
            </li>
            <li>
              <t><tt>card</tt> <em>(optional)</em> Contains one or more brand attributes. These are analogous to <xref target="RFC9796"/> or <xref target="CTIA-BCID"/> data, but differ in that they <bcp14>MUST</bcp14> be justified by evidence in the dossier. Because of this strong foundation that interconnects with formal legal identity, they can be used to derive other brand evidence (e.g., an RCD passport) as needed. Individual attributes <bcp14>MUST</bcp14> conform to the VCard standard <xref target="RFC6350"/>.</t>
            </li>
            <li>
              <t><tt>goal</tt> <em>(optional)</em> A machine-readable, localizable goal code, as described informally by <xref target="ARIES-RFC-0519"/>. If present, the dossier <bcp14>MUST</bcp14> prove that the OP is authorized by the AP to initiate calls with this particular goal.</t>
            </li>
            <li>
              <t><tt>call-reason</tt> <em>(optional)</em> A human-readable, arbitrary phrase that describes the self-asserted intent of the caller. This claim is largely redundant with <tt>goal</tt>; most calls will either omit both, or choose one or the other. Since <tt>call-reason</tt> cannot be analyzed or verified in any way, and since it may communicate in a human language that is not meaningful to the callee, use of this field is discouraged. However it is not formally deprecated. It is included in VVP to facilitate the construction of derivative RCD passports which have the property.</t>
            </li>
            <li>
              <t><tt>evd</tt> <em>(required)</em> <bcp14>MUST</bcp14> be the OOBI of a bespoke ACDC (the dossier, <xref target="TOIP-ACDC"/>) that constitutes a verifiable data graph of all evidence justifying belief in the identity and authorization of the AP, the OP, and any relevant delegations. This URL can be hosted on any convenient web server, and is somewhat analogous to the <tt>x5u</tt> header in X509 contexts. See below for details.</t>
            </li>
            <li>
              <t><tt>origId</tt> <em>(optional)</em> Follows SHAKEN semantics.</t>
            </li>
            <li>
              <t><tt>iat</tt> <em>(required)</em> Follows standard JWT semantics (see <xref target="RFC7519"/>).</t>
            </li>
            <li>
              <t><tt>exp</tt> <em>(required)</em> Follows standard JWT semantics. As this sets a window for potential replay attacks between the same two phone numbers, a recommended expiration <bcp14>SHOULD</bcp14> be 15 seconds (just long enough for an INVITE to be routed and trigger ringing on a handset), and <bcp14>MUST NOT</bcp14> exceed 60 seconds.</t>
            </li>
            <li>
              <t><tt>jti</tt> <em>(optional)</em> Follows standard JWT semantics.</t>
            </li>
          </ul>
        </section>
      </section>
      <section anchor="citing-a-callees-dossier">
        <name>Citing a callee's dossier</name>
        <t>Optionally, evidence in VVP can also flow from callee to caller. For privacy reasons, individuals who receive phone calls may choose not to use VVP in this way. However, enterprises and call centers may find it useful as a reassurance to their customers about who they've reached.</t>
        <t>In such cases, the callee must have curated a dossier. The format of the callee dossier is identical in schema to that used by a caller. It may therefore introduce evidence of the callee's legal identity, right to use a brand, right to use a TN, delegated authority to a call center proxy or an AI, and so forth. (A callee's dossier might differ in one minor way that doesn't affect the schema: it could prove the right to use a TN that has a DNO flag.)</t>
        <t>A reference to the callee's dossier is conveyed by adding a special <tt>a=callee-passport:X</tt> attribute line to the SDP <xref target="RFC8866"/> body of the callee's <tt>200 OK</tt> response. (Optionally, the lines <bcp14>MAY</bcp14> also be added to a <tt>180 Ringing</tt> response, to make the callee verifiable earlier, but it <bcp14>MUST</bcp14> appear on the <tt>200 OK</tt> response.) The value of this line is a JWT in compact form, with the <tt>;type=vvp</tt> suffix. This is exactly compliant with the format used by callers to convey VVP passports in <tt>Identity</tt> headers. However, <tt>Identity</tt> headers are not used for callees because existing SIP tooling does not expect or preserve <tt>Identity</tt> headers on responses. Furthermore, the identity of a callee is primarily of interest to the caller, who is willing to parse the SDP body; it does not need the same full-route auditability as the identity of a caller.</t>
        <t>Although dossiers are identical in either direction, the callee JWT has a slightly different schema than a caller's VVP passport. The headers of the JWT match, but <tt>kid</tt> contains the OOBI of the callee, not of the OP. Two new claims are added to the JWT payload: <tt>call-id</tt> and <tt>cseq</tt>. These <bcp14>MUST</bcp14> contain the values of the <tt>Call-ID</tt> and <tt>CSeq</tt> values on the preceding SIP INVITE. The <tt>iat</tt> claim <bcp14>MUST</bcp14> also be present and <bcp14>MUST</bcp14> contain a value from the system clock of the callee. The <tt>exp</tt> field <bcp14>MAY</bcp14> also be present and use a value chosen by the callee; if it is missing, this communicates the callee's intention to impose no new timeout logic on the call. The <tt>evd</tt> field <bcp14>MUST</bcp14> also be present, and <bcp14>MUST</bcp14> contain the OOBI of the callee's dossier. The <tt>card</tt> and <tt>goal</tt> claims are also allowed. Other claims <bcp14>MAY</bcp14> be present, but <bcp14>MUST</bcp14> be ignored by compliant implementations that do not understand them. (Because the callee references the specific SIP dialog via <tt>call-id</tt> and <tt>cseq</tt>, there is no point in repeating fields that describe the dialog, like <tt>orig</tt>, <tt>dest</tt>, and so forth.)</t>
      </section>
    </section>
    <section anchor="verifying">
      <name>Verifying</name>
      <section anchor="verifying-the-caller">
        <name>Verifying the caller</name>
        <section anchor="algorithm">
          <name>Algorithm</name>
          <t>When a verifier encounters a VVP passport, they <bcp14>SHOULD</bcp14> verify by using an algorithm similar to the following. Optimizations may combine or reorder operations, but <bcp14>MUST</bcp14> achieve all of the same guarantees, in order to be compliant implementations.</t>
          <ol spacing="normal" type="1"><li>
              <t>Analyze the <tt>iat</tt> and <tt>exp</tt> claims to evaluate timing. Confirm that <tt>exp</tt> is greater than <tt>iat</tt> and also greater than the reference time for analysis (e.g., <em>now</em>), and that <tt>iat</tt> is close enough to the reference time to satisfy the verifier's tolerance for replays. (A replay attack would have to call from the same <tt>orig</tt> to the same <tt>dest</tt> with the same <tt>iat</tt>, within whatever window the verifier accepts. Thirty seconds is a recommended default value.)</t>
            </li>
            <li>
              <t>Confirm that the <tt>orig</tt>, <tt>dest</tt>, and <tt>iat</tt> claims match contextual observations and other SIP metadata. That is, the passport appears aligned with what is known about the call from external sources.</t>
            </li>
            <li>
              <t>Extract the <tt>kid</tt> header.</t>
            </li>
            <li>
              <t>Fetch the key state for the OP at the reference time from the OOBI in <tt>kid</tt>. Caches may be used to optimize this, as long as they meet the freshness requirements of the verifier.</t>
            </li>
            <li>
              <t>Use the public key of the OP to verify that the signature on the passport is valid for that key state. On success, the verifier knows that the OP is at least making an assertion about the identity and authorizations of the AP. (When reference time is now, this is approximately the level of assurance provided by existing alternatives to VVP.)</t>
            </li>
            <li>
              <t>Extract the <tt>evd</tt> field, which references the dossier that constitutes backing evidence.</t>
            </li>
            <li>
              <t>Use the SAID (<xref target="TOIP-CESR"/>) of the dossier as a lookup key to see whether the dossier has already been fully validated. Since dossiers are highly stable, caching dossier validations is recommended.</t>
            </li>
            <li>
              <t>If the dossier requires full validation, perform it. Validation includes checking the signature on each ACDC in the dossier's data graph against the key state of its respective issuer at the time the issuance occurred. Key state is proved by the KEL (<xref target="TOIP-KERI"/>), and checked against independent witnesses.  </t>
              <t>
Issuance is recorded explicitly in the KEL's overall event sequence, so this check does not require guesses about how to map issuance timestamps to key state events. Subsequent key rotations do not invalidate this analysis.  </t>
              <t>
Validation also includes comparing data structure and values against the declared schema, plus a full traversal of all chained cryptographically verifiable evidence, back to the root of trust for each artifact. The verifier <bcp14>MUST</bcp14> accept the root of trust as a valid authority on the vital question answered by each credential that depends upon it. The correct relationships among evidence artifacts <bcp14>MUST</bcp14> also be checked (e.g., proving that the issuer of one piece is the issuee of another piece).</t>
            </li>
            <li>
              <t>Check to see whether the revocation status of the dossier and each item it depends on has been tested recently enough, at the reference time, to satisfy the verifier's freshness requirements. If no, check for revocations anywhere in the data graph of the dossier. Revocations are not the same as key rotations. They can be checked much more quickly than doing a full validation. Revocation checks can also be cached, possibly with a different freshness threshold than the main evidence.</t>
            </li>
            <li>
              <t>Assuming that the dossier is valid and has no breakages due to revocation, confirm that the OP is authorized to sign the passport. If there is no delegation evidence, the AP and the OP <bcp14>MUST</bcp14> be identical, and the OP <bcp14>MUST</bcp14> be the issuee of the identity credential; otherwise, the OP <bcp14>MUST</bcp14> be the issuee of a delegated signing credential for which the issuer is the AP.</t>
            </li>
            <li>
              <t>Extract the <tt>orig</tt> field and compare it to the TNAlloc credential cited in the dossier to confirm that the AP (<xref format="counter" target="AP"/>) -- or, if OP is not equal to AP and OP is using their own number, the OP (<xref format="counter" target="OP"/>) -- has the right to originate calls with this number.</t>
            </li>
            <li>
              <t>If the passport includes non-null values for the optional <tt>card</tt> claim, extract that information and check that the brand attributes claimed for the call are justified by a brand credential in the dossier.</t>
            </li>
            <li>
              <t>Check any business logic. For example, if the passport includes a non-null value for the optional <tt>goal</tt> claim, confirm that the verifier is willing to accept a call with that goal. Or, if the delegated signer credential says that the OP can only call on behalf of the AP during certain hours, or in certain geos, check those attributes of the call.</t>
            </li>
          </ol>
        </section>
      </section>
      <section anchor="verifying-the-callee">
        <name>Verifying the callee</name>
        <t>The callee is verified with an algorithm that <bcp14>MAY</bcp14> be optimized but <bcp14>MUST</bcp14> achieve the same security guarantees as this:</t>
        <ol spacing="normal" type="1"><li>
            <t>Confirm that the <tt>call-id</tt> and <tt>cseq</tt> claims match the values of <tt>Call-ID</tt> and <tt>CSeq</tt> from the preceding SIP INVITE.</t>
          </li>
          <li>
            <t>Confirm that the <tt>iat</tt> claim matches contextual observations and other SIP metadata. That is, the timing described by the callee appears aligned with what is known about the call from external sources.</t>
          </li>
          <li>
            <t>If the <tt>exp</tt> claim is present, analyze the <tt>iat</tt> and <tt>exp</tt> claims to evaluate timeout.</t>
          </li>
          <li>
            <t>Extract the <tt>kid</tt> header.</t>
          </li>
          <li>
            <t>Fetch the key state for the callee at the reference time from the OOBI in <tt>kid</tt>. Caches may be used to optimize this, as long as they meet the freshness requirements of the verifier.</t>
          </li>
          <li>
            <t>Use the public key of the callee to verify that the signature on the passport is valid for that key state.</t>
          </li>
          <li>
            <t>Extract the <tt>evd</tt> field, which references the dossier that constitutes backing evidence.</t>
          </li>
          <li>
            <t>Use the SAID (<xref target="TOIP-CESR"/>) of the dossier as a lookup key to see whether the dossier has already been fully validated. Since dossiers are highly stable, caching dossier validations is recommended.</t>
          </li>
          <li>
            <t>Confirm that the dossier was signed (issued) by the same AID that appears in the <tt>kid</tt> header.</t>
          </li>
          <li>
            <t>If the dossier requires full validation, perform it.</t>
          </li>
          <li>
            <t>Check to see whether the revocation status of the dossier and each item it depends on has been tested recently enough, at the reference time, to satisfy the verifier's freshness requirements.</t>
          </li>
          <li>
            <t>Compare the callee's TN to the TNAlloc credential cited in the dossier to confirm that the callee has the right to accept calls at this number.</t>
          </li>
          <li>
            <t>If the passport includes non-null values for the optional <tt>card</tt> claim, extract that information and check that the brand attributes claimed for the call are justified by a brand credential in the dossier.</t>
          </li>
          <li>
            <t>Check any business logic. For example, if the passport includes a non-null value for the optional <tt>goal</tt> claim, and the preceding INVITE included a VVP passport that also declared a goal, confirm that the callee's and caller's goals overlap (one must be a subset of the other). Or, if the delegated signer credential says that a call center or an AI can accept calls during certain hours, or in certain geos, check those attributes of the call.</t>
          </li>
        </ol>
      </section>
      <section anchor="planning-for-efficiency">
        <name>Planning for efficiency</name>
        <t>A complete verification of either caller or callee passport, from scratch, is quite rigorous. With no caches, it may take several seconds, much like a thorough validation of a certificate chain. However, much VVP evidence is stable for long periods of time and lends itself to caching, subject to the proviso that revocation freshness must be managed wisely. Since the same dossier is used to add assurance to many calls -- perhaps thousands or millions of calls, for busy call centers -- and many dossiers will reference the same issuers and issuees and their associated key states and KELs (<xref target="TOIP-KERI"/>), caching will produce huge benefits.</t>
        <t>Furthermore, because SAIDs and their associated data (including links to other nodes in a data graph) have a tamper-evident relationship, any party can perform validation and compile their results, then share the data with verifiers that want to do less work. Validators like this are not oracles, because consumers of such data need not trust shared results blindly. They can always directly recompute some or all of it from a passport, to catch deception. However, they can do this lazily or occasionally, per their preferred balance of risk/effort.</t>
        <t><em>In toto</em>, these characteristics mean that no centralized registry is required in any given ecosystem. Data can be fetched directly from its source, across jurisdictional boundaries. Because it is fetched from its source, it comes with consent. Privacy can be tuned. Simple opportunistic, uncoordinated reuse (e.g., in or across the datacenters of TSPs) will arise spontaneously and will dramatically improve the scale and efficiency of the system.</t>
      </section>
      <section anchor="historical-analysis">
        <name>Historical analysis</name>
        <t>Normally, a verification algorithm determines whether the passport verifies <em>now</em>. (This is the only evaluation that's valid for most JWTs, because they depend on ephemeral key state fetched just in time from <tt>x5u</tt>). However, a VVP passport can do more. Its <tt>kid</tt> header references a KEL for the signer's AID (<xref target="TOIP-KERI"/>), and its <tt>evd</tt> header references a dossier issued by either the AID of the AP or the AID of the callee. Thence it connects to a KEL (<xref target="TOIP-KERI"/>). These data structures provide key state transitions that are timestamped -- both by the controllers of the AIDs, and by their independent witnesses. Although the timestamps are not guaranteed to be perfectly synchronized, they can be compared to establish rough transition times and to detect duplicity.</t>
        <t>Using this historical information, it becomes possible to ask whether a VVP passport would have verified at an arbitrary moment in the past. In such framings, the reference time from the verification algorithm is <em>then</em>, not <em>now</em>. In the normal case where <em>then</em> falls outside a fuzzy range, answers about key state are clear to all observers. In the rare cases where <em>then</em> falls inside a fuzzy range, a state transition was underway but not yet universally known, and a verifier can compute the key state (and thence, the outcome of the verification algorithm) according to their preferred interpretation.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>Complying with a specification may forestall certain easy-to-anticipate attacks. However, <em>it does not mean that vulnerabilities don't exist, or that they won't be exploited</em>. The overall assurance of VVP requires reasonable vigilance. Given that a major objective of VVP is to ensure security, implementers are strongly counseled to understand the underlying principles, the assumptions, and the ways that choices by their own or other implementations could introduce risk.</t>
      <t>Like most cryptographic mechanisms, VVP depends on the foundational assumption that human stakeholders will manage cryptographic keys carefully. VVP enforces this assumption more thoroughly than many existing solutions:</t>
      <ul spacing="normal">
        <li>
          <t>Parties that issue credentials <bcp14>MUST</bcp14> be identified with AIDs (<xref target="TOIP-KERI"/>) that use witnesses. This guarantees a non-repudiable, publicly accessible audit log of how their key state evolves, and it makes key rotation easy. It also offers compromise and duplicity detection. Via prerotation, it enables recovery from key compromise. AIDs can be upgraded to use quantum-proof signing algorithms without changing the identifier.</t>
        </li>
        <li>
          <t>Parties that issue credentials <bcp14>MUST</bcp14> do so using ACDCs (<xref target="TOIP-ACDC"/>) signed by their AID rather than a raw key. This makes evidence revocable. It also makes it stable across key rotation, and prevents retrograde attacks by allowing verifiers to map an issuance or revocation event to an unambiguous key state in the KEL (<xref target="TOIP-KERI"/>).</t>
        </li>
        <li>
          <t>Parties that issue credentials <bcp14>SHOULD</bcp14> employ threshold-based multi-signature schemes. This enhances security by distributing signing authority across multiple key holders, reducing the risk of single-point compromise. Threshold-based signatures ensure that no single key compromise undermines the system's integrity while enabling controlled key recovery and rotation without disrupting credential validity.</t>
        </li>
      </ul>
      <t>Nonetheless, it is still possible to make choices that weaken the security posture of the ecosystem, including at least the following:</t>
      <ul spacing="normal">
        <li>
          <t>Sharing keys or controlling access to them carelessly</t>
        </li>
        <li>
          <t>Issuing credentials with a flimsy basis for trust</t>
        </li>
        <li>
          <t>Delegating authority to untrustworthy parties</t>
        </li>
        <li>
          <t>Delegating authority without adequate constraints</t>
        </li>
        <li>
          <t>Failing to fully verify evidence</t>
        </li>
      </ul>
      <t>Generally understood best practices in cybersecurity will avoid many of these problems. In addition, the following policies that are specific to VVP are strongly recommended:</t>
      <ol spacing="normal" type="1"><li>
          <t>Passports <bcp14>SHOULD</bcp14> have an aggressive timeout (e.g., 30 seconds). Signatures on passports are not anchored in a KEL, and must therefore be evaluated for age with respect to the time they were received. Overly old passports could be a replay attack (a purported second call with the same orig and dest numbers, using the same backing evidence, soon after the first.)</t>
        </li>
        <li>
          <t>Witnesses (which <bcp14>MUST</bcp14> be used) <bcp14>SHOULD</bcp14> be used in such a way that high availability is guaranteed, and in such a way that duplicity by the controller of an AID is detected. (Verifiers will be able to see the witness policy of each AID controller, and <bcp14>SHOULD</bcp14> decide for themselves whether the party is reliable, depending on what they observe.)</t>
        </li>
        <li>
          <t>Revocations <bcp14>SHOULD</bcp14> be timely, and the timeliness guarantees of issuers <bcp14>SHOULD</bcp14> be published.</t>
        </li>
        <li>
          <t>Watchers <bcp14>SHOULD</bcp14> propagate events to local caches with a low latency, and <bcp14>MUST</bcp14> provide information that allows verifiers to decide whether that latency meets their freshness requirements.</t>
        </li>
      </ol>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document defines a new SDP <xref target="RFC8866"/> session-level attribute:</t>
      <t>Attribute name:      callee-passport
   Long-form description: Contains a STIR-compatible passport that references a dossier of evidence about the callee's identity, brand, and related attributes. Used in 200 OK and/or 180 Ringing responses.
   Type of attribute:   session-level
   Subject to charset:  No
   Reference:           This document</t>
      <t>This specification also depends on OOBIs (<xref target="TOIP-KERI"/>) being served as web resources with IANA content type <tt>application/cesr</tt>.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <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="RFC4575">
          <front>
            <title>A Session Initiation Protocol (SIP) Event Package for Conference State</title>
            <author fullname="J. Rosenberg" initials="J." surname="Rosenberg"/>
            <author fullname="H. Schulzrinne" initials="H." surname="Schulzrinne"/>
            <author fullname="O. Levin" initials="O." role="editor" surname="Levin"/>
            <date month="August" year="2006"/>
            <abstract>
              <t>This document defines a conference event package for tightly coupled conferences using the Session Initiation Protocol (SIP) events framework, along with a data format used in notifications for this package. The conference package allows users to subscribe to a conference Uniform Resource Identifier (URI). Notifications are sent about changes in the membership of this conference and optionally about changes in the state of additional conference components. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4575"/>
          <seriesInfo name="DOI" value="10.17487/RFC4575"/>
        </reference>
        <reference anchor="RFC5626">
          <front>
            <title>Managing Client-Initiated Connections in the Session Initiation Protocol (SIP)</title>
            <author fullname="C. Jennings" initials="C." role="editor" surname="Jennings"/>
            <author fullname="R. Mahy" initials="R." role="editor" surname="Mahy"/>
            <author fullname="F. Audet" initials="F." role="editor" surname="Audet"/>
            <date month="October" year="2009"/>
            <abstract>
              <t>The Session Initiation Protocol (SIP) allows proxy servers to initiate TCP connections or to send asynchronous UDP datagrams to User Agents in order to deliver requests. However, in a large number of real deployments, many practical considerations, such as the existence of firewalls and Network Address Translators (NATs) or the use of TLS with server-provided certificates, prevent servers from connecting to User Agents in this way. This specification defines behaviors for User Agents, registrars, and proxy servers that allow requests to be delivered on existing connections established by the User Agent. It also defines keep-alive behaviors needed to keep NAT bindings open and specifies the usage of multiple connections from the User Agent to its registrar. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5626"/>
          <seriesInfo name="DOI" value="10.17487/RFC5626"/>
        </reference>
        <reference anchor="RFC8032">
          <front>
            <title>Edwards-Curve Digital Signature Algorithm (EdDSA)</title>
            <author fullname="S. Josefsson" initials="S." surname="Josefsson"/>
            <author fullname="I. Liusvaara" initials="I." surname="Liusvaara"/>
            <date month="January" year="2017"/>
            <abstract>
              <t>This document describes elliptic curve signature scheme Edwards-curve Digital Signature Algorithm (EdDSA). The algorithm is instantiated with recommended parameters for the edwards25519 and edwards448 curves. An example implementation and test vectors are provided.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8032"/>
          <seriesInfo name="DOI" value="10.17487/RFC8032"/>
        </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="RFC8588">
          <front>
            <title>Personal Assertion Token (PaSSporT) Extension for Signature-based Handling of Asserted information using toKENs (SHAKEN)</title>
            <author fullname="C. Wendt" initials="C." surname="Wendt"/>
            <author fullname="M. Barnes" initials="M." surname="Barnes"/>
            <date month="May" year="2019"/>
            <abstract>
              <t>This document extends the Personal Assertion Token (PASSporT), which is a token object that conveys cryptographically signed information about the participants involved in communications. The extension is defined based on the "Signature-based Handling of Asserted information using toKENs (SHAKEN)" specification by the ATIS/SIP Forum IP-NNI Task Group. It provides both (1) a specific set of levels of confidence in the correctness of the originating identity of a call originated in a SIP-based telephone network as well as (2) an identifier that allows the Service Provider (SP) to uniquely identify the origin of the call within its network.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8588"/>
          <seriesInfo name="DOI" value="10.17487/RFC8588"/>
        </reference>
        <reference anchor="RFC8866">
          <front>
            <title>SDP: Session Description Protocol</title>
            <author fullname="A. Begen" initials="A." surname="Begen"/>
            <author fullname="P. Kyzivat" initials="P." surname="Kyzivat"/>
            <author fullname="C. Perkins" initials="C." surname="Perkins"/>
            <author fullname="M. Handley" initials="M." surname="Handley"/>
            <date month="January" year="2021"/>
            <abstract>
              <t>This memo defines the Session Description Protocol (SDP). SDP is intended for describing multimedia sessions for the purposes of session announcement, session invitation, and other forms of multimedia session initiation. This document obsoletes RFC 4566.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8866"/>
          <seriesInfo name="DOI" value="10.17487/RFC8866"/>
        </reference>
        <reference anchor="TOIP-CESR" target="https://trustoverip.github.io/tswg-cesr-specification/">
          <front>
            <title>Composable Event Streaming Representation (CESR)</title>
            <author initials="S." surname="Smith" fullname="Sam Smith">
              <organization/>
            </author>
            <author initials="K." surname="Griffin" fullname="Kevin Griffin" role="editor">
              <organization/>
            </author>
            <author>
              <organization>Trust Over IP Foundation</organization>
            </author>
            <date year="2023" month="November"/>
          </front>
        </reference>
        <reference anchor="TOIP-KERI" target="https://trustoverip.github.io/tswg-keri-specification/">
          <front>
            <title>Key Event Receipt Infrastructure (KERI)</title>
            <author initials="S." surname="Smith" fullname="Sam Smith">
              <organization/>
            </author>
            <author initials="K." surname="Griffin" fullname="Kevin Griffin" role="editor">
              <organization/>
            </author>
            <author>
              <organization>Trust Over IP Foundation</organization>
            </author>
            <date year="2024" month="January"/>
          </front>
        </reference>
        <reference anchor="TOIP-ACDC" target="https://trustoverip.github.io/tswg-acdc-specification/">
          <front>
            <title>Authentic Chained Data Containers (ACDC)</title>
            <author initials="S." surname="Smith" fullname="Sam Smith">
              <organization/>
            </author>
            <author initials="P." surname="Feairheller" fullname="Phil Feairheller">
              <organization/>
            </author>
            <author initials="K." surname="Griffin" fullname="Kevin Griffin" role="editor">
              <organization/>
            </author>
            <author>
              <organization>Trust Over IP Foundation</organization>
            </author>
            <date year="2023" month="November"/>
          </front>
        </reference>
        <reference anchor="TOIP-DOSSIER" target="https://trustoverip.github.io/kswg-dossier-specification/">
          <front>
            <title>Verifiable Dossiers</title>
            <author initials="D." surname="Hardman" fullname="Daniel Hardman">
              <organization/>
            </author>
            <date year="2025" month="September"/>
          </front>
        </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 anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="FN-DSA" target="https://csrc.nist.gov/presentations/2025/fips-206-fn-dsa-falcon">
          <front>
            <title>FIPS 206: FN-DSA (Falcon)</title>
            <author>
              <organization>NIST</organization>
            </author>
            <date year="2025" month="September"/>
          </front>
        </reference>
        <reference anchor="RFC4353">
          <front>
            <title>A Framework for Conferencing with the Session Initiation Protocol (SIP)</title>
            <author fullname="J. Rosenberg" initials="J." surname="Rosenberg"/>
            <date month="February" year="2006"/>
            <abstract>
              <t>The Session Initiation Protocol (SIP) supports the initiation, modification, and termination of media sessions between user agents. These sessions are managed by SIP dialogs, which represent a SIP relationship between a pair of user agents. Because dialogs are between pairs of user agents, SIP's usage for two-party communications (such as a phone call), is obvious. Communications sessions with multiple participants, generally known as conferencing, are more complicated. This document defines a framework for how such conferencing can occur. This framework describes the overall architecture, terminology, and protocol components needed for multi-party conferencing. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4353"/>
          <seriesInfo name="DOI" value="10.17487/RFC4353"/>
        </reference>
        <reference anchor="RFC6350">
          <front>
            <title>vCard Format Specification</title>
            <author fullname="S. Perreault" initials="S." surname="Perreault"/>
            <date month="August" year="2011"/>
            <abstract>
              <t>This document defines the vCard data format for representing and exchanging a variety of information about individuals and other entities (e.g., formatted and structured name and delivery addresses, email address, multiple telephone numbers, photograph, logo, audio clips, etc.). This document obsoletes RFCs 2425, 2426, and 4770, and updates RFC 2739. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6350"/>
          <seriesInfo name="DOI" value="10.17487/RFC6350"/>
        </reference>
        <reference anchor="RFC7519">
          <front>
            <title>JSON Web Token (JWT)</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
            <date month="May" year="2015"/>
            <abstract>
              <t>JSON Web Token (JWT) is a compact, URL-safe means of representing claims to be transferred between two parties. The claims in a JWT are encoded as a JSON object that is used as the payload of a JSON Web Signature (JWS) structure or as the plaintext of a JSON Web Encryption (JWE) structure, enabling the claims to be digitally signed or integrity protected with a Message Authentication Code (MAC) and/or encrypted.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7519"/>
          <seriesInfo name="DOI" value="10.17487/RFC7519"/>
        </reference>
        <reference anchor="RFC9796">
          <front>
            <title>SIP Call-Info Parameters for Rich Call Data</title>
            <author fullname="C. Wendt" initials="C." surname="Wendt"/>
            <author fullname="J. Peterson" initials="J." surname="Peterson"/>
            <date month="July" year="2025"/>
            <abstract>
              <t>This document specifies a usage of the SIP Call-Info header field that incorporates Rich Call Data (RCD) associated with the identity of the originating party in order to provide to the terminating party a description of the caller (including details about the reason for the session). RCD includes information about the caller beyond the telephone number (such as a calling name, logo, photo, or jCard object representing the caller), which can help the called party decide how to handle the session request.</t>
              <t>This document defines three new parameters 'call-reason', 'verified', and 'integrity' for the SIP Call-Info header field and also a new token ("jcard") for the 'purpose' parameter of the Call-Info header field. It also provides guidance on the use of the Call-Info 'purpose' parameter token, "icon".</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9796"/>
          <seriesInfo name="DOI" value="10.17487/RFC9796"/>
        </reference>
        <reference anchor="CTIA-BCID" target="https://api.ctia.org/wp-content/uploads/2022/11/Branded-Calling-Best-Practices.pdf">
          <front>
            <title>Branded Calling ID Best Practices</title>
            <author>
              <organization>CTIA</organization>
            </author>
            <date year="2022" month="November"/>
          </front>
        </reference>
        <reference anchor="ARIES-RFC-0519" target="https://github.com/hyperledger/aries-rfcs/blob/main/concepts/0519-goal-codes/README.md">
          <front>
            <title>Aries RFC 0519: Goal Codes</title>
            <author initials="D." surname="Hardman" fullname="Daniel Hardman">
              <organization/>
            </author>
            <date year="2021" month="April"/>
          </front>
        </reference>
      </references>
    </references>
    <?line 378?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Much of the cybersecurity infrastructure used by VVP depends on KERI, which was invented by Sam Smith, and first implemented by Sam plus Phil Fairheller, Kevin Griffin, and other technical staff at GLEIF. Thanks to logistical support from Trust Over IP and the Linux Foundation, and to a diverse community of technical experts in those communities and in the Web of Trust group.</t>
      <t>Techniques that apply KERI to telco use cases were developed by Daniel Hardman, Randy Warshaw, and Ruth Choueka, with additional contributions from Dmitrii Tychinin, Yaroslav Lazarev, Arshdeep Singh, and many other staff members at Provenant, Inc. Thanks as well to Ed Eykholt for multiple editorial improvements.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
