<?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.9) -->


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

]>


<rfc ipr="trust200902" docName="draft-lcurley-moq-solicit-00" category="info" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="moq-solicit">MoQ Solicit Extension</title>

    <author fullname="Luke Curley">
      <organization></organization>
      <address>
        <email>kixelated@gmail.com</email>
      </address>
    </author>

    <date year="2026" month="September" day="24"/>

    <area>wit</area>
    <workgroup>moq</workgroup>
    

    <abstract>


<?line 24?>

<t>This document defines an extension for MoQ Transport <xref target="moqt"/> that lets an endpoint declare that advertisements to it must be solicited first.
An endpoint that declares nothing receives unsolicited PUBLISH_NAMESPACE, which is what a peer unaware of this extension implicitly asks for.
An endpoint that will instead ask for what it wants says so once during setup, and is spared the advertisements it would otherwise have to ignore.
Because sending the option at all identifies an endpoint that implements this extension, the requirement is enforceable between two such endpoints rather than merely advisory.</t>



    </abstract>



    <note title="Note to Readers">


<?line 31?>

<t>This document was generated by an AI model from the implementation at <eref target="https://github.com/moq-dev/moq">github.com/moq-dev/moq</eref> and is maintained alongside it.
Submit an <eref target="https://github.com/moq-dev/moq/issues">issue</eref> or <eref target="https://github.com/moq-dev/moq/pulls">PR</eref> if this spec sucks and you want to fix anything.</t>


    </note>


  </front>

  <middle>


<?line 36?>

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

<?line -18?>

<t>An endpoint <strong>advertises</strong> a namespace by sending PUBLISH_NAMESPACE, or NAMESPACE in response to a SUBSCRIBE_NAMESPACE.
An advertisement is <strong>solicited</strong> when it is carried by a SUBSCRIBE_NAMESPACE the receiver sent, and <strong>unsolicited</strong> otherwise.</t>

<t>On a version of <xref target="moqt"/> that has NAMESPACE, the mechanism decides this and nothing else does: PUBLISH_NAMESPACE opens a request of its own and is always unsolicited, however the namespace relates to a prefix the receiver subscribed to.
That distinction is what makes the requirement observable from a single message, and so enforceable (<xref target="enforcement"/>).
Earlier versions have no NAMESPACE, so an endpoint answers a SUBSCRIBE_NAMESPACE with PUBLISH_NAMESPACE requests and the two are indistinguishable.</t>

</section>
<section anchor="introduction"><name>Introduction</name>
<t><xref target="moqt"/> has two ways to learn that a namespace exists.
A publisher advertises one with PUBLISH_NAMESPACE, and a subscriber asks for the set under a prefix with SUBSCRIBE_NAMESPACE, which is answered with NAMESPACE.
Both are optional, and nothing on the wire says which the peer expects.</t>

<t>The result is that an endpoint has to guess, and both guesses are wrong somewhere:</t>

<t><list style="symbols">
  <t>Withhold PUBLISH_NAMESPACE until asked, and a publisher connected to a relay that never asks stays silent forever. The session looks healthy and no content is ever offered.</t>
  <t>Send it unasked, and an endpoint that only publishes is told about every namespace its peer knows, which is a set it has no use for and, on a relay, a set as large as the network.</t>
</list></t>

<t>Implementations resolve this out of band today, by configuring each endpoint with what the peer will do.
That works only as long as the configuration matches reality, and it makes the same software behave differently depending on a deployment flag rather than on anything in the protocol.</t>

<t>This extension replaces the guess with a declaration.
An endpoint states in its SETUP that it requires advertisements to be solicited, and the peer honors it.
The default, declaring nothing, is to advertise unasked, so an endpoint that has never heard of this extension keeps working exactly as it does today.</t>

<t>This is deliberately not a role: it says what an endpoint expects delivered to it, not what it is.
An endpoint that sends SUBSCRIBE_NAMESPACE for everything it cares about declares it on every session, whether it publishes, subscribes, or relays.</t>

</section>
<section anchor="setup-negotiation"><name>Setup Negotiation</name>

<t>An endpoint declares whether it requires solicitation with the following Setup Option (<xref target="moqt"/> Section 10.3):</t>

<figure><artwork><![CDATA[
SOLICIT Setup Option {
  Option Key (vi64) = 0x40B5A
  Option Value (vi64) = 0 or 1
}
]]></artwork></figure>

<t>A value of 1 means advertisements to the sender <bcp14>MUST</bcp14> be solicited: it sends SUBSCRIBE_NAMESPACE for what it wants.
A value of 0 means it has no requirement, so an advertisement may be sent freely.</t>

<t>The option is <bcp14>OPTIONAL</bcp14>, and omitting it asks for the same treatment as a value of 0.
The two are not equivalent, because sending either value also identifies the sender as implementing this extension (<xref target="enforcement"/>), while omitting it says nothing at all.
An endpoint that implements this extension and has no requirement <bcp14>SHOULD</bcp14> therefore send 0 rather than omit the option.</t>

<t>A receiver <bcp14>MUST</bcp14> treat any non-zero value as 1.
The two directions are independent: each endpoint declares its own, and the two need not match.</t>

<t>Unlike an extension that changes an encoding, this one needs no negotiation handshake: a declaration only ever asks the peer to send <em>less</em>, so a peer that ignores it is merely as talkative as one that never saw it.</t>

</section>
<section anchor="announce"><name>Requiring Solicitation</name>

<t>An endpoint that declared 1 will solicit the namespaces it wants with SUBSCRIBE_NAMESPACE, or wants none at all.</t>

<t>A peer that receives this declaration and implements this extension <bcp14>MUST NOT</bcp14> send an unsolicited PUBLISH_NAMESPACE for the remainder of the session; one that does not implement it cannot be bound by it and is covered by <xref target="enforcement"/>.
It continues to answer SUBSCRIBE_NAMESPACE with NAMESPACE as usual; only the unsolicited half is withheld.</t>

<t>This is a <bcp14>MUST NOT</bcp14> rather than a <bcp14>SHOULD NOT</bcp14> because the receiver enforces it. A <bcp14>SHOULD NOT</bcp14> that a receiver may close the session over is not a permission an endpoint can actually exercise.</t>

<t>A relay is the expected user of this declaration, as is any endpoint that asks for what it wants.
So is an endpoint that only publishes, which cannot subscribe to anything and therefore has no use for an advertisement of any kind.</t>

<t>An endpoint <bcp14>SHOULD NOT</bcp14> advertise the same namespace both ways on one session.
Whichever arrives second replaces the source the first attached, which at best wastes a stream and at worst leaves the receiver holding two independent advertisements it must reconcile.
Because this declaration decides which of the two an endpoint uses, honoring it also settles that question for the whole session.</t>

</section>
<section anchor="enforcement"><name>Enforcement</name>

<t>An endpoint that declared 1 and then receives an unsolicited PUBLISH_NAMESPACE <bcp14>MUST</bcp14> close the session as a protocol violation if the sender declared either value, and <bcp14>MUST</bcp14> tolerate the message otherwise.</t>

<t>An endpoint that sent the option implements this extension, so it read the receiver's declaration and ignored it.
It also cannot have advertised before reading that declaration: the receiver's SETUP is what says whether advertising unasked is permitted at all, so an endpoint <bcp14>MUST</bcp14> have processed it before sending its first advertisement.
Neither a race nor a partial implementation explains the message, which leaves a bug, and one that both sides would otherwise never see.</t>

<t>An endpoint that omitted the option gets the opposite treatment for the same reason: it never saw the declaration, so announcing is exactly what it should do, and closing the session over it would turn this extension into a new way for conforming implementations to fail to interoperate.</t>

<t>Versions of <xref target="moqt"/> without NAMESPACE are exempt, because a PUBLISH_NAMESPACE there is also how an endpoint answers a SUBSCRIBE_NAMESPACE and the message alone does not say which it is.
Everywhere else the mechanism is the whole test: a receiver <bcp14>MUST NOT</bcp14> treat an advertisement as solicited merely because the namespace falls under a prefix it subscribed to, or an endpoint that subscribes to every prefix it can reach would find the requirement unenforceable against anyone.</t>

<t>There is no counterpart for SUBSCRIBE_NAMESPACE, enforceable or otherwise.
An endpoint with nothing to advertise answers one with an empty set, which costs a single stream, while waiting on the peer's SETUP to learn whether the question is worth asking costs a round trip on every session.
Asking unconditionally is therefore the cheaper behavior, and it is what an endpoint <bcp14>SHOULD</bcp14> do.</t>

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

<t>A declaration only ever reduces what its sender receives, so an attacker who forges one can silence advertisements to the endpoint it impersonates, or add an option to an endpoint that never sent one so its own advertisements are treated as a violation and its session closed.
Both are already available to anyone who can interfere with SETUP, which <xref target="moqt"/> assumes is protected by the underlying transport.</t>

<t>A declaration says nothing about authorization.
An endpoint that declares no requirements is not thereby entitled to any advertisement, and a peer <bcp14>MUST</bcp14> apply the same authorization to what it advertises as it would without this extension.
In particular, a relay <bcp14>MUST NOT</bcp14> treat an absent SOLICIT option as permission to advertise namespaces the peer is not authorized to learn about.</t>

<t>The declaration reveals a little about an endpoint's intent, roughly whether it intends to ask for what it wants.
An endpoint that considers this sensitive can simply declare nothing, which costs it only the messages it would have avoided.</t>

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

<t>This document requests the following registration.
A high, distinctive value is requested to avoid the low ranges reserved by <xref target="moqt"/> and to minimize collisions with provisional registrations by other extensions.</t>

<section anchor="moqt-setup-options"><name>MOQT Setup Options</name>

<t>This document requests one registration in the "MOQT Setup Options" registry (<xref target="moqt"/> Section 15.4), whose policy is Specification Required.</t>

<texttable>
      <ttcol align='left'>Value</ttcol>
      <ttcol align='left'>Name</ttcol>
      <ttcol align='left'>Reference</ttcol>
      <c>0x40B5A</c>
      <c>SOLICIT</c>
      <c>This Document</c>
</texttable>

<t>The Key-Value-Pair parity is load-bearing: SOLICIT is even, so its value is a bare varint.
This document defines only the values 0 and 1; a later extension that needs to say something else registers its own option rather than overloading this one.</t>

</section>
</section>


  </middle>

  <back>



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




<reference anchor="moqt">
   <front>
      <title>Media over QUIC Transport</title>
      <author fullname="Suhas Nandakumar" initials="S." surname="Nandakumar">
         <organization>Cisco</organization>
      </author>
      <author fullname="Victor Vasiliev" initials="V." surname="Vasiliev">
         <organization>Google</organization>
      </author>
      <author fullname="Ian Swett" initials="I." surname="Swett">
         <organization>Google</organization>
      </author>
      <author fullname="Alan Frindell" initials="A." surname="Frindell">
         <organization>Meta</organization>
      </author>
      <date day="8" month="September" year="2026"/>
      <abstract>
	 <t>   This document defines Media over QUIC Transport (MOQT), a publish/
   subscribe protocol that runs over QUIC and WebTransport.  MOQT
   leverages the features of these transports, such as streams,
   datagrams, priorities, and partial reliability.  MOQT operates both
   point-to-point and through intermediate relays, enabling scalable
   low-latency delivery.  Despite its name, MOQT is media agnostic and
   can be used for a wide range of use cases.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-moq-transport-21"/>
   
</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 177?>

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

<t>This document was drafted with the assistance of Claude, an AI assistant by Anthropic.</t>

</section>


  </back>

<!-- ##markdown-source:
H4sIAAAAAAAAA5Va7XLbNhb9z6fAOj/aeCQl3qa7XfVrbcedeprYqeW008l0
OhAJSRhThEqAktUkfZZ9ln2yPfcCIEGZSWfzwxFJELi4H+eee8HxeJw57Uo1
FUcvzY9iZkqdaycu7p2qrDbVUSbn81pt8Xxtfh9b//woy6VTS1Pvp0JXC5Nl
hckrucY0RS0XblzmTV2q/Th5Z/z0aWab+VpbmtftNxh8eXH7nRCPhCytwQq6
KtRG4U/ljkbiSBXamVrLki4uT8/wn6nx6+b2u6OsatZzVU+zAoJMM8j3WSZr
Jadip122M/XdsjbNZiogQZbJxq0MBotxJvBv0ZSll/ZFc6fEOcvKT9Ra6nIq
7vS9KjFx8e8l3ZjkZp1llanX0uktlhM0rYP84+cTrdyC9+lqWdmNqV2WkU7a
wdl4PBZybvE8x7PblbYC6mrW2KYo1EJXygpZCRV1LvCyIGvcxhnF27e04Pv3
wq2kE6Vy/o2q2BjNs+Qldu+fymKraqetogWscEbAoOvGOjFXIhhDFWKha+sm
2WkyDb8e5rKiMm6lq6WoVa6wESuaqnv71euzF5ez73+7On15MXt1en4xEruV
zlcCm9uxFGKjVI135I4kMwvMjmfdJvV6w5OVeyHtnaVND0iz02UJF7NOyYLG
sW54AWxqJ2mDVu7xxwhT5UoUTU0yW+WazQg6Kkggu4EIBSZUh8qhSUxTFgJ7
VfUO98VKbhUrbQmDq0l2pnLZ4L6FYDQ1zWI2jrZA2yTxyGH1Qqu+UVh+2mU0
RG//I56oVr83uuYBJKgiv8mVnJcKxnI7pSrhdkbYBpqNE1tRS5KWFqjEWtWK
VFhstUU8Try7wXbqtyv648xvN9Cdqu2h6+2kFUtVqZocXcz3JPzpJTy7UKVY
1GbNErYbkHHLb5barZo5BcUT8vtCben/Xz9dObex0ydPhp8/jtZARGE2eD0M
WppqaaE/GGKSzQgdHInxBiDRqL+a8QmPso8JFd68uvnL4RuEPUbr4Ip2o3LS
7J1lyfamYYci2y/0Pe7t2f+DRte6KEqVZY/Euam2ZHBT+RefUwhrvoaGlbhT
ezhVXVhA6uvZLYEX/S+urvn3zcWPry9vLp7T79n3py9etD+yMGL2/fXrF8+7
X92b59cvX15cPfcv467o3cqOXp7+cuS9/uj61e3l9dXpiyNEj99va3hGCkNo
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

-->

</rfc>

