<?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.43 (Ruby 3.3.8) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-hardman-verifiable-voice-protocol-08" category="std" consensus="true" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.1 -->
  <front>
    <title abbrev="VVP">Verifiable Voice Protocol</title>
    <seriesInfo name="Internet-Draft" value="draft-hardman-verifiable-voice-protocol-08"/>
    <author fullname="Daniel Hardman">
      <organization>Provenant, Inc</organization>
      <address>
        <email>daniel.hardman@gmail.com</email>
      </address>
    </author>
    <date year="2026" month="October" day="05"/>
    <keyword>voip</keyword>
    <keyword>telecom</keyword>
    <keyword>telco</keyword>
    <keyword>telephone number</keyword>
    <keyword>vetting</keyword>
    <keyword>KYC</keyword>
    <abstract>
      
<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>
    
<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>
      
</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 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 sending an analogous passport back to the caller, preferably as an <tt>Identity</tt> header in a mid-dialog request (<xref target="RFC4916"/>), and optionally as 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 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 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 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="callee-citing">
        <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 callee's passport cannot travel in an <tt>Identity</tt> header on a SIP response, because existing SIP tooling does not expect or preserve <tt>Identity</tt> headers on responses. Instead, the callee <bcp14>SHOULD</bcp14> convey its passport in an <tt>Identity</tt> header (<xref target="RFC8224"/>) on a request that it initiates within the dialog, following the connected-identity model of <xref target="RFC4916"/>. Normally this is an UPDATE (<xref target="RFC3311"/>) sent after the callee has sent its <tt>200 OK</tt> and received the ACK. Per <xref target="RFC4916"/>, a re-INVITE <bcp14>MAY</bcp14> be used instead when the caller does not support UPDATE, and an UPDATE <bcp14>MAY</bcp14> be sent on an early dialog to make the callee verifiable before the call is answered. Requests are handled by intermediaries the same way as a caller's INVITE, so the passport has the same chance of surviving the route as a caller's passport does.</t>
        <t>The callee <bcp14>MAY</bcp14> also, or instead, add a special <tt>a=callee-passport:X</tt> attribute line to the SDP <xref target="RFC8866"/> body of its <tt>200 OK</tt> response, and optionally of a <tt>180 Ringing</tt> response. The value of this line is a JWT in compact form, with the <tt>;type=vvp</tt> suffix -- exactly the format used to convey VVP passports in <tt>Identity</tt> headers. This option requires no additional request, but it is fragile: session border controllers and B2BUAs regenerate SDP at most enterprise and carrier boundaries, and will usually drop the attribute. It is therefore suitable mainly where the path between caller and callee is known to preserve SDP. A callee that uses the SDP attribute without the request <bcp14>SHOULD</bcp14> place it in the <tt>200 OK</tt>.</t>
        <t>If the passport arrives by both routes, the two <bcp14>MUST</bcp14> be identical. A caller that receives no callee passport by either route treats the callee as unverified (see <xref target="outcomes"/>).</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 target="AP"/>) -- or, if OP is not equal to AP and OP is using their own number, the OP (<xref 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, in certain geos, to certain destinations (e.g., country codes or number prefixes, checked against <tt>dest</tt>), or at no more than a certain rate, check those attributes of the call. (A rate constraint cannot be evaluated from a single call; it is checkable only by a verifier that observes many calls signed by the same <tt>kid</tt>, and by the OP itself before signing. See <xref target="compromised-op"/>.)</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. If the passport arrived in a request such as UPDATE, also confirm that the request belongs to the same dialog.</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="outcomes">
        <name>Verification outcomes</name>
        <t>A verifier <bcp14>MUST</bcp14> classify the result of examining a call, in each direction where it looks for evidence, as exactly one of the following:</t>
        <dl>
          <dt>verified:</dt>
          <dd>
            <t>A VVP passport was present, and every step of the applicable algorithm succeeded.</t>
          </dd>
          <dt>absent:</dt>
          <dd>
            <t>No VVP passport was present. Either the party did not provide one, or an intermediary removed it. Absence is a policy question, not an integrity failure; the verifier <bcp14>MAY</bcp14> accept the call at reduced assurance, challenge it, or reject it, according to local policy.</t>
          </dd>
          <dt>failed:</dt>
          <dd>
            <t>A VVP passport was present, and at least one step of the algorithm definitively failed: the passport was malformed or stale, the channel binding did not match, the signature was invalid, the dossier was invalid or revoked, the OP was not authorized, the TN or brand was not justified, or a constraint in a delegation credential was violated. A failed passport <bcp14>MUST NOT</bcp14> be treated more favorably than an absent one.</t>
          </dd>
          <dt>indeterminate:</dt>
          <dd>
            <t>A VVP passport was present, but verification could not be completed -- for example, because an OOBI or the dossier could not be fetched within the verifier's time budget, or because revocation status could not be refreshed to meet the verifier's freshness requirements. An indeterminate result <bcp14>MUST NOT</bcp14> be reported as verified. It <bcp14>SHOULD NOT</bcp14> be reported as failed, because its usual cause is network conditions rather than forgery. A verifier <bcp14>MAY</bcp14> let the call proceed while it completes verification asynchronously, and act on or record the eventual result.</t>
          </dd>
        </dl>
        <t>A verifier <bcp14>MAY</bcp14> additionally report which steps succeeded before verification stopped (for example, a valid signature from the OP, but a dossier that could not be fetched).</t>
        <t>When a verification service rejects a request because of a VVP passport, it <bcp14>SHOULD</bcp14> use the response codes of <xref target="RFC8224"/>, Section 6.2.2: 403 with the reason phrase "Stale Date" when <tt>iat</tt> falls outside its replay tolerance; 436 "Bad Identity Info" for an indeterminate result caused by inability to dereference <tt>kid</tt> or <tt>evd</tt>; 437 "Unsupported Credential" when it does not support the signing algorithm; and 438 "Invalid Identity Header" for other failures. As <xref target="RFC8224"/> notes, intermediaries often forward a call with an annotation rather than reject it. Because a callee passport conveyed in UPDATE arrives after the call is established, rejecting that UPDATE does not end the call; a caller that wishes to end a call whose callee failed verification does so with BYE.</t>
      </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 anchor="intermediaries-that-modify-signaling">
        <name>Intermediaries that modify signaling</name>
        <t>SBCs and B2BUAs along the call route may strip or fail to forward <tt>Identity</tt> headers, and commonly regenerate SDP bodies. An attacker who controls such an intermediary can suppress a VVP passport, downgrading the call from verified (or failed) to absent. VVP cannot prevent this, but the distinction between absent and failed outcomes (<xref target="outcomes"/>) means that suppression can only lower assurance; it cannot make a forged passport verify. Deployments that need end-to-end VVP assurance <bcp14>SHOULD</bcp14> make preservation of <tt>Identity</tt> headers a condition of their interconnect agreements. Callees <bcp14>SHOULD</bcp14> prefer the request-based transport described in <xref target="callee-citing"/> over the SDP attribute for the same reason.</t>
      </section>
      <section anchor="dereferencing-oobis">
        <name>Dereferencing OOBIs</name>
        <t>The <tt>kid</tt> and <tt>evd</tt> values of a passport are URLs chosen by whoever built the passport, and a verifier dereferences them before it knows whether the passport is genuine. A verifier that fetches them naively, on every call, exposes itself and others to several attacks:</t>
        <ul spacing="normal">
          <li>
            <t>Server-side request forgery. A passport can point <tt>kid</tt> or <tt>evd</tt> at an internal service on the verifier's network. Verifiers <bcp14>MUST</bcp14> only dereference <tt>https</tt> URLs, and <bcp14>MUST</bcp14> refuse to connect to loopback, link-local, and private address ranges (checked after DNS resolution, and again after any redirect) unless local policy explicitly allows a particular internal host. Verifiers <bcp14>SHOULD</bcp14> limit the number of redirects they follow, the size of responses they accept, and the time they spend on each fetch.</t>
          </li>
          <li>
            <t>Reflection and amplification. An attacker can place many calls whose passports point at a victim's web server, so that verifiers along the route generate traffic against it. Verifiers <bcp14>SHOULD</bcp14> rate-limit fetches per host, and <bcp14>SHOULD</bcp14> cache failed fetches for a short period so that repeated calls citing the same unreachable URL do not each trigger a new fetch.</t>
          </li>
          <li>
            <t>Delay. A verifier with a cold cache may need several seconds to fetch and validate a dossier, and an attacker can choose a slow server deliberately. Verifiers <bcp14>SHOULD</bcp14> set a time budget for fetching during call setup. If the budget is exhausted, the outcome is indeterminate (<xref target="outcomes"/>), and the verifier <bcp14>MAY</bcp14> complete verification asynchronously. Because dossiers are cached by SAID and are reused across many calls, this cost falls mostly on the first call that cites a given dossier; verifiers <bcp14>MAY</bcp14> also prefetch dossiers for frequent callers.</t>
          </li>
        </ul>
        <t>Content fetched from an OOBI is self-certifying: a KEL is verified against the AID it claims to describe, and a dossier against its SAID. A malicious server can therefore cause delay or failure, but cannot cause forged evidence to verify.</t>
      </section>
      <section anchor="compromised-op">
        <name>Compromised legitimate originator</name>
        <t>A common form of toll fraud does not rely on a fake system. Instead, the attacker takes over a genuine PBX or SBC and routes calls through it -- often in from outside and straight back out, to premium-rate or international destinations. The outbound call then carries the real identity of the compromised system. If that system is a VVP OP, its key signs the fraudulent passports, and they verify.</t>
        <t>Key rotation does not address this, because the attacker uses the system to sign rather than stealing the key. VVP limits the damage in other ways, and OPs and APs <bcp14>SHOULD</bcp14> use them:</t>
        <ul spacing="normal">
          <li>
            <t>Delegated signer credentials <bcp14>SHOULD</bcp14> constrain the OP to the destinations it legitimately needs (for example, by country code or number prefix) and to a maximum call rate, in addition to any time-of-day and geographic constraints. Verifiers check destination constraints against <tt>dest</tt> on every call. Rate constraints can be checked by any verifier that observes aggregate traffic for a given <tt>kid</tt>, such as a TSP.</t>
          </li>
          <li>
            <t>An OP <bcp14>SHOULD</bcp14> apply its own outbound policy before signing, refusing to sign passports for calls that its delegation would not authorize, rather than relying on downstream verifiers to catch them.</t>
          </li>
          <li>
            <t>Each SBC or signing service <bcp14>SHOULD</bcp14> have its own AID, so that a compromise affects only the calls that pass through that service. When a compromise is detected, revoking that service's delegated signer credential stops further passports from verifying, without disturbing the AP's other delegates.</t>
          </li>
        </ul>
      </section>
    </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="July" 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="RFC3311">
          <front>
            <title>The Session Initiation Protocol (SIP) UPDATE Method</title>
            <author fullname="J. Rosenberg" initials="J." surname="Rosenberg"/>
            <date month="October" year="2002"/>
            <abstract>
              <t>This specification defines the new UPDATE method for the Session
Initiation Protocol (SIP). UPDATE allows a client to update
parameters of a session (such as the set of media streams and their
codecs) but has no impact on the state of a dialog. In that sense, it
is like a re-INVITE, but can be sent before the initial INVITE has
completed. This makes it very useful for updating session parameters
within early dialogs.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3311"/>
          <seriesInfo name="DOI" value="10.17487/RFC3311"/>
        </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="RFC4916">
          <front>
            <title>Connected Identity in the Session Initiation Protocol (SIP)</title>
            <author fullname="J. Elwell" initials="J." surname="Elwell"/>
            <date month="June" year="2007"/>
            <abstract>
              <t>This document provides a means for a Session Initiation Protocol (SIP) User Agent (UA) that receives a dialog-forming request to supply its identity to the peer UA by means of a request in the reverse direction, and for that identity to be signed by an Authentication Service. Because of retargeting of a dialog-forming request (changing the value of the Request-URI), the UA that receives it (the User Agent Server, UAS) can have a different identity from that in the To header field. The same mechanism can be used to indicate a change of identity during a dialog, e.g., because of some action in the Public Switched Telephone Network (PSTN) behind a gateway. This document normatively updates RFC 3261 (SIP). [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4916"/>
          <seriesInfo name="DOI" value="10.17487/RFC4916"/>
        </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>
    
<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 Feairheller, 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>
    <section anchor="contributors" numbered="false" toc="include" removeInRFC="false">
      <name>Contributors</name>
      <contact fullname="Victor Davidenko">
        <organization/>
        <address>
          <email>victor@scarpprotocol.com</email>
        </address>
      </contact>
      <t>Feedback on SDP fragility, OOBI dereferencing, and toll fraud through compromised originators.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA+1963LbSJbmfz4FVvWjZA1J2/KlXPL09LAkuUptl6WxbFdX
TEyEQSBJog0CbACkzHJ4nmWfZZ9sz3cumQlSclfPzEbsRExHtEskgbycPPdb
jkajQVd0pTtJDt67ppgV6bR0yfu6yFxy1dRdndXlwSCdThu3wTPvrw4GWdq5
ed1sT5K2yweDvM6qdEkj5E0660aLtMmXaTXa+OFGGww3WulwowfPBtV6OXXN
ySCnoU4GWV21rmrX7UnSNWs3oJkeDb5J0salJ8nkzfmEPtzUzcd5U69XJ8kv
Pya/0Keimic/4pvBR7eln/OTQTJKaK4V/tu50mX1Uv/Mavtutagrl8j8/Lzr
OhoJf7789XSwcdWaVvRNkvjJ8KHbrmiD/Vnp62ValHjkn92ndLkq3Rgz0vdp
ky1OkkXXrdqT+/ejH+/TcDR00S3WUwJnvlg8fHj87P5mszqg70uCRtvR9/am
/j6WF8ZFjSfv/044jxfdks5ukK67Rd0AODRFkszWZSnndXCWVoUrk59kpAP+
uW7m9O1vaVfU1QlQgCCSVt0wuagyfsDJpg9yfnmsy/jnOb7GFmlGOs+uKabr
7vZp3xcZ/ZKcpZsid9XH+qA37oZ//ec2S5uV3wqPi6f80Ly8gxfO5dM0+5jU
VXJ9dpXMmnRelEW3HSaXlz9cJLlr3Iz+X2V0bsMkrfKkq8sSz63pzwUd5HxB
gy5ppmXRupz2X8yLKqUltGPaSlU3S4LFhnAiSd68OH10/PSh/fnoof35+Ml3
T+zP7x8+1T+fPD22P589eHRsfx4fPw5/2mvPnjx7Zn8+e8qvvb28uBqdnl+/
OeGdd2kzd13AKqKUtqtx+qsIP7r2Zj7KXNuM2pXLCDEyPsn7MoRS+intt26Z
0s/peLvkuiNSWwK137hV44gYO34tOcT89wT0Ho/4fyP9b5LIqV6ny+R6Seu4
4/eXblNURDnFbFZU/remxoJcXhC8914kVDxJ3mKbySXtM7m4Sl7U6yrnpfFT
zD6S75LX9SY5fnD8yKD28vzNxd8NtY/05deg9tJtFVxvXOaKVUckQXjU0pBZ
t25ccohp/38H1pPkT2kFYD02YE1Oz07/bmClWZ59DVgT2j+BqsiS00VaVERY
Z2mXJqdEvvjYtMkh5v0vgdbVoiiTFy4tmoUrS7cPm//nQH26h4Fnl9fXF+d/
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

-->

</rfc>
