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


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

]>


<rfc ipr="trust200902" docName="draft-sliwa-stir-cert-cps-ext-00" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="CPS URI Certificate Extension">Call Placement Service (CPS) URI Certificate Extension for STI Certificates</title>

    <author fullname="Rob Sliwa">
      <organization>Somos Inc.</organization>
      <address>
        <email>robjsliwa@gmail.com</email>
      </address>
    </author>
    <author fullname="Chris Wendt">
      <organization>Somos Inc.</organization>
      <address>
        <email>chris@appliedbits.com</email>
      </address>
    </author>

    <date year="2025" month="September" day="05"/>

    <area>Applications and Real-Time</area>
    <workgroup>Secure Telephone Identity Revisited</workgroup>
    <keyword>stir</keyword> <keyword>certificates</keyword> <keyword>delegate certificates</keyword>

    <abstract>


<?line 91?>

<t>This document specifies a non-critical X.509 v3 certificate extension that conveys the HTTPS URI of a Call Placement Service (CPS) associated with the telephone numbers authorized in a STIR Delegate Certificate. The extension enables originators and verifiers of STIR PASSporTs to discover, with a single certificate lookup, where Out-of-Band (OOB) PASSporTs can be retrieved. The mechanism removes bilateral CPS provisioning, allows ecosystem-scale discovery backed by STI Certificate Transparency (STI-CT), and is fully backward compatible with existing STIR certificates and OOB APIs.</t>



    </abstract>

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


  </front>

  <middle>


<?line 95?>

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

<t>The STIR (Secure Telephone Identity Revisited) framework provides a means of cryptographically asserting the identity of the calling party in a telephone call by using PASSporTs carried in SIP requests, as defined in <xref target="RFC8224"/> and <xref target="RFC8225"/>. To support deployment in environments where SIP Identity headers may be removed or are not end-to-end transmittable, such as in non-IP or hybrid telephony networks, the STIR Out-of-Band (OOB) mechanism was introduced in <xref target="RFC8816"/>. In OOB scenarios, PASSporTs are published to a Call Placement Service (CPS) where they may be retrieved independently of the SIP signaling path.</t>

<t>To enable discovery of the appropriate CPS for a given telephone number or SPC, this document defines a certificate extension that binds a CPS URI to the identity resources listed in the TNAuthList of the STI certificate. This CPS URI extension provides a verifiable association between a number resource and its corresponding CPS, enabling relying parties to discover CPS endpoints by observing STI Certificate Transparency (STI-CT) logs defined in <xref target="I-D.wendt-stir-certificate-transparency"/>.</t>

<t>This specification defines the syntax and semantics of the CPS URI certificate extension, describes how it is encoded in <xref target="X.509"/> certificates also defined in <xref target="RFC5280"/>, and outlines validation procedures for Certification Authorities and relying parties. This extension is intended to be used in conjunction with existing STIR certificates defined in <xref target="RFC8226"/> and delegate certificates defined in <xref target="RFC9060"/> infrastructure, and supports enhanced transparency and automation in OOB PASSporT routing.</t>

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

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

<?line -18?>

</section>
<section anchor="the-id-pe-cpsuri-certificate-extension"><name>The id-pe-cpsURI Certificate Extension</name>

<t>This <xref target="X.509"/> extension is non-critical, applicable only to end-entity certificates, and defined with ASN.1 <xref target="X.680"/> <xref target="X.681"/> <xref target="X.682"/> <xref target="X.683"/> later in this section.</t>

<t>This extension is intended for use in end-entity STI certificates <xref target="RFC8226"/> and delegate certificates <xref target="RFC9060"/> that include TNAuthList values authorizing the use of specific telephone numbers or Service Provider Codes (SPCs). The CPS URI extension provides a means for the certificate holder to declare the HTTPS endpoint of a Call Placement Service (CPS) defined in <xref target="RFC8816"/> that can be used to publish or retrieve PASSporTs for the covered resources.</t>

<t>The presence of this extension allows relying parties to discover the CPS associated with a given telephone number without relying on static configuration or bilateral agreements. This facilitates scalable and verifiable Out-of-Band PASSporT delivery as defined in <xref target="RFC8816"/>, using information already published in publicly logged STI certificates.</t>

<t>The extension is encoded as an IA5String containing an absolute HTTPS URI and is identified by an object identifier (OID) assigned in the PKIX id-pe arc. Additional details about the encoding, semantics, and validation rules for the CPS URI are defined in the sections below.</t>

<section anchor="asn1-module-syntax"><name>ASN.1 Module Syntax</name>

<t>The extension ASN.1 module is defined as follows:</t>

<figure><artwork><![CDATA[
CPS-CERT-EXTENSION DEFINITIONS EXPLICIT TAGS ::=
BEGIN

id-pe OBJECT IDENTIFIER ::=
  { iso(1) identified-organization(3) dod(6) internet(1)
    security(5) mechanisms(5) pkix(7) 1 }

id-pe-cpsURI OBJECT IDENTIFIER ::= { id-pe TBD }

CPSURI ::= IA5String

END
]]></artwork></figure>

<t>Certificates containing a CPSURI that is not an absolute HTTPS URI as defined in <xref target="RFC3986"/> <bcp14>MUST</bcp14> be considered invalid by relying parties.</t>

<t>Note: The numeric assignment TBD is temporary. IANA will allocate a permanent arc under "PKIX SubjectPublicKeyInfo Certificate Extensions" during RFC publication.</t>

</section>
<section anchor="extension-semantics"><name>Extension Semantics</name>

<t>The IA5String value <bcp14>MUST</bcp14> be an absolute URI <xref target="RFC3986"/> that:</t>

<t><list style="symbols">
  <t>Uses the "https" scheme.</t>
  <t>Identifies the root of the CPS HTTPS API interface (e.g., "https://cps.example.net/oob/v1").</t>
</list></t>

</section>
<section anchor="criticality"><name>Criticality</name>

<t>The extension <bcp14>MUST</bcp14> be marked non-critical so that implementations that do not understand it can still validate the certificate.</t>

</section>
<section anchor="processing-rules"><name>Processing Rules</name>

<t><list style="symbols">
  <t>A STIR Authentication Service (AS), defined in <xref target="RFC8224"/>, that holds a Delegate Certificate containing id-pe-cpsURI <bcp14>SHOULD</bcp14> publish OOB PASSporTs to the indicated CPS.</t>
  <t>A STIR Verification Service (VS), defined in <xref target="RFC8224"/> that receives a PASSporT signed by such a certificate <bcp14>MAY</bcp14> derive the CPS endpoint by reading the extension, or <bcp14>MAY</bcp14> query an external discovery directory that is populated by monitoring the STI-CT logs.</t>
  <t>If the extension and an external directory disagree, verifiers <bcp14>SHOULD</bcp14> treat the call as unverifiable unless local policy states otherwise.</t>
</list></t>

<t>Relying parties <bcp14>SHOULD</bcp14> ensure that the certificate containing the CPS URI is present in a trusted Certificate Transparency log before using the URI for OOB operations.</t>

</section>
</section>
<section anchor="use-with-out-of-band"><name>Use with Out-of-Band</name>

<t>Figure 1 shows the message flow when the extension is present:</t>

<figure><artwork><![CDATA[
   +------------+ (1) ACME w/ Authority Tokens +-----------+
   | Enterprise |----------------------------->|  CA / CT  |
   +------------+ Delegate Cert w/ CPS URI ext +-----------+
          |                                       |    |
          |      (2) SIP INVITE + PASSporT        |    |
          v                                       |    |
   +-----------+ (3) GET CPS/PASSporT via HTTPS   |    |
   |  VS/CPS   |<---------------------------------+    |
   +-----------+                                       |
          ^                                            |
          |                                   +------------+ 
          +-----------------------------------| CT Monitor |
                                              +------------+ 
Figure 1
]]></artwork></figure>

<t><list style="numbers" type="1">
  <t>The enterprise obtains a Delegate Certificate containing the CPS URI. The CA submits the certificate to STI-CT.</t>
  <t>On each call, the AS signs a PASSporT with Delegate Certificate containing SCT.</t>
  <t>The terminating VS reads the CPS URI from the certificate and fetches the PASSporT.</t>
</list></t>

</section>
<section anchor="operational-considerations"><name>Operational Considerations</name>

<t><list style="symbols">
  <t>Logging: CAs issuing certificates with id-pe-cpsURI <bcp14>MUST</bcp14> submit the certificate to STI-CT logs.</t>
  <t>Rotation: Changing a CPS hostname or path requires certificate re-issuance. Operators <bcp14>SHOULD</bcp14> minimize TTLs on old URIs during migration.</t>
  <t>Monitoring: Relying parties and CPS discovery services <bcp14>SHOULD</bcp14> monitor trusted STI-CT logs for new or updated CPS URI declarations to ensure timely access and detect misconfiguration.</t>
</list></t>

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

<t>The CPS URI certificate extension introduces a mechanism for associating telephone number resources with CPS endpoints through STI certificates. The following considerations apply:</t>

<t><list style="symbols">
  <t>Misuse or Misissuance: A malicious or misconfigured entity may include a CPS URI in a certificate without authorization for the corresponding TNAuthList resources. Certification Authorities (CAs) <bcp14>MUST</bcp14> validate that the entity requesting the certificate has authority over the listed numbers or SPCs before issuing the certificate.</t>
  <t>URI Integrity: The CPS URI is not digitally signed independently of the certificate. Relying parties <bcp14>MUST</bcp14> validate the entire certificate chain and ensure the certificate is properly logged in a Certificate Transparency log before using the URI.</t>
  <t>Certificate Expiry and Revocation: CPS URI information may become outdated due to certificate expiration or revocation. Relying parties <bcp14>SHOULD</bcp14> evaluate certificate validity and revocation status when interpreting CPS mappings.</t>
  <t>Log Availability and Monitoring: Relying parties that depend on CT log monitoring for CPS discovery <bcp14>SHOULD</bcp14> monitor multiple trusted logs to ensure timely detection of CPS declarations and prevent omission attacks.</t>
  <t>Information Exposure: The publication of CPS URIs in publicly logged certificates may reveal deployment metadata. This exposure is consistent with existing STIR delegate certificate practices and does not introduce additional privacy risk beyond what is already present in TNAuthList usage.</t>
</list></t>

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

<t>IANA is requested to assign a new object identifier (OID) for the CPS URI certificate extension in the "PKIX Extension Registry" as follows:</t>

<t><list style="symbols">
  <t>Name: id-pe-cpsURI</t>
  <t>OID: to be assigned</t>
  <t>Description: Certificate extension for specifying a Call Placement Service (CPS) URI for STIR Out-of-Band PASSporTs</t>
  <t>Reference: This document</t>
</list></t>

</section>


  </middle>

  <back>



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



<reference anchor="RFC3986">
  <front>
    <title>Uniform Resource Identifier (URI): Generic Syntax</title>
    <author fullname="T. Berners-Lee" initials="T." surname="Berners-Lee"/>
    <author fullname="R. Fielding" initials="R." surname="Fielding"/>
    <author fullname="L. Masinter" initials="L." surname="Masinter"/>
    <date month="January" year="2005"/>
    <abstract>
      <t>A Uniform Resource Identifier (URI) is a compact sequence of characters that identifies an abstract or physical resource. This specification defines the generic URI syntax and a process for resolving URI references that might be in relative form, along with guidelines and security considerations for the use of URIs on the Internet. The URI syntax defines a grammar that is a superset of all valid URIs, allowing an implementation to parse the common components of a URI reference without knowing the scheme-specific requirements of every possible identifier. This specification does not define a generative grammar for URIs; that task is performed by the individual specifications of each URI scheme. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="STD" value="66"/>
  <seriesInfo name="RFC" value="3986"/>
  <seriesInfo name="DOI" value="10.17487/RFC3986"/>
</reference>
<reference anchor="RFC5280">
  <front>
    <title>Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile</title>
    <author fullname="D. Cooper" initials="D." surname="Cooper"/>
    <author fullname="S. Santesson" initials="S." surname="Santesson"/>
    <author fullname="S. Farrell" initials="S." surname="Farrell"/>
    <author fullname="S. Boeyen" initials="S." surname="Boeyen"/>
    <author fullname="R. Housley" initials="R." surname="Housley"/>
    <author fullname="W. Polk" initials="W." surname="Polk"/>
    <date month="May" year="2008"/>
    <abstract>
      <t>This memo profiles the X.509 v3 certificate and X.509 v2 certificate revocation list (CRL) for use in the Internet. An overview of this approach and model is provided as an introduction. The X.509 v3 certificate format is described in detail, with additional information regarding the format and semantics of Internet name forms. Standard certificate extensions are described and two Internet-specific extensions are defined. A set of required certificate extensions is specified. The X.509 v2 CRL format is described in detail along with standard and Internet-specific extensions. An algorithm for X.509 certification path validation is described. An ASN.1 module and examples are provided in the appendices. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="5280"/>
  <seriesInfo name="DOI" value="10.17487/RFC5280"/>
</reference>
<reference anchor="RFC8224">
  <front>
    <title>Authenticated Identity Management in the Session Initiation Protocol (SIP)</title>
    <author fullname="J. Peterson" initials="J." surname="Peterson"/>
    <author fullname="C. Jennings" initials="C." surname="Jennings"/>
    <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
    <author fullname="C. Wendt" initials="C." surname="Wendt"/>
    <date month="February" year="2018"/>
    <abstract>
      <t>The baseline security mechanisms in the Session Initiation Protocol (SIP) are inadequate for cryptographically assuring the identity of the end users that originate SIP requests, especially in an interdomain context. This document defines a mechanism for securely identifying originators of SIP requests. It does so by defining a SIP header field for conveying a signature used for validating the identity and for conveying a reference to the credentials of the signer.</t>
      <t>This document obsoletes RFC 4474.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8224"/>
  <seriesInfo name="DOI" value="10.17487/RFC8224"/>
</reference>
<reference anchor="RFC8225">
  <front>
    <title>PASSporT: Personal Assertion Token</title>
    <author fullname="C. Wendt" initials="C." surname="Wendt"/>
    <author fullname="J. Peterson" initials="J." surname="Peterson"/>
    <date month="February" year="2018"/>
    <abstract>
      <t>This document defines a method for creating and validating a token that cryptographically verifies an originating identity or, more generally, a URI or telephone number representing the originator of personal communications. The Personal Assertion Token, PASSporT, is cryptographically signed to protect the integrity of the identity of the originator and to verify the assertion of the identity information at the destination. The cryptographic signature is defined with the intention that it can confidently verify the originating persona even when the signature is sent to the destination party over an insecure channel. PASSporT is particularly useful for many personal-communications applications over IP networks and other multi-hop interconnection scenarios where the originating and destination parties may not have a direct trusted relationship.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8225"/>
  <seriesInfo name="DOI" value="10.17487/RFC8225"/>
</reference>
<reference anchor="RFC8226">
  <front>
    <title>Secure Telephone Identity Credentials: Certificates</title>
    <author fullname="J. Peterson" initials="J." surname="Peterson"/>
    <author fullname="S. Turner" initials="S." surname="Turner"/>
    <date month="February" year="2018"/>
    <abstract>
      <t>In order to prevent the impersonation of telephone numbers on the Internet, some kind of credential system needs to exist that cryptographically asserts authority over telephone numbers. This document describes the use of certificates in establishing authority over telephone numbers, as a component of a broader architecture for managing telephone numbers as identities in protocols like SIP.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8226"/>
  <seriesInfo name="DOI" value="10.17487/RFC8226"/>
</reference>
<reference anchor="RFC8816">
  <front>
    <title>Secure Telephone Identity Revisited (STIR) Out-of-Band Architecture and Use Cases</title>
    <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
    <author fullname="J. Peterson" initials="J." surname="Peterson"/>
    <date month="February" year="2021"/>
    <abstract>
      <t>The Personal Assertion Token (PASSporT) format defines a token that can be carried by signaling protocols, including SIP, to cryptographically attest the identity of callers. However, not all telephone calls use Internet signaling protocols, and some calls use them for only part of their signaling path, while some cannot reliably deliver SIP header fields end-to-end. This document describes use cases that require the delivery of PASSporT objects outside of the signaling path, and defines architectures and semantics to provide this functionality.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8816"/>
  <seriesInfo name="DOI" value="10.17487/RFC8816"/>
</reference>
<reference anchor="RFC9060">
  <front>
    <title>Secure Telephone Identity Revisited (STIR) Certificate Delegation</title>
    <author fullname="J. Peterson" initials="J." surname="Peterson"/>
    <date month="September" year="2021"/>
    <abstract>
      <t>The Secure Telephone Identity Revisited (STIR) certificate profile provides a way to attest authority over telephone numbers and related identifiers for the purpose of preventing telephone number spoofing. This specification details how that authority can be delegated from a parent certificate to a subordinate certificate. This supports a number of use cases, including those where service providers grant credentials to enterprises or other customers capable of signing calls with STIR.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9060"/>
  <seriesInfo name="DOI" value="10.17487/RFC9060"/>
</reference>

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

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

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

<reference anchor="X.509" target="https://www.itu.int/rec/T-REC-X.509">
  <front>
    <title>Information technology - Open Systems Interconnection - The Directory: Public-key and attribute certificate frameworks</title>
    <author >
      <organization>International Telecommunication Union</organization>
    </author>
    <date year="2016" month="October"/>
  </front>
  <seriesInfo name="ITU-T" value="Recommendation X.509, ISO/IEC 9594-8"/>
</reference>
<reference anchor="X.680" target="https://www.itu.int/rec/T-REC-X.680">
  <front>
    <title>Information Technology - Abstract Syntax Notation One (ASN.1): Specification of basic notation</title>
    <author >
      <organization>International Telecommunication Union</organization>
    </author>
    <date year="2015" month="August"/>
  </front>
  <seriesInfo name="ITU-T" value="Recommendation X.680, ISO/IEC 8824-1"/>
</reference>
<reference anchor="X.681" target="https://www.itu.int/rec/T-REC-X.681">
  <front>
    <title>Information Technology - Abstract Syntax Notation One (ASN.1): Information object specification</title>
    <author >
      <organization>International Telecommunication Union</organization>
    </author>
    <date year="2015" month="August"/>
  </front>
  <seriesInfo name="ITU-T" value="Recommendation X.681, ISO/IEC 8824-2"/>
</reference>
<reference anchor="X.682" target="https://www.itu.int/rec/T-REC-X.682">
  <front>
    <title>Information Technology - Abstract Syntax Notation One (ASN.1): Constraint specification</title>
    <author >
      <organization>International Telecommunication Union</organization>
    </author>
    <date year="2015" month="August"/>
  </front>
  <seriesInfo name="ITU-T" value="Recommendation X.682, ISO/IEC 8824-3"/>
</reference>
<reference anchor="X.683" target="https://www.itu.int/rec/T-REC-X.683">
  <front>
    <title>Information Technology - Abstract Syntax Notation One (ASN.1): Parameterization of ASN.1 specifications</title>
    <author >
      <organization>International Telecommunication Union</organization>
    </author>
    <date year="2015" month="August"/>
  </front>
  <seriesInfo name="ITU-T" value="Recommendation X.683, ISO/IEC 8824-4"/>
</reference>


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



    </references>




<?line 229?>

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

<t>TODO acknowledge.</t>

</section>


  </back>

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

-->

</rfc>

