<?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.39 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-anderson-askew-cidvv-01" category="info" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.0 -->
  <front>
    <title abbrev="CIDVV">Caller-ID Vouching and Vetting (CIDVV)</title>
    <seriesInfo name="Internet-Draft" value="draft-anderson-askew-cidvv-01"/>
    <author initials="R." surname="Anderson" fullname="Roger Anderson">
      <organization>Jolly Roger Telephone Company</organization>
      <address>
        <postal>
          <country>US</country>
        </postal>
        <email>roger@jollyrogertelephone.com</email>
      </address>
    </author>
    <author initials="S." surname="Berkson" fullname="Steven Berkson">
      <organization>Jolly Roger Telephone Company</organization>
      <address>
        <postal>
          <country>US</country>
        </postal>
        <email>steveb@jollyrogertelephone.com</email>
      </address>
    </author>
    <author initials="P." surname="Askew" fullname="Phillip Askew">
      <organization/>
      <address>
        <postal>
          <country>US</country>
        </postal>
        <email>phillip.askew@theaskewcrew.com</email>
      </address>
    </author>
    <date year="2026" month="July" day="20"/>
    <keyword>telephony, callerid, spoofing, PSTN</keyword>
    <abstract>
      <?line 40?>

<t>Caller-ID spoofing remains a significant problem in telephony, particularly across inter-domain and international call paths where identity frameworks may not yet be fully deployed.</t>
      <t>This document defines <strong>Caller-ID Vouching and Vetting (CIDVV)</strong>, a lightweight verification mechanism that lets the called party ask a simple question:</t>
      <ul empty="true">
        <li>
          <t>"Will the party responsible for this number vouch for this call right now?"</t>
        </li>
      </ul>
      <t>CIDVV uses short-lived signaling exchanges encoded within the Calling Party Number to confirm that the calling party controls the Asserted Caller-ID. It is designed to operate across heterogeneous SIP and SS7/TDM networks without requiring new protocol extensions or persistent identity infrastructure. It relies on existing call routing behavior and intentionally leverages failure responses as a signaling mechanism.</t>
      <t>CIDVV is complementary to STIR/SHAKEN and other identity frameworks. It
provides an incrementally deployable tool that can operate across call
paths where a complete cryptographic attestation signal is not available
to the terminating side, while being designed to tolerate common forms of
intermediate network modification.</t>
      <t>By requiring demonstrable real-time control of the Asserted Caller-ID, CIDVV strengthens resistance to spoofing in a practical, low-overhead manner.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://cidvv.org/draft-anderson-askew-cidvv.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-anderson-askew-cidvv/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/Jolly-Roger-Telephone-Company/cidvv-spec"/>.</t>
    </note>
  </front>
  <middle>
    <?line 58?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>CIDVV supports two closely related functions: <strong>Vouching</strong> (real-time
verification that the party responsible for the Asserted Caller-ID vouches
for a specific call) and <strong>Vetting</strong> (confirmation that a number is
controlled by its expected owner, useful for branding, trust programs,
and registries). The primary focus of this document is the vouching mechanism,
which directly addresses Caller-ID spoofing for individual calls.</t>
      <t>Caller-ID spoofing remains a widespread problem in modern telephony. Fraudulent and nuisance callers frequently impersonate legitimate numbers, eroding trust and complicating call screening for recipients.</t>
      <t>At the signaling layer, legitimate Caller-ID use and malicious impersonation
can appear identical. Originating networks routinely assert a
Caller-ID on behalf of a calling party, but intermediate carriers and
terminating networks generally cannot infer the <strong>intent</strong> behind that
assertion from ordinary PSTN signaling alone. Without a reliable identity
signal, the network may be unable to distinguish legitimate use
from malicious impersonation.</t>
      <t>This document defines <strong>Caller-ID Vouching and Vetting (CIDVV)</strong>, a lightweight, incrementally deployable mechanism that allows the called party, or a platform acting on its behalf, to ask a simple real-time question:</t>
      <ul empty="true">
        <li>
          <t>"Will the party responsible for this number vouch for this call right now?"</t>
        </li>
      </ul>
      <t>CIDVV verifies Caller-ID control through network reachability rather than relying solely on asserted identity. It requires that a party asserting a Caller-ID demonstrate control of that number by being able to receive a short return signaling call within a brief Validity Window.</t>
      <t>CIDVV operates by encoding signaling information within the Calling Party Number and leveraging existing call routing behavior to perform a challenge-response exchange. The protocol requires no new SIP headers, protocol extensions, response codes, or changes to SS7 signaling. It is designed to function across mixed SIP and TDM networks, including international paths.</t>
      <t><strong>CIDVV is complementary to STIR/SHAKEN</strong> and other identity frameworks.
It provides an additional reachability-based verification signal in
environments where a complete cryptographic attestation signal is not
available to the terminating side, while being designed to tolerate
common signaling modifications by intermediate networks. It intentionally
uses distinct failure-response behaviors as part of its signaling
mechanism and does not require universal adoption to deliver benefit.</t>
      <t>The mechanism leverages two key elements of the existing telephone ecosystem:</t>
      <ul spacing="normal">
        <li>
          <t><strong>Authoritative PSTN routing</strong>: Calls to a telephone number are generally routed to the provider, service, or party responsible for that number. CIDVV uses this existing routing behavior to test whether the party responsible for an Asserted Caller-ID can receive and respond to a return verification call.</t>
        </li>
        <li>
          <t><strong>Calling Party Number encoding</strong>: CIDVV carries its signaling state in compact numeric values placed in the Calling Party Number. The prefixes "100" and "101" identify CIDVV verification calls while preserving ordinary routing to the Asserted Caller-ID.</t>
        </li>
      </ul>
      <t>CIDVV operates entirely within standard PSTN routing behavior and requires no media exchange. While it does not provide absolute identity assurance, it delivers strong, real-time evidence of Caller-ID control in a practical and low-overhead manner.</t>
    </section>
    <section anchor="terminology">
      <name>Terminology</name>
      <ul spacing="normal">
        <li>
          <t><strong>Caller-ID</strong>: The telephone number presented to the called party (what the end user sees).</t>
        </li>
        <li>
          <t><strong>Asserted Caller-ID</strong>: The Caller-ID value that is being vouched or vetted by this protocol. This is the number whose control the calling party claims, and it is used for state management, token computation, and correlation.</t>
        </li>
        <li>
          <t><strong>Calling Party Number</strong>: The value carried in the signaling protocol
(e.g., SIP <tt>From</tt> header or ISUP Calling Party Number parameter). In
many deployments this is the same as the Caller-ID presented to the
called party, but the signaling value and user-visible Caller-ID are
not always identical.</t>
        </li>
        <li>
          <t><strong>Alice</strong>: An example participant in CIDVV flows. In vouching flows,
Alice is the calling party asserting a Caller-ID. In vetting flows,
Alice is the verifier of Bob's number.</t>
        </li>
        <li>
          <t><strong>Bob</strong>: An example participant in CIDVV flows. In vouching flows, Bob
is the called party whose platform requests a vouch. In vetting flows,
Bob is the number owner whose number is being vetted.</t>
        </li>
        <li>
          <t><strong>CIDVV Platform</strong>: A system that implements the vouching and vetting procedures defined in this document.</t>
        </li>
        <li>
          <t><strong>CIDVV-aware Network Element</strong>: A network element (typically an SBC or proxy) that recognizes CIDVV signaling prefixes ("100" and "101") in the Calling Party Number and routes those calls to a CIDVV platform. In some deployments, it may also forward initial INVITEs for new dialogs to a CIDVV platform and handle local responses that allow the original call to continue.</t>
        </li>
        <li>
          <t><strong>Vouch</strong>: The act of a CIDVV platform asserting that it has verified control of a telephone number through the challenge-response mechanism described in this document, which may consist of one or more verification calls. A successful vouch provides strong evidence that the calling party controls the Asserted Caller-ID.</t>
        </li>
        <li>
          <t><strong>Vet</strong> (or <strong>Vetting</strong>): The process by which a CIDVV platform confirms that a party controls a telephone number via the three-call challenge-response sequence. Vetting may be performed on behalf of third parties such as Caller-ID branding services, Vetting Agents, law enforcement agencies, trade organizations, or enterprise trust programs.</t>
        </li>
        <li>
          <t><strong>Vouching Call</strong>: A short signaling call used in the CIDVV protocol. CIDVV defines <strong>Phase 1</strong> ("100" prefix) and <strong>Phase 2</strong> ("101" prefix) verification calls.</t>
        </li>
        <li>
          <t><strong>Phase 1 Vouch</strong> ("100" prefix): The initial Vouch verification step. Expected response behavior is a Busy-class response (e.g., SIP <strong>486 Busy Here</strong>).</t>
        </li>
        <li>
          <t><strong>Phase 2 Vouch</strong> ("101" prefix): The secondary Vouch step. Expected response behavior is a Rejection-class response (e.g., SIP <strong>603 Decline</strong>).</t>
        </li>
        <li>
          <t><strong>Successful Vouch</strong>: Requires <strong>both Phase 1 and Phase 2</strong> to complete with the expected behaviors within the Validity Window.</t>
        </li>
        <li>
          <t><strong>Verification Not Performed</strong>: A condition where verification could not be completed due to system or network conditions.</t>
        </li>
        <li>
          <t><strong>Validity Window</strong>: The time interval during which the originating CIDVV platform will accept and correlate a vouch attempt (return call) from the called party. This is typically on the order of 10-30 seconds.</t>
        </li>
        <li>
          <t><strong>Unsuccessful Vouch</strong>: A verification result indicating that the vouch did not complete successfully, including cases involving missing state, unexpected response behavior, timeout, altered signaling, or incomplete verification phases.</t>
        </li>
        <li>
          <t><strong>Vouch-Call Timeout</strong>: A local timer used by the platform that initiates a Phase 1 or Phase 2 verification call to limit how long it waits for a response. This is typically 3-6 seconds for domestic calls and longer (e.g., 8-20 seconds) for international calls. It is distinct from the Validity Window.</t>
        </li>
      </ul>
      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in
BCP 14, RFC 2119 and RFC 8174 when, and only when, they appear in all
capitals, as shown here.</t>
      <section anchor="motivation-and-advantages">
        <name>Motivation and Advantages</name>
        <t>CIDVV was designed in response to practical constraints observed in
real-world telephony deployments. Earlier design alternatives included
carrying verification data in Real-Time Text (RTT), media, SIP headers,
or SDP bodies. These approaches were not selected because they either
required media-path establishment, depended on SIP-specific behavior, or
were likely to be removed, rewritten, or ignored by back-to-back user
agents, gateways, or interworking functions in mixed SIP, SS7/TDM, and
ISDN environments.</t>
        <t>CIDVV instead carries short-lived verification state in the Calling Party
Number and uses distinguishable non-success response behaviors as the
verification signal. This design favors information elements and response
semantics that are commonly preserved across heterogeneous telephone
networks, including inter-provider and international paths. The result is
a mechanism that can be deployed incrementally without defining new SIP
headers, new SIP response codes, new media behavior, or new SS7/ISDN
protocol elements.</t>
        <t>CIDVV is not intended to replace STIR/SHAKEN. STIR/SHAKEN provides
important cryptographic caller identity assurance and remains a key part
of the telephone identity ecosystem. CIDVV adds a complementary
reachability-based signal: whether the party responsible for the
Asserted Caller-ID can receive and correctly respond to verification
calls for this call attempt within the Validity Window.</t>
        <t>The primary advantages of CIDVV are:</t>
        <ul spacing="normal">
          <li>
            <t><strong>Uses existing telephony behavior</strong>: CIDVV relies on existing call
routing, Calling Party Number delivery, and non-success response
behavior rather than new protocol extensions.</t>
          </li>
          <li>
            <t><strong>Provides reachability-based anti-spoofing evidence</strong>: A successful
vouch gives strong evidence that a party controlling the Asserted
Caller-ID is participating in the call attempt during the Validity
Window.</t>
          </li>
          <li>
            <t><strong>Works across mixed network environments</strong>: CIDVV is designed for SIP,
SS7/TDM, ISDN, and interworking environments, including paths where
SIP-specific identity information may not survive end-to-end.</t>
          </li>
          <li>
            <t><strong>Requires no media exchange</strong>: Verification calls are short
signaling-only exchanges and are not intended to establish media.</t>
          </li>
          <li>
            <t><strong>Supports incremental deployment</strong>: CIDVV can be implemented by
enterprises, service providers, or third-party CIDVV platforms. Universal
deployment is not required for cooperating parties to obtain benefit.</t>
          </li>
          <li>
            <t><strong>Provides operational visibility</strong>: Number owners and their providers
can gain telemetry about attempted use of their numbers in suspicious
or spoofed calling scenarios.</t>
          </li>
          <li>
            <t><strong>Supports flexible operational models</strong>: CIDVV can be deployed by the
originating provider, terminating provider, enterprise SBCs, hosted
platforms, or third-party services, depending on local policy and
routing arrangements.</t>
          </li>
        </ul>
        <t>By avoiding dependence on centralized authorities or end-to-end SIP
feature preservation, CIDVV lowers the barrier to deployment while
providing a practical additional tool for detecting and reducing
Caller-ID spoofing.</t>
      </section>
      <section anchor="related-work-and-prior-dialback-mechanisms">
        <name>Related Work and Prior Dialback Mechanisms</name>
        <t>CIDVV is related to prior work on telephone-number authorization,
dialback authentication, and out-of-band caller-identity verification.</t>
        <t>The STIR framework defines mechanisms for signing and verifying telephone
calling-party information. STIR and STIR/SHAKEN are important parts of
the telephone identity ecosystem, and CIDVV is not a replacement for
them.</t>
        <t>CIDVV provides a complementary signal based on reachability. It asks
whether the party reached through ordinary telephone routing for the
Asserted Caller-ID will vouch for a specific call attempt within a short
Validity Window. This signal can be useful where a terminating platform
does not have a complete or usable cryptographic attestation signal for
a particular call path, or where such information is not available across
the full path. It can also be used alongside STIR verification results,
call analytics, traceback processes, reputation systems, and local
call-handling policy.</t>
        <t>Prior STIR-related work has also considered callback-based verification.
For example, <xref target="I-D.rosenberg-stir-callback"/> describes a callback
mechanism intended to help bootstrap telephone-number validation for
STIR. That approach relies on STIR-specific mechanisms, SIP behavior,
certificate handling, and new SIP response codes. CIDVV differs by
avoiding new SIP headers, new SIP response codes, media establishment,
and end-to-end SIP dependencies. CIDVV instead carries compact state in
the Calling Party Number and uses distinguishable non-success response
behavior as the verification signal.</t>
        <t>Caller ID Verification (CIV) <xref target="I-D.hao-civ"/> is another related
dialback mechanism. CIV uses a reverse verification call and a
challenge-response exchange involving DTMF. CIDVV differs from CIV by
avoiding media and DTMF entirely. CIDVV verification calls are
signaling-only and are expected to terminate with non-success responses.
This avoids the operational cost, complexity, and delay of establishing
media paths solely for verification, especially at terminating platforms
that may need to evaluate large volumes of inbound calls. This design is
intended to improve deployability across heterogeneous SIP, SS7/TDM,
ISDN, and international interworking environments where media behavior,
SIP extensions, or end-to-end signaling features may not be reliably
preserved.</t>
        <t>STIR out-of-band work, including <xref target="RFC8816"/> and <xref target="RFC9888"/>, addresses
delivery of PASSporT objects outside the ordinary SIP signaling path.
CIDVV addresses a different part of the problem space. It does not
transport PASSporTs and does not attempt to prove legal ownership or all
delegated rights to use a telephone number. Instead, CIDVV provides a
real-time reachability signal tied to a specific call attempt.</t>
        <t>Number-routing asymmetry remains an important deployment consideration.
In many real-world deployments, the party authorized to use a number, the
provider from which the number is obtained, the originating service
provider, and the platform that receives calls for that number may be
different entities. CIDVV does not eliminate this operational reality.
Rather, it requires the responsible party, provider, enterprise SBC, or
delegated CIDVV platform to participate in the vouching process and
maintain the state needed to answer verification calls correctly.</t>
        <t>Delegated or authorized use of an Asserted Caller-ID, such as an
enterprise application, healthcare calling service, contact-center
platform, or contracted calling provider, can be supported when that
service is integrated with the responsible CIDVV platform for the
Asserted Caller-ID. For example, the delegated service, the enterprise,
the enterprise's provider, or another authorized platform can deposit the
short-lived call state needed for vouching. If no such state is deposited,
CIDVV does not determine whether the call is malicious; it only indicates
that the responsible platform did not vouch for that specific call
attempt.</t>
        <t>Like other dialback mechanisms, CIDVV needs to address reflection and
amplification risk. CIDVV treats this as both a deployment and security
consideration: each verification event is bounded and signaling-only,
while both initiating deployments and the party responsible for an
Asserted Caller-ID need controls appropriate to their roles. Section
<xref target="signaling-load-and-operational-telemetry">Signaling Load and Operational Telemetry</xref>
and Section <xref target="amplification-and-reflection">Amplification and Reflection</xref>
discuss these issues in more detail.</t>
      </section>
      <section anchor="design-principles">
        <name>Design Principles</name>
        <t>CIDVV was designed with the following core principles:</t>
        <ul spacing="normal">
          <li>
            <t><strong>Maximal compatibility with existing infrastructure</strong>: The protocol must work across SIP, SS7/TDM, ISDN, and mixed networks - including international paths - without requiring changes to signaling protocols, new headers, response codes, or media support.</t>
          </li>
          <li>
            <t><strong>Resilience to intermediate network behavior</strong>: Intermediate networks may normalize, truncate, or otherwise modify signaling information. Therefore, all protocol state is encoded in a compact numeric form within the Calling Party Number field, which has the highest chance of surviving end-to-end.</t>
          </li>
          <li>
            <t><strong>Use of existing failure semantics</strong>: CIDVV relies on distinguishable classes of non-success response behavior (e.g., Busy-class vs. Rejection-class behavior) rather than requiring specific end-to-end response codes.</t>
          </li>
          <li>
            <t><strong>Minimal new infrastructure</strong>: No persistent identity infrastructure or central authorities are required. Vouching requires no cryptographic key management, and vetting can use locally configured shared secrets.</t>
          </li>
          <li>
            <t><strong>Incremental deployability</strong>: The protocol provides benefit even with partial adoption and is designed to coexist cleanly with STIR/SHAKEN and other identity solutions.</t>
          </li>
          <li>
            <t><strong>Practical and low-overhead operation</strong>: Verification uses very short signaling-only calls with no media exchange, keeping network impact minimal while still providing strong real-time evidence of number control.</t>
          </li>
        </ul>
        <t>These principles ensure CIDVV can be deployed quickly and broadly while delivering meaningful protection against Caller-ID spoofing today.</t>
      </section>
      <section anchor="simple-overview">
        <name>Simple Overview</name>
        <t>CIDVV defines two related operations:</t>
        <ul spacing="normal">
          <li>
            <t><strong>Vouching</strong> - Allows the called party (or their provider) to verify in real time whether the party responsible for the Asserted Caller-ID vouches for <em>this specific call</em>.</t>
          </li>
          <li>
            <t><strong>Vetting</strong> - Allows confirmation that a telephone number is under the control of its expected owner. This is useful for Caller-ID branding services, enterprise trust programs, industry registries, and similar applications.</t>
          </li>
        </ul>
        <section anchor="vouching-operation-primary-use-case">
          <name>Vouching Operation (Primary Use Case)</name>
          <t>When Alice wants to place a call to Bob while asserting a particular Caller-ID:</t>
          <ol spacing="normal" type="1"><li>
              <t>Alice places a normal call to Bob using the Asserted Caller-ID. Alice's CIDVV platform is notified of the outbound call attempt.</t>
            </li>
            <li>
              <t>Bob's CIDVV platform intercepts the incoming call before ringing Bob's phone.</t>
            </li>
            <li>
              <t>Bob's platform initiates <strong>two short signaling-only verification calls</strong> back to Alice's Asserted Caller-ID (these may be performed in parallel):
              </t>
              <ul spacing="normal">
                <li>
                  <t><strong>Phase 1</strong> verification call using Calling Party Number prefix <tt>"100"</tt>.</t>
                </li>
                <li>
                  <t><strong>Phase 2</strong> verification call using Calling Party Number prefix <tt>"101"</tt>.</t>
                </li>
              </ul>
            </li>
            <li>
              <t>Alice's CIDVV platform recognizes the special prefixes on the incoming verification calls and responds with the expected non-success response behavior for each phase. This provides evidence that it controls the Asserted Caller-ID <strong>and</strong> that Alice has an active call in progress to Bob.</t>
            </li>
            <li>
              <t>Bob's CIDVV platform evaluates the verification result. If both Phase 1 and Phase 2 succeed within the Validity Window, the vouch is successful. If either phase fails, times out, or produces an unexpected response, the vouch is unsuccessful or indeterminate. The handling of the original call is implementation-specific; the platform may allow the call, label it, route it differently, send it to voicemail, or reject it according to local policy.</t>
            </li>
          </ol>
          <t>The two verification calls use <strong>reachability testing</strong> to confirm that Alice (or her service provider) genuinely controls the Asserted Caller-ID she is presenting for this specific call.</t>
        </section>
        <section anchor="vetting-operation">
          <name>Vetting Operation</name>
          <t>Vetting allows a party (Alice) to confirm that another party (Bob) controls a specific telephone number. It is particularly useful for Caller-ID branding services, trust programs, and registries.</t>
          <t>Vetting uses a three-call challenge-response sequence consisting of a <strong>Wake Call</strong>, <strong>Recognize Call</strong>, and <strong>Auth Call</strong>, all protected by a pre-shared secret. The sequence is designed to prevent an attacker from goading the number owner into placing return calls (e.g., by spoofing well-known vetting numbers).</t>
          <t>When Alice wants to vet that Bob controls a particular telephone number:</t>
          <ol spacing="normal" type="1"><li>
              <t>Alice and Bob share a secret (e.g., a passphrase such as "elephant").</t>
            </li>
            <li>
              <t>Alice initiates a <strong>Wake Call</strong> to Bob using the <tt>101</tt> prefix and an agreed vetting Caller-ID.</t>
            </li>
            <li>
              <t>Bob's platform recognizes the vetting Caller-ID, computes a short-lived Recognize Token, and responds to the Wake Call with SIP <strong>603 Decline</strong>.</t>
            </li>
            <li>
              <t>Alice's platform computes the same Recognize Token and sends a <strong>Recognize Call</strong> using the Recognize Token in the Calling Party Number.</t>
            </li>
            <li>
              <t>Bob's platform verifies the Recognize Token, proving that Alice knows the shared secret. Bob then responds to the Recognize Call with SIP <strong>486 Busy Here</strong> and initiates an <strong>Auth Call</strong> using an Auth Token.</t>
            </li>
            <li>
              <t>Alice's platform verifies the Auth Token, proving that Bob knows the shared secret, and responds to the Auth Call with SIP <strong>486 Busy Here</strong>.</t>
            </li>
            <li>
              <t>After Alice verifies the Auth Token and Bob receives the expected SIP <strong>486 Busy Here</strong> response to the Auth Call, both sides consider the vetting successful.</t>
            </li>
          </ol>
          <t>This design ensures that the initial Wake Call reveals nothing useful to an attacker, while the subsequent Recognize and Auth steps provide mutual authentication between parties that share the secret. All calls remain short signaling-only exchanges with no media.</t>
          <t><strong>Note</strong>: The shared secret and token exchange details are defined in Section <xref target="token-computation">Token Computation Algorithm</xref>.</t>
        </section>
      </section>
      <section anchor="cidvv-mechanisms">
        <name>CIDVV Mechanisms</name>
        <section anchor="vouching-mechanism">
          <name>Vouching Mechanism</name>
          <t>CIDVV uses two distinct signaling prefixes in the Calling Party Number for vouching:</t>
          <ul spacing="normal">
            <li>
              <t><strong>"100"</strong> - Phase 1 Verification Call</t>
            </li>
            <li>
              <t><strong>"101"</strong> - Phase 2 Verification Call</t>
            </li>
          </ul>
          <t>A successful <strong>Vouch</strong> requires <strong>both</strong> Phase 1 and Phase 2 to complete with their expected responses within the Validity Window. The two phases MAY be performed in any order or in parallel.</t>
          <t><strong>Expected behaviors</strong>:
* <strong>Phase 1</strong> ("100" prefix): MUST receive a Busy-class response (e.g., SIP <strong>486 Busy Here</strong>).
* <strong>Phase 2</strong> ("101" prefix): MUST receive a Rejection-class response (e.g., SIP <strong>603 Decline</strong>).</t>
          <t>If either phase fails to produce the expected response within the vouch-call timeout (or is missing, altered, or inconsistent), the entire vouch MUST be treated as unsuccessful or indeterminate.</t>
        </section>
        <section anchor="vetting-mechanism">
          <name>Vetting Mechanism</name>
          <t>CIDVV uses a three-step handshake for vetting. All calls use the <tt>101</tt> prefix in the Calling Party Number.</t>
          <ul spacing="normal">
            <li>
              <t><strong>Wake Call</strong> (Alice -&gt; Bob): Alice initiates using her vetting Caller-ID.</t>
            </li>
            <li>
              <t><strong>Recognize Call</strong> (Alice -&gt; Bob): Alice uses the <tt>101</tt> prefix followed by the Recognize Token as the Calling Party Number.</t>
            </li>
            <li>
              <t><strong>Auth Call</strong> (Bob -&gt; Alice): Bob uses the <tt>101</tt> prefix followed by the Auth Token as the Calling Party Number.</t>
            </li>
          </ul>
          <t>A successful <strong>Vet</strong> requires all three steps to complete successfully within the Validity Window.</t>
          <t>The <strong>Recognize Call</strong> serves as critical anti-goading protection. Bob's platform will only initiate the final Auth Call if it has recently received a valid Wake Call <em>and</em> the Recognize Token matches what it computed. This prevents an attacker from tricking Bob's platform into calling Alice.</t>
          <t>Both sides independently compute the short-lived Recognize Token and Auth Token from the shared secret and the two telephone numbers involved. The tokens are valid only within the Validity Window.</t>
        </section>
        <section anchor="token-computation">
          <name>Token Computation Algorithm (Normative)</name>
          <t>CIDVV vetting uses two derived numeric tokens:</t>
          <ul spacing="normal">
            <li>
              <t><strong>Recognize Token</strong>: Computed by Alice and verified by Bob.</t>
            </li>
            <li>
              <t><strong>Auth Token</strong>: Computed by Bob and verified by Alice.</t>
            </li>
          </ul>
          <t>Both tokens are computed using the same processing steps, but with
different input ordering. This prevents the Recognize Token and Auth
Token from being interchangeable.</t>
          <ol spacing="normal" type="1"><li>
              <t>Normalize both telephone numbers to E.164 digit strings with no
leading "+" and no punctuation, as defined in Section
<xref target="number-normalization">Number Normalization</xref>.</t>
            </li>
            <li>
              <t>For the <strong>Recognize Token</strong>, concatenate the following values as
UTF-8 bytes:  </t>
              <t><tt>normalized-calling-number || "|" || normalized-called-number || "|" || shared-secret</tt>  </t>
              <t>
In this context, <tt>normalized-calling-number</tt> is Alice's vetting
Caller-ID and <tt>normalized-called-number</tt> is Bob's number being vetted.</t>
            </li>
            <li>
              <t>For the <strong>Auth Token</strong>, concatenate the following values as UTF-8
bytes:  </t>
              <t><tt>shared-secret || "|" || normalized-called-number || "|" || normalized-calling-number</tt></t>
            </li>
            <li>
              <t>Compute the SHA-256 digest of the concatenated bytes.</t>
            </li>
            <li>
              <t>Take the first 8 hexadecimal characters of the digest.</t>
            </li>
            <li>
              <t>Convert that 8-character hexadecimal string to a decimal integer.</t>
            </li>
            <li>
              <t>Left-pad the decimal value with zeros to 10 digits if needed, then
prepend the digit "1" to produce an 11-digit token.</t>
            </li>
          </ol>
          <t><strong>Example (for illustration only)</strong></t>
          <ul spacing="normal">
            <li>
              <t>Alice vetting Caller-ID: <tt>+12125550100</tt></t>
            </li>
            <li>
              <t>Bob's number: <tt>+19495550199</tt></t>
            </li>
            <li>
              <t>Shared secret: <tt>elephant</tt></t>
            </li>
          </ul>
          <t>Recognize Token input:</t>
          <t><tt>12125550100|19495550199|elephant</tt></t>
          <t>Auth Token input:</t>
          <t><tt>elephant|19495550199|12125550100</tt></t>
          <t>Recognize Token calculation:</t>
          <ul spacing="normal">
            <li>
              <t>SHA-256 digest begins with: <tt>b86a096e</tt></t>
            </li>
            <li>
              <t>First 8 hexadecimal characters: <tt>b86a096e</tt></t>
            </li>
            <li>
              <t>Decimal value: <tt>3093956974</tt></t>
            </li>
            <li>
              <t>10-digit decimal value: <tt>3093956974</tt></t>
            </li>
            <li>
              <t>Final 11-digit Recognize Token: <tt>13093956974</tt></t>
            </li>
          </ul>
          <t>Auth Token calculation:</t>
          <ul spacing="normal">
            <li>
              <t>SHA-256 digest begins with: <tt>9f6b0648</tt></t>
            </li>
            <li>
              <t>First 8 hexadecimal characters: <tt>9f6b0648</tt></t>
            </li>
            <li>
              <t>Decimal value: <tt>2674591304</tt></t>
            </li>
            <li>
              <t>10-digit decimal value: <tt>2674591304</tt></t>
            </li>
            <li>
              <t>Final 11-digit Auth Token: <tt>12674591304</tt></t>
            </li>
          </ul>
          <t>The resulting Recognize Token and Auth Token differ because the input
ordering is different.</t>
          <t>Implementations MUST use identical normalization, input ordering, digest
processing, decimal conversion, zero-padding, and prefixing on both sides
of the vetting exchange. Tokens are valid only within the Validity Window
or, for multivetting, within the refreshed Validity Window.</t>
          <t>Hosted or multi-tenant CIDVV services MUST ensure that shared secrets,
configuration, token state, and cached vetting state are scoped to the
appropriate customer or tenant. A tenant-specific value MAY be included
as an additional token-computation input only when both sides of the
vetting relationship are explicitly configured to use the same value.
Otherwise, tenant isolation MUST be enforced by provisioning, storage,
and access-control boundaries rather than by changing the token
algorithm.</t>
        </section>
        <section anchor="detailed-vouching-procedure">
          <name>Detailed Vouching Procedure</name>
          <t>When Alice wants to place a call to Bob using her Asserted Caller-ID, the following steps are performed:</t>
          <ol spacing="normal" type="1"><li>
              <t>Alice's CIDVV platform is notified of her outbound call attempt to Bob
using her Asserted Caller-ID. The notification mechanism is
implementation-specific. For example, Alice's SBC or gateway might
send an INVITE to the CIDVV platform before advancing the original
call toward the PSTN, or the platform might be notified through an API,
routing policy, STIR signing workflow, or other local mechanism.  </t>
              <t>
Upon receiving this notification, Alice's CIDVV platform records the
attempted call state for the Validity Window so that it can respond to
subsequent Phase 1 and Phase 2 verification calls.</t>
            </li>
            <li>
              <t>Bob's CIDVV platform intercepts the incoming call from Alice and holds it (does not yet alert Bob's phone).</t>
            </li>
            <li>
              <t>Bob's CIDVV platform initiates two short verification calls back to Alice (in either order or in parallel):  </t>
              <t>
a. One verification call with Calling Party Number prefixed by <tt>+100</tt>.  </t>
              <t>
b. One verification call with Calling Party Number prefixed by <tt>+101</tt>.  </t>
              <t>
Both calls are directed to Alice's Asserted Caller-ID.</t>
            </li>
            <li>
              <t>A CIDVV-aware network element serving Alice's Asserted Caller-ID
recognizes the <tt>+100</tt> or <tt>+101</tt> prefix in the Calling Party Number and
routes the verification call to Alice's CIDVV platform.</t>
            </li>
            <li>
              <t>Alice's CIDVV platform receives each verification call and performs the following actions:  </t>
              <t>
a. For the call with <tt>+100</tt> prefix: Looks up the cached call state and responds with SIP <strong>486 Busy Here</strong> if matching state exists.  </t>
              <t>
b. For the call with <tt>+101</tt> prefix: Responds with SIP <strong>603 Decline</strong> for vouching purposes, unless the call corresponds to an active vetting procedure as described in Section <xref target="vetting-procedure">Vetting Procedure</xref>.</t>
            </li>
            <li>
              <t>Bob's CIDVV platform evaluates the responses to both verification calls.</t>
            </li>
            <li>
              <t>If both verification calls receive the expected responses (SIP <strong>486 Busy Here</strong> for <tt>+100</tt> and SIP <strong>603 Decline</strong> for <tt>+101</tt>) within the Validity Window, Bob's CIDVV platform:  </t>
              <t>
a. Considers the vouching successful.  </t>
              <t>
b. Applies local call-handling policy to the original call.</t>
            </li>
            <li>
              <t>If either verification call fails to receive the correct response, times out, or does not complete within the Validity Window, Bob's CIDVV platform:  </t>
              <t>
a. Considers the vouching unsuccessful or indeterminate.  </t>
              <t>
b. May take any of the following actions on the original call (implementation-specific):  </t>
              <ul spacing="normal">
                <li>
                  <t>Reject the call (e.g., with SIP <strong>603 Decline</strong>).</t>
                </li>
                <li>
                  <t>Route the call to Bob's voicemail.</t>
                </li>
                <li>
                  <t>Allow the original call to continue with an indication that the Caller-ID was not verified (e.g., "Unverified Caller-ID").</t>
                </li>
              </ul>
            </li>
          </ol>
        </section>
        <section anchor="detailed-vetting-procedure">
          <name>Detailed Vetting Procedure</name>
          <t>When Alice wants to confirm that Bob controls a particular telephone number, the following protocol is used:</t>
          <ol spacing="normal" type="1"><li>
              <t>Alice and Bob share a secret (e.g., "elephant").</t>
            </li>
            <li>
              <t>Alice and Bob agree on the Caller-ID that Alice will use to vet Bob's number.</t>
            </li>
            <li>
              <t>Alice's CIDVV platform initiates a "Wake Call" to Bob's number using a Calling Party Number consisting of the <tt>101</tt> prefix followed by Alice's agreed vetting Caller-ID.</t>
            </li>
            <li>
              <t>Bob's CIDVV platform performs the following actions:  </t>
              <t>
a. Intercepts the incoming call.  </t>
              <t>
b. Recognizes Alice's vetting Caller-ID and identifies this as a "Wake Call".  </t>
              <t>
c. Computes a short-lived "Recognize Token" derived from Alice's number + Bob's number + the shared secret (example: 13093956974).  </t>
              <t>
d. Stores this token temporarily in memory.  </t>
              <t>
e. Responds with SIP <strong>603 Decline</strong>.  </t>
              <t>
f. Considers this a successful "Wake Call" from Alice to Bob (step 1 of 3).  </t>
              <t>
The Wake Call alone does not authenticate Alice and does not cause
   Bob's platform to initiate an Auth Call. Alice's vetting Caller-ID
   may be known or reused across multiple vetting relationships, so
   Bob's platform waits for a valid Recognize Call proving knowledge
   of the shared secret before placing any return call to Alice. This
   prevents an attacker from spoofing Alice's vetting Caller-ID in a
   Wake Call in order to goad Bob's platform into calling Alice.</t>
            </li>
            <li>
              <t>Alice's CIDVV platform performs the following actions upon receiving SIP <strong>603 Decline</strong>:  </t>
              <t>
a. Considers Bob's CIDVV platform "Awake".  </t>
              <t>
b. Independently calculates the same "Recognize Token" (example: 13093956974).  </t>
              <t>
c. Calculates an "Auth Token" using the Auth Token input ordering defined in Section <xref target="token-computation">Token Computation Algorithm</xref> (example: 12674591304).  </t>
              <t>
d. Stores the Auth Token temporarily in memory.  </t>
              <t>
e. Initiates a "Recognize Call" (step 2 of 3) to Bob using the Recognize Token as the Caller-ID, prefixed with <tt>+101</tt> (example: <tt>+10113093956974</tt>).</t>
            </li>
            <li>
              <t>Bob's CIDVV platform performs the following actions upon receiving the Recognize Call:  </t>
              <t>
a. Intercepts the call.  </t>
              <t>
b. Verifies that the received Caller-ID matches the previously stored Recognize Token.  </t>
              <t>
c. Considers this a successful "Recognize Call" from Alice to Bob (step 2 of 3).  </t>
              <t>
d. Treats Alice's CIDVV platform as authenticated for this vetting exchange.  </t>
              <t>
e. Responds with SIP <strong>486 Busy Here</strong>.  </t>
              <t>
f. Computes the corresponding "Auth Token" (example: 12674591304).  </t>
              <t>
g. Initiates an "Auth Call" (step 3 of 3) to Alice using the Auth Token as the Caller-ID, prefixed with <tt>+101</tt> (example: <tt>+10112674591304</tt>).</t>
            </li>
            <li>
              <t>Alice's CIDVV platform performs the following actions upon receiving the Auth Call:  </t>
              <t>
a. Intercepts the call.  </t>
              <t>
b. Verifies that the received Caller-ID matches the previously stored Auth Token.  </t>
              <t>
c. Considers this a successful "Auth Call" from Bob to Alice (step 3 of 3).  </t>
              <t>
d. Treats Bob's CIDVV platform as authenticated for this vetting exchange.  </t>
              <t>
e. Responds with SIP <strong>486 Busy Here</strong>.  </t>
              <t>
f. Considers the vetting procedure complete and successful.</t>
            </li>
            <li>
              <t>Bob's CIDVV platform receives SIP <strong>486 Busy Here</strong> from Alice and also considers the vetting procedure successful.</t>
            </li>
          </ol>
          <t>Only a party that can receive calls for Bob's number and that knows the
shared secret can complete the expected token and response sequence.</t>
        </section>
        <section anchor="signaling-prefixes-and-call-types">
          <name>Signaling Prefixes and Call Types</name>
          <t>CIDVV uses the following special prefixes in the Calling Party Number:</t>
          <table>
            <thead>
              <tr>
                <th align="left">Prefix</th>
                <th align="left">Call Type</th>
                <th align="left">Direction</th>
                <th align="left">Purpose</th>
                <th align="left">Expected Response (by callee)</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">+100</td>
                <td align="left">Vouch Phase 1</td>
                <td align="left">Bob -&gt; Alice</td>
                <td align="left">Vouching verification (Phase 1)</td>
                <td align="left">486 Busy Here</td>
              </tr>
              <tr>
                <td align="left">+101</td>
                <td align="left">Vouch Phase 2</td>
                <td align="left">Bob -&gt; Alice</td>
                <td align="left">Vouching verification (Phase 2)</td>
                <td align="left">603 Decline</td>
              </tr>
              <tr>
                <td align="left">+101</td>
                <td align="left">Wake Call</td>
                <td align="left">Alice -&gt; Bob</td>
                <td align="left">Initiate vetting and trigger token generation</td>
                <td align="left">603 Decline</td>
              </tr>
              <tr>
                <td align="left">+101</td>
                <td align="left">Recognize Call</td>
                <td align="left">Alice -&gt; Bob</td>
                <td align="left">Alice proves knowledge of shared secret</td>
                <td align="left">486 Busy Here</td>
              </tr>
              <tr>
                <td align="left">+101</td>
                <td align="left">Auth Call</td>
                <td align="left">Bob -&gt; Alice</td>
                <td align="left">Bob proves knowledge of shared secret</td>
                <td align="left">486 Busy Here</td>
              </tr>
            </tbody>
          </table>
          <t><strong>Note:</strong> All vetting-related calls use the <tt>+101</tt> prefix. Context is determined by the Caller-ID used (vetting Caller-ID vs. token value) and the current state maintained by the CIDVV platform.</t>
        </section>
      </section>
      <section anchor="response-semantics">
        <name>Response Semantics</name>
        <t>Because intermediate SIP and SS7/TDM networks may translate,
modify, or replace response codes, implementations MUST interpret
responses based on behavioral class (e.g., Busy-class vs.
Rejection-class) rather than exact numeric values.</t>
        <t>Implementations SHOULD use SIP <strong>486 Busy Here</strong> and SIP <strong>603 Decline</strong>
as the canonical representations of these behaviors where possible.</t>
        <t>For calls with the "101" prefix, a CIDVV platform normally responds with
a Rejection-class response, such as SIP <strong>603 Decline</strong>. The platform
responds with a Busy-class response, such as SIP <strong>486 Busy Here</strong>, only
when the "101" call matches an active vetting token-confirmation step.</t>
        <t>CIDVV requires that these response behaviors remain distinguishable
across the signaling path. Environments that cannot preserve this
distinction may not support CIDVV vouching.</t>
        <section anchor="phase-1-verification-100-prefix">
          <name>Phase 1 Verification ("100" Prefix)</name>
          <t>A call using the "100" prefix is the <strong>Phase 1</strong> verification call. It succeeds only if it receives a Busy-class response (e.g., SIP <strong>486 Busy Here</strong>).</t>
        </section>
        <section anchor="phase-2-verification-101-prefix">
          <name>Phase 2 Verification ("101" Prefix)</name>
          <t>A call using the "101" prefix is the <strong>Phase 2</strong> verification call. It succeeds only if it receives a Rejection-class response, with SIP <strong>603 Decline</strong> as the canonical example.</t>
        </section>
        <section anchor="vouch-success-response-requirements">
          <name>Vouch Success Response Requirements</name>
          <t>A successful vouch requires both Phase 1 and Phase 2 to complete with
their expected behaviors within the Validity Window.</t>
          <t>Implementations MUST NOT treat a single phase as sufficient for a
successful vouch. If either phase fails, is missing, altered, delayed, or
inconsistent, the vouch result MUST be treated as unsuccessful or
indeterminate.</t>
          <t>Vetting success is defined separately by the Wake, Recognize, and Auth
procedure in Section <xref target="vetting-procedure">Vetting Procedure</xref>.</t>
        </section>
      </section>
    </section>
    <section anchor="protocol-operation">
      <name>Protocol Operation</name>
      <section anchor="vouching-procedure">
        <name>Vouching Procedure</name>
        <t>In this procedure, Alice places a call to Bob using an Asserted
Caller-ID. Bob's CIDVV platform uses the vouching procedure to determine
whether the party responsible for Alice's Asserted Caller-ID will vouch
for this specific call attempt. The result of the vouching procedure is
a verification signal; handling of the original call is
implementation-specific.</t>
        <t>The following subsections define the required behavior for vouching.</t>
        <t>Alice initiates a call to Bob using her Asserted Caller-ID.</t>
        <t>Alice's CIDVV platform receives a notification of an attempted call from
Alice to Bob using Alice's Asserted Caller-ID. The notification mechanism
is implementation-specific. For example, Alice's SBC or gateway might
send an INVITE to the CIDVV platform before advancing the original call
toward the PSTN.</t>
        <t>Upon receiving this notification, Alice's CIDVV platform MUST cache the
attempted call using the tuple:</t>
        <t>(Asserted Caller-ID, Called Number)</t>
        <t>for the Validity Window.</t>
        <t>The response used for this local notification is outside the
inter-domain CIDVV verification exchange. Implementations MAY use any
local behavior that allows Alice's SBC or gateway to continue routing the
original call toward Bob.</t>
        <t>When Bob's CIDVV platform receives the original call, it holds the call
and initiates two short signaling-only verification calls toward Alice's
Asserted Caller-ID. These calls MAY be performed in either order or in
parallel.</t>
        <section anchor="phase-1-verification-100">
          <name>Phase 1 Verification ("100")</name>
          <t>Bob's CIDVV platform constructs a verification Calling Party Number by
prefixing "100" to the rightmost 12 digits of Bob's called number after
number normalization. It then initiates a verification call toward
Alice's Asserted Caller-ID using that value as the Calling Party Number.</t>
          <t>When Alice's SBC receives a call with a Calling Party Number beginning
with "100", it MUST route the call to Alice's CIDVV platform.</t>
          <t>Upon receiving the Phase 1 verification call, Alice's CIDVV platform
MUST determine whether the call matches cached state for the Asserted
Caller-ID that received the verification call and the called-number value
encoded in the verification Calling Party Number.</t>
          <t>If a matching cache entry exists within the Validity Window, Alice's
CIDVV platform MUST respond to the Phase 1 verification call with a
Busy-class response, such as SIP <strong>486 Busy Here</strong>.</t>
          <t>If no matching cache entry exists, Alice's CIDVV platform MUST NOT
respond with a Busy-class response for the Phase 1 verification call. It
MAY respond with a Rejection-class response, such as SIP <strong>603 Decline</strong>.</t>
        </section>
        <section anchor="phase-2-verification-101">
          <name>Phase 2 Verification ("101")</name>
          <t>Bob's CIDVV-aware element initiates a second verification call using a
Calling Party Number constructed by prefixing "101" to the same
12-digit payload used for Phase 1.</t>
          <t>When Alice's SBC receives a call with a Calling Party Number beginning
with "101", it MUST route the call to Alice's CIDVV platform.</t>
          <t>For vouching purposes, Alice's CIDVV platform does not need to perform a
vouching cache lookup for the Phase 2 call. Unless the call corresponds
to an active vetting procedure, Alice's CIDVV platform MUST respond to
the Phase 2 verification call with a Rejection-class response, such as
SIP <strong>603 Decline</strong>.</t>
          <t>A Phase 2 verification call does not, by itself, prove that Alice has an
active call in progress to Bob. Phase 2 is used together with Phase 1 to
distinguish a CIDVV-aware platform from ordinary network behavior and to
reduce false-positive vouches.</t>
          <t>A "101" call that corresponds to an active vetting procedure is handled
according to Section <xref target="vetting-procedure">Vetting Procedure</xref>.</t>
        </section>
        <section anchor="combined-phase-behavior-required-for-vouch-success">
          <name>Combined Phase Behavior (Required for Vouch Success)</name>
          <t>A successful vouch requires both Phase 1 and Phase 2 to complete with
their expected behaviors within the Validity Window.</t>
          <t>Implementations MUST NOT treat a single phase as sufficient for a
successful vouch. If either phase fails, is missing, altered, delayed, or
inconsistent, the vouch result MUST be treated as unsuccessful or
indeterminate.</t>
          <t>Vetting success is defined separately by the Wake, Recognize, and Auth
procedure in Section <xref target="vetting-procedure">Vetting Procedure</xref>.</t>
        </section>
        <section anchor="vouch-call-timers">
          <name>Vouch Call Timers</name>
          <t>The Validity Window controls how long cached vouching state remains
valid at the originating CIDVV platform.</t>
          <t>Independently, the platform that initiates a Phase 1 or Phase 2
verification call SHOULD implement a configurable local timer that
controls how long it waits for a signaling response to that verification
call.</t>
          <t>A default timeout of 3-6 seconds is reasonable for domestic calls.
For international destinations, longer timeouts (typically 8-20 seconds)
are recommended to accommodate higher Post-Dial Delay (PDD).</t>
          <t>The two vouch calls (Phase 1 and Phase 2) may be initiated sequentially
or simultaneously.</t>
        </section>
      </section>
      <section anchor="correlation-model">
        <name>Correlation Model</name>
        <t>CIDVV vouching correlates calls using the Asserted Caller-ID, the called
number, and a Validity Window. It does not attempt to identify individual
call legs across the PSTN.</t>
        <t>A successful vouch indicates that at least one matching call attempt
occurred during the Validity Window. It does not prove a one-to-one
correspondence between a specific original call leg and a specific
verification call.</t>
        <t>When multiple calls with the same Asserted Caller-ID and called number
occur within the Validity Window, implementations MAY treat the tuple as
active state rather than requiring strict one-to-one correlation. This
case is discussed further in Section <xref target="fan-out">Multiple Simultaneous Calls from
the Same Caller-ID</xref>.</t>
      </section>
      <section anchor="state-storage">
        <name>State Storage and Multi-Tenant Isolation</name>
        <t>CIDVV implementations maintain short-lived state for vouching and
vetting. The representation of that state is implementation-specific and
is not carried on the wire.</t>
        <t>For vouching, implementations commonly store state associated with the
Asserted Caller-ID, the called number, and the Validity Window. For
vetting, implementations store temporary state associated with the Wake,
Recognize, and Auth steps, including any pending Recognize Token or Auth
Token.</t>
        <t>Implementations MAY use hashes, derived keys, database keys, in-memory
objects, or other local mechanisms for state storage. These internal
storage keys MUST NOT alter the externally visible token computation
defined in Section <xref target="token-computation">Token Computation Algorithm</xref>.</t>
        <t>All temporary state MUST expire automatically. Loss of state, expiration
of state, or inability to retrieve state MUST cause the corresponding
vouching or vetting operation to fail closed.</t>
        <t>CIDVV platforms that operate on behalf of multiple independent customers
MUST ensure that all vouching and vetting state is scoped per customer
or tenant. This prevents unrelated customers from interacting through
shared state, identical telephone-number tuples, identical token values,
or misconfigured shared secrets.</t>
        <t>Implementations MAY use separate storage, partitioning, customer-specific
configuration, tenant identifiers, or access-control boundaries to
achieve this isolation.</t>
      </section>
      <section anchor="vetting-procedure">
        <name>Vetting Procedure</name>
        <t>Vetting a remote number requires three separate calls (distinct SIP
dialogs) using a pre-agreed shared secret. The process confirms that
the <strong>called party (Bob)</strong> controls the target telephone number and
possesses the correct shared secret. In the examples below, Alice is the verifier who initiates the vetting
procedure for Bob's number.</t>
        <t>Before vetting begins, Alice and Bob agree on a shared secret, Alice's
vetting Caller-ID, and a Validity Window.</t>
        <t>Alice places a Wake Call to Bob using a Calling Party Number consisting
of the "101" prefix followed by Alice's agreed vetting Caller-ID.</t>
        <t>When Bob's CIDVV platform receives the Wake Call, it removes the "101"
prefix and verifies that the resulting Caller-ID is expected for the
current vetting attempt.</t>
        <t>Bob's platform MUST compute the Recognize Token using the algorithm
defined in Section <xref target="token-computation">Token Computation Algorithm</xref> and
store the resulting token for the Validity Window. It then responds to the
Wake Call with SIP <strong>603 Decline</strong>.</t>
        <t>Alice computes the same Recognize Token and places a Recognize Call to
Bob using a Calling Party Number consisting of the "101" prefix followed
by the Recognize Token.</t>
        <t>When Bob's CIDVV platform receives the Recognize Call, it removes the
"101" prefix and compares the remaining numeric value to the recently
cached Recognize Token.</t>
        <t>If the Recognize Token matches, Bob's CIDVV platform MUST respond to the
Recognize Call with SIP <strong>486 Busy Here</strong>. Alice's platform treats this
response as a successful Recognize.</t>
        <t>Bob's CIDVV platform then computes the Auth Token using the algorithm
defined in Section <xref target="token-computation">Token Computation Algorithm</xref> and
places an Auth Call to Alice using a Calling Party Number consisting of
the "101" prefix followed by the Auth Token.</t>
        <t>When Alice's CIDVV platform receives the Auth Call, it removes the "101"
prefix and compares the remaining numeric value to the expected Auth
Token.</t>
        <t>If the Auth Token matches, Alice's CIDVV platform MUST respond to the
Auth Call with SIP <strong>486 Busy Here</strong>. Bob's platform treats this response
as a successful Auth.</t>
        <t>Any other response, timeout, token mismatch, expired cache entry, or
unexpected Caller-ID MUST be treated as an unsuccessful vet.</t>
      </section>
    </section>
    <section anchor="examples">
      <name>Examples</name>
      <section anchor="successful-vouch-call-flow">
        <name>Successful Vouch Call Flow</name>
        <t>The following diagram shows a successful vouch.</t>
        <figure anchor="fig-successful-vouch">
          <name>Example Successful Vouch</name>
          <artwork><![CDATA[
  Alice    CIDVV_A    SBC_A      PSTN     SBC_B    CIDVV_B     Bob
    |----- INVITE ----->|         |         |         |         |
    |         |<-INVITE-|         |         |         |         |
    |         |- 404 -->|         |         |         |         |
    |         |         |-INVITE->|         |         |         |
    |         |         |         |-INVITE->|         |         |
    |         |         |         |         |-INVITE->|         |
    |         |         |         |         |<- +100 -|         |
    |         |         |         |<- +100 -|         |         |
    |         |         |<- +100 -|         |         |         |
    |         |<- +100 -|         |         |         |         |
    |         |- 486 -->|         |         |         |         |
    |         |         |- 486 -->|         |         |         |
    |         |         |         |- 486 -->|         |         |
    |         |         |         |         |- 486 -->|         |
    |         |         |         |         |<- +101 -|         |
    |         |         |         |<- +101 -|         |         |
    |         |         |<- +101 -|         |         |         |
    |         |<- +101 -|         |         |         |         |
    |         |- 603 -->|         |         |         |         |
    |         |         |- 603 -->|         |         |         |
    |         |         |         |- 603 -->|         |         |
    |         |         |         |         |- 603 -->|         |
    |         |         |         |         |<- 302 --|         |
    |         |         |         |         |----- INVITE ----->|
]]></artwork>
        </figure>
        <t>In the diagram:</t>
        <ul spacing="normal">
          <li>
            <t>"404" is only an example of how Alice's CIDVV platform might respond to a local notification from Alice's SBC or gateway. The response used for this local notification is implementation-specific and is not part of the inter-domain CIDVV verification exchange.</t>
          </li>
          <li>
            <t>"+100" represents a verification call whose Calling Party Number begins with the prefix "100" (or "+100") followed by Bob's called number.</t>
          </li>
          <li>
            <t>"+101" represents a verification call whose Calling Party Number begins with the prefix "101" (or "+101") followed by Bob's called number.</t>
          </li>
          <li>
            <t>"302" is only an example of call advancement after a successful vouch. CIDVV does not require use of SIP 302; implementations may use any local method to continue, redirect, or otherwise handle the original call.</t>
          </li>
        </ul>
        <section anchor="successful-vouch-step-by-step-description">
          <name>Successful Vouch Step-by-Step Description</name>
          <t>The diagram above shows the high-level message flow. The following numbered steps provide the detailed behavior, including Caller-ID manipulation performed by CIDVV platforms.</t>
          <t>Note that the two verification calls (Phase 1 and Phase 2) MAY be performed in either order or in parallel.</t>
          <ol spacing="normal" type="1"><li>
              <t>The originating user (Alice, Asserted Caller-ID <tt>+12125550100</tt>) initiates a call to Bob (<tt>+19495550199</tt>).</t>
            </li>
            <li>
              <t>The call is routed from Alice's User Agent to her SBC, which forwards it to the originating CIDVV platform (CIDVV_A).</t>
            </li>
            <li>
              <t><strong>CIDVV_A</strong>:
              </t>
              <ul spacing="normal">
                <li>
                  <t>Caches the call attempt using the tuple <tt>(Calling: 12125550100, Called: 19495550199)</tt> for the Validity Window.</t>
                </li>
                <li>
                  <t>Releases the local notification leg using implementation-specific behavior, such as a SIP final response, so that the original call can continue toward Bob.</t>
                </li>
              </ul>
            </li>
            <li>
              <t>After the local notification leg is released, Alice's SBC or gateway
continues routing the original call toward the PSTN using Alice's
original Caller-ID.</t>
            </li>
            <li>
              <t>The call reaches Bob's SBC via the PSTN. Because this is a new dialog (initial INVITE), Bob's <strong>CIDVV-aware SBC</strong> forwards the call to the terminating CIDVV platform (CIDVV_B).</t>
            </li>
            <li>
              <t><strong>CIDVV_B</strong> initiates Phase 1 and Phase 2 verification calls toward Alice's number (<tt>+12125550100</tt>):
              </t>
              <ul spacing="normal">
                <li>
                  <t>Phase 1: Caller-ID = <tt>+10019495550199</tt></t>
                </li>
                <li>
                  <t>Phase 2: Caller-ID = <tt>+10119495550199</tt></t>
                </li>
              </ul>
            </li>
            <li>
              <t>Each verification call arrives at Alice's SBC via the PSTN.</t>
            </li>
            <li>
              <t><strong>Alice's SBC</strong> detects the leading <tt>+100</tt> or <tt>+101</tt> prefix and routes the call to CIDVV_A.</t>
            </li>
            <li>
              <t><strong>CIDVV_A</strong>:
              </t>
              <ul spacing="normal">
                <li>
                  <t>For a <tt>+100</tt> prefix: Looks up the cached tuple for the Validity Window and responds with SIP <strong>486 Busy Here</strong> if matching state exists.</t>
                </li>
                <li>
                  <t>For a <tt>+101</tt> prefix: Responds with SIP <strong>603 Decline</strong> for vouching purposes unless the call corresponds to an active token-confirmation step.</t>
                </li>
              </ul>
            </li>
            <li>
              <t><strong>CIDVV_B</strong> receives the expected responses for both phases. Once both Phase 1 and Phase 2 have succeeded, it considers the combined result a <strong>Successful Vouch</strong>.</t>
            </li>
            <li>
              <t><strong>CIDVV_B</strong> determines the vouch result and applies its local call-handling policy. If the call is to be advanced, CIDVV_B may release or redirect the held call using implementation-specific behavior, such as returning SIP <strong>302 Moved Temporarily</strong> to Bob's SBC.</t>
            </li>
            <li>
              <t>Bob's SBC or serving network element advances the original call according to that local behavior, for example by routing the call to Bob's User Agent.</t>
            </li>
            <li>
              <t>Bob's telephone rings.</t>
            </li>
          </ol>
          <t>This mechanism allows Bob's CIDVV platform to verify Alice's Asserted
Caller-ID before deciding how to handle the original call.</t>
        </section>
      </section>
      <section anchor="unsuccessful-vouch">
        <name>Unsuccessful Vouch</name>
        <t>A successful vouch requires both verification phases to complete with the expected response behavior within the Validity Window.</t>
        <t>If either phase fails, times out, produces an unexpected response, or cannot be completed, the vouch MUST be treated as unsuccessful or indeterminate. An implementation MAY stop the verification procedure early after any phase has already failed.</t>
        <t>For example:</t>
        <ul spacing="normal">
          <li>
            <t>If the Phase 1 verification call using the <tt>"100"</tt> prefix does not result in a Busy-class response, such as SIP <strong>486 Busy Here</strong>, the vouch MUST fail. The implementation MAY omit the Phase 2 verification call.</t>
          </li>
          <li>
            <t>If the Phase 1 verification succeeds but the Phase 2 verification call using the <tt>"101"</tt> prefix does not result in a Rejection-class response, such as SIP <strong>603 Decline</strong>, the vouch MUST fail.</t>
          </li>
        </ul>
        <t>Implementations MUST fail closed. Any ambiguity, unexpected response,
timeout, provisional response, successful response, media establishment,
or other verification-call progression MUST result in an unsuccessful or
indeterminate outcome.</t>
      </section>
      <section anchor="vetting-a-caller-id-number">
        <name>Vetting a Caller-ID Number</name>
        <t>Vetting uses three independent verification calls that form a
challenge-response sequence. For clarity, the calls are shown
separately, but together they constitute a single vetting operation.</t>
        <section anchor="first-vetting-call-wake-using-known-vetting-number-as-caller-id">
          <name>First Vetting Call (Wake) using known Vetting number as Caller-ID</name>
          <figure>
            <name>Wake vetting call with 101 - Bob creates Recognize Token and responds with SIP 603 Decline</name>
            <artwork><![CDATA[
   CIDVV_A        SBC_A          PSTN         SBC_B        CIDVV_B
      |             |             |             |             |
      |-- WAKE101 ->|             |             |             |
      |             |-- WAKE101 ->|             |             |
      |             |             |-- WAKE101 ->|             |
      |             |             |             |-- WAKE101 ->|
      |             |             |             |             |
      |             |             |             |<--- 603 ----|
      |             |             |<--- 603 ----|             |
      |             |<--- 603 ----|             |             |
      |<--- 603 ----|             |             |             |
      |             |             |             |             |
]]></artwork>
          </figure>
        </section>
        <section anchor="second-vetting-call-using-recognize-token-as-caller-id">
          <name>Second Vetting Call using Recognize Token as Caller-ID</name>
          <figure>
            <name>Recognize Call (101 prefix) - Alice proves knowledge of the shared secret using the Recognize Token</name>
            <artwork><![CDATA[
   CIDVV_A        SBC_A          PSTN         SBC_B        CIDVV_B
      |             |             |             |             |
      |-- RECG101 ->|             |             |             |
      |             |-- RECG101 ->|             |             |
      |             |             |-- RECG101 ->|             |
      |             |             |             |-- RECG101 ->|
      |             |             |             |             |
      |             |             |             |<--- 486 ----|
      |             |             |<--- 486 ----|             |
      |             |<--- 486 ----|             |             |
      |<--- 486 ----|             |             |             |
      |             |             |             |             |
]]></artwork>
          </figure>
        </section>
        <section anchor="third-vetting-call-auth-using-auth-token-as-caller-id">
          <name>Third Vetting Call (Auth) using Auth Token as Caller-ID</name>
          <figure>
            <name>Auth Call (101 prefix) - Bob proves knowledge of the shared secret using the Auth Token</name>
            <artwork><![CDATA[
   CIDVV_A        SBC_A          PSTN         SBC_B        CIDVV_B
      |             |             |             |             |
      |             |             |             |<- AUTH101 --|
      |             |             |<- AUTH101 --|             |
      |             |<- AUTH101 --|             |             |
      |<- AUTH101 --|             |             |             |
      |             |             |             |             |
      |---- 486 --->|             |             |             |
      |             |---- 486 --->|             |             |
      |             |             |---- 486 --->|             |
      |             |             |             |---- 486 --->|
      |             |             |             |             |
]]></artwork>
          </figure>
        </section>
        <section anchor="successful-caller-id-vetting-flow">
          <name>Successful Caller-ID Vetting Flow</name>
          <t>Vetting a remote number requires three separate calls (distinct SIP dialogs) that together form a single challenge-response operation protected by a pre-agreed shared secret. The process confirms that the called party (Bob) controls the target telephone number and possesses the correct shared secret.</t>
          <ol spacing="normal" type="1"><li>
              <t>Alice and Bob agree on a shared secret (e.g., <tt>elephant</tt>) and Alice's vetting Caller-ID (e.g., <tt>+12125550100</tt>).</t>
            </li>
            <li>
              <t>Both parties configure their CIDVV platforms with the shared secret, Alice's vetting Caller-ID, and an optional authorization lifetime (e.g., "one week"). This allows the number owner (Bob) to limit how long the vetting authorization remains active.</t>
            </li>
            <li>
              <t>Alice's CIDVV platform (CIDVV_A) initiates the <strong>Wake Call</strong> to Bob's number (<tt>+19495550199</tt>) with Caller-ID <tt>+10112125550100</tt>.</t>
            </li>
            <li>
              <t>Bob's SBC, gateway, or other CIDVV-aware network element recognizes
the <tt>101</tt> prefix in the Calling Party Number and routes the call to
CIDVV_B.</t>
            </li>
            <li>
              <t><strong>CIDVV_B</strong>:
              </t>
              <ul spacing="normal">
                <li>
                  <t>Strips the <tt>101</tt> prefix to recover Alice's vetting Caller-ID.</t>
                </li>
                <li>
                  <t>Recognizes it as a pre-agreed vetting number.</t>
                </li>
                <li>
                  <t>Computes the Recognize Token.</t>
                </li>
                <li>
                  <t>Caches the token for the Validity Window.</t>
                </li>
                <li>
                  <t>Responds with SIP <strong>603 Decline</strong>.</t>
                </li>
              </ul>
            </li>
            <li>
              <t>CIDVV_A receives SIP <strong>603 Decline</strong> and computes the same Recognize Token.</t>
            </li>
            <li>
              <t>CIDVV_A immediately places the <strong>Recognize Call</strong> to Bob using Caller-ID <tt>+101</tt> followed by the Recognize Token (e.g., <tt>+10113093956974</tt>).</t>
            </li>
            <li>
              <t>Bob's SBC, gateway, or other CIDVV-aware network element recognizes
the <tt>101</tt> prefix in the Calling Party Number and routes the call to
CIDVV_B.</t>
            </li>
            <li>
              <t><strong>CIDVV_B</strong>:
              </t>
              <ul spacing="normal">
                <li>
                  <t>Strips the <tt>101</tt> prefix.</t>
                </li>
                <li>
                  <t>Verifies the token matches the cached value.</t>
                </li>
                <li>
                  <t>Responds with SIP <strong>486 Busy Here</strong>.</t>
                </li>
              </ul>
            </li>
            <li>
              <t>CIDVV_A receives SIP <strong>486 Busy Here</strong> and computes the Auth Token.</t>
            </li>
            <li>
              <t><strong>CIDVV_B</strong>:
              </t>
              <ul spacing="normal">
                <li>
                  <t>Computes the Auth Token.</t>
                </li>
                <li>
                  <t>Initiates the <strong>Auth Call</strong> to Alice's vetting Caller-ID using
Caller-ID <tt>+101</tt> followed by the Auth Token
(e.g., <tt>+10112674591304</tt>).</t>
                </li>
              </ul>
            </li>
            <li>
              <t>Alice's SBC, gateway, or other CIDVV-aware network element recognizes
the <tt>101</tt> prefix in the Calling Party Number and routes the call to
CIDVV_A.</t>
            </li>
            <li>
              <t><strong>CIDVV_A</strong>:
              </t>
              <ul spacing="normal">
                <li>
                  <t>Strips the <tt>101</tt> prefix.</t>
                </li>
                <li>
                  <t>Verifies the Auth Token.</t>
                </li>
                <li>
                  <t>Responds with SIP <strong>486 Busy Here</strong>.</t>
                </li>
                <li>
                  <t>Declares the vetting successful.</t>
                </li>
              </ul>
            </li>
            <li>
              <t>CIDVV_B receives SIP <strong>486 Busy Here</strong> and also declares the vetting successful.</t>
            </li>
          </ol>
          <t>All calls are short signaling-only exchanges. The entire operation MUST complete within the Validity Window.</t>
          <section anchor="multi-number-vetting-optimization-multivetting">
            <name>Multi-Number Vetting Optimization (Multivetting)</name>
            <t>To reduce signaling load when vetting multiple numbers controlled by the same party (Bob), a single Wake call MAY establish shared state. Subsequent Recognize/Auth pairs for additional numbers can then proceed, with the Validity Window refreshed after each successful individual vet.</t>
            <t>In this optimization:</t>
            <ol spacing="normal" type="1"><li>
                <t>Alice performs <strong>one Wake Call</strong> to any of Bob's numbers (or a designated primary vetting number) using her pre-agreed vetting Caller-ID prefixed with <tt>+101</tt>. CIDVV_B creates and caches a session context (tied to Alice's vetting Caller-ID + shared secret).</t>
              </li>
              <li>
                <t>For each number to vet (including the first if desired):  </t>
                <ul spacing="normal">
                  <li>
                    <t>Alice sends the <strong>Recognize Call</strong> using the per-number Recognize Token.</t>
                  </li>
                  <li>
                    <t><strong>CIDVV_B</strong> verifies the token against the current call (using calling number, called number, and the shared secret) and responds with SIP <strong>486 Busy Here</strong> if successful.</t>
                  </li>
                  <li>
                    <t>The per-number <strong>Auth Call</strong> proceeds as in the base flow.</t>
                  </li>
                  <li>
                    <t>Upon successful completion of each individual vet, including the expected SIP <strong>486 Busy Here</strong> responses, both sides refresh/restart the Validity Window for the ongoing session.</t>
                  </li>
                </ul>
              </li>
            </ol>
            <t>Implementations SHOULD enforce a configurable maximum session lifetime
for a multivetting operation, independent of per-vet Validity Window
refreshes.</t>
            <t>This optimization is <strong>OPTIONAL</strong>. Implementations MUST support the base three-call-per-number sequence. Multivetting requires Bob's platform to maintain per-Alice session state. The Wake call establishes "Bob is awake and shares the secret"; Recognize/Auth pairs confirm per-number control.</t>
            <t>All other requirements, including token computation as defined in Section
<xref target="token-computation">Token Computation Algorithm</xref>, per-vet failure
handling, and state isolation as described in Section
<xref target="state-storage">State Storage and Multi-Tenant Isolation</xref>, remain
unchanged.</t>
            <t><strong>Rationale</strong>: This balances efficiency for bulk vetting (e.g., enterprise portfolios or service-provider batch validation) with strong per-number security properties and operational flexibility.</t>
          </section>
          <section anchor="vetting-failure-cases">
            <name>Vetting Failure Cases</name>
            <t>A vetting attempt may fail for the following reasons:</t>
            <ul spacing="normal">
              <li>
                <t>Bob does not have a participating CIDVV platform; Alice's platform may
not receive the expected SIP <strong>603 Decline</strong> response to the Wake Call
or the expected SIP <strong>486 Busy Here</strong> response to the Recognize Call,
and Bob will not initiate a valid Auth Call back to Alice.</t>
              </li>
              <li>
                <t>The shared secret, Alice's vetting Caller-ID, or Validity Window does
not match; the three-call sequence will not produce the expected
SIP 603 + SIP 486 + SIP 486 response pattern.</t>
              </li>
              <li>
                <t>Network or policy restrictions prevent one or more calls from reaching
the remote CIDVV platform.</t>
              </li>
            </ul>
            <t>In all such cases, the vetting attempt MUST be treated as unsuccessful.</t>
            <t>This three-call challenge-response mechanism provides strong confirmation that the remote number is both reachable via the PSTN and controlled by an entity that knows the shared secret.</t>
          </section>
        </section>
      </section>
    </section>
    <section anchor="deployment-considerations">
      <name>Deployment Considerations</name>
      <section anchor="behavior-of-non-cidvv-systems">
        <name>Behavior of Non-CIDVV Systems</name>
        <t>Systems that do not implement CIDVV are not expected to recognize the
CIDVV signaling prefixes. Such systems will typically process these
calls as ordinary calls and may return a wide range of responses.
CIDVV implementations MUST treat any response that does not match the
expected protocol behavior as indicating a non-participating system.</t>
      </section>
      <section anchor="handling-of-cidvv-signaling-calls">
        <name>Handling of CIDVV Signaling Calls</name>
        <t>Networks and SBCs that recognize CIDVV signaling SHOULD prevent calls
with Calling Party Numbers beginning with "100", "101", "+100", or
"+101" from being presented to ordinary end users.</t>
        <t>When a responsible CIDVV platform is available, such calls SHOULD be
routed to that platform for protocol handling. Intermediate networks
SHOULD NOT generate successful CIDVV responses on behalf of a CIDVV
platform unless explicitly configured to do so by the responsible
administrative domain.</t>
        <t>CIDVV signaling calls SHOULD result in a non-success response, commonly
SIP <strong>486 Busy Here</strong> or SIP <strong>603 Decline</strong>, and MUST NOT establish
media.</t>
        <t>Call analytics, labeling, and fraud detection systems SHOULD recognize
these prefixes and treat the calls as protocol signaling rather than
ordinary subscriber traffic.</t>
      </section>
      <section anchor="carrier-incentives-and-sbc-policies">
        <name>Carrier Incentives and SBC Policies</name>
        <t>CIDVV signaling calls are short-lived and do not require media exchange.
They represent a small incremental signaling load compared with the
network cost of fraudulent, spoofed, and nuisance calling.</t>
        <t>Carriers and service providers benefit when call participants can produce
stronger evidence of Caller-ID control. Such signals can support fraud
analytics, traceback, branded-calling programs, customer reputation
systems, and local call-handling policy without requiring intermediate
carriers to make a final identity determination for every call.</t>
        <t>Within the responsible administrative domain for a destination number, an
SBC, proxy, or other CIDVV-aware network element SHOULD recognize calls
where the Calling Party Number begins with <tt>+100</tt>, <tt>+101</tt>, <tt>100</tt>, or
<tt>101</tt> and route such calls to the appropriate CIDVV platform when one is
available.</t>
        <t>If no responsible CIDVV platform is available, the call SHOULD NOT be
presented to an ordinary end user.</t>
        <t>Intermediate networks SHOULD NOT block, rewrite, or specially rate-limit
CIDVV signaling calls solely because the Calling Party Number contains a
CIDVV prefix.</t>
        <t>Intermediate networks SHOULD NOT synthesize responses that would be
interpreted as successful CIDVV behavior unless explicitly configured to
do so by the responsible administrative domain.</t>
        <t>CIDVV signaling calls MUST NOT establish media. If a CIDVV signaling call
would otherwise result in media establishment, the responsible network
element SHOULD terminate the attempt with a non-success response in a way
that does not create a false-positive CIDVV verification result.</t>
      </section>
      <section anchor="signaling-load-and-operational-telemetry">
        <name>Signaling Load and Operational Telemetry</name>
        <t>CIDVV introduces additional signaling traffic, but verification calls are
short signaling-only exchanges and are not intended to establish media.
This makes the verification load materially different from completing and
carrying media for fraudulent, spoofed, or nuisance calls.</t>
        <t>In many deployments, rejecting or classifying unwanted calls at the
signaling layer is preferable to allowing those calls to progress far
enough to consume media resources, alert users, enter contact-center
queues, or trigger downstream fraud-handling workflows. CIDVV gives
terminating platforms an additional real-time signal that can be used
before applying local call-handling policy.</t>
        <t>CIDVV verification traffic can also provide operational telemetry to the
party responsible for an Asserted Caller-ID. If a telephone number is
widely spoofed, verification attempts for that number are routed toward
the responsible platform. This allows the responsible enterprise, service
provider, or delegated CIDVV operator to observe attempted misuse of the
number and identify patterns that may otherwise be difficult to see from
ordinary inbound or outbound call records alone.</t>
        <t>CIDVV telemetry is not, by itself, a complete traceback mechanism and
does not necessarily identify every provider in the original call path.
However, it can provide high-quality traceback leads, including the
Asserted Caller-ID being misused, the called-number payload associated
with the verification attempt, timestamps, response outcomes, and
recurring misuse patterns. Where permitted by law and applicable industry
procedures, this telemetry can be used to support traceback requests,
regulatory referrals, fraud investigations, customer notifications, and
mitigation actions.</t>
        <t>Deployments that store or process CIDVV telemetry need to treat it as
call signaling data and apply appropriate privacy, security, retention,
and access-control policies. Operators should minimize retained data,
limit use to operational, security, fraud-prevention, compliance, and
debugging purposes, and avoid retaining CIDVV telemetry longer than
necessary for those purposes.</t>
        <t>CIDVV-aware SBCs and CIDVV platforms still need appropriate protections
against excessive signaling volume. Deployments SHOULD apply rate limits,
source filtering, anomaly detection, concurrency limits, and capacity
planning appropriate to their traffic profile. Because CIDVV is
incrementally deployable and does not require a coordinated flag day,
participating networks can introduce these controls as deployment grows.</t>
      </section>
      <section anchor="response-variability">
        <name>Response Variability</name>
        <t>Implementations SHOULD interpret responses based on behavioral class
(e.g., Busy-class behavior such as SIP <strong>486 Busy Here</strong> versus
Rejection-class behavior such as SIP <strong>603 Decline</strong>) rather than
relying on exact numeric values. Intermediate networks may translate
or modify response codes, so behavioral class is the preferred signal.</t>
      </section>
      <section anchor="short-term-state-management">
        <name>Short-Term State Management</name>
        <t>CIDVV relies on short-lived state for the (Calling Number, Called Number)
tuple, valid only for the Validity Window. Implementations MUST expire
this state automatically after the Validity Window.</t>
        <t>State used for CIDVV verification MUST be scoped so that unrelated calls,
customers, tenants, or administrative domains cannot satisfy each other's
verification requests.</t>
      </section>
      <section anchor="international-and-cross-border-operation">
        <name>International and Cross-Border Operation</name>
        <t>International calls often experience higher Post-Dial Delay. Vouching
call timeouts SHOULD be adaptive: 3-6 seconds is appropriate for domestic
calls, while 8-20 seconds or more may be needed for international
destinations based on observed PDD.</t>
        <t>Implementations SHOULD choose verification-call timing and retry behavior
based on observed network conditions, especially on international routes.</t>
      </section>
    </section>
    <section anchor="operational-considerations">
      <name>Operational Considerations</name>
      <section anchor="protocol-operation-vouching">
        <name>Protocol Operation - Vouching</name>
        <t>If a vouching call results in a provisional response (e.g., 180
Ringing) or a successful response (200 OK), the platform that initiated
the verification call SHOULD immediately cancel the call and treat the
remote system as not implementing CIDVV.</t>
      </section>
      <section anchor="failure-and-restart-behavior">
        <name>Failure and Restart Behavior</name>
        <t>CIDVV platforms rely on short-lived state. Upon restart or loss of
state, implementations SHOULD continue accepting new call deposits, but
MUST treat verification requests as unsuccessful until fresh matching
state has been deposited.</t>
        <t>Implementations SHOULD fail closed rather than risk false-positive
validation. When verification cannot be performed, implementations SHOULD
return a non-success response, such as a 4xx, 5xx, or 6xx response. SIP
<strong>603 Decline</strong> is commonly used for this purpose.</t>
      </section>
      <section anchor="number-normalization">
        <name>Number Normalization</name>
        <t>All telephone numbers used in CIDVV operations (for caching, token
generation, comparison, etc.) MUST be normalized to a plain digit string
in E.164 format <strong>without any leading "+" sign</strong>.</t>
        <t>CIDVV encodes signaling information in the Calling Party Number. Because
some PSTN and ISDN signaling environments limit the Calling Party Number
to 15 digits, CIDVV values that would exceed this limit are truncated as
specified below.</t>
        <ol spacing="normal" type="1"><li>
            <t>Remove any leading "+" or other punctuation characters (parentheses,
dashes, spaces, etc.).</t>
          </li>
          <li>
            <t>Use the full E.164 representation: country code followed by the
national significant number.</t>
          </li>
          <li>
            <t>No padding is performed. If truncation is required to stay within the
15-digit limit for the Calling Party Number field, always remove
leading digits, preserving the rightmost digits.</t>
          </li>
        </ol>
        <t>The leading <tt>+</tt> sign may be present in SIP signaling or user-facing
displays. It MUST be stripped before any CIDVV processing, tuple storage,
comparison, or token computation.</t>
      </section>
      <section anchor="prefix-preservation">
        <name>Prefix Preservation</name>
        <t>Because CIDVV signaling is carried entirely in the <strong>Calling Party Number</strong> (using the <tt>+100</tt> and <tt>+101</tt> prefixes), it is critical that these prefixes survive network traversal.</t>
        <t>SIP intermediaries, SBCs, and PSTN gateways <strong>SHOULD</strong> preserve the full Calling Party Number, including the leading <tt>100</tt> or <tt>101</tt> prefix, when forwarding CIDVV signaling calls across trusted interfaces.</t>
        <t>If a network element cannot preserve the prefix, it SHOULD respond with a
non-success response, such as SIP <strong>603 Decline</strong>, rather than forwarding
a modified version that would break the protocol.</t>
      </section>
      <section anchor="interaction-with-call-analytics-and-fraud-detection">
        <name>Interaction with Call Analytics and Fraud Detection</name>
        <t>CIDVV signaling calls use Calling Party Number values that may appear
anomalous to call analytics, labeling, and fraud detection systems.</t>
        <t>Systems that support such analytics SHOULD recognize CIDVV signaling
prefixes (e.g., "100" and "101") and treat such calls as protocol
signaling rather than ordinary subscriber traffic.</t>
        <t>CIDVV signaling calls are not intended to be presented to end users
and SHOULD NOT be labeled or blocked as malicious traffic when
processed within cooperating networks.</t>
        <t>Failure to recognize CIDVV signaling may result in increased false
positives or suppression of verification attempts.</t>
      </section>
      <section anchor="edge-cases-and-special-handling">
        <name>Edge Cases and Special Handling</name>
        <section anchor="fan-out">
          <name>Multiple Simultaneous Calls from the Same Caller-ID (Fan-Out)</name>
          <t>In some scenarios, multiple calls may legitimately originate from the
same Asserted Caller-ID to the same called number within a short period
of time (e.g., an office full of people calling a radio contest to be
the "100th caller", a call center, or a political phone bank).</t>
          <t>In such cases, the originating CIDVV platform <strong>MAY</strong> switch to
"multi-call" mode for that (Asserted Caller-ID, Called Number) tuple:</t>
          <ul spacing="normal">
            <li>
              <t>Instead of enforcing strict one-to-one correlation, the platform treats
the tuple as active for the Validity Window.</t>
            </li>
            <li>
              <t>Each new outbound call for that tuple restarts or extends the
expiration timer.</t>
            </li>
            <li>
              <t>The platform keeps the tuple active for the Validity Window, allowing
multiple parallel or closely spaced calls to be vouched successfully.</t>
            </li>
          </ul>
          <t>This "multi-call" mode is an implementation-specific optimization.
Platforms that do not support it MAY reject, rate-limit, or treat as
indeterminate excessive concurrent calls from the same number.</t>
        </section>
        <section anchor="mapped-numbers">
          <name>Forwarded, Translated, and Mapped Numbers</name>
          <t>CIDVV operations depend on the number that the calling party attempted to
reach. In some deployments, that number is not the same number on which
the CIDVV platform ultimately receives the call. Examples include
toll-free translation, DID forwarding, call forwarding, burner numbers,
and other number-mapping services.</t>
          <t>In these cases, the CIDVV platform receiving the call needs reliable
knowledge of the original called number, or a bounded configured set of
possible original called numbers, in order to perform CIDVV successfully.</t>
          <section anchor="vouching-mapped-numbers">
            <name>Vouching Mapped Numbers</name>
            <t>If Alice calls <tt>18005550199</tt> and the call is delivered to Bob's CIDVV
platform on <tt>19495550199</tt>, Alice's CIDVV platform will have cached the
tuple:</t>
            <t>(Alice's Asserted Caller-ID, <tt>18005550199</tt>)</t>
            <t>In that case, Bob's CIDVV platform needs to perform the vouching
procedure using <tt>18005550199</tt> as the called-number value encoded in the
Phase 1 and Phase 2 verification Calling Party Numbers. A vouching
attempt using <tt>19495550199</tt> may fail because Alice's CIDVV platform has
no matching cached state for <tt>19495550199</tt>.</t>
            <t>If Bob's CIDVV platform has reliable knowledge of the original called
number, it SHOULD use that number for vouching. If Bob's platform has a
small configured set of possible original called numbers that may have
delivered the call, it MAY attempt vouching against multiple candidate
called numbers, subject to local rate limits and timeout policy.</t>
            <t>If the original called number is not known, and the candidate set is not
bounded or reliable, Bob's CIDVV platform SHOULD treat the vouching
result as unavailable or indeterminate rather than attempting to vouch
using an unrelated receiving number. Local policy may then allow, label,
bypass, route differently, reject, or otherwise handle the original call.</t>
          </section>
          <section anchor="vetting-mapped-numbers">
            <name>Vetting Mapped Numbers</name>
            <t>Mapped or translated numbers can also affect vetting because the number
Alice attempts to vet may differ from the number on which Bob's CIDVV
platform receives the Wake Call. For example, Alice may attempt to vet
Bob's toll-free number <tt>18005550199</tt>, but the Wake Call may be translated
and delivered to Bob's CIDVV platform on DID <tt>19495550199</tt>.</t>
            <t>Vetting tokens are computed using the number being vetted, not
necessarily the number on which the Wake Call is ultimately received. If
Bob's CIDVV platform has reliable knowledge of the original called number
<tt>18005550199</tt>, it SHOULD compute the Recognize Token and Auth Token using
<tt>18005550199</tt> as the called-number input.</t>
            <t>If Bob's CIDVV platform receives the Wake Call on <tt>19495550199</tt> and has a
bounded, configured mapping from <tt>19495550199</tt> to one or more possible
public numbers, it MAY compute and temporarily cache candidate Recognize
Tokens and Auth Tokens for those mapped numbers.</t>
            <t>When Alice sends the Recognize Call, Bob's CIDVV platform matches the
received token against the cached candidate Recognize Tokens. The matched
candidate identifies which called number Alice is attempting to vet. Bob
then uses the corresponding Auth Token for that same called number when
placing the Auth Call back to Alice.</t>
            <t>If no candidate Recognize Token matches, the vetting attempt MUST fail.</t>
            <t>Candidate-token generation for mapped numbers SHOULD be limited to a
small, configured, authoritative set of mappings. Implementations SHOULD
NOT generate tokens for an unbounded set of possible forwarded,
translated, or indirectly mapped numbers.</t>
          </section>
        </section>
        <section anchor="call-forwarding-diversion">
          <name>Call Forwarding / Diversion</name>
          <t>When the called party (Bob) has forwarded the call to a different
destination, the terminating CIDVV platform at the forwarded destination
may be the platform that performs the vouching procedure.</t>
          <t>In this case, the terminating CIDVV platform SHOULD use the original
called number (Bob's number), when available from diversion or redirection
information (e.g., SIP <tt>Diversion</tt> header or ISDN Redirecting Number
field), as the called-number value encoded in the Calling Party Number of
the return vouch calls.</t>
          <t>The return vouch calls are still directed to Alice's Asserted Caller-ID.
However, their Calling Party Numbers encode Bob's original called number,
for example:</t>
          <ul spacing="normal">
            <li>
              <t>Phase 1: <tt>+100</tt> followed by Bob's number.</t>
            </li>
            <li>
              <t>Phase 2: <tt>+101</tt> followed by Bob's number.</t>
            </li>
          </ul>
          <t>Alice's CIDVV platform can then correlate the verification calls with the
cached state for Alice's original call to Bob. The terminating CIDVV
platform is responsible for performing the vouch on behalf of the
forwarded call destination.</t>
        </section>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>CIDVV verification is probabilistic and based on reachability rather than
cryptographic identity. It is intended to complement, not replace,
mechanisms such as STIR/SHAKEN.</t>
      <t><strong>Important Limitation</strong></t>
      <t>CIDVV specifically addresses Caller-ID spoofing and impersonation. It
does <strong>not</strong> prevent all forms of telephone fraud. Callers who use
numbers they legitimately control can still obtain successful vouches,
even if the calls themselves are fraudulent, abusive, or unwanted.</t>
      <t>Similarly, a malicious or compromised CIDVV platform, carrier, or service
provider could incorrectly vouch for calls using numbers under its
control. However, this does not allow that platform to vouch for
arbitrary third-party numbers unless it can also receive verification
calls for those numbers. The scope of the failure is therefore limited to
the numbers and routing authority controlled by that platform or
provider.</t>
      <t>These cases are outside the scope of the spoofing protection CIDVV
provides.</t>
      <t>CIDVV's security properties derive primarily from the difficulty a
spoofing caller faces in receiving calls at the Asserted Caller-ID, which
is the number being vouched.</t>
      <t>CIDVV validates reachability within a short Validity Window rather than
providing strict per-call correlation. As a result, a successful vouch
indicates that at least one matching call attempt occurred within the
Validity Window, not necessarily that a specific verification call maps
one-to-one to a specific original call leg.</t>
      <t>The use of distinct response patterns across the two verification calls
-- Phase 1 with the "100" prefix expecting a Busy-class response, and
Phase 2 with the "101" prefix expecting a Rejection-class response --
increases resistance to false-positive validation caused by common
network behaviors.</t>
      <section anchor="trust-model">
        <name>Trust Model</name>
        <t>CIDVV assumes that:</t>
        <ul spacing="normal">
          <li>
            <t>The PSTN routes calls for a telephone number to the responsible service
provider, administrative domain, or platform serving that number.</t>
          </li>
          <li>
            <t>A CIDVV platform acting for the Asserted Caller-ID can receive
verification calls directed to that Caller-ID and route them to the
appropriate CIDVV processing function.</t>
          </li>
          <li>
            <t>A CIDVV platform performing vouching for the called party can originate
short return signaling calls toward the Asserted Caller-ID.</t>
          </li>
          <li>
            <t>Intermediate networks may modify signaling but will generally preserve
sufficient information to allow correlation of requests and responses.</t>
          </li>
          <li>
            <t>CIDVV verification traffic related to attempted use of a telephone
number as an Asserted Caller-ID is routed toward the party responsible
for that number.</t>
          </li>
        </ul>
        <t>CIDVV does not assume that Caller-ID values are trustworthy; instead, it
verifies control through network reachability.</t>
      </section>
      <section anchor="replay-and-ride-along-attacks">
        <name>Replay and Ride-Along Attacks</name>
        <t>CIDVV relies on short-lived state to correlate signaling exchanges. This
significantly limits the window for replay and ride-along attacks.</t>
        <t><strong>Replay Attacks</strong></t>
        <t>A party that observes a successful verification exchange cannot
effectively replay it after the cached state expires. Implementations
<strong>MUST</strong> expire cached state quickly. A recommended default is <strong>10
seconds</strong>, although longer values (e.g., 15-30 seconds) <strong>MAY</strong> be used
for international or high-latency routes.</t>
        <t>Implementations <strong>MUST</strong> reject verification attempts that do not match
recent, valid cached state.</t>
        <t><strong>Ride-Along Attacks</strong></t>
        <t>A ride-along attack is limited to the same correlation tuple used for
vouching: the Asserted Caller-ID, the called number, and the Validity
Window. A successful vouch for one called number does not allow a caller
to vouch calls to other destinations, and a successful vouch for one
Asserted Caller-ID value does not apply to other Asserted Caller-ID
values.</t>
        <t>A spoofing caller might attempt to place an additional call using the
same Asserted Caller-ID to the same called number while matching cached
state is still valid. Because the originating CIDVV platform controls how
long cached state remains valid, implementers have flexibility in
mitigation:</t>
        <ul spacing="normal">
          <li>
            <t>An implementation <strong>MAY</strong> delete or expire the cached state immediately
after successfully processing the Phase 1 ("100") verification call and
responding with a Busy-class response.</t>
          </li>
          <li>
            <t>An implementation <strong>MAY</strong> keep the cached state active for the Validity
Window to support legitimate parallel or closely spaced calls from the
same Asserted Caller-ID to the same called number.</t>
          </li>
        </ul>
        <t>The choice of when to expire or delete state is left to the implementer,
as it involves a trade-off between reducing ride-along opportunities and
supporting legitimate simultaneous-call or fan-out behavior.</t>
      </section>
      <section anchor="spoofing-resistance">
        <name>Spoofing Resistance</name>
        <t>CIDVV improves resistance to spoofing by requiring the party asserting a
Caller-ID to successfully receive and respond to a return call routed via
the PSTN. If a caller attempts to impersonate Alice's Caller-ID without
being able to receive calls for Alice's number, the verification call
will normally be routed to the party responsible for Alice's number
rather than to the impersonating caller. As a result, the impersonating
caller cannot complete the vouching process under normal routing
conditions.</t>
      </section>
      <section anchor="denial-of-service">
        <name>Denial of Service</name>
        <t>CIDVV introduces additional signaling traffic, and deployments need to
account for the possibility of excessive or malicious verification
attempts. Because CIDVV vouching traffic is related to ordinary call
traffic, high call volumes may legitimately produce high verification
volumes.</t>
        <t>CIDVV can also expose useful telemetry about telephone-number usage. For
example, if a widely spoofed enterprise number is asserted on many calls,
CIDVV verification attempts may cause the responsible enterprise or
service provider to receive a large volume of return verification calls.
This traffic can help identify spoofing activity, but it can also create
operational load on the CIDVV platform and serving network.</t>
        <t>Denial-of-service protection is therefore a deployment responsibility
shared by CIDVV platforms, SBCs, proxies, gateways, and other responsible
network elements.</t>
        <t>Deployments SHOULD apply appropriate ingress controls at the SBC, proxy,
or other network edge, including rate limits, source filtering, anomaly
detection, and protection against repeated invalid or abusive signaling
patterns. Such controls SHOULD be designed so that high-volume legitimate
enterprise traffic and high-volume spoofing telemetry can be observed
without overwhelming the CIDVV platform.</t>
        <t>CIDVV platforms MUST bound resource usage for temporary state. For
example, implementations MUST limit the number of concurrent cache
entries, expire old entries automatically, and avoid retaining state
beyond the Validity Window except where explicitly required by local
policy.</t>
        <t>CIDVV platforms SHOULD fail closed under resource exhaustion. If a
platform cannot safely allocate state or process a verification request,
it SHOULD treat the verification as unsuccessful or indeterminate rather
than returning a response that could create a false-positive vouch.</t>
        <t>Deployments SHOULD monitor CIDVV signaling volume and error patterns,
especially repeated unsuccessful attempts, unexpected response patterns,
traffic inconsistent with normal call volume, or sudden increases in
verification traffic for particular Asserted Caller-ID values.</t>
      </section>
      <section anchor="amplification-and-reflection">
        <name>Amplification and Reflection</name>
        <t>Like other dialback mechanisms, CIDVV creates reflection risk because a
call using a spoofed Asserted Caller-ID can cause verification traffic to
be directed toward the party responsible for that number. CIDVV does not
eliminate this risk. Instead, it is designed to keep each verification
event bounded: vouching normally generates only two short signaling-only
verification calls, those calls are expected to terminate with non-success
responses, and they MUST NOT establish media.</t>
        <t>Deployments that initiate CIDVV verification calls SHOULD limit their own
contribution to reflection traffic through local policy, including rate
limits, concurrency limits, retry limits, suppression of repeated failed
attempts, and bounded candidate sets for mapped or forwarded numbers.
These controls reduce the amount of verification traffic generated by any
single terminating deployment, but they do not by themselves protect a
number owner whose Caller-ID is being spoofed across many independent
terminating networks.</t>
        <t>The party responsible for an Asserted Caller-ID therefore also needs
ingress protections at its SBC, proxy, or CIDVV platform. Such protections
can include recognition of CIDVV prefixes, routing CIDVV signaling calls
away from ordinary users, rate limiting, source filtering, anomaly
detection, capacity planning, and summarization or sampling of telemetry
during high-volume spoofing events.</t>
        <t>Incremental deployment also affects this risk model. CIDVV does not
require a coordinated flag day, so verification traffic is expected to
grow gradually as additional terminating platforms deploy the protocol.
Enterprises and service providers whose numbers are frequently spoofed
may begin seeing CIDVV verification attempts before they fully participate
in CIDVV themselves. This creates an incentive to recognize CIDVV
prefixes, route such traffic to an appropriate platform, apply ingress
controls, and use the resulting telemetry for spoofing detection and
mitigation.</t>
        <t>CIDVV verification traffic can provide useful telemetry about attempted
misuse of a number, but deployments need to treat that telemetry path as
an operational interface that may receive abusive or high-volume traffic.
These mitigations do not remove all reflection risk, but they are intended
to keep CIDVV signaling bounded, non-media-bearing, observable, and
manageable during incremental deployment.</t>
      </section>
      <section anchor="response-code-manipulation">
        <name>Response Code Manipulation</name>
        <t>CIDVV does not require specific SIP response codes to be preserved
end-to-end, but it does require that distinct response behaviors
(e.g., Busy-class vs. Rejection-class behavior) remain distinguishable.</t>
        <t>Implementations MUST interpret responses based on behavioral class
(e.g., Busy-class vs. Rejection-class) rather than exact numeric
values.</t>
        <t>Intermediate networks and gateways SHOULD NOT translate, synthesize, or
normalize responses in a way that causes an unsuccessful CIDVV response
to be interpreted as successful CIDVV behavior.</t>
      </section>
      <section anchor="data-privacy">
        <name>Data Privacy</name>
        <t>CIDVV uses telephone numbers and related call metadata as part of normal
signaling behavior. CIDVV may also create operational telemetry about
attempted use of telephone numbers as Asserted Caller-ID values, including
successful and unsuccessful verification attempts.</t>
        <t>Deployments SHOULD handle CIDVV signaling records, verification logs, and
related telemetry according to their normal privacy, security, retention,
and access-control policies for call signaling data.</t>
        <t>In jurisdictions with data-protection requirements, CIDVV telemetry may
constitute personal data or communications metadata. Deployments are
expected to process such telemetry under an appropriate legal basis and
with suitable purpose limitation, minimization, retention, access-control,
and security safeguards.</t>
        <t>Implementations SHOULD minimize retention of CIDVV telemetry where
practical. Temporary state used for CIDVV verification MUST be short
lived and automatically expired.</t>
        <t>Where operationally practical, access to CIDVV logs and telemetry SHOULD
be limited to systems and personnel responsible for operations, security,
fraud prevention, debugging, or compliance.</t>
      </section>
      <section anchor="token-and-shared-secret-security-vetting">
        <name>Token and Shared-Secret Security (Vetting)</name>
        <t>The security of the vetting mechanism depends on the shared secret and
the derived Recognize and Auth Tokens. Tokens MUST be computed as
specified in Section <xref target="token-computation">Token Computation Algorithm</xref>.</t>
        <t>Shared secrets used for vetting MAY be long-lived configuration values.
For example, a vetting agent and a number owner might retain the same
shared secret in order to perform periodic or recurring vetting of the
same customer numbers.</t>
        <t>Implementations MUST protect shared secrets from disclosure. If a shared
secret is disclosed, a third party may be able to complete vetting
challenges for the vetting relationships and numbers covered by that
secret. Disclosure of a vetting shared secret does not, by itself, allow
the third party to successfully vouch for calls, because vouching also
requires reachability and valid call state for the Asserted Caller-ID.</t>
        <t>Recognize and Auth Tokens MUST be valid only within the Validity Window
and MUST be automatically expired.</t>
        <t>Implementations SHOULD use sufficiently long and random shared secrets.
Deployments SHOULD scope shared secrets to the appropriate customer,
tenant, number owner, or vetting relationship, and SHOULD support
rotation or revocation if a secret is suspected to be disclosed.</t>
      </section>
      <section anchor="failure-modes">
        <name>Failure Modes</name>
        <t>CIDVV implementations MUST fail closed. If verification cannot be
completed due to network errors, state loss, synchronization delay,
resource exhaustion, or unexpected responses, the result MUST be treated
as unverified or indeterminate rather than successful.</t>
        <t>CIDVV platforms commonly rely on short-lived state with automatic
expiration. After a restart or loss of temporary state, the platform MAY
continue accepting new call notifications, but it MUST NOT successfully
verify calls until fresh matching state has been deposited. During this
recovery interval, legitimate calls may fail to receive a successful
vouch, but calls without matching state will not be falsely vouched.</t>
        <t>Distributed CIDVV deployments may include multiple ingress points,
geographically diverse SBCs, or replicated state stores. If a verification
call reaches a CIDVV processing node before the relevant call state has
been replicated to that node, the verification MUST fail closed.</t>
        <t>Deployments that use distributed state SHOULD ensure that call-deposit
state is available to all CIDVV nodes that may receive subsequent
verification calls within the Validity Window. Implementations MAY delay
advancing the original call briefly, use synchronous replication, use
sticky routing, or apply other local mechanisms to reduce the chance that
a valid verification call arrives before matching state is available.</t>
      </section>
      <section anchor="interoperability-risks">
        <name>Interoperability Risks</name>
        <t>CIDVV operates across heterogeneous networks, including SIP and SS7/TDM
environments. Intermediate systems may modify Calling Party Number
values, truncate digits, alter response codes, or otherwise change
signaling behavior.</t>
        <t>These behaviors may cause verification to fail. Implementations MUST
treat ambiguous, altered, missing, or inconsistent signaling as
unsuccessful or indeterminate rather than allowing false-positive
validation.</t>
        <t>Deployments SHOULD test CIDVV behavior across the specific carriers,
gateways, SBCs, and interworking paths used in their environment,
especially where Calling Party Number preservation, digit truncation, or
response-class translation may occur.</t>
      </section>
      <section anchor="residual-risk">
        <name>Residual Risk</name>
        <t>CIDVV improves resistance to Caller-ID spoofing but does not provide
absolute identity assurance. It reduces the effectiveness of spoofing by
testing reachability and response behavior for the Asserted Caller-ID
within a short Validity Window.</t>
        <t>CIDVV does not prove the intent, legitimacy, or trustworthiness of the
caller. A caller using a number it legitimately controls may still place
fraudulent, abusive, or unwanted calls and receive successful vouches for
that number.</t>
        <t>CIDVV should therefore be treated as one verification signal among
multiple inputs to call-handling, fraud-prevention, analytics, reputation,
or policy systems.</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-informative-references">
      <name>Informative References</name>
      <reference anchor="I-D.rosenberg-stir-callback">
        <front>
          <title>Bootstrapping STIR Deployments with Self-Signed Certs and Callbacks</title>
          <author fullname="Jonathan Rosenberg" initials="J." surname="Rosenberg">
            <organization>Cisco Systems</organization>
          </author>
          <author fullname="Cullen Fluffy Jennings" initials="C. F." surname="Jennings">
            <organization>Cisco Systems</organization>
          </author>
          <date day="1" month="March" year="2018"/>
          <abstract>
            <t>   Robocalling has become an increasing problem in the Public Switched
   Telephone Network (PSTN).  A partial remedy for it is the provision
   of an authenticated caller ID in the PSTN, which today is lacking.
   Secure Telephone Identity Revisited (STIR) provides this through the
   usage of signed payloads in Session Initiation Protocol (SIP) calls.
   However, STIR deployment requires a global certificate system which
   allows for worldwide issuance of certifications that attest to which
   numbers a provider is responsible for.  Such a system is likely to
   take years to rollout.  To accelerate STIR deployment, this draft
   proposes a technique wherein STIR can be used without certificates
   that attest to number ownership.  This is done through a combination
   of self-signed certificates, reverse callbacks and cached
   validations.

            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-rosenberg-stir-callback-00"/>
      </reference>
      <reference anchor="I-D.hao-civ">
        <front>
          <title>Caller ID Verification In Heterogeneous Telecommunication Networks</title>
          <author fullname="Feng Hao" initials="F." surname="Hao">
            <organization>University of Warwick</organization>
          </author>
          <author fullname="Basil Thomas" initials="B." surname="Thomas">
            <organization>Squire Technologies Ltd</organization>
          </author>
          <author fullname="Stephen Smith" initials="S." surname="Smith">
            <organization>trueCall Ltd</organization>
          </author>
          <author fullname="Muhammad Ajmal Azad" initials="M. A." surname="Azad">
            <organization>Birmingham City University</organization>
          </author>
          <author fullname="Shen Wang" initials="S." surname="Wang">
            <organization>University of Warwick</organization>
          </author>
          <date day="17" month="June" year="2026"/>
          <abstract>
            <t>   This document defines an extension to the INVITE header of the
   Session Initiation Protocol (SIP) to support a Caller ID Verification
   (CIV) method.  CIV authenticates the caller ID of an incoming call
   through a challenge-and-response process across both IP and non-IP
   networks without requiring a trusted third party or a public key
   infrastructure.  When receiving a call with a claimed phone number,
   the called party holds the call and sends a quickly terminated INVITE
   request (like a flash call) to that number, carrying a short 4-digit
   challenge embedded as part of the caller ID.  A genuine caller would
   receive the challenge and respond by echoing the same digits, e.g.,
   through DTMF (Dual-Tone Multi-Frequency).  The proposed extension
   involves two changes to the INVITE header.  First, it adds a new
   option tag, "civ", in the Supported header field of the INVITE
   request.  This tag allows the calling party to indicate support for
   CIV in the initial call.  Second, it adds a special value "civ-veri-
   call" for the Purpose parameter of the Call-Info header field.  This
   value allows the called party to make a verification call, indicating
   the purpose of the call is to transmit a challenge rather than
   establish a phone conversation.  CIV uses the standard Session-ID
   header in the INVITE request to allow the calling party to explicitly
   match the verification call with the initial call.  Whilst this
   document focuses on IP networks, the same CIV protocol also works
   with non-IP networks (e.g., SS7) by including the "civ" tag, the
   "civ-veri-call" value and the session ID in the User-to-User
   Information (UUI) parameter.

            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-hao-civ-03"/>
      </reference>
      <reference anchor="RFC8816">
        <front>
          <title>Secure Telephone Identity Revisited (STIR) Out-of-Band Architecture and Use Cases</title>
          <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
          <author fullname="J. Peterson" initials="J." surname="Peterson"/>
          <date month="February" year="2021"/>
          <abstract>
            <t>The Personal Assertion Token (PASSporT) format defines a token that can be carried by signaling protocols, including SIP, to cryptographically attest the identity of callers. However, not all telephone calls use Internet signaling protocols, and some calls use them for only part of their signaling path, while some cannot reliably deliver SIP header fields end-to-end. This document describes use cases that require the delivery of PASSporT objects outside of the signaling path, and defines architectures and semantics to provide this functionality.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8816"/>
        <seriesInfo name="DOI" value="10.17487/RFC8816"/>
      </reference>
      <reference anchor="RFC9888">
        <front>
          <title>Out-of-Band Secure Telephone Identity Revisited (STIR) for Service Providers</title>
          <author fullname="J. Peterson" initials="J." surname="Peterson"/>
          <date month="June" year="2026"/>
          <abstract>
            <t>The Secure Telephone Identity Revisited (STIR) framework defines means of carrying its Personal Assertion Tokens (PASSporTs) either in-band, within the headers of a Session Initiation Protocol (SIP) request, or out-of-band, through a service that stores PASSporTs for retrieval by relying parties. This specification defines a way that the out-of-band conveyance of PASSporTs can be used to support large service providers for cases in which in-band STIR conveyance is not universally available.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9888"/>
        <seriesInfo name="DOI" value="10.17487/RFC9888"/>
      </reference>
    </references>
    <?line 1785?>

<section anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The authors thank contributors to telephony security research and PSTN infrastructure development.</t>
    </section>
    <section anchor="appendix-changes-from-previous-version">
      <name>Appendix: Changes from Previous Version</name>
      <t>RFC Editor: Please remove this section before publication as an RFC.</t>
      <section anchor="changes-since-draft-anderson-askew-cidvv-00-may-2026">
        <name>Changes since draft-anderson-askew-cidvv-00 (May 2026)</name>
        <ul spacing="normal">
          <li>
            <t>Minor editorial improvements and clarifications throughout the document.</t>
          </li>
          <li>
            <t>Made both Vouching calls required and renamed them as "Phase 1" and "Phase 2" for clarity.</t>
          </li>
          <li>
            <t>Updated termination handling so that Busy-class and Rejection-class responses, with canonical SIP <strong>486 Busy Here</strong> and SIP <strong>603 Decline</strong> behavior, are used for CIDVV verification signaling.</t>
          </li>
          <li>
            <t>Added a third call to the Vetting process to ensure Alice and Bob each trust that the other possesses the shared secret.</t>
          </li>
          <li>
            <t>Added optional Multi-Number Vetting optimization.</t>
          </li>
          <li>
            <t>Added Related Work, Signaling Load, Operational Telemetry, Amplication, and Reflection sections.</t>
          </li>
          <li>
            <t>Added this "Changes from Previous Version" appendix to support long-term document maintenance across multiple revisions.</t>
          </li>
          <li>
            <t>Improved Abstract, Introduction, and call flow.</t>
          </li>
        </ul>
      </section>
    </section>
  </back>
  <!-- ##markdown-source:
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
E4t3vRTwc5g2ndENFZr/vwHgWSbHxWwBAA==

-->

</rfc>
